-
Notifications
You must be signed in to change notification settings - Fork 0
default param
awekrx edited this page May 29, 2026
·
1 revision
import { defaultParam } from '@dev-suite/decorators/default-param'
parameter
Provide default value when parameter is undefined/missing.
-
x ?? defaulteverywhere - Copy-pasted fallback guards
class ReportApi {
list(pageSize?: number) {
const size = pageSize ?? 50;
return this.repo.list(size);
}
}import { defaultParam } from '@dev-suite/decorators/default-param';
class ReportApi {
list(@defaultParam(50) pageSize: number) {
return this.repo.list(pageSize);
}
}- Centralizes cross-cutting behavior.
- Method/class/property code stays focused on domain logic.
class SearchApi {
query(q: string, lang?: string) {
const locale = lang ?? 'en';
return this.engine.query(q, locale);
}
}import { defaultParam } from '@dev-suite/decorators/default-param';
class SearchApi {
query(q: string, @defaultParam('en') lang: string) {
return this.engine.query(q, lang);
}
}- Second scenario reuses same policy without duplication.
- Behavior is more consistent and easier to audit.