ts-fortress 2.10.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/branded/brand.d.mts +2 -2
  2. package/dist/branded/brand.d.mts.map +1 -1
  3. package/dist/branded/brand.mjs +7 -7
  4. package/dist/branded/brand.mjs.map +1 -1
  5. package/dist/branded/number/finite-number.mjs +1 -1
  6. package/dist/branded/number/finite-number.mjs.map +1 -1
  7. package/dist/branded/number/int.mjs +1 -1
  8. package/dist/branded/number/int.mjs.map +1 -1
  9. package/dist/branded/number/int16.mjs +1 -1
  10. package/dist/branded/number/int16.mjs.map +1 -1
  11. package/dist/branded/number/int32.mjs +1 -1
  12. package/dist/branded/number/int32.mjs.map +1 -1
  13. package/dist/branded/number/non-negative-finite-number.mjs +1 -1
  14. package/dist/branded/number/non-negative-finite-number.mjs.map +1 -1
  15. package/dist/branded/number/non-zero-finite-number.mjs +1 -1
  16. package/dist/branded/number/non-zero-finite-number.mjs.map +1 -1
  17. package/dist/branded/number/non-zero-int.mjs +1 -1
  18. package/dist/branded/number/non-zero-int.mjs.map +1 -1
  19. package/dist/branded/number/non-zero-safe-int.mjs +1 -1
  20. package/dist/branded/number/non-zero-safe-int.mjs.map +1 -1
  21. package/dist/branded/number/positive-finite-number.mjs +1 -1
  22. package/dist/branded/number/positive-finite-number.mjs.map +1 -1
  23. package/dist/branded/number/positive-int.mjs +1 -1
  24. package/dist/branded/number/positive-int.mjs.map +1 -1
  25. package/dist/branded/number/positive-safe-int.mjs +1 -1
  26. package/dist/branded/number/positive-safe-int.mjs.map +1 -1
  27. package/dist/branded/number/safe-int.mjs +1 -1
  28. package/dist/branded/number/safe-int.mjs.map +1 -1
  29. package/dist/branded/number/safe-uint.mjs +1 -1
  30. package/dist/branded/number/safe-uint.mjs.map +1 -1
  31. package/dist/branded/number/uint.mjs +1 -1
  32. package/dist/branded/number/uint.mjs.map +1 -1
  33. package/dist/branded/number/uint16.mjs +1 -1
  34. package/dist/branded/number/uint16.mjs.map +1 -1
  35. package/dist/branded/number/uint32.mjs +1 -1
  36. package/dist/branded/number/uint32.mjs.map +1 -1
  37. package/dist/branded/simple-branded-number.d.mts +5 -1
  38. package/dist/branded/simple-branded-number.d.mts.map +1 -1
  39. package/dist/branded/simple-branded-number.mjs +3 -3
  40. package/dist/branded/simple-branded-number.mjs.map +1 -1
  41. package/dist/branded/simple-branded-string.d.mts +5 -1
  42. package/dist/branded/simple-branded-string.d.mts.map +1 -1
  43. package/dist/branded/simple-branded-string.mjs +3 -3
  44. package/dist/branded/simple-branded-string.mjs.map +1 -1
  45. package/dist/predefined/json.d.mts +2 -2
  46. package/dist/utils/validation-error.d.mts +7 -2
  47. package/dist/utils/validation-error.d.mts.map +1 -1
  48. package/dist/utils/validation-error.mjs.map +1 -1
  49. package/package.json +1 -1
  50. package/src/branded/brand.mts +9 -9
  51. package/src/branded/number/finite-number.mts +1 -1
  52. package/src/branded/number/int.mts +1 -1
  53. package/src/branded/number/int16.mts +1 -1
  54. package/src/branded/number/int32.mts +1 -1
  55. package/src/branded/number/non-negative-finite-number.mts +1 -1
  56. package/src/branded/number/non-zero-finite-number.mts +1 -1
  57. package/src/branded/number/non-zero-int.mts +1 -1
  58. package/src/branded/number/non-zero-safe-int.mts +1 -1
  59. package/src/branded/number/positive-finite-number.mts +1 -1
  60. package/src/branded/number/positive-int.mts +1 -1
  61. package/src/branded/number/positive-safe-int.mts +1 -1
  62. package/src/branded/number/safe-int.mts +1 -1
  63. package/src/branded/number/safe-uint.mts +1 -1
  64. package/src/branded/number/uint.mts +1 -1
  65. package/src/branded/number/uint16.mts +1 -1
  66. package/src/branded/number/uint32.mts +1 -1
  67. package/src/branded/simple-branded-number.mts +12 -7
  68. package/src/branded/simple-branded-number.test.mts +12 -3
  69. package/src/branded/simple-branded-string.mts +12 -7
  70. package/src/branded/simple-branded-string.test.mts +20 -5
  71. package/src/utils/validation-error.mts +8 -2
@@ -1,7 +1,7 @@
1
1
  import { type Type } from '../type.mjs';
2
2
  type ArrayToUnion<A extends readonly unknown[]> = A extends readonly [] ? never : A[number];
3
- export declare const brand: <const A extends Primitive, const BrandTrueKeys extends readonly string[], const BrandFalseKeys extends readonly string[] = []>({ codec, is, defaultValue, typeName, brandKeys, brandFalseKeys, }: Readonly<{
4
- codec: Type<A>;
3
+ export declare const brand: <const A extends Primitive, const BrandTrueKeys extends readonly string[], const BrandFalseKeys extends readonly string[] = []>({ baseType, is, defaultValue, typeName, brandKeys, brandFalseKeys, }: Readonly<{
4
+ baseType: Type<A>;
5
5
  is: (a: A) => a is Brand<A, ArrayToUnion<BrandTrueKeys>, ArrayToUnion<BrandFalseKeys>>;
6
6
  defaultValue: Brand<A, ArrayToUnion<BrandTrueKeys>, ArrayToUnion<BrandFalseKeys>>;
7
7
  typeName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"brand.d.mts","sourceRoot":"","sources":["../../src/branded/brand.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAGxC,KAAK,YAAY,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,CAAC,SAAS,SAAS,EAAE,GACnE,KAAK,GACL,CAAC,CAAC,MAAM,CAAC,CAAC;AAEd,eAAO,MAAM,KAAK,GAChB,KAAK,CAAC,CAAC,SAAS,SAAS,EACzB,KAAK,CAAC,aAAa,SAAS,SAAS,MAAM,EAAE,EAC7C,KAAK,CAAC,cAAc,SAAS,SAAS,MAAM,EAAE,GAAG,EAAE,EACnD,mEAOC,QAAQ,CAAC;IACV,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACf,EAAE,EAAE,CACF,CAAC,EAAE,CAAC,KACD,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC;IAC9E,YAAY,EAAE,KAAK,CACjB,CAAC,EACD,YAAY,CAAC,aAAa,CAAC,EAC3B,YAAY,CAAC,cAAc,CAAC,CAC7B,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,aAAa,CAAC;IACzB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC,KAAG,IAAI,CACP,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,CAuCpE,CAAC"}
1
+ {"version":3,"file":"brand.d.mts","sourceRoot":"","sources":["../../src/branded/brand.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAGxC,KAAK,YAAY,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,CAAC,SAAS,SAAS,EAAE,GACnE,KAAK,GACL,CAAC,CAAC,MAAM,CAAC,CAAC;AAEd,eAAO,MAAM,KAAK,GAChB,KAAK,CAAC,CAAC,SAAS,SAAS,EACzB,KAAK,CAAC,aAAa,SAAS,SAAS,MAAM,EAAE,EAC7C,KAAK,CAAC,cAAc,SAAS,SAAS,MAAM,EAAE,GAAG,EAAE,EACnD,sEAOC,QAAQ,CAAC;IACV,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,EAAE,EAAE,CACF,CAAC,EAAE,CAAC,KACD,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC;IAC9E,YAAY,EAAE,KAAK,CACjB,CAAC,EACD,YAAY,CAAC,aAAa,CAAC,EAC3B,YAAY,CAAC,cAAc,CAAC,CAC7B,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,aAAa,CAAC;IACzB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC,KAAG,IAAI,CACP,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,CAuCpE,CAAC"}
@@ -1,22 +1,22 @@
1
1
  import { pipe, Result } from 'ts-data-forge';
2
2
  import { createType } from '../utils/create-type.mjs';
3
3
 
4
- const brand = ({ codec, is, defaultValue, typeName, brandKeys, brandFalseKeys, }) => {
4
+ const brand = ({ baseType, is, defaultValue, typeName, brandKeys, brandFalseKeys, }) => {
5
5
  const brandKeysStr = [
6
6
  ...brandKeys.map((s) => `"${s}"`),
7
7
  ...(brandFalseKeys?.map((s) => `not("${s}")`) ?? []),
8
8
  ].join(' & ');
9
9
  const typeNameFilled = typeName ?? brandKeysStr;
10
10
  const validate = (a) => pipe(a)
11
- .map(codec.validate)
12
- .map((v) => Result.isErr(v)
13
- ? v
14
- : is(v.value)
15
- ? Result.ok(v.value)
11
+ .map(baseType.validate)
12
+ .map((res) => Result.isErr(res)
13
+ ? res
14
+ : is(res.value)
15
+ ? Result.ok(res.value)
16
16
  : Result.err([
17
17
  {
18
18
  path: [],
19
- actualValue: v.value,
19
+ actualValue: res.value,
20
20
  expectedType: typeNameFilled,
21
21
  typeName: brandKeysStr,
22
22
  message: typeName === undefined
@@ -1 +1 @@
1
- {"version":3,"file":"brand.mjs","sources":["../../src/branded/brand.mts"],"sourcesContent":[null],"names":[],"mappings":";;;AAQO,MAAM,KAAK,GAAG,CAInB,EACA,KAAK,EACL,EAAE,EACF,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,cAAc,GAcd,KAEE;AAGF,IAAA,MAAM,YAAY,GAAG;AACnB,QAAA,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAA,CAAA,EAAI,CAAC,CAAA,CAAA,CAAG,CAAC;AACjC,QAAA,IAAI,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAA,EAAA,CAAI,CAAC,IAAI,EAAE,CAAC;AACrD,KAAA,CAAC,IAAI,CAAC,KAAK,CAAC;AAEb,IAAA,MAAM,cAAc,GAAG,QAAQ,IAAI,YAAY;IAE/C,MAAM,QAAQ,GAAwB,CAAC,CAAC,KACtC,IAAI,CAAC,CAAC;AACH,SAAA,GAAG,CAAC,KAAK,CAAC,QAAQ;SAClB,GAAG,CACF,CAAC,CAAC,KACA,MAAM,CAAC,KAAK,CAAC,CAAC;AACZ,UAAE;AACF,UAAE,EAAE,CAAC,CAAC,CAAC,KAAK;cACR,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;AACnB,cAAE,MAAM,CAAC,GAAG,CAAC;AACT,gBAAA;AACE,oBAAA,IAAI,EAAE,EAAE;oBACR,WAAW,EAAE,CAAC,CAAC,KAAK;AACpB,oBAAA,YAAY,EAAE,cAAc;AAC5B,oBAAA,QAAQ,EAAE,YAAY;oBACtB,OAAO,EACL,QAAQ,KAAK;0BACT,CAAA,wEAAA,EAA2E,YAAY,CAAA,CAAA;AACzF,0BAAE,SAAS;AACU,iBAAA;aAC5B,CAAC,CACX,CAAC,KAAK;AAEX,IAAA,OAAO,UAAU,CAAC;AAChB,QAAA,QAAQ,EAAE,YAAY;QACtB,YAAY;QACZ,QAAQ;AACT,KAAA,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"brand.mjs","sources":["../../src/branded/brand.mts"],"sourcesContent":[null],"names":[],"mappings":";;;AAQO,MAAM,KAAK,GAAG,CAInB,EACA,QAAQ,EACR,EAAE,EACF,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,cAAc,GAcd,KAEE;AAGF,IAAA,MAAM,YAAY,GAAG;AACnB,QAAA,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAA,CAAA,EAAI,CAAC,CAAA,CAAA,CAAG,CAAC;AACjC,QAAA,IAAI,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAA,EAAA,CAAI,CAAC,IAAI,EAAE,CAAC;AACrD,KAAA,CAAC,IAAI,CAAC,KAAK,CAAC;AAEb,IAAA,MAAM,cAAc,GAAG,QAAQ,IAAI,YAAY;IAE/C,MAAM,QAAQ,GAAwB,CAAC,CAAC,KACtC,IAAI,CAAC,CAAC;AACH,SAAA,GAAG,CAAC,QAAQ,CAAC,QAAQ;SACrB,GAAG,CACF,CAAC,GAAG,KACF,MAAM,CAAC,KAAK,CAAC,GAAG;AACd,UAAE;AACF,UAAE,EAAE,CAAC,GAAG,CAAC,KAAK;cACV,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAiB;AACjC,cAAE,MAAM,CAAC,GAAG,CAAC;AACT,gBAAA;AACE,oBAAA,IAAI,EAAE,EAAE;oBACR,WAAW,EAAE,GAAG,CAAC,KAAK;AACtB,oBAAA,YAAY,EAAE,cAAc;AAC5B,oBAAA,QAAQ,EAAE,YAAY;oBACtB,OAAO,EACL,QAAQ,KAAK;0BACT,CAAA,wEAAA,EAA2E,YAAY,CAAA,CAAA;AACzF,0BAAE,SAAS;AACU,iBAAA;aAC5B,CAAC,CACX,CAAC,KAAK;AAEX,IAAA,OAAO,UAAU,CAAC;AAChB,QAAA,QAAQ,EAAE,YAAY;QACtB,YAAY;QACZ,QAAQ;AACT,KAAA,CAAC;AACJ;;;;"}
@@ -3,7 +3,7 @@ import { number } from '../../primitives/number.mjs';
3
3
  import { brand } from '../brand.mjs';
4
4
 
5
5
  const finiteNumber = (defaultValue = asFiniteNumber(0)) => brand({
6
- codec: number(defaultValue),
6
+ baseType: number(defaultValue),
7
7
  is: FiniteNumber.is,
8
8
  defaultValue,
9
9
  brandKeys: ['Finite'],
@@ -1 +1 @@
1
- {"version":3,"file":"finite-number.mjs","sources":["../../../src/branded/number/finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,YAAY,GAAG,CAC1B,YAAA,GAA6B,cAAc,CAAC,CAAC,CAAC,KAE9C,KAAK,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;IAC3B,EAAE,EAAE,YAAY,CAAC,EAAE;IACnB,YAAY;IACZ,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,cAAc;AACzB,CAAA;;;;"}
1
+ {"version":3,"file":"finite-number.mjs","sources":["../../../src/branded/number/finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,YAAY,GAAG,CAC1B,YAAA,GAA6B,cAAc,CAAC,CAAC,CAAC,KAE9C,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;IAC9B,EAAE,EAAE,YAAY,CAAC,EAAE;IACnB,YAAY;IACZ,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,cAAc;AACzB,CAAA;;;;"}
@@ -3,7 +3,7 @@ import { number } from '../../primitives/number.mjs';
3
3
  import { brand } from '../brand.mjs';
4
4
 
5
5
  const int = (defaultValue = asInt(0)) => brand({
6
- codec: number(defaultValue),
6
+ baseType: number(defaultValue),
7
7
  is: Int.is,
8
8
  defaultValue,
9
9
  brandKeys: ['Finite', 'Int'],
@@ -1 +1 @@
1
- {"version":3,"file":"int.mjs","sources":["../../../src/branded/number/int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,GAAG,GAAG,CAAC,YAAA,GAAoB,KAAK,CAAC,CAAC,CAAC,KAC9C,KAAK,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;IAC3B,EAAE,EAAE,GAAG,CAAC,EAAE;IACV,YAAY;AACZ,IAAA,SAAS,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;IAC5B,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,KAAK;AAChB,CAAA;;;;"}
1
+ {"version":3,"file":"int.mjs","sources":["../../../src/branded/number/int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,GAAG,GAAG,CAAC,YAAA,GAAoB,KAAK,CAAC,CAAC,CAAC,KAC9C,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;IAC9B,EAAE,EAAE,GAAG,CAAC,EAAE;IACV,YAAY;AACZ,IAAA,SAAS,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;IAC5B,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,KAAK;AAChB,CAAA;;;;"}
@@ -3,7 +3,7 @@ import { number } from '../../primitives/number.mjs';
3
3
  import { brand } from '../brand.mjs';
4
4
 
5
5
  const int16 = (defaultValue = asInt16(0)) => brand({
6
- codec: number(defaultValue),
6
+ baseType: number(defaultValue),
7
7
  is: isInt16,
8
8
  defaultValue,
9
9
  brandKeys: [
@@ -1 +1 @@
1
- {"version":3,"file":"int16.mjs","sources":["../../../src/branded/number/int16.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,KAAK,GAAG,CAAC,YAAA,GAAsB,OAAO,CAAC,CAAC,CAAC,KACpD,KAAK,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;AAC3B,IAAA,EAAE,EAAE,OAAO;IACX,YAAY;AACZ,IAAA,SAAS,EAAE;QACT,QAAQ;QACR,KAAK;QACL,SAAS;QACT,SAAS;QACT,UAAU;QACV,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,UAAU;AACX,KAAA;IACD,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,OAAO;AAClB,CAAA;;;;"}
1
+ {"version":3,"file":"int16.mjs","sources":["../../../src/branded/number/int16.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,KAAK,GAAG,CAAC,YAAA,GAAsB,OAAO,CAAC,CAAC,CAAC,KACpD,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;AAC9B,IAAA,EAAE,EAAE,OAAO;IACX,YAAY;AACZ,IAAA,SAAS,EAAE;QACT,QAAQ;QACR,KAAK;QACL,SAAS;QACT,SAAS;QACT,UAAU;QACV,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,UAAU;AACX,KAAA;IACD,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,OAAO;AAClB,CAAA;;;;"}
@@ -3,7 +3,7 @@ import { number } from '../../primitives/number.mjs';
3
3
  import { brand } from '../brand.mjs';
4
4
 
5
5
  const int32 = (defaultValue = asInt32(0)) => brand({
6
- codec: number(defaultValue),
6
+ baseType: number(defaultValue),
7
7
  is: isInt32,
8
8
  defaultValue,
9
9
  brandKeys: [
@@ -1 +1 @@
1
- {"version":3,"file":"int32.mjs","sources":["../../../src/branded/number/int32.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,KAAK,GAAG,CAAC,YAAA,GAAsB,OAAO,CAAC,CAAC,CAAC,KACpD,KAAK,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;AAC3B,IAAA,EAAE,EAAE,OAAO;IACX,YAAY;AACZ,IAAA,SAAS,EAAE;QACT,QAAQ;QACR,KAAK;QACL,SAAS;QACT,SAAS;QACT,UAAU;QACV,QAAQ;QACR,QAAQ;AACT,KAAA;IACD,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,OAAO;AAClB,CAAA;;;;"}
1
+ {"version":3,"file":"int32.mjs","sources":["../../../src/branded/number/int32.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,KAAK,GAAG,CAAC,YAAA,GAAsB,OAAO,CAAC,CAAC,CAAC,KACpD,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;AAC9B,IAAA,EAAE,EAAE,OAAO;IACX,YAAY;AACZ,IAAA,SAAS,EAAE;QACT,QAAQ;QACR,KAAK;QACL,SAAS;QACT,SAAS;QACT,UAAU;QACV,QAAQ;QACR,QAAQ;AACT,KAAA;IACD,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,OAAO;AAClB,CAAA;;;;"}
@@ -3,7 +3,7 @@ import { number } from '../../primitives/number.mjs';
3
3
  import { brand } from '../brand.mjs';
4
4
 
5
5
  const nonNegativeFiniteNumber = (defaultValue = asNonNegativeFiniteNumber(0)) => brand({
6
- codec: number(defaultValue),
6
+ baseType: number(defaultValue),
7
7
  is: isNonNegativeFiniteNumber,
8
8
  defaultValue,
9
9
  brandKeys: ['>=0', '> -2^16', '> -2^32', '>= -2^15', '>= -2^31', 'Finite'],
@@ -1 +1 @@
1
- {"version":3,"file":"non-negative-finite-number.mjs","sources":["../../../src/branded/number/non-negative-finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAQO,MAAM,uBAAuB,GAAG,CACrC,YAAA,GAAwC,yBAAyB,CAAC,CAAC,CAAC,KAEpE,KAAK,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;AAC3B,IAAA,EAAE,EAAE,yBAAyB;IAC7B,YAAY;AACZ,IAAA,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC;IAC1E,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,yBAAyB;AACpC,CAAA;;;;"}
1
+ {"version":3,"file":"non-negative-finite-number.mjs","sources":["../../../src/branded/number/non-negative-finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAQO,MAAM,uBAAuB,GAAG,CACrC,YAAA,GAAwC,yBAAyB,CAAC,CAAC,CAAC,KAEpE,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;AAC9B,IAAA,EAAE,EAAE,yBAAyB;IAC7B,YAAY;AACZ,IAAA,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC;IAC1E,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,yBAAyB;AACpC,CAAA;;;;"}
@@ -3,7 +3,7 @@ import { number } from '../../primitives/number.mjs';
3
3
  import { brand } from '../brand.mjs';
4
4
 
5
5
  const nonZeroFiniteNumber = (defaultValue) => brand({
6
- codec: number(defaultValue),
6
+ baseType: number(defaultValue),
7
7
  is: isNonZeroFiniteNumber,
8
8
  defaultValue,
9
9
  brandKeys: ['!=0', 'Finite'],
@@ -1 +1 @@
1
- {"version":3,"file":"non-zero-finite-number.mjs","sources":["../../../src/branded/number/non-zero-finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,mBAAmB,GAAG,CACjC,YAAiC,KAEjC,KAAK,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;AAC3B,IAAA,EAAE,EAAE,qBAAqB;IACzB,YAAY;AACZ,IAAA,SAAS,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;IAC5B,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,qBAAqB;AAChC,CAAA;;;;"}
1
+ {"version":3,"file":"non-zero-finite-number.mjs","sources":["../../../src/branded/number/non-zero-finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,mBAAmB,GAAG,CACjC,YAAiC,KAEjC,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;AAC9B,IAAA,EAAE,EAAE,qBAAqB;IACzB,YAAY;AACZ,IAAA,SAAS,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;IAC5B,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,qBAAqB;AAChC,CAAA;;;;"}
@@ -3,7 +3,7 @@ import { number } from '../../primitives/number.mjs';
3
3
  import { brand } from '../brand.mjs';
4
4
 
5
5
  const nonZeroInt = (defaultValue = asNonZeroInt(0)) => brand({
6
- codec: number(defaultValue),
6
+ baseType: number(defaultValue),
7
7
  is: isNonZeroInt,
8
8
  defaultValue,
9
9
  brandKeys: ['Finite', 'Int', '!=0'],
@@ -1 +1 @@
1
- {"version":3,"file":"non-zero-int.mjs","sources":["../../../src/branded/number/non-zero-int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,UAAU,GAAG,CACxB,YAAA,GAA2B,YAAY,CAAC,CAAC,CAAC,KAE1C,KAAK,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;AAC3B,IAAA,EAAE,EAAE,YAAY;IAChB,YAAY;AACZ,IAAA,SAAS,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC;IACnC,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,YAAY;AACvB,CAAA;;;;"}
1
+ {"version":3,"file":"non-zero-int.mjs","sources":["../../../src/branded/number/non-zero-int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,UAAU,GAAG,CACxB,YAAA,GAA2B,YAAY,CAAC,CAAC,CAAC,KAE1C,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;AAC9B,IAAA,EAAE,EAAE,YAAY;IAChB,YAAY;AACZ,IAAA,SAAS,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC;IACnC,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,YAAY;AACvB,CAAA;;;;"}
@@ -3,7 +3,7 @@ import { number } from '../../primitives/number.mjs';
3
3
  import { brand } from '../brand.mjs';
4
4
 
5
5
  const nonZeroSafeInt = (defaultValue) => brand({
6
- codec: number(defaultValue),
6
+ baseType: number(defaultValue),
7
7
  is: isNonZeroSafeInt,
8
8
  defaultValue,
9
9
  brandKeys: ['Finite', 'Int', 'SafeInt', '!=0'],
@@ -1 +1 @@
1
- {"version":3,"file":"non-zero-safe-int.mjs","sources":["../../../src/branded/number/non-zero-safe-int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,cAAc,GAAG,CAC5B,YAA4B,KAE5B,KAAK,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;AAC3B,IAAA,EAAE,EAAE,gBAAgB;IACpB,YAAY;IACZ,SAAS,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC;IAC9C,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,gBAAgB;AAC3B,CAAA;;;;"}
1
+ {"version":3,"file":"non-zero-safe-int.mjs","sources":["../../../src/branded/number/non-zero-safe-int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,cAAc,GAAG,CAC5B,YAA4B,KAE5B,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;AAC9B,IAAA,EAAE,EAAE,gBAAgB;IACpB,YAAY;IACZ,SAAS,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC;IAC9C,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,gBAAgB;AAC3B,CAAA;;;;"}
@@ -3,7 +3,7 @@ import { number } from '../../primitives/number.mjs';
3
3
  import { brand } from '../brand.mjs';
4
4
 
5
5
  const positiveFiniteNumber = (defaultValue) => brand({
6
- codec: number(defaultValue),
6
+ baseType: number(defaultValue),
7
7
  is: isPositiveFiniteNumber,
8
8
  defaultValue,
9
9
  brandKeys: [
@@ -1 +1 @@
1
- {"version":3,"file":"positive-finite-number.mjs","sources":["../../../src/branded/number/positive-finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,oBAAoB,GAAG,CAClC,YAAkC,KAElC,KAAK,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;AAC3B,IAAA,EAAE,EAAE,sBAAsB;IAC1B,YAAY;AACZ,IAAA,SAAS,EAAE;QACT,KAAK;QACL,SAAS;QACT,SAAS;QACT,UAAU;QACV,UAAU;QACV,QAAQ;QACR,KAAK;AACN,KAAA;IACD,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,sBAAsB;AACjC,CAAA;;;;"}
1
+ {"version":3,"file":"positive-finite-number.mjs","sources":["../../../src/branded/number/positive-finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,oBAAoB,GAAG,CAClC,YAAkC,KAElC,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;AAC9B,IAAA,EAAE,EAAE,sBAAsB;IAC1B,YAAY;AACZ,IAAA,SAAS,EAAE;QACT,KAAK;QACL,SAAS;QACT,SAAS;QACT,UAAU;QACV,UAAU;QACV,QAAQ;QACR,KAAK;AACN,KAAA;IACD,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,sBAAsB;AACjC,CAAA;;;;"}
@@ -3,7 +3,7 @@ import { number } from '../../primitives/number.mjs';
3
3
  import { brand } from '../brand.mjs';
4
4
 
5
5
  const positiveInt = (defaultValue = asPositiveInt(1)) => brand({
6
- codec: number(defaultValue),
6
+ baseType: number(defaultValue),
7
7
  is: isPositiveInt,
8
8
  defaultValue,
9
9
  brandKeys: [
@@ -1 +1 @@
1
- {"version":3,"file":"positive-int.mjs","sources":["../../../src/branded/number/positive-int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,WAAW,GAAG,CACzB,YAAA,GAA4B,aAAa,CAAC,CAAC,CAAC,KAE5C,KAAK,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;AAC3B,IAAA,EAAE,EAAE,aAAa;IACjB,YAAY;AACZ,IAAA,SAAS,EAAE;QACT,QAAQ;QACR,KAAK;QACL,SAAS;QACT,UAAU;QACV,SAAS;QACT,UAAU;QACV,KAAK;QACL,KAAK;AACN,KAAA;IACD,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,aAAa;AACxB,CAAA;;;;"}
1
+ {"version":3,"file":"positive-int.mjs","sources":["../../../src/branded/number/positive-int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,WAAW,GAAG,CACzB,YAAA,GAA4B,aAAa,CAAC,CAAC,CAAC,KAE5C,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;AAC9B,IAAA,EAAE,EAAE,aAAa;IACjB,YAAY;AACZ,IAAA,SAAS,EAAE;QACT,QAAQ;QACR,KAAK;QACL,SAAS;QACT,UAAU;QACV,SAAS;QACT,UAAU;QACV,KAAK;QACL,KAAK;AACN,KAAA;IACD,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,aAAa;AACxB,CAAA;;;;"}
@@ -3,7 +3,7 @@ import { number } from '../../primitives/number.mjs';
3
3
  import { brand } from '../brand.mjs';
4
4
 
5
5
  const positiveSafeInt = (defaultValue = asPositiveSafeInt(1)) => brand({
6
- codec: number(defaultValue),
6
+ baseType: number(defaultValue),
7
7
  is: isPositiveSafeInt,
8
8
  defaultValue,
9
9
  brandKeys: [
@@ -1 +1 @@
1
- {"version":3,"file":"positive-safe-int.mjs","sources":["../../../src/branded/number/positive-safe-int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,eAAe,GAAG,CAC7B,YAAA,GAAgC,iBAAiB,CAAC,CAAC,CAAC,KAEpD,KAAK,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;AAC3B,IAAA,EAAE,EAAE,iBAAiB;IACrB,YAAY;AACZ,IAAA,SAAS,EAAE;QACT,QAAQ;QACR,KAAK;QACL,SAAS;QACT,SAAS;QACT,UAAU;QACV,SAAS;QACT,UAAU;QACV,KAAK;QACL,KAAK;AACN,KAAA;IACD,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,iBAAiB;AAC5B,CAAA;;;;"}
1
+ {"version":3,"file":"positive-safe-int.mjs","sources":["../../../src/branded/number/positive-safe-int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,eAAe,GAAG,CAC7B,YAAA,GAAgC,iBAAiB,CAAC,CAAC,CAAC,KAEpD,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;AAC9B,IAAA,EAAE,EAAE,iBAAiB;IACrB,YAAY;AACZ,IAAA,SAAS,EAAE;QACT,QAAQ;QACR,KAAK;QACL,SAAS;QACT,SAAS;QACT,UAAU;QACV,SAAS;QACT,UAAU;QACV,KAAK;QACL,KAAK;AACN,KAAA;IACD,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,iBAAiB;AAC5B,CAAA;;;;"}
@@ -3,7 +3,7 @@ import { number } from '../../primitives/number.mjs';
3
3
  import { brand } from '../brand.mjs';
4
4
 
5
5
  const safeInt = (defaultValue = asSafeInt(0)) => brand({
6
- codec: number(defaultValue),
6
+ baseType: number(defaultValue),
7
7
  is: SafeInt.is,
8
8
  defaultValue,
9
9
  brandKeys: ['Finite', 'Int', 'SafeInt'],
@@ -1 +1 @@
1
- {"version":3,"file":"safe-int.mjs","sources":["../../../src/branded/number/safe-int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,OAAO,GAAG,CAAC,YAAA,GAAwB,SAAS,CAAC,CAAC,CAAC,KAC1D,KAAK,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;IAC3B,EAAE,EAAE,OAAO,CAAC,EAAE;IACd,YAAY;AACZ,IAAA,SAAS,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC;IACvC,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,SAAS;AACpB,CAAA;;;;"}
1
+ {"version":3,"file":"safe-int.mjs","sources":["../../../src/branded/number/safe-int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,OAAO,GAAG,CAAC,YAAA,GAAwB,SAAS,CAAC,CAAC,CAAC,KAC1D,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;IAC9B,EAAE,EAAE,OAAO,CAAC,EAAE;IACd,YAAY;AACZ,IAAA,SAAS,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC;IACvC,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,SAAS;AACpB,CAAA;;;;"}
@@ -3,7 +3,7 @@ import { number } from '../../primitives/number.mjs';
3
3
  import { brand } from '../brand.mjs';
4
4
 
5
5
  const safeUint = (defaultValue = asSafeUint(0)) => brand({
6
- codec: number(defaultValue),
6
+ baseType: number(defaultValue),
7
7
  is: isSafeUint,
8
8
  defaultValue,
9
9
  brandKeys: [
@@ -1 +1 @@
1
- {"version":3,"file":"safe-uint.mjs","sources":["../../../src/branded/number/safe-uint.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,QAAQ,GAAG,CACtB,YAAA,GAAyB,UAAU,CAAC,CAAC,CAAC,KAEtC,KAAK,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;AAC3B,IAAA,EAAE,EAAE,UAAU;IACd,YAAY;AACZ,IAAA,SAAS,EAAE;QACT,QAAQ;QACR,KAAK;QACL,SAAS;QACT,SAAS;QACT,SAAS;QACT,UAAU;QACV,UAAU;QACV,KAAK;AACN,KAAA;IACD,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,UAAU;AACrB,CAAA;;;;"}
1
+ {"version":3,"file":"safe-uint.mjs","sources":["../../../src/branded/number/safe-uint.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,QAAQ,GAAG,CACtB,YAAA,GAAyB,UAAU,CAAC,CAAC,CAAC,KAEtC,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;AAC9B,IAAA,EAAE,EAAE,UAAU;IACd,YAAY;AACZ,IAAA,SAAS,EAAE;QACT,QAAQ;QACR,KAAK;QACL,SAAS;QACT,SAAS;QACT,SAAS;QACT,UAAU;QACV,UAAU;QACV,KAAK;AACN,KAAA;IACD,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,UAAU;AACrB,CAAA;;;;"}
@@ -3,7 +3,7 @@ import { number } from '../../primitives/number.mjs';
3
3
  import { brand } from '../brand.mjs';
4
4
 
5
5
  const uint = (defaultValue = asUint(0)) => brand({
6
- codec: number(defaultValue),
6
+ baseType: number(defaultValue),
7
7
  is: isUint,
8
8
  defaultValue,
9
9
  brandKeys: [
@@ -1 +1 @@
1
- {"version":3,"file":"uint.mjs","sources":["../../../src/branded/number/uint.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,IAAI,GAAG,CAAC,YAAA,GAAqB,MAAM,CAAC,CAAC,CAAC,KACjD,KAAK,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;AAC3B,IAAA,EAAE,EAAE,MAAM;IACV,YAAY;AACZ,IAAA,SAAS,EAAE;QACT,QAAQ;QACR,KAAK;QACL,SAAS;QACT,UAAU;QACV,SAAS;QACT,UAAU;QACV,KAAK;AACN,KAAA;IACD,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,MAAM;AACjB,CAAA;;;;"}
1
+ {"version":3,"file":"uint.mjs","sources":["../../../src/branded/number/uint.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,IAAI,GAAG,CAAC,YAAA,GAAqB,MAAM,CAAC,CAAC,CAAC,KACjD,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;AAC9B,IAAA,EAAE,EAAE,MAAM;IACV,YAAY;AACZ,IAAA,SAAS,EAAE;QACT,QAAQ;QACR,KAAK;QACL,SAAS;QACT,UAAU;QACV,SAAS;QACT,UAAU;QACV,KAAK;AACN,KAAA;IACD,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,MAAM;AACjB,CAAA;;;;"}
@@ -3,7 +3,7 @@ import { number } from '../../primitives/number.mjs';
3
3
  import { brand } from '../brand.mjs';
4
4
 
5
5
  const uint16 = (defaultValue = asUint16(0)) => brand({
6
- codec: number(defaultValue),
6
+ baseType: number(defaultValue),
7
7
  is: isUint16,
8
8
  defaultValue,
9
9
  brandKeys: [
@@ -1 +1 @@
1
- {"version":3,"file":"uint16.mjs","sources":["../../../src/branded/number/uint16.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,MAAM,GAAG,CAAC,YAAA,GAAuB,QAAQ,CAAC,CAAC,CAAC,KACvD,KAAK,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;AAC3B,IAAA,EAAE,EAAE,QAAQ;IACZ,YAAY;AACZ,IAAA,SAAS,EAAE;QACT,QAAQ;QACR,KAAK;QACL,SAAS;QACT,SAAS;QACT,SAAS;QACT,UAAU;QACV,UAAU;QACV,KAAK;QACL,QAAQ;QACR,QAAQ;QACR,QAAQ;AACT,KAAA;IACD,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,QAAQ;AACnB,CAAA;;;;"}
1
+ {"version":3,"file":"uint16.mjs","sources":["../../../src/branded/number/uint16.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,MAAM,GAAG,CAAC,YAAA,GAAuB,QAAQ,CAAC,CAAC,CAAC,KACvD,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;AAC9B,IAAA,EAAE,EAAE,QAAQ;IACZ,YAAY;AACZ,IAAA,SAAS,EAAE;QACT,QAAQ;QACR,KAAK;QACL,SAAS;QACT,SAAS;QACT,SAAS;QACT,UAAU;QACV,UAAU;QACV,KAAK;QACL,QAAQ;QACR,QAAQ;QACR,QAAQ;AACT,KAAA;IACD,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,QAAQ;AACnB,CAAA;;;;"}
@@ -3,7 +3,7 @@ import { number } from '../../primitives/number.mjs';
3
3
  import { brand } from '../brand.mjs';
4
4
 
5
5
  const uint32 = (defaultValue = asUint32(0)) => brand({
6
- codec: number(defaultValue),
6
+ baseType: number(defaultValue),
7
7
  is: isUint32,
8
8
  defaultValue,
9
9
  brandKeys: [
@@ -1 +1 @@
1
- {"version":3,"file":"uint32.mjs","sources":["../../../src/branded/number/uint32.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,MAAM,GAAG,CAAC,YAAA,GAAuB,QAAQ,CAAC,CAAC,CAAC,KACvD,KAAK,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;AAC3B,IAAA,EAAE,EAAE,QAAQ;IACZ,YAAY;AACZ,IAAA,SAAS,EAAE;QACT,QAAQ;QACR,KAAK;QACL,SAAS;QACT,SAAS;QACT,SAAS;QACT,UAAU;QACV,UAAU;QACV,KAAK;QACL,QAAQ;AACT,KAAA;IACD,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,QAAQ;AACnB,CAAA;;;;"}
1
+ {"version":3,"file":"uint32.mjs","sources":["../../../src/branded/number/uint32.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKO,MAAM,MAAM,GAAG,CAAC,YAAA,GAAuB,QAAQ,CAAC,CAAC,CAAC,KACvD,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;AAC9B,IAAA,EAAE,EAAE,QAAQ;IACZ,YAAY;AACZ,IAAA,SAAS,EAAE;QACT,QAAQ;QACR,KAAK;QACL,SAAS;QACT,SAAS;QACT,SAAS;QACT,UAAU;QACV,UAAU;QACV,KAAK;QACL,QAAQ;AACT,KAAA;IACD,cAAc,EAAE,CAAC,UAAU,CAAC;AAC5B,IAAA,QAAQ,EAAE,QAAQ;AACnB,CAAA;;;;"}
@@ -1,3 +1,7 @@
1
1
  import { type Type } from '../type.mjs';
2
- export declare const simpleBrandedNumber: <S extends string>(typeName: S, defaultValue?: number) => Type<Brand<number, S>>;
2
+ export declare const simpleBrandedNumber: <K extends string>({ typeName, defaultValue, is, }: Readonly<{
3
+ typeName: K;
4
+ defaultValue: number;
5
+ is?: (u: number) => u is Brand<number, K>;
6
+ }>) => Type<Brand<number, K>>;
3
7
  //# sourceMappingURL=simple-branded-number.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"simple-branded-number.d.mts","sourceRoot":"","sources":["../../src/branded/simple-branded-number.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAGxC,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,EAClD,UAAU,CAAC,EACX,eAAc,MAAU,KACvB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAUpB,CAAC"}
1
+ {"version":3,"file":"simple-branded-number.d.mts","sourceRoot":"","sources":["../../src/branded/simple-branded-number.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAGxC,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,EAAE,iCAInD,QAAQ,CAAC;IACV,QAAQ,EAAE,CAAC,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CAC3C,CAAC,KAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAUtB,CAAC"}
@@ -2,12 +2,12 @@ import 'ts-data-forge';
2
2
  import { number } from '../primitives/number.mjs';
3
3
  import { brand } from './brand.mjs';
4
4
 
5
- const simpleBrandedNumber = (typeName, defaultValue = 0) => brand({
6
- codec: number(defaultValue),
5
+ const simpleBrandedNumber = ({ typeName, defaultValue, is = (_u) => true, }) => brand({
6
+ baseType: number(defaultValue),
7
7
  defaultValue:
8
8
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
9
9
  defaultValue,
10
- is: (_id) => true,
10
+ is,
11
11
  brandKeys: [typeName],
12
12
  });
13
13
 
@@ -1 +1 @@
1
- {"version":3,"file":"simple-branded-number.mjs","sources":["../../src/branded/simple-branded-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAIO,MAAM,mBAAmB,GAAG,CACjC,QAAW,EACX,YAAA,GAAuB,CAAC,KAExB,KAAK,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;IAE3B,YAAY;;IAEV,YAAgC;AAElC,IAAA,EAAE,EAAE,CAAC,GAAW,KAA8B,IAAI;IAClD,SAAS,EAAE,CAAC,QAAQ,CAAC;AACtB,CAAA;;;;"}
1
+ {"version":3,"file":"simple-branded-number.mjs","sources":["../../src/branded/simple-branded-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;MAIa,mBAAmB,GAAG,CAAmB,EACpD,QAAQ,EACR,YAAY,EACZ,EAAE,GAAG,CAAC,EAAE,KAA6B,IAAI,GAKzC,KACA,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;IAE9B,YAAY;;IAEV,YAAgC;IAElC,EAAE;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;AACtB,CAAA;;;;"}
@@ -1,3 +1,7 @@
1
1
  import { type Type } from '../type.mjs';
2
- export declare const simpleBrandedString: <S extends string>(typeName: S, defaultValue?: string) => Type<Brand<string, S>>;
2
+ export declare const simpleBrandedString: <K extends string>({ typeName, defaultValue, is, }: Readonly<{
3
+ typeName: K;
4
+ defaultValue: string;
5
+ is?: (u: string) => u is Brand<string, K>;
6
+ }>) => Type<Brand<string, K>>;
3
7
  //# sourceMappingURL=simple-branded-string.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"simple-branded-string.d.mts","sourceRoot":"","sources":["../../src/branded/simple-branded-string.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAGxC,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,EAClD,UAAU,CAAC,EACX,eAAc,MAAW,KACxB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAUpB,CAAC"}
1
+ {"version":3,"file":"simple-branded-string.d.mts","sourceRoot":"","sources":["../../src/branded/simple-branded-string.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAGxC,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,EAAE,iCAInD,QAAQ,CAAC;IACV,QAAQ,EAAE,CAAC,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CAC3C,CAAC,KAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAUtB,CAAC"}
@@ -2,12 +2,12 @@ import 'ts-data-forge';
2
2
  import { string } from '../primitives/string.mjs';
3
3
  import { brand } from './brand.mjs';
4
4
 
5
- const simpleBrandedString = (typeName, defaultValue = '') => brand({
6
- codec: string(defaultValue),
5
+ const simpleBrandedString = ({ typeName, defaultValue, is = (_u) => true, }) => brand({
6
+ baseType: string(defaultValue),
7
7
  defaultValue:
8
8
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
9
9
  defaultValue,
10
- is: (_id) => true,
10
+ is,
11
11
  brandKeys: [typeName],
12
12
  });
13
13
 
@@ -1 +1 @@
1
- {"version":3,"file":"simple-branded-string.mjs","sources":["../../src/branded/simple-branded-string.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAIO,MAAM,mBAAmB,GAAG,CACjC,QAAW,EACX,YAAA,GAAuB,EAAE,KAEzB,KAAK,CAAC;AACJ,IAAA,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;IAE3B,YAAY;;IAEV,YAAgC;AAElC,IAAA,EAAE,EAAE,CAAC,GAAW,KAA8B,IAAI;IAClD,SAAS,EAAE,CAAC,QAAQ,CAAC;AACtB,CAAA;;;;"}
1
+ {"version":3,"file":"simple-branded-string.mjs","sources":["../../src/branded/simple-branded-string.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;MAIa,mBAAmB,GAAG,CAAmB,EACpD,QAAQ,EACR,YAAY,EACZ,EAAE,GAAG,CAAC,EAAE,KAA6B,IAAI,GAKzC,KACA,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;IAE9B,YAAY;;IAEV,YAAgC;IAElC,EAAE;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;AACtB,CAAA;;;;"}
@@ -10,8 +10,8 @@ export declare const JsonPrimitive: Readonly<{
10
10
  path: readonly string[];
11
11
  actualValue: unknown;
12
12
  expectedType: string;
13
- message: string | undefined;
14
13
  typeName: string;
14
+ message: string | undefined;
15
15
  }>[]>;
16
16
  optional?: true;
17
17
  }>;
@@ -39,8 +39,8 @@ export declare const JsonObject: Readonly<{
39
39
  path: readonly string[];
40
40
  actualValue: unknown;
41
41
  expectedType: string;
42
- message: string | undefined;
43
42
  typeName: string;
43
+ message: string | undefined;
44
44
  }>[]>;
45
45
  optional?: true;
46
46
  }>;
@@ -8,10 +8,15 @@ export type ValidationError = Readonly<{
8
8
  actualValue: unknown;
9
9
  /** The expected type or constraint */
10
10
  expectedType: string;
11
- /** Additional context about the validation failure */
12
- message: string | undefined;
13
11
  /** The name of the type that was being validated */
14
12
  typeName: string;
13
+ /**
14
+ * Additional context about the validation failure
15
+ * @note This field is for internal implementation purposes and may be undefined.
16
+ * Use `validationErrorToMessage` to stringify the error.
17
+ * @internal
18
+ */
19
+ message: string | undefined;
15
20
  }>;
16
21
  export type ValidationErrorWithMessage = MergeIntersection<StrictOmit<ValidationError, 'message'> & Readonly<{
17
22
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"validation-error.d.mts","sourceRoot":"","sources":["../../src/utils/validation-error.mts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,iFAAiF;IACjF,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,8CAA8C;IAC9C,WAAW,EAAE,OAAO,CAAC;IACrB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,iBAAiB,CACxD,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CACvE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GACnC,OAAO,eAAe,EACtB,8BAA6B,MAAW,KACvC,MAiBF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GACrC,QAAQ,SAAS,eAAe,EAAE,EAClC,8BAA6B,MAAW,KACvC,SAAS,MAAM,EAC2D,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,6BAA6B,GACxC,QAAQ,SAAS,eAAe,EAAE,EAClC,aAAa,MAAM,KAClB,SAAS,eAAe,EAItB,CAAC;AAEN;;GAEG;AACH,eAAO,MAAM,8BAA8B,GACzC,QAAQ,SAAS,eAAe,EAAE,EAClC,OAAO,MAAM,KACZ,SAAS,eAAe,EAC8B,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,8BAA8B,GAAI,0CAI5C,QAAQ,CAAC;IACV,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,KAAG,eAMH,CAAC"}
1
+ {"version":3,"file":"validation-error.d.mts","sourceRoot":"","sources":["../../src/utils/validation-error.mts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,iFAAiF;IACjF,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,8CAA8C;IAC9C,WAAW,EAAE,OAAO,CAAC;IACrB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAAC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,iBAAiB,CACxD,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CACvE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GACnC,OAAO,eAAe,EACtB,8BAA6B,MAAW,KACvC,MAiBF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GACrC,QAAQ,SAAS,eAAe,EAAE,EAClC,8BAA6B,MAAW,KACvC,SAAS,MAAM,EAC2D,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,6BAA6B,GACxC,QAAQ,SAAS,eAAe,EAAE,EAClC,aAAa,MAAM,KAClB,SAAS,eAAe,EAItB,CAAC;AAEN;;GAEG;AACH,eAAO,MAAM,8BAA8B,GACzC,QAAQ,SAAS,eAAe,EAAE,EAClC,OAAO,MAAM,KACZ,SAAS,eAAe,EAC8B,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,8BAA8B,GAAI,0CAI5C,QAAQ,CAAC;IACV,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,KAAG,eAMH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validation-error.mjs","sources":["../../src/utils/validation-error.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAsBA;;AAEG;AACI,MAAM,wBAAwB,GAAG,CACtC,KAAsB,EACtB,2BAAA,GAAsC,EAAE,KAC9B;IACV,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAA,IAAA,EAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAE,GAAG,EAAE;AAC1E,IAAA,MAAM,aAAa,GAAG,OAAO,KAAK,CAAC,WAAW;AAE9C,IAAA,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE;AAC/B,QAAA,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA,EAAG,OAAO,EAAE;IACrC;AAEA,IAAA,MAAM,cAAc,GAAW,QAAQ,CAAC,KAAK,CAAC,WAAW;AACvD,UAAE,KAAK,CAAC,WAAW,CAAC,MAAM,IAAI;AAC5B,cAAE,CAAA,EAAA,EAAK,KAAK,CAAC,WAAW,CAAA,CAAA;AACxB,cAAE;AACJ,UAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAC7C,CAAC,CAAC,MAAM,IAAI,2BAA2B,GAAG,CAAA,GAAA,EAAM,CAAC,CAAA,EAAA,CAAI,GAAG,EAAE,CAC3D,CAAC,KAAK;IAEX,OAAO,CAAA,UAAA,EAAa,KAAK,CAAC,YAAY,CAAA,CAAA,EAAI,OAAO,CAAA,OAAA,EAAU,aAAa,CAAA,YAAA,EAAe,cAAc,CAAA,CAAA,CAAG;AAC1G;AAEA;;;AAGG;AACI,MAAM,0BAA0B,GAAG,CACxC,MAAkC,EAClC,2BAAA,GAAsC,EAAE,KAExC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,wBAAwB,CAAC,CAAC,EAAE,2BAA2B,CAAC;AAE5E;;AAEG;MACU,6BAA6B,GAAG,CAC3C,MAAkC,EAClC,WAAmB,KAEnB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM;AACrB,IAAA,GAAG,KAAK;IACR,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;AACnC,CAAA,CAAC;AAEJ;;AAEG;MACU,8BAA8B,GAAG,CAC5C,MAAkC,EAClC,KAAa,KAEb,6BAA6B,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE;AAExD;;AAEG;AACI,MAAM,8BAA8B,GAAG,CAAC,EAC7C,WAAW,EACX,YAAY,EACZ,QAAQ,GAKR,MAAuB;AACvB,IAAA,IAAI,EAAE,EAAE;IACR,WAAW;IACX,YAAY;IACZ,QAAQ;AACR,IAAA,OAAO,EAAE,SAAS;AACnB,CAAA;;;;"}
1
+ {"version":3,"file":"validation-error.mjs","sources":["../../src/utils/validation-error.mts"],"sourcesContent":[null],"names":[],"mappings":";;AA4BA;;AAEG;AACI,MAAM,wBAAwB,GAAG,CACtC,KAAsB,EACtB,2BAAA,GAAsC,EAAE,KAC9B;IACV,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAA,IAAA,EAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAE,GAAG,EAAE;AAC1E,IAAA,MAAM,aAAa,GAAG,OAAO,KAAK,CAAC,WAAW;AAE9C,IAAA,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE;AAC/B,QAAA,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA,EAAG,OAAO,EAAE;IACrC;AAEA,IAAA,MAAM,cAAc,GAAW,QAAQ,CAAC,KAAK,CAAC,WAAW;AACvD,UAAE,KAAK,CAAC,WAAW,CAAC,MAAM,IAAI;AAC5B,cAAE,CAAA,EAAA,EAAK,KAAK,CAAC,WAAW,CAAA,CAAA;AACxB,cAAE;AACJ,UAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAC7C,CAAC,CAAC,MAAM,IAAI,2BAA2B,GAAG,CAAA,GAAA,EAAM,CAAC,CAAA,EAAA,CAAI,GAAG,EAAE,CAC3D,CAAC,KAAK;IAEX,OAAO,CAAA,UAAA,EAAa,KAAK,CAAC,YAAY,CAAA,CAAA,EAAI,OAAO,CAAA,OAAA,EAAU,aAAa,CAAA,YAAA,EAAe,cAAc,CAAA,CAAA,CAAG;AAC1G;AAEA;;;AAGG;AACI,MAAM,0BAA0B,GAAG,CACxC,MAAkC,EAClC,2BAAA,GAAsC,EAAE,KAExC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,wBAAwB,CAAC,CAAC,EAAE,2BAA2B,CAAC;AAE5E;;AAEG;MACU,6BAA6B,GAAG,CAC3C,MAAkC,EAClC,WAAmB,KAEnB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM;AACrB,IAAA,GAAG,KAAK;IACR,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;AACnC,CAAA,CAAC;AAEJ;;AAEG;MACU,8BAA8B,GAAG,CAC5C,MAAkC,EAClC,KAAa,KAEb,6BAA6B,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE;AAExD;;AAEG;AACI,MAAM,8BAA8B,GAAG,CAAC,EAC7C,WAAW,EACX,YAAY,EACZ,QAAQ,GAKR,MAAuB;AACvB,IAAA,IAAI,EAAE,EAAE;IACR,WAAW;IACX,YAAY;IACZ,QAAQ;AACR,IAAA,OAAO,EAAE,SAAS;AACnB,CAAA;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-fortress",
3
- "version": "2.10.0",
3
+ "version": "3.0.1",
4
4
  "private": false,
5
5
  "keywords": [
6
6
  "typescript"
@@ -11,14 +11,14 @@ export const brand = <
11
11
  const BrandTrueKeys extends readonly string[],
12
12
  const BrandFalseKeys extends readonly string[] = [],
13
13
  >({
14
- codec,
14
+ baseType,
15
15
  is,
16
16
  defaultValue,
17
17
  typeName,
18
18
  brandKeys,
19
19
  brandFalseKeys,
20
20
  }: Readonly<{
21
- codec: Type<A>;
21
+ baseType: Type<A>;
22
22
  is: (
23
23
  a: A,
24
24
  ) => a is Brand<A, ArrayToUnion<BrandTrueKeys>, ArrayToUnion<BrandFalseKeys>>;
@@ -44,17 +44,17 @@ export const brand = <
44
44
 
45
45
  const validate: Type<T>['validate'] = (a) =>
46
46
  pipe(a)
47
- .map(codec.validate)
47
+ .map(baseType.validate)
48
48
  .map(
49
- (v): Result<T, readonly ValidationError[]> =>
50
- Result.isErr(v)
51
- ? v
52
- : is(v.value)
53
- ? Result.ok(v.value)
49
+ (res): Result<T, readonly ValidationError[]> =>
50
+ Result.isErr(res)
51
+ ? res
52
+ : is(res.value)
53
+ ? Result.ok(res.value satisfies T)
54
54
  : Result.err([
55
55
  {
56
56
  path: [],
57
- actualValue: v.value,
57
+ actualValue: res.value,
58
58
  expectedType: typeNameFilled,
59
59
  typeName: brandKeysStr,
60
60
  message:
@@ -7,7 +7,7 @@ export const finiteNumber = (
7
7
  defaultValue: FiniteNumber = asFiniteNumber(0),
8
8
  ): Type<FiniteNumber> =>
9
9
  brand({
10
- codec: number(defaultValue),
10
+ baseType: number(defaultValue),
11
11
  is: FiniteNumber.is,
12
12
  defaultValue,
13
13
  brandKeys: ['Finite'],
@@ -5,7 +5,7 @@ import { brand } from '../brand.mjs';
5
5
 
6
6
  export const int = (defaultValue: Int = asInt(0)): Type<Int> =>
7
7
  brand({
8
- codec: number(defaultValue),
8
+ baseType: number(defaultValue),
9
9
  is: Int.is,
10
10
  defaultValue,
11
11
  brandKeys: ['Finite', 'Int'],
@@ -5,7 +5,7 @@ import { brand } from '../brand.mjs';
5
5
 
6
6
  export const int16 = (defaultValue: Int16 = asInt16(0)): Type<Int16> =>
7
7
  brand({
8
- codec: number(defaultValue),
8
+ baseType: number(defaultValue),
9
9
  is: isInt16,
10
10
  defaultValue,
11
11
  brandKeys: [
@@ -5,7 +5,7 @@ import { brand } from '../brand.mjs';
5
5
 
6
6
  export const int32 = (defaultValue: Int32 = asInt32(0)): Type<Int32> =>
7
7
  brand({
8
- codec: number(defaultValue),
8
+ baseType: number(defaultValue),
9
9
  is: isInt32,
10
10
  defaultValue,
11
11
  brandKeys: [
@@ -10,7 +10,7 @@ export const nonNegativeFiniteNumber = (
10
10
  defaultValue: NonNegativeFiniteNumber = asNonNegativeFiniteNumber(0),
11
11
  ): Type<NonNegativeFiniteNumber> =>
12
12
  brand({
13
- codec: number(defaultValue),
13
+ baseType: number(defaultValue),
14
14
  is: isNonNegativeFiniteNumber,
15
15
  defaultValue,
16
16
  brandKeys: ['>=0', '> -2^16', '> -2^32', '>= -2^15', '>= -2^31', 'Finite'],
@@ -7,7 +7,7 @@ export const nonZeroFiniteNumber = (
7
7
  defaultValue: NonZeroFiniteNumber,
8
8
  ): Type<NonZeroFiniteNumber> =>
9
9
  brand({
10
- codec: number(defaultValue),
10
+ baseType: number(defaultValue),
11
11
  is: isNonZeroFiniteNumber,
12
12
  defaultValue,
13
13
  brandKeys: ['!=0', 'Finite'],
@@ -7,7 +7,7 @@ export const nonZeroInt = (
7
7
  defaultValue: NonZeroInt = asNonZeroInt(0),
8
8
  ): Type<NonZeroInt> =>
9
9
  brand({
10
- codec: number(defaultValue),
10
+ baseType: number(defaultValue),
11
11
  is: isNonZeroInt,
12
12
  defaultValue,
13
13
  brandKeys: ['Finite', 'Int', '!=0'],
@@ -7,7 +7,7 @@ export const nonZeroSafeInt = (
7
7
  defaultValue: NonZeroSafeInt,
8
8
  ): Type<NonZeroSafeInt> =>
9
9
  brand({
10
- codec: number(defaultValue),
10
+ baseType: number(defaultValue),
11
11
  is: isNonZeroSafeInt,
12
12
  defaultValue,
13
13
  brandKeys: ['Finite', 'Int', 'SafeInt', '!=0'],
@@ -7,7 +7,7 @@ export const positiveFiniteNumber = (
7
7
  defaultValue: PositiveFiniteNumber,
8
8
  ): Type<PositiveFiniteNumber> =>
9
9
  brand({
10
- codec: number(defaultValue),
10
+ baseType: number(defaultValue),
11
11
  is: isPositiveFiniteNumber,
12
12
  defaultValue,
13
13
  brandKeys: [
@@ -7,7 +7,7 @@ export const positiveInt = (
7
7
  defaultValue: PositiveInt = asPositiveInt(1),
8
8
  ): Type<PositiveInt> =>
9
9
  brand({
10
- codec: number(defaultValue),
10
+ baseType: number(defaultValue),
11
11
  is: isPositiveInt,
12
12
  defaultValue,
13
13
  brandKeys: [
@@ -7,7 +7,7 @@ export const positiveSafeInt = (
7
7
  defaultValue: PositiveSafeInt = asPositiveSafeInt(1),
8
8
  ): Type<PositiveSafeInt> =>
9
9
  brand({
10
- codec: number(defaultValue),
10
+ baseType: number(defaultValue),
11
11
  is: isPositiveSafeInt,
12
12
  defaultValue,
13
13
  brandKeys: [
@@ -5,7 +5,7 @@ import { brand } from '../brand.mjs';
5
5
 
6
6
  export const safeInt = (defaultValue: SafeInt = asSafeInt(0)): Type<SafeInt> =>
7
7
  brand({
8
- codec: number(defaultValue),
8
+ baseType: number(defaultValue),
9
9
  is: SafeInt.is,
10
10
  defaultValue,
11
11
  brandKeys: ['Finite', 'Int', 'SafeInt'],
@@ -7,7 +7,7 @@ export const safeUint = (
7
7
  defaultValue: SafeUint = asSafeUint(0),
8
8
  ): Type<SafeUint> =>
9
9
  brand({
10
- codec: number(defaultValue),
10
+ baseType: number(defaultValue),
11
11
  is: isSafeUint,
12
12
  defaultValue,
13
13
  brandKeys: [
@@ -5,7 +5,7 @@ import { brand } from '../brand.mjs';
5
5
 
6
6
  export const uint = (defaultValue: Uint = asUint(0)): Type<Uint> =>
7
7
  brand({
8
- codec: number(defaultValue),
8
+ baseType: number(defaultValue),
9
9
  is: isUint,
10
10
  defaultValue,
11
11
  brandKeys: [
@@ -5,7 +5,7 @@ import { brand } from '../brand.mjs';
5
5
 
6
6
  export const uint16 = (defaultValue: Uint16 = asUint16(0)): Type<Uint16> =>
7
7
  brand({
8
- codec: number(defaultValue),
8
+ baseType: number(defaultValue),
9
9
  is: isUint16,
10
10
  defaultValue,
11
11
  brandKeys: [
@@ -5,7 +5,7 @@ import { brand } from '../brand.mjs';
5
5
 
6
6
  export const uint32 = (defaultValue: Uint32 = asUint32(0)): Type<Uint32> =>
7
7
  brand({
8
- codec: number(defaultValue),
8
+ baseType: number(defaultValue),
9
9
  is: isUint32,
10
10
  defaultValue,
11
11
  brandKeys: [
@@ -2,17 +2,22 @@ import { number } from '../primitives/index.mjs';
2
2
  import { type Type } from '../type.mjs';
3
3
  import { brand } from './brand.mjs';
4
4
 
5
- export const simpleBrandedNumber = <S extends string>(
6
- typeName: S,
7
- defaultValue: number = 0,
8
- ): Type<Brand<number, S>> =>
5
+ export const simpleBrandedNumber = <K extends string>({
6
+ typeName,
7
+ defaultValue,
8
+ is = (_u): _u is Brand<number, K> => true,
9
+ }: Readonly<{
10
+ typeName: K;
11
+ defaultValue: number;
12
+ is?: (u: number) => u is Brand<number, K>;
13
+ }>): Type<Brand<number, K>> =>
9
14
  brand({
10
- codec: number(defaultValue),
15
+ baseType: number(defaultValue),
11
16
 
12
17
  defaultValue:
13
18
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
14
- defaultValue as Brand<number, S>,
19
+ defaultValue as Brand<number, K>,
15
20
 
16
- is: (_id: number): _id is Brand<number, S> => true,
21
+ is,
17
22
  brandKeys: [typeName],
18
23
  });
@@ -5,7 +5,10 @@ import { simpleBrandedNumber } from './simple-branded-number.mjs';
5
5
 
6
6
  describe('simpleBrandedNumber', () => {
7
7
  describe('with default value', () => {
8
- const userIdType = simpleBrandedNumber('UserId');
8
+ const userIdType = simpleBrandedNumber({
9
+ typeName: 'UserId',
10
+ defaultValue: 0,
11
+ });
9
12
 
10
13
  type UserId = TypeOf<typeof userIdType>;
11
14
 
@@ -97,7 +100,10 @@ describe('simpleBrandedNumber', () => {
97
100
  });
98
101
 
99
102
  describe('with custom default value', () => {
100
- const scoreType = simpleBrandedNumber('Score', 100);
103
+ const scoreType = simpleBrandedNumber({
104
+ typeName: 'Score',
105
+ defaultValue: 100,
106
+ });
101
107
 
102
108
  type Score = TypeOf<typeof scoreType>;
103
109
 
@@ -160,7 +166,10 @@ describe('simpleBrandedNumber', () => {
160
166
  });
161
167
 
162
168
  describe('type assertions and narrowing', () => {
163
- const priceType = simpleBrandedNumber('Price', 0);
169
+ const priceType = simpleBrandedNumber({
170
+ typeName: 'Price',
171
+ defaultValue: 0,
172
+ });
164
173
 
165
174
  test('type narrowing works correctly', () => {
166
175
  const x: unknown = 29.99;
@@ -2,17 +2,22 @@ import { string } from '../primitives/index.mjs';
2
2
  import { type Type } from '../type.mjs';
3
3
  import { brand } from './brand.mjs';
4
4
 
5
- export const simpleBrandedString = <S extends string>(
6
- typeName: S,
7
- defaultValue: string = '',
8
- ): Type<Brand<string, S>> =>
5
+ export const simpleBrandedString = <K extends string>({
6
+ typeName,
7
+ defaultValue,
8
+ is = (_u): _u is Brand<string, K> => true,
9
+ }: Readonly<{
10
+ typeName: K;
11
+ defaultValue: string;
12
+ is?: (u: string) => u is Brand<string, K>;
13
+ }>): Type<Brand<string, K>> =>
9
14
  brand({
10
- codec: string(defaultValue),
15
+ baseType: string(defaultValue),
11
16
 
12
17
  defaultValue:
13
18
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
14
- defaultValue as Brand<string, S>,
19
+ defaultValue as Brand<string, K>,
15
20
 
16
- is: (_id: string): _id is Brand<string, S> => true,
21
+ is,
17
22
  brandKeys: [typeName],
18
23
  });
@@ -5,7 +5,10 @@ import { simpleBrandedString } from './simple-branded-string.mjs';
5
5
 
6
6
  describe('simpleBrandedString', () => {
7
7
  describe('with default value', () => {
8
- const userNameType = simpleBrandedString('UserName');
8
+ const userNameType = simpleBrandedString({
9
+ typeName: 'UserName',
10
+ defaultValue: '',
11
+ });
9
12
 
10
13
  type UserName = TypeOf<typeof userNameType>;
11
14
 
@@ -98,7 +101,10 @@ describe('simpleBrandedString', () => {
98
101
  });
99
102
 
100
103
  describe('with custom default value', () => {
101
- const categoryType = simpleBrandedString('Category', 'general');
104
+ const categoryType = simpleBrandedString({
105
+ typeName: 'Category',
106
+ defaultValue: 'general',
107
+ });
102
108
 
103
109
  type Category = TypeOf<typeof categoryType>;
104
110
 
@@ -161,7 +167,10 @@ describe('simpleBrandedString', () => {
161
167
  });
162
168
 
163
169
  describe('type assertions and narrowing', () => {
164
- const emailType = simpleBrandedString('Email', '');
170
+ const emailType = simpleBrandedString({
171
+ typeName: 'Email',
172
+ defaultValue: '',
173
+ });
165
174
 
166
175
  test('type narrowing works correctly', () => {
167
176
  const x: unknown = 'user@example.com';
@@ -178,8 +187,14 @@ describe('simpleBrandedString', () => {
178
187
  });
179
188
 
180
189
  describe('different brand types', () => {
181
- const firstNameType = simpleBrandedString('FirstName', '');
182
- const lastNameType = simpleBrandedString('LastName', '');
190
+ const firstNameType = simpleBrandedString({
191
+ typeName: 'FirstName',
192
+ defaultValue: '',
193
+ });
194
+ const lastNameType = simpleBrandedString({
195
+ typeName: 'LastName',
196
+ defaultValue: '',
197
+ });
183
198
 
184
199
  test('creates distinct branded types', () => {
185
200
  type FirstName = TypeOf<typeof firstNameType>;
@@ -10,10 +10,16 @@ export type ValidationError = Readonly<{
10
10
  actualValue: unknown;
11
11
  /** The expected type or constraint */
12
12
  expectedType: string;
13
- /** Additional context about the validation failure */
14
- message: string | undefined;
15
13
  /** The name of the type that was being validated */
16
14
  typeName: string;
15
+
16
+ /**
17
+ * Additional context about the validation failure
18
+ * @note This field is for internal implementation purposes and may be undefined.
19
+ * Use `validationErrorToMessage` to stringify the error.
20
+ * @internal
21
+ */
22
+ message: string | undefined;
17
23
  }>;
18
24
 
19
25
  export type ValidationErrorWithMessage = MergeIntersection<