import type { ArgType, OptionalArgType } from './types'; export function optional(type: ArgType, ...rest: [defaultValue: T] | []): OptionalArgType { if (rest.length === 0) { return { ...type, optional: true, hasDefault: false }; } return { ...type, optional: true, hasDefault: true, defaultValue: rest[0] }; }