import { type Brand } from 'ts-type-forge'; import { number } from '../primitives/index.mjs'; import { type Type } from '../type.mjs'; import { brand } from './brand.mjs'; export const brandedNumber = ({ defaultValue, is = (_u): _u is Brand => true, typeName, }: Readonly<{ typeName: K; defaultValue: number; is?: (u: number) => u is Brand; }>): Type> => brand({ baseType: number(defaultValue), defaultValue, is, brandKeys: [typeName], typeName, }); /** * Same as brandedNumber * * @deprecated use `brandedNumber` */ export const simpleBrandedNumber = brandedNumber;