ts-fortress 6.4.2 → 7.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 (150) hide show
  1. package/README.md +9 -8
  2. package/dist/brand/branded-number.mjs +1 -0
  3. package/dist/brand/branded-number.mjs.map +1 -1
  4. package/dist/brand/branded-string.mjs +1 -0
  5. package/dist/brand/branded-string.mjs.map +1 -1
  6. package/dist/compose/intersection.d.mts.map +1 -1
  7. package/dist/compose/intersection.mjs +20 -2
  8. package/dist/compose/intersection.mjs.map +1 -1
  9. package/dist/compose/union.d.mts.map +1 -1
  10. package/dist/compose/union.mjs +21 -2
  11. package/dist/compose/union.mjs.map +1 -1
  12. package/dist/entry-point.d.mts +10 -1
  13. package/dist/entry-point.d.mts.map +1 -1
  14. package/dist/index.mjs +1 -1
  15. package/dist/other-types/map.d.mts.map +1 -1
  16. package/dist/other-types/map.mjs +1 -1
  17. package/dist/other-types/map.mjs.map +1 -1
  18. package/dist/other-types/recursion.d.mts.map +1 -1
  19. package/dist/other-types/recursion.mjs +47 -2
  20. package/dist/other-types/recursion.mjs.map +1 -1
  21. package/dist/other-types/set.d.mts.map +1 -1
  22. package/dist/other-types/set.mjs +1 -1
  23. package/dist/other-types/set.mjs.map +1 -1
  24. package/dist/predefined/brand/number/finite-number.mjs +1 -0
  25. package/dist/predefined/brand/number/finite-number.mjs.map +1 -1
  26. package/dist/predefined/brand/number/int.mjs +1 -0
  27. package/dist/predefined/brand/number/int.mjs.map +1 -1
  28. package/dist/predefined/brand/number/int16.mjs +1 -0
  29. package/dist/predefined/brand/number/int16.mjs.map +1 -1
  30. package/dist/predefined/brand/number/int32.mjs +1 -0
  31. package/dist/predefined/brand/number/int32.mjs.map +1 -1
  32. package/dist/predefined/brand/number/non-negative-finite-number.mjs +1 -0
  33. package/dist/predefined/brand/number/non-negative-finite-number.mjs.map +1 -1
  34. package/dist/predefined/brand/number/non-zero-finite-number.mjs +1 -0
  35. package/dist/predefined/brand/number/non-zero-finite-number.mjs.map +1 -1
  36. package/dist/predefined/brand/number/non-zero-int.mjs +1 -0
  37. package/dist/predefined/brand/number/non-zero-int.mjs.map +1 -1
  38. package/dist/predefined/brand/number/non-zero-safe-int.mjs +1 -0
  39. package/dist/predefined/brand/number/non-zero-safe-int.mjs.map +1 -1
  40. package/dist/predefined/brand/number/positive-finite-number.mjs +1 -0
  41. package/dist/predefined/brand/number/positive-finite-number.mjs.map +1 -1
  42. package/dist/predefined/brand/number/positive-int.mjs +1 -0
  43. package/dist/predefined/brand/number/positive-int.mjs.map +1 -1
  44. package/dist/predefined/brand/number/positive-safe-int.mjs +1 -0
  45. package/dist/predefined/brand/number/positive-safe-int.mjs.map +1 -1
  46. package/dist/predefined/brand/number/safe-int.mjs +1 -0
  47. package/dist/predefined/brand/number/safe-int.mjs.map +1 -1
  48. package/dist/predefined/brand/number/safe-uint.mjs +1 -0
  49. package/dist/predefined/brand/number/safe-uint.mjs.map +1 -1
  50. package/dist/predefined/brand/number/uint.mjs +1 -0
  51. package/dist/predefined/brand/number/uint.mjs.map +1 -1
  52. package/dist/predefined/brand/number/uint16.mjs +1 -0
  53. package/dist/predefined/brand/number/uint16.mjs.map +1 -1
  54. package/dist/predefined/brand/number/uint32.mjs +1 -0
  55. package/dist/predefined/brand/number/uint32.mjs.map +1 -1
  56. package/dist/predefined/brand/string/email.mjs +1 -0
  57. package/dist/predefined/brand/string/email.mjs.map +1 -1
  58. package/dist/predefined/brand/string/iso-8601.d.mts +36 -55
  59. package/dist/predefined/brand/string/iso-8601.d.mts.map +1 -1
  60. package/dist/predefined/brand/string/iso-8601.mjs +1 -0
  61. package/dist/predefined/brand/string/iso-8601.mjs.map +1 -1
  62. package/dist/predefined/brand/string/json-string.mjs +1 -0
  63. package/dist/predefined/brand/string/json-string.mjs.map +1 -1
  64. package/dist/predefined/brand/string/uuid.mjs +1 -0
  65. package/dist/predefined/brand/string/uuid.mjs.map +1 -1
  66. package/dist/predefined/json.d.mts +2 -2
  67. package/dist/predefined/json.mjs +1 -0
  68. package/dist/predefined/json.mjs.map +1 -1
  69. package/dist/predefined/nullable.mjs +1 -0
  70. package/dist/predefined/nullable.mjs.map +1 -1
  71. package/dist/primitives/bigint.mjs +1 -0
  72. package/dist/primitives/bigint.mjs.map +1 -1
  73. package/dist/primitives/number.mjs +1 -0
  74. package/dist/primitives/number.mjs.map +1 -1
  75. package/dist/primitives/string.mjs +1 -0
  76. package/dist/primitives/string.mjs.map +1 -1
  77. package/dist/record/keyof.d.mts +3 -4
  78. package/dist/record/keyof.d.mts.map +1 -1
  79. package/dist/record/keyof.mjs +14 -12
  80. package/dist/record/keyof.mjs.map +1 -1
  81. package/dist/record/merge-records.d.mts +15 -32
  82. package/dist/record/merge-records.d.mts.map +1 -1
  83. package/dist/record/merge-records.mjs +12 -4
  84. package/dist/record/merge-records.mjs.map +1 -1
  85. package/dist/record/omit.d.mts +6 -6
  86. package/dist/record/omit.d.mts.map +1 -1
  87. package/dist/record/omit.mjs +12 -6
  88. package/dist/record/omit.mjs.map +1 -1
  89. package/dist/record/optional.d.mts +4 -29
  90. package/dist/record/optional.d.mts.map +1 -1
  91. package/dist/record/optional.mjs +1 -30
  92. package/dist/record/optional.mjs.map +1 -1
  93. package/dist/record/partial.d.mts +7 -14
  94. package/dist/record/partial.d.mts.map +1 -1
  95. package/dist/record/partial.mjs +6 -4
  96. package/dist/record/partial.mjs.map +1 -1
  97. package/dist/record/pick.d.mts +6 -6
  98. package/dist/record/pick.d.mts.map +1 -1
  99. package/dist/record/pick.mjs +12 -6
  100. package/dist/record/pick.mjs.map +1 -1
  101. package/dist/record/record.d.mts +33 -38
  102. package/dist/record/record.d.mts.map +1 -1
  103. package/dist/record/record.mjs +45 -92
  104. package/dist/record/record.mjs.map +1 -1
  105. package/dist/record/required.d.mts +7 -14
  106. package/dist/record/required.d.mts.map +1 -1
  107. package/dist/record/required.mjs +16 -9
  108. package/dist/record/required.mjs.map +1 -1
  109. package/dist/record/valueof.d.mts +3 -4
  110. package/dist/record/valueof.d.mts.map +1 -1
  111. package/dist/record/valueof.mjs +9 -2
  112. package/dist/record/valueof.mjs.map +1 -1
  113. package/dist/type.d.mts +18 -30
  114. package/dist/type.d.mts.map +1 -1
  115. package/dist/type.mjs +11 -1
  116. package/dist/type.mjs.map +1 -1
  117. package/dist/utils/create-cast-fn.d.mts.map +1 -1
  118. package/dist/utils/create-cast-fn.mjs +2 -1
  119. package/dist/utils/create-cast-fn.mjs.map +1 -1
  120. package/package.json +3 -3
  121. package/src/compose/intersection.mts +41 -4
  122. package/src/compose/union.mts +43 -4
  123. package/src/entry-point.mts +21 -1
  124. package/src/other-types/map.mts +1 -3
  125. package/src/other-types/recursion.mts +60 -4
  126. package/src/other-types/recursion.test.mts +5 -11
  127. package/src/other-types/set.mts +1 -3
  128. package/src/record/keyof.mts +48 -38
  129. package/src/record/merge-records.mts +59 -201
  130. package/src/record/merge-records.options.test.mts +143 -14
  131. package/src/record/merge-records.test.mts +119 -133
  132. package/src/record/omit.mts +53 -53
  133. package/src/record/omit.options.test.mts +2 -4
  134. package/src/record/omit.test.mts +51 -30
  135. package/src/record/optional.mts +7 -37
  136. package/src/record/partial.mts +63 -171
  137. package/src/record/partial.test.mts +98 -72
  138. package/src/record/pick.mts +39 -56
  139. package/src/record/pick.options.test.mts +2 -4
  140. package/src/record/pick.test.mts +52 -46
  141. package/src/record/record-allow-excess-properties.test.mts +51 -36
  142. package/src/record/record-strict-composition-simple.test.mts +26 -23
  143. package/src/record/record-strict-composition.test.mts +60 -36
  144. package/src/record/record.mts +125 -154
  145. package/src/record/record.test.mts +71 -53
  146. package/src/record/required.mts +61 -215
  147. package/src/record/required.test.mts +107 -59
  148. package/src/record/valueof.mts +41 -25
  149. package/src/type.mts +29 -69
  150. package/src/utils/create-cast-fn.mts +2 -1
package/README.md CHANGED
@@ -73,7 +73,7 @@ const userData = {
73
73
  age: 30,
74
74
  email: 'john@example.com',
75
75
  isActive: true,
76
- } as const;
76
+ } as const as unknown;
77
77
 
78
78
  assert.isTrue(User.is(userData));
79
79
 
@@ -81,6 +81,10 @@ if (User.is(userData)) {
81
81
  // userData is now typed as User
82
82
  userData satisfies User;
83
83
 
84
+ expectType<typeof userData.age, number>('=');
85
+
86
+ expectType<typeof userData.email, string | undefined>('=');
87
+
84
88
  assert.strictEqual(
85
89
  `User: ${userData.name}, Age: ${userData.age}`,
86
90
  'User: John Doe, Age: 30',
@@ -621,8 +625,7 @@ const StrictUserType = t.record(
621
625
  name: t.string(),
622
626
  },
623
627
  {
624
- excessPropertyValidation: 'error', // Reject any properties not defined in schema
625
- excessPropertyFill: 'strip',
628
+ excessProperty: 'reject', // Reject any properties not defined in schema
626
629
  },
627
630
  );
628
631
 
@@ -632,15 +635,14 @@ const StrictUserTypeAlias = t.strictRecord({
632
635
  name: t.string(),
633
636
  });
634
637
 
635
- // Permissive validation (allow excess properties) - this is the default
638
+ // Permissive validation (allow excess properties)
636
639
  const PermissiveUserType = t.record(
637
640
  {
638
641
  id: t.string(),
639
642
  name: t.string(),
640
643
  },
641
644
  {
642
- excessPropertyValidation: 'allow', // Allow additional properties (default behavior)
643
- excessPropertyFill: 'allow',
645
+ excessProperty: 'allow', // Allow additional properties and keep them in results
644
646
  },
645
647
  );
646
648
 
@@ -981,8 +983,7 @@ const StrictType = t.record(
981
983
  age: t.number(),
982
984
  },
983
985
  {
984
- excessPropertyValidation: 'error',
985
- excessPropertyFill: 'strip',
986
+ excessProperty: 'reject',
986
987
  },
987
988
  );
988
989
 
@@ -1,4 +1,5 @@
1
1
  import 'ts-data-forge';
2
+ import '@sindresorhus/is';
2
3
  import '../other-types/unknown.mjs';
3
4
  import { number } from '../primitives/number.mjs';
4
5
  import { brand } from './brand.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"branded-number.mjs","sources":["../../src/brand/branded-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;MAIa,aAAa,GAAG,CAAmB,EAC9C,YAAY,EACZ,EAAE,GAAG,CAAC,EAAE,KAA6B,IAAI,EACzC,QAAQ,GAKR,KACA,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;;AAG9B,IAAA,YAAY,EAAE,YAAgC;IAE9C,EAAE;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,QAAQ;AACT,CAAA;AAEH;;;;AAIG;AACI,MAAM,mBAAmB,GAAG;;;;"}
1
+ {"version":3,"file":"branded-number.mjs","sources":["../../src/brand/branded-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;MAIa,aAAa,GAAG,CAAmB,EAC9C,YAAY,EACZ,EAAE,GAAG,CAAC,EAAE,KAA6B,IAAI,EACzC,QAAQ,GAKR,KACA,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;;AAG9B,IAAA,YAAY,EAAE,YAAgC;IAE9C,EAAE;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,QAAQ;AACT,CAAA;AAEH;;;;AAIG;AACI,MAAM,mBAAmB,GAAG;;;;"}
@@ -1,4 +1,5 @@
1
1
  import 'ts-data-forge';
2
+ import '@sindresorhus/is';
2
3
  import '../other-types/unknown.mjs';
3
4
  import { string } from '../primitives/string.mjs';
4
5
  import { brand } from './brand.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"branded-string.mjs","sources":["../../src/brand/branded-string.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;MAIa,aAAa,GAAG,CAAmB,EAC9C,YAAY,EACZ,EAAE,GAAG,CAAC,EAAE,KAA6B,IAAI,EACzC,QAAQ,GAKR,KACA,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;;AAG9B,IAAA,YAAY,EAAE,YAAgC;IAE9C,EAAE;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,QAAQ;AACT,CAAA;AAEH;;;;AAIG;AACI,MAAM,mBAAmB,GAAG;;;;"}
1
+ {"version":3,"file":"branded-string.mjs","sources":["../../src/brand/branded-string.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;MAIa,aAAa,GAAG,CAAmB,EAC9C,YAAY,EACZ,EAAE,GAAG,CAAC,EAAE,KAA6B,IAAI,EACzC,QAAQ,GAKR,KACA,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;;AAG9B,IAAA,YAAY,EAAE,YAAgC;IAE9C,EAAE;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,QAAQ;AACT,CAAA;AAEH;;;;AAIG;AACI,MAAM,mBAAmB,GAAG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"intersection.d.mts","sourceRoot":"","sources":["../../src/compose/intersection.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AASrD,eAAO,MAAM,YAAY,GAAI,KAAK,CAAC,KAAK,SAAS,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAC3E,OAAO,KAAK,EACZ,aAAa,gBAAgB,CAAC,KAAK,CAAC,EACpC,UAAU,OAAO,CACf,QAAQ,CAAC;IACP,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CACH,KACA,gBAAgB,CAAC,KAAK,CAkDxB,CAAC;AAEF,KAAK,gBAAgB,CAAC,KAAK,SAAS,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CACtE,qBAAqB,CAAC,KAAK,CAAC,CAC7B,CAAC;AAEF,KAAK,qBAAqB,CAAC,KAAK,SAAS,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IACnE,kBAAkB,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;AAEtD,kBAAU,kBAAkB,CAAC;IAC3B,MAAM,MAAM,yBAAyB,CACnC,KAAK,SAAS,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IACxC,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE/C,KAAK,KAAK,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAClE,CAAC,GACD,KAAK,CAAC;;CACX;AA4BD,KAAK,cAAc,CAAC,KAAK,SAAS,SAAS,IAAI,CAAC,OAAO,CAAC,EAAE,IACxD,kBAAkB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAE3C,kBAAU,kBAAkB,CAAC;IAC3B,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,SAAS,OAAO,EAAE,IACzD,KAAK,SAAS,SAAS,EAAE,GACrB,SAAS,EAAE,GACX,KAAK,SAAS,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GAChD,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,GACvD,KAAK,CAAC;IAGd,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;;CACzD"}
1
+ {"version":3,"file":"intersection.d.mts","sourceRoot":"","sources":["../../src/compose/intersection.mts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,IAAI,EACT,KAAK,MAAM,EAEZ,MAAM,aAAa,CAAC;AASrB,eAAO,MAAM,YAAY,GAAI,KAAK,CAAC,KAAK,SAAS,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAC3E,OAAO,KAAK,EACZ,aAAa,gBAAgB,CAAC,KAAK,CAAC,EACpC,UAAU,OAAO,CACf,QAAQ,CAAC;IACP,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CACH,KACA,gBAAgB,CAAC,KAAK,CAgFxB,CAAC;AAEF,KAAK,gBAAgB,CAAC,KAAK,SAAS,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CACtE,qBAAqB,CAAC,KAAK,CAAC,CAC7B,CAAC;AAEF,KAAK,qBAAqB,CAAC,KAAK,SAAS,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IACnE,kBAAkB,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;AAEtD,kBAAU,kBAAkB,CAAC;IAC3B,MAAM,MAAM,yBAAyB,CACnC,KAAK,SAAS,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IACxC,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE/C,KAAK,KAAK,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAClE,CAAC,GACD,KAAK,CAAC;;CACX;AA4BD,KAAK,cAAc,CAAC,KAAK,SAAS,SAAS,IAAI,CAAC,OAAO,CAAC,EAAE,IACxD,kBAAkB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAE3C,kBAAU,kBAAkB,CAAC;IAC3B,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,SAAS,OAAO,EAAE,IACzD,KAAK,SAAS,SAAS,EAAE,GACrB,SAAS,EAAE,GACX,KAAK,SAAS,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GAChD,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,GACvD,KAAK,CAAC;IAGd,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;;CACzD"}
@@ -1,4 +1,5 @@
1
- import { Arr, Result } from 'ts-data-forge';
1
+ import { Arr, Obj, Result } from 'ts-data-forge';
2
+ import { hasRecordInternals } from '../type.mjs';
2
3
  import { createAssertFn } from '../utils/create-assert-fn.mjs';
3
4
  import { createCastFn } from '../utils/create-cast-fn.mjs';
4
5
  import { createIsFn } from '../utils/create-is-fn.mjs';
@@ -34,7 +35,7 @@ const intersection = (types, defaultType, options) => {
34
35
  };
35
36
  const is = createIsFn(validate);
36
37
  const fill = (a) => (is(a) ? a : defaultType.fill(a));
37
- return {
38
+ const baseType = {
38
39
  typeName: typeNameFilled,
39
40
  defaultValue: defaultType.defaultValue,
40
41
  fill,
@@ -43,6 +44,23 @@ const intersection = (types, defaultType, options) => {
43
44
  assertIs: createAssertFn(validate),
44
45
  cast: createCastFn(validate),
45
46
  };
47
+ // If all types are records, add RecordTypeInternals
48
+ if (types.every(hasRecordInternals)) {
49
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
50
+ const recordTypes = types;
51
+ const shapes = Arr.map(recordTypes, (t) => t.shape);
52
+ const mergedShape = Obj.merge(...shapes);
53
+ const excessProperty = recordTypes.some((t) => t.excessProperty === 'reject')
54
+ ? 'reject'
55
+ : 'allow';
56
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
57
+ return {
58
+ ...baseType,
59
+ shape: mergedShape,
60
+ excessProperty,
61
+ };
62
+ }
63
+ return baseType;
46
64
  };
47
65
 
48
66
  export { intersection };
@@ -1 +1 @@
1
- {"version":3,"file":"intersection.mjs","sources":["../../src/compose/intersection.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAUO,MAAM,YAAY,GAAG,CAC1B,KAAY,EACZ,WAAoC,EACpC,OAIC,KAC0B;AAG3B,IAAA,MAAM,cAAc,GAClB,OAAO,EAAE,QAAQ;AACjB,QAAA,CAAA,CAAA,EAAI,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG;AAE3D,IAAA,MAAM,QAAQ,GAAwB,CAAC,CAAC,KAAI;AAC1C,QAAA,MAAM,MAAM,GAA+B,GAAG,CAAC,QAAQ,CAAC,aAAS;AAC/D,YAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE5B,gBAAA,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACrB,MAAM;AACJ,wBAAA,IAAI,EAAE,EAAE;AACR,wBAAA,WAAW,EAAE,CAAC;AACd,wBAAA,YAAY,EAAE,cAAc;AAC5B,wBAAA,QAAQ,EAAE,cAAc;AACxB,wBAAA,OAAO,EAAE;AACP,4BAAA,IAAI,EAAE,cAAc;AACpB,4BAAA,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;AACxC,yBAAA;qBACwB;AAE3B,oBAAA,OAAO,GAAG,CAAC,KAAK;;;AAGtB,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AAC1B,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;;;AAI3B,QAAA,OAAO,MAAM,CAAC,EAAE,CAAC,CAAM,CAAC;AAC1B,IAAA,CAAC;AAED,IAAA,MAAM,EAAE,GAAG,UAAU,CAAI,QAAQ,CAAC;IAElC,MAAM,IAAI,GAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEtE,OAAO;AACL,QAAA,QAAQ,EAAE,cAAc;QACxB,YAAY,EAAE,WAAW,CAAC,YAAY;QACtC,IAAI;QACJ,QAAQ;QACR,EAAE;AACF,QAAA,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,QAAA,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;KAC7B;AACH;;;;"}
1
+ {"version":3,"file":"intersection.mjs","sources":["../../src/compose/intersection.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAiBO,MAAM,YAAY,GAAG,CAC1B,KAAY,EACZ,WAAoC,EACpC,OAIC,KAC0B;AAG3B,IAAA,MAAM,cAAc,GAClB,OAAO,EAAE,QAAQ;AACjB,QAAA,CAAA,CAAA,EAAI,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG;AAE3D,IAAA,MAAM,QAAQ,GAAwB,CAAC,CAAC,KAAI;AAC1C,QAAA,MAAM,MAAM,GAA+B,GAAG,CAAC,QAAQ,CAAC,aAAS;AAC/D,YAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE5B,gBAAA,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACrB,MAAM;AACJ,wBAAA,IAAI,EAAE,EAAE;AACR,wBAAA,WAAW,EAAE,CAAC;AACd,wBAAA,YAAY,EAAE,cAAc;AAC5B,wBAAA,QAAQ,EAAE,cAAc;AACxB,wBAAA,OAAO,EAAE;AACP,4BAAA,IAAI,EAAE,cAAc;AACpB,4BAAA,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;AACxC,yBAAA;qBACwB;AAE3B,oBAAA,OAAO,GAAG,CAAC,KAAK;;;AAGtB,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AAC1B,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;;;AAI3B,QAAA,OAAO,MAAM,CAAC,EAAE,CAAC,CAAM,CAAC;AAC1B,IAAA,CAAC;AAED,IAAA,MAAM,EAAE,GAAG,UAAU,CAAI,QAAQ,CAAC;IAElC,MAAM,IAAI,GAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEtE,IAAA,MAAM,QAAQ,GAAY;AACxB,QAAA,QAAQ,EAAE,cAAc;QACxB,YAAY,EAAE,WAAW,CAAC,YAAY;QACtC,IAAI;QACJ,QAAQ;QACR,EAAE;AACF,QAAA,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,QAAA,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;KACpB;;AAGV,IAAA,IAAI,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE;;QAEnC,MAAM,WAAW,GAAG,KAEnB;AAED,QAAA,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CACpB,WAAW,EACX,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CACmB;QAEnC,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAiB;AAExD,QAAA,MAAM,cAAc,GAAyB,WAAW,CAAC,IAAI,CAC3D,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,KAAK,QAAQ;AAEpC,cAAE;cACA,OAAO;;QAGX,OAAO;AACL,YAAA,GAAG,QAAQ;AACX,YAAA,KAAK,EAAE,WAAW;YAClB,cAAc;SACY;;AAG9B,IAAA,OAAO,QAAmC;AAC5C;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"union.d.mts","sourceRoot":"","sources":["../../src/compose/union.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AASrD,eAAO,MAAM,KAAK,GAAI,KAAK,CAAC,KAAK,SAAS,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EACpE,OAAO,KAAK,EACZ,UAAU,OAAO,CACf,QAAQ,CAAC;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;CAC/B,CAAC,CACH,KACA,SAAS,CAAC,KAAK,CA4CjB,CAAC;AAEF,KAAK,SAAS,CAAC,KAAK,SAAS,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAC/D,cAAc,CAAC,KAAK,CAAC,CACtB,CAAC;AAEF,KAAK,cAAc,CAAC,KAAK,SAAS,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAC5D,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAE/C,kBAAU,kBAAkB,CAAC;IAC3B,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IACvE,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnC,KAAK,WAAW,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;;CAC7E"}
1
+ {"version":3,"file":"union.d.mts","sourceRoot":"","sources":["../../src/compose/union.mts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,IAAI,EACT,KAAK,MAAM,EAEZ,MAAM,aAAa,CAAC;AASrB,eAAO,MAAM,KAAK,GAAI,KAAK,CAAC,KAAK,SAAS,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EACpE,OAAO,KAAK,EACZ,UAAU,OAAO,CACf,QAAQ,CAAC;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;CAC/B,CAAC,CACH,KACA,SAAS,CAAC,KAAK,CA4EjB,CAAC;AAEF,KAAK,SAAS,CAAC,KAAK,SAAS,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAC/D,cAAc,CAAC,KAAK,CAAC,CACtB,CAAC;AAEF,KAAK,cAAc,CAAC,KAAK,SAAS,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAC5D,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAE/C,kBAAU,kBAAkB,CAAC;IAC3B,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IACvE,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnC,KAAK,WAAW,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;;CAC7E"}
@@ -1,4 +1,5 @@
1
- import { memoizeFunction, Result } from 'ts-data-forge';
1
+ import { memoizeFunction, Arr, Obj, Result } from 'ts-data-forge';
2
+ import { hasRecordInternals } from '../type.mjs';
2
3
  import { createAssertFn } from '../utils/create-assert-fn.mjs';
3
4
  import { createCastFn } from '../utils/create-cast-fn.mjs';
4
5
  import { createIsFn } from '../utils/create-is-fn.mjs';
@@ -26,7 +27,7 @@ const union = (types, options) => {
26
27
  ]);
27
28
  const is = createIsFn(validate);
28
29
  const fill = (a) => (is(a) ? a : getDefaultType().fill(a));
29
- return {
30
+ const baseType = {
30
31
  typeName: typeNameFilled,
31
32
  get defaultValue() {
32
33
  return getDefaultType().defaultValue;
@@ -37,6 +38,24 @@ const union = (types, options) => {
37
38
  assertIs: createAssertFn(validate),
38
39
  cast: createCastFn(validate),
39
40
  };
41
+ // If all types are records, add RecordTypeInternals
42
+ if (types.every(hasRecordInternals)) {
43
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
44
+ const recordTypes = types;
45
+ const shapes = Arr.map(recordTypes, (t) => t.shape);
46
+ // For union, merge all shapes to get all possible keys
47
+ const mergedShape = Obj.merge(...shapes);
48
+ const excessProperty = recordTypes.some((t) => t.excessProperty === 'reject')
49
+ ? 'reject'
50
+ : 'allow';
51
+ // eslint-disable-next-line total-functions/no-unsafe-type-assertion
52
+ return {
53
+ ...baseType,
54
+ shape: mergedShape,
55
+ excessProperty,
56
+ };
57
+ }
58
+ return baseType;
40
59
  };
41
60
 
42
61
  export { union };
@@ -1 +1 @@
1
- {"version":3,"file":"union.mjs","sources":["../../src/compose/union.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;MAUa,KAAK,GAAG,CACnB,KAAY,EACZ,OAKC,KACmB;AAGpB,IAAA,MAAM,cAAc,GAAG,eAAe,CACpC;;IAEE,OAAO,EAAE,WAAW,IAAK,KAAK,CAAC,CAAC,CAAsB,CACzD;IAED,MAAM,cAAc,GAClB,OAAO,EAAE,QAAQ,IAAI,CAAA,CAAA,EAAI,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA,CAAA,CAAG;IAEzE,MAAM,QAAQ,GAAwB,CAAC,CAAC,KACtC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvB;AACE,YAAA,MAAM,CAAC,EAAE,CAAC,CAAM;AAClB,UAAE,MAAM,CAAC,GAAG,CAAC;AACT,YAAA;AACE,gBAAA,IAAI,EAAE,EAAE;AACR,gBAAA,WAAW,EAAE,CAAC;AACd,gBAAA,YAAY,EAAE,cAAc;AAC5B,gBAAA,QAAQ,EAAE,cAAc;AACxB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,OAAO;AACb,oBAAA,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;AACxC,iBAAA;AACwB,aAAA;AAC5B,SAAA,CAAC;AAER,IAAA,MAAM,EAAE,GAAG,UAAU,CAAI,QAAQ,CAAC;IAElC,MAAM,IAAI,GAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3E,OAAO;AACL,QAAA,QAAQ,EAAE,cAAc;AACxB,QAAA,IAAI,YAAY,GAAA;AACd,YAAA,OAAO,cAAc,EAAE,CAAC,YAAY;SACrC;QACD,IAAI;QACJ,QAAQ;QACR,EAAE;AACF,QAAA,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,QAAA,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;KAC7B;AACH;;;;"}
1
+ {"version":3,"file":"union.mjs","sources":["../../src/compose/union.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;MAiBa,KAAK,GAAG,CACnB,KAAY,EACZ,OAKC,KACmB;AAGpB,IAAA,MAAM,cAAc,GAAG,eAAe,CACpC;;IAEE,OAAO,EAAE,WAAW,IAAK,KAAK,CAAC,CAAC,CAAsB,CACzD;IAED,MAAM,cAAc,GAClB,OAAO,EAAE,QAAQ,IAAI,CAAA,CAAA,EAAI,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA,CAAA,CAAG;IAEzE,MAAM,QAAQ,GAAwB,CAAC,CAAC,KACtC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvB;AACE,YAAA,MAAM,CAAC,EAAE,CAAC,CAAM;AAClB,UAAE,MAAM,CAAC,GAAG,CAAC;AACT,YAAA;AACE,gBAAA,IAAI,EAAE,EAAE;AACR,gBAAA,WAAW,EAAE,CAAC;AACd,gBAAA,YAAY,EAAE,cAAc;AAC5B,gBAAA,QAAQ,EAAE,cAAc;AACxB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,OAAO;AACb,oBAAA,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;AACxC,iBAAA;AACwB,aAAA;AAC5B,SAAA,CAAC;AAER,IAAA,MAAM,EAAE,GAAG,UAAU,CAAI,QAAQ,CAAC;IAElC,MAAM,IAAI,GAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAE3E,IAAA,MAAM,QAAQ,GAAY;AACxB,QAAA,QAAQ,EAAE,cAAc;AACxB,QAAA,IAAI,YAAY,GAAA;AACd,YAAA,OAAO,cAAc,EAAE,CAAC,YAAY;SACrC;QACD,IAAI;QACJ,QAAQ;QACR,EAAE;AACF,QAAA,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,QAAA,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;KACpB;;AAGV,IAAA,IAAI,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE;;QAEnC,MAAM,WAAW,GAAG,KAEnB;AAED,QAAA,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CACpB,WAAW,EACX,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CACmB;;QAInC,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAiB;AAExD,QAAA,MAAM,cAAc,GAAyB,WAAW,CAAC,IAAI,CAC3D,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,KAAK,QAAQ;AAEpC,cAAE;cACA,OAAO;;QAGX,OAAO;AACL,YAAA,GAAG,QAAQ;AACX,YAAA,KAAK,EAAE,WAAW;YAClB,cAAc;SACK;;AAGvB,IAAA,OAAO,QAA4B;AACrC;;;;"}
@@ -1,3 +1,12 @@
1
1
  export { FiniteNumber, Int, Int16, Int32, Int8, NonNegativeFiniteNumber, NonNegativeInt16, NonNegativeInt32, NonZeroFiniteNumber, NonZeroInt, NonZeroInt16, NonZeroInt32, NonZeroSafeInt, NonZeroUint16, NonZeroUint32, PositiveFiniteNumber, PositiveInt, PositiveInt16, PositiveInt32, PositiveSafeInt, PositiveUint16, PositiveUint32, Result, SafeInt, SafeUint, Uint, Uint16, Uint32, Uint8, asFiniteNumber, asInt, asInt16, asInt32, asInt8, asNonNegativeFiniteNumber, asNonNegativeInt16, asNonNegativeInt32, asNonZeroFiniteNumber, asNonZeroInt, asNonZeroInt16, asNonZeroInt32, asNonZeroSafeInt, asNonZeroUint16, asNonZeroUint32, asPositiveFiniteNumber, asPositiveInt, asPositiveInt16, asPositiveInt32, asPositiveSafeInt, asPositiveUint16, asPositiveUint32, asSafeInt, asSafeUint, asUint, asUint16, asUint32, asUint8, isBigint, isFiniteNumber, isInt, isInt16, isInt32, isInt8, isNonNegativeFiniteNumber, isNonNegativeInt16, isNonNegativeInt32, isNonZeroFiniteNumber, isNonZeroInt, isNonZeroInt16, isNonZeroInt32, isNonZeroSafeInt, isNonZeroUint16, isNonZeroUint32, isPositiveFiniteNumber, isPositiveInt, isPositiveInt16, isPositiveInt32, isPositiveSafeInt, isPositiveUint16, isPositiveUint32, isSafeInt, isSafeUint, isUint, isUint16, isUint32, isUint8, } from 'ts-data-forge';
2
- export * from './index.mjs';
2
+ export { type ExcessPropertyOption, type Type, type TypeOf } from './type.mjs';
3
+ export * from './array/index.mjs';
4
+ export * from './brand/index.mjs';
5
+ export * from './compose/index.mjs';
6
+ export * from './enum/index.mjs';
7
+ export * from './other-types/index.mjs';
8
+ export * from './predefined/index.mjs';
9
+ export * from './primitives/index.mjs';
10
+ export * from './record/index.mjs';
11
+ export * from './utils/index.mjs';
3
12
  //# sourceMappingURL=entry-point.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entry-point.d.mts","sourceRoot":"","sources":["../src/entry-point.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,GAAG,EACH,KAAK,EACL,KAAK,EACL,IAAI,EACJ,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,cAAc,EACd,MAAM,EACN,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,MAAM,EACN,KAAK,EACL,cAAc,EACd,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,cAAc,EACd,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,OAAO,GACR,MAAM,eAAe,CAAC;AAEvB,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"entry-point.d.mts","sourceRoot":"","sources":["../src/entry-point.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,GAAG,EACH,KAAK,EACL,KAAK,EACL,IAAI,EACJ,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,cAAc,EACd,MAAM,EACN,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,MAAM,EACN,KAAK,EACL,cAAc,EACd,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,cAAc,EACd,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,OAAO,GACR,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAG/E,cAAc,mBAAmB,CAAC;AAElC,cAAc,mBAAmB,CAAC;AAElC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,yBAAyB,CAAC;AAExC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,mBAAmB,CAAC"}
package/dist/index.mjs CHANGED
@@ -59,7 +59,7 @@ export { pick } from './record/pick.mjs';
59
59
  export { record, strictRecord } from './record/record.mjs';
60
60
  export { required } from './record/required.mjs';
61
61
  export { valueof } from './record/valueof.mjs';
62
- import 'ts-data-forge';
62
+ export { hasRecordInternals } from './type.mjs';
63
63
  export { createAssertFn } from './utils/create-assert-fn.mjs';
64
64
  export { createCastFn } from './utils/create-cast-fn.mjs';
65
65
  export { createIsFn } from './utils/create-is-fn.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"map.d.mts","sourceRoot":"","sources":["../../src/other-types/map.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAarD,KAAK,aAAa,CAChB,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,EACvB,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,IACrB,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtC,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,EACtE,SAAS,CAAC,EACV,WAAW,CAAC,EACZ,UAAU,OAAO,CACf,QAAQ,CAAC;IACP,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CACH,KACA,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CA0F1B,CAAC"}
1
+ {"version":3,"file":"map.d.mts","sourceRoot":"","sources":["../../src/other-types/map.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAUrD,KAAK,aAAa,CAChB,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,EACvB,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,IACrB,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtC,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,EACtE,SAAS,CAAC,EACV,WAAW,CAAC,EACZ,UAAU,OAAO,CACf,QAAQ,CAAC;IACP,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CACH,KACA,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CA0F1B,CAAC"}
@@ -1,10 +1,10 @@
1
+ import { isMap } from '@sindresorhus/is';
1
2
  import { memoizeFunction, Result, Arr, unknownToString } from 'ts-data-forge';
2
3
  import { createAssertFn } from '../utils/create-assert-fn.mjs';
3
4
  import { createCastFn } from '../utils/create-cast-fn.mjs';
4
5
  import { createIsFn } from '../utils/create-is-fn.mjs';
5
6
  import { createPrimitiveValidationError, prependPathToValidationErrors } from '../utils/validation-error.mjs';
6
7
 
7
- const isMap = (value) => Object.prototype.toString.call(value) === '[object Map]';
8
8
  const MapType = (keyType, valueType, options) => {
9
9
  const typeName = options?.typeName ?? 'Map';
10
10
  const getDefaultValue = memoizeFunction(() => new Map());
@@ -1 +1 @@
1
- {"version":3,"file":"map.mjs","sources":["../../src/other-types/map.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"map.mjs","sources":["../../src/other-types/map.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"recursion.d.mts","sourceRoot":"","sources":["../../src/other-types/recursion.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAGxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+IG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EACzB,UAAU,MAAM,EAChB,YAAY,MAAM,IAAI,CAAC,CAAC,CAAC,EACzB,UAAU,OAAO,CACf,QAAQ,CAAC;IACP,YAAY,EAAE,CAAC,CAAC;CACjB,CAAC,CACH,KACA,IAAI,CAAC,CAAC,CAwBR,CAAC"}
1
+ {"version":3,"file":"recursion.d.mts","sourceRoot":"","sources":["../../src/other-types/recursion.mts"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAG5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+IG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EACzB,UAAU,MAAM,EAChB,YAAY,MAAM,IAAI,CAAC,CAAC,CAAC,EACzB,UAAU,OAAO,CACf,QAAQ,CAAC;IACP,YAAY,EAAE,CAAC,CAAC;CACjB,CAAC,CACH,KACA,IAAI,CAAC,CAAC,CAgFR,CAAC"}
@@ -1,4 +1,5 @@
1
- import { memoizeFunction } from 'ts-data-forge';
1
+ import { memoizeFunction, isRecord, hasKey } from 'ts-data-forge';
2
+ import { hasRecordInternals } from '../type.mjs';
2
3
  import { createAssertFn } from '../utils/create-assert-fn.mjs';
3
4
  import { createCastFn } from '../utils/create-cast-fn.mjs';
4
5
  import { createIsFn } from '../utils/create-is-fn.mjs';
@@ -153,7 +154,7 @@ const recursion = (typeName, definition, options) => {
153
154
  const validate = (a) => getInnerType().validate(a);
154
155
  const is = createIsFn(validate);
155
156
  const fill = (a) => getInnerType().fill(a);
156
- return {
157
+ const baseType = {
157
158
  typeName,
158
159
  get defaultValue() {
159
160
  return getDefaultValue();
@@ -164,6 +165,50 @@ const recursion = (typeName, definition, options) => {
164
165
  assertIs: createAssertFn(validate),
165
166
  cast: createCastFn(validate),
166
167
  };
168
+ // Proxy to propagate RecordTypeInternals if the inner type has them
169
+ return new Proxy(baseType, {
170
+ get: (target, prop) => {
171
+ if (prop === 'shape' || prop === 'excessProperty') {
172
+ const inner = getInnerType();
173
+ if (hasRecordInternals(inner)) {
174
+ return inner[prop];
175
+ }
176
+ }
177
+ if (typeof prop === 'string' &&
178
+ isRecord(target) &&
179
+ hasKey(target, prop)) {
180
+ return target[prop];
181
+ }
182
+ return undefined;
183
+ },
184
+ has: (target, prop) => {
185
+ if (prop === 'shape' || prop === 'excessProperty') {
186
+ const inner = getInnerType();
187
+ return hasRecordInternals(inner);
188
+ }
189
+ return isRecord(target) && hasKey(target, prop);
190
+ },
191
+ ownKeys: (target) => {
192
+ const inner = getInnerType();
193
+ if (hasRecordInternals(inner)) {
194
+ return [...Object.keys(target), 'shape', 'excessProperty'];
195
+ }
196
+ return Object.keys(target);
197
+ },
198
+ getOwnPropertyDescriptor: (target, prop) => {
199
+ if (prop === 'shape' || prop === 'excessProperty') {
200
+ const inner = getInnerType();
201
+ if (hasRecordInternals(inner)) {
202
+ return {
203
+ enumerable: true,
204
+ configurable: true,
205
+ value: inner[prop],
206
+ };
207
+ }
208
+ }
209
+ return Object.getOwnPropertyDescriptor(target, prop);
210
+ },
211
+ });
167
212
  };
168
213
 
169
214
  export { recursion };
@@ -1 +1 @@
1
- {"version":3,"file":"recursion.mjs","sources":["../../src/other-types/recursion.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+IG;AACI,MAAM,SAAS,GAAG,CACvB,QAAgB,EAChB,UAAyB,EACzB,OAIC,KACU;AACX,IAAA,MAAM,eAAe,GAAG,eAAe,CACrC,MAAS,OAAO,EAAE,YAAY,IAAI,YAAY,EAAE,CAAC,YAAY,CAC9D;AAED,IAAA,MAAM,YAAY,GAAkB,eAAe,CAAC,UAAU,CAAC;AAE/D,IAAA,MAAM,QAAQ,GAAwB,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEvE,IAAA,MAAM,EAAE,GAAG,UAAU,CAAI,QAAQ,CAAC;AAElC,IAAA,MAAM,IAAI,GAAoB,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3D,OAAO;QACL,QAAQ;AACR,QAAA,IAAI,YAAY,GAAA;YACd,OAAO,eAAe,EAAE;QAC1B,CAAC;QACD,IAAI;QACJ,QAAQ;QACR,EAAE;AACF,QAAA,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,QAAA,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;KAC7B;AACH;;;;"}
1
+ {"version":3,"file":"recursion.mjs","sources":["../../src/other-types/recursion.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+IG;AACI,MAAM,SAAS,GAAG,CACvB,QAAgB,EAChB,UAAyB,EACzB,OAIC,KACU;AACX,IAAA,MAAM,eAAe,GAAG,eAAe,CACrC,MAAS,OAAO,EAAE,YAAY,IAAI,YAAY,EAAE,CAAC,YAAY,CAC9D;AAED,IAAA,MAAM,YAAY,GAAkB,eAAe,CAAC,UAAU,CAAC;AAE/D,IAAA,MAAM,QAAQ,GAAwB,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEvE,IAAA,MAAM,EAAE,GAAG,UAAU,CAAI,QAAQ,CAAC;AAElC,IAAA,MAAM,IAAI,GAAoB,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAE3D,IAAA,MAAM,QAAQ,GAAY;QACxB,QAAQ;AACR,QAAA,IAAI,YAAY,GAAA;YACd,OAAO,eAAe,EAAE;QAC1B,CAAC;QACD,IAAI;QACJ,QAAQ;QACR,EAAE;AACF,QAAA,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,QAAA,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;KACpB;;AAGV,IAAA,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;AACzB,QAAA,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,KAAI;YACpB,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,gBAAgB,EAAE;AACjD,gBAAA,MAAM,KAAK,GAAG,YAAY,EAAE;AAE5B,gBAAA,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE;AAC7B,oBAAA,OAAO,KAAK,CAAC,IAAI,CAAC;gBACpB;YACF;YAEA,IACE,OAAO,IAAI,KAAK,QAAQ;gBACxB,QAAQ,CAAC,MAAM,CAAC;AAChB,gBAAA,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EACpB;AACA,gBAAA,OAAO,MAAM,CAAC,IAA2B,CAAC;YAC5C;AAEA,YAAA,OAAO,SAAS;QAClB,CAAC;AACD,QAAA,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,KAAI;YACpB,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,gBAAgB,EAAE;AACjD,gBAAA,MAAM,KAAK,GAAG,YAAY,EAAE;AAE5B,gBAAA,OAAO,kBAAkB,CAAC,KAAK,CAAC;YAClC;YAEA,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;QACjD,CAAC;AACD,QAAA,OAAO,EAAE,CAAC,MAAM,KAAI;AAClB,YAAA,MAAM,KAAK,GAAG,YAAY,EAAE;AAE5B,YAAA,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE;AAC7B,gBAAA,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC;YAC5D;AAEA,YAAA,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;AACD,QAAA,wBAAwB,EAAE,CAAC,MAAM,EAAE,IAAI,KAAI;YACzC,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,gBAAgB,EAAE;AACjD,gBAAA,MAAM,KAAK,GAAG,YAAY,EAAE;AAE5B,gBAAA,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE;oBAC7B,OAAO;AACL,wBAAA,UAAU,EAAE,IAAI;AAChB,wBAAA,YAAY,EAAE,IAAI;AAClB,wBAAA,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;qBACnB;gBACH;YACF;YAEA,OAAO,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC;QACtD,CAAC;AACF,KAAA,CAAC;AACJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"set.d.mts","sourceRoot":"","sources":["../../src/other-types/set.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAYrD,KAAK,aAAa,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAErE,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,EAC7C,aAAa,CAAC,EACd,UAAU,OAAO,CACf,QAAQ,CAAC;IACP,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CACH,KACA,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CA+DvB,CAAC"}
1
+ {"version":3,"file":"set.d.mts","sourceRoot":"","sources":["../../src/other-types/set.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AASrD,KAAK,aAAa,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAErE,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,EAC7C,aAAa,CAAC,EACd,UAAU,OAAO,CACf,QAAQ,CAAC;IACP,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CACH,KACA,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CA+DvB,CAAC"}
@@ -1,10 +1,10 @@
1
+ import { isSet } from '@sindresorhus/is';
1
2
  import { memoizeFunction, Result, Arr } from 'ts-data-forge';
2
3
  import { createAssertFn } from '../utils/create-assert-fn.mjs';
3
4
  import { createCastFn } from '../utils/create-cast-fn.mjs';
4
5
  import { createIsFn } from '../utils/create-is-fn.mjs';
5
6
  import { createPrimitiveValidationError } from '../utils/validation-error.mjs';
6
7
 
7
- const isSet = (value) => Object.prototype.toString.call(value) === '[object Set]';
8
8
  const SetType = (elementType, options) => {
9
9
  const typeName = options?.typeName ?? 'Set';
10
10
  const getDefaultValue = memoizeFunction(() => new Set());
@@ -1 +1 @@
1
- {"version":3,"file":"set.mjs","sources":["../../src/other-types/set.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAUA,MAAM,KAAK,GAAG,CAAC,KAAc,KAC3B,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,cAAc;MAI7C,OAAO,GAAG,CACrB,WAAc,EACd,OAIC,KACyB;AAG1B,IAAA,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,KAAK;IAE3C,MAAM,eAAe,GAAG,eAAe,CAAC,MAAS,IAAI,GAAG,EAAE,CAAC;AAE3D,IAAA,MAAM,QAAQ,GAAwB,CAAC,CAAC,KAAI;AAC1C,QAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACb,OAAO,MAAM,CAAC,GAAG,CAAC;AAChB,gBAAA,8BAA8B,CAAC;AAC7B,oBAAA,WAAW,EAAE,CAAC;AACd,oBAAA,YAAY,EAAE,KAAK;oBACnB,QAAQ;AACR,oBAAA,OAAO,EAAE,SAAS;iBACnB,CAAC;AACH,aAAA,CAAC;QACJ;AAEA,QAAA,MAAM,MAAM,GAA+B,GAAG,CAAC,QAAQ,CAAC,aAAS;YAC/D,KAAK,MAAM,OAAO,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBAChC,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;AAEzC,gBAAA,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACrB,MAAM;AACJ,wBAAA,IAAI,EAAE,EAAE;AACR,wBAAA,WAAW,EAAE,OAAO;AACpB,wBAAA,YAAY,EAAE,QAAQ;wBACtB,QAAQ;AACR,wBAAA,OAAO,EAAE;AACP,4BAAA,IAAI,EAAE,aAAa;4BACnB,YAAY,EAAE,WAAW,CAAC,QAAQ;AACnC,yBAAA;qBACwB;AAE3B,oBAAA,OAAO,GAAG,CAAC,KAAK;gBAClB;YACF;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AAC1B,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QAC3B;AAEA,QAAA,OAAO,MAAM,CAAC,EAAE,CAAC,CAAM,CAAC;AAC1B,IAAA,CAAC;IAED,MAAM,IAAI,GAAoB,CAAC,CAAC,KAC9B,CAAC,KAAK,CAAC,CAAC;UACJ,eAAe;AACjB,UAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAO;IAE7E,OAAO;QACL,QAAQ;AACR,QAAA,IAAI,YAAY,GAAA;YACd,OAAO,eAAe,EAAE;QAC1B,CAAC;QACD,IAAI;QACJ,QAAQ;AACR,QAAA,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC;AACxB,QAAA,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,QAAA,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;KAC7B;AACH;;;;"}
1
+ {"version":3,"file":"set.mjs","sources":["../../src/other-types/set.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;MAaa,OAAO,GAAG,CACrB,WAAc,EACd,OAIC,KACyB;AAG1B,IAAA,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,KAAK;IAE3C,MAAM,eAAe,GAAG,eAAe,CAAC,MAAS,IAAI,GAAG,EAAE,CAAC;AAE3D,IAAA,MAAM,QAAQ,GAAwB,CAAC,CAAC,KAAI;AAC1C,QAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACb,OAAO,MAAM,CAAC,GAAG,CAAC;AAChB,gBAAA,8BAA8B,CAAC;AAC7B,oBAAA,WAAW,EAAE,CAAC;AACd,oBAAA,YAAY,EAAE,KAAK;oBACnB,QAAQ;AACR,oBAAA,OAAO,EAAE,SAAS;iBACnB,CAAC;AACH,aAAA,CAAC;QACJ;AAEA,QAAA,MAAM,MAAM,GAA+B,GAAG,CAAC,QAAQ,CAAC,aAAS;YAC/D,KAAK,MAAM,OAAO,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBAChC,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;AAEzC,gBAAA,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACrB,MAAM;AACJ,wBAAA,IAAI,EAAE,EAAE;AACR,wBAAA,WAAW,EAAE,OAAO;AACpB,wBAAA,YAAY,EAAE,QAAQ;wBACtB,QAAQ;AACR,wBAAA,OAAO,EAAE;AACP,4BAAA,IAAI,EAAE,aAAa;4BACnB,YAAY,EAAE,WAAW,CAAC,QAAQ;AACnC,yBAAA;qBACwB;AAE3B,oBAAA,OAAO,GAAG,CAAC,KAAK;gBAClB;YACF;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AAC1B,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QAC3B;AAEA,QAAA,OAAO,MAAM,CAAC,EAAE,CAAC,CAAM,CAAC;AAC1B,IAAA,CAAC;IAED,MAAM,IAAI,GAAoB,CAAC,CAAC,KAC9B,CAAC,KAAK,CAAC,CAAC;UACJ,eAAe;AACjB,UAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAO;IAE7E,OAAO;QACL,QAAQ;AACR,QAAA,IAAI,YAAY,GAAA;YACd,OAAO,eAAe,EAAE;QAC1B,CAAC;QACD,IAAI;QACJ,QAAQ;AACR,QAAA,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC;AACxB,QAAA,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,QAAA,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;KAC7B;AACH;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { FiniteNumber } from 'ts-data-forge';
2
2
  import { brand } from '../../../brand/brand.mjs';
3
+ import '@sindresorhus/is';
3
4
  import '../../../other-types/unknown.mjs';
4
5
  import { number } from '../../../primitives/number.mjs';
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"finite-number.mjs","sources":["../../../../src/predefined/brand/number/finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAKO,MAAM,YAAY,GAAG,CAAC,YAAA,GAAuB,CAAC,KACnD,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;;;;"}
1
+ {"version":3,"file":"finite-number.mjs","sources":["../../../../src/predefined/brand/number/finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAKO,MAAM,YAAY,GAAG,CAAC,YAAA,GAAuB,CAAC,KACnD,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;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { Int } from 'ts-data-forge';
2
2
  import { brand } from '../../../brand/brand.mjs';
3
+ import '@sindresorhus/is';
3
4
  import '../../../other-types/unknown.mjs';
4
5
  import { number } from '../../../primitives/number.mjs';
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"int.mjs","sources":["../../../../src/predefined/brand/number/int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAKO,MAAM,GAAG,GAAG,CAAC,YAAA,GAAuB,CAAC,KAC1C,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;;;;"}
1
+ {"version":3,"file":"int.mjs","sources":["../../../../src/predefined/brand/number/int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAKO,MAAM,GAAG,GAAG,CAAC,YAAA,GAAuB,CAAC,KAC1C,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;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { isInt16 } from 'ts-data-forge';
2
2
  import { brand } from '../../../brand/brand.mjs';
3
+ import '@sindresorhus/is';
3
4
  import '../../../other-types/unknown.mjs';
4
5
  import { number } from '../../../primitives/number.mjs';
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"int16.mjs","sources":["../../../../src/predefined/brand/number/int16.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAKO,MAAM,KAAK,GAAG,CAAC,YAAA,GAAuB,CAAC,KAC5C,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;;;;"}
1
+ {"version":3,"file":"int16.mjs","sources":["../../../../src/predefined/brand/number/int16.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAKO,MAAM,KAAK,GAAG,CAAC,YAAA,GAAuB,CAAC,KAC5C,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;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { isInt32 } from 'ts-data-forge';
2
2
  import { brand } from '../../../brand/brand.mjs';
3
+ import '@sindresorhus/is';
3
4
  import '../../../other-types/unknown.mjs';
4
5
  import { number } from '../../../primitives/number.mjs';
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"int32.mjs","sources":["../../../../src/predefined/brand/number/int32.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAKO,MAAM,KAAK,GAAG,CAAC,YAAA,GAAuB,CAAC,KAC5C,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;;;;"}
1
+ {"version":3,"file":"int32.mjs","sources":["../../../../src/predefined/brand/number/int32.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAKO,MAAM,KAAK,GAAG,CAAC,YAAA,GAAuB,CAAC,KAC5C,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;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { isNonNegativeFiniteNumber } from 'ts-data-forge';
2
2
  import { brand } from '../../../brand/brand.mjs';
3
+ import '@sindresorhus/is';
3
4
  import '../../../other-types/unknown.mjs';
4
5
  import { number } from '../../../primitives/number.mjs';
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"non-negative-finite-number.mjs","sources":["../../../../src/predefined/brand/number/non-negative-finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAKO,MAAM,uBAAuB,GAAG,CACrC,YAAA,GAAuB,CAAC,KAExB,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;;;;"}
1
+ {"version":3,"file":"non-negative-finite-number.mjs","sources":["../../../../src/predefined/brand/number/non-negative-finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAKO,MAAM,uBAAuB,GAAG,CACrC,YAAA,GAAuB,CAAC,KAExB,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;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { isNonZeroFiniteNumber } from 'ts-data-forge';
2
2
  import { brand } from '../../../brand/brand.mjs';
3
+ import '@sindresorhus/is';
3
4
  import '../../../other-types/unknown.mjs';
4
5
  import { number } from '../../../primitives/number.mjs';
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"non-zero-finite-number.mjs","sources":["../../../../src/predefined/brand/number/non-zero-finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAKO,MAAM,mBAAmB,GAAG,CACjC,YAAoB,KAEpB,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;;;;"}
1
+ {"version":3,"file":"non-zero-finite-number.mjs","sources":["../../../../src/predefined/brand/number/non-zero-finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAKO,MAAM,mBAAmB,GAAG,CACjC,YAAoB,KAEpB,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;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { isNonZeroInt } from 'ts-data-forge';
2
2
  import { brand } from '../../../brand/brand.mjs';
3
+ import '@sindresorhus/is';
3
4
  import '../../../other-types/unknown.mjs';
4
5
  import { number } from '../../../primitives/number.mjs';
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"non-zero-int.mjs","sources":["../../../../src/predefined/brand/number/non-zero-int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAKO,MAAM,UAAU,GAAG,CAAC,YAAoB,KAC7C,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;;;;"}
1
+ {"version":3,"file":"non-zero-int.mjs","sources":["../../../../src/predefined/brand/number/non-zero-int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAKO,MAAM,UAAU,GAAG,CAAC,YAAoB,KAC7C,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;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { isNonZeroSafeInt } from 'ts-data-forge';
2
2
  import { brand } from '../../../brand/brand.mjs';
3
+ import '@sindresorhus/is';
3
4
  import '../../../other-types/unknown.mjs';
4
5
  import { number } from '../../../primitives/number.mjs';
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"non-zero-safe-int.mjs","sources":["../../../../src/predefined/brand/number/non-zero-safe-int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAKO,MAAM,cAAc,GAAG,CAAC,YAAoB,KACjD,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;;;;"}
1
+ {"version":3,"file":"non-zero-safe-int.mjs","sources":["../../../../src/predefined/brand/number/non-zero-safe-int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAKO,MAAM,cAAc,GAAG,CAAC,YAAoB,KACjD,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;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { isPositiveFiniteNumber } from 'ts-data-forge';
2
2
  import { brand } from '../../../brand/brand.mjs';
3
+ import '@sindresorhus/is';
3
4
  import '../../../other-types/unknown.mjs';
4
5
  import { number } from '../../../primitives/number.mjs';
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"positive-finite-number.mjs","sources":["../../../../src/predefined/brand/number/positive-finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAKO,MAAM,oBAAoB,GAAG,CAClC,YAAoB,KAEpB,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;;;;"}
1
+ {"version":3,"file":"positive-finite-number.mjs","sources":["../../../../src/predefined/brand/number/positive-finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAKO,MAAM,oBAAoB,GAAG,CAClC,YAAoB,KAEpB,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;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { isPositiveInt } from 'ts-data-forge';
2
2
  import { brand } from '../../../brand/brand.mjs';
3
+ import '@sindresorhus/is';
3
4
  import '../../../other-types/unknown.mjs';
4
5
  import { number } from '../../../primitives/number.mjs';
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"positive-int.mjs","sources":["../../../../src/predefined/brand/number/positive-int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAKO,MAAM,WAAW,GAAG,CAAC,YAAA,GAAuB,CAAC,KAClD,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;;;;"}
1
+ {"version":3,"file":"positive-int.mjs","sources":["../../../../src/predefined/brand/number/positive-int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAKO,MAAM,WAAW,GAAG,CAAC,YAAA,GAAuB,CAAC,KAClD,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;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { isPositiveSafeInt } from 'ts-data-forge';
2
2
  import { brand } from '../../../brand/brand.mjs';
3
+ import '@sindresorhus/is';
3
4
  import '../../../other-types/unknown.mjs';
4
5
  import { number } from '../../../primitives/number.mjs';
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"positive-safe-int.mjs","sources":["../../../../src/predefined/brand/number/positive-safe-int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAKO,MAAM,eAAe,GAAG,CAC7B,YAAA,GAAuB,CAAC,KAExB,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;;;;"}
1
+ {"version":3,"file":"positive-safe-int.mjs","sources":["../../../../src/predefined/brand/number/positive-safe-int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAKO,MAAM,eAAe,GAAG,CAC7B,YAAA,GAAuB,CAAC,KAExB,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;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { SafeInt } from 'ts-data-forge';
2
2
  import { brand } from '../../../brand/brand.mjs';
3
+ import '@sindresorhus/is';
3
4
  import '../../../other-types/unknown.mjs';
4
5
  import { number } from '../../../primitives/number.mjs';
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"safe-int.mjs","sources":["../../../../src/predefined/brand/number/safe-int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAKO,MAAM,OAAO,GAAG,CAAC,YAAA,GAAuB,CAAC,KAC9C,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;;;;"}
1
+ {"version":3,"file":"safe-int.mjs","sources":["../../../../src/predefined/brand/number/safe-int.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAKO,MAAM,OAAO,GAAG,CAAC,YAAA,GAAuB,CAAC,KAC9C,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;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { isSafeUint } from 'ts-data-forge';
2
2
  import { brand } from '../../../brand/brand.mjs';
3
+ import '@sindresorhus/is';
3
4
  import '../../../other-types/unknown.mjs';
4
5
  import { number } from '../../../primitives/number.mjs';
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"safe-uint.mjs","sources":["../../../../src/predefined/brand/number/safe-uint.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAKO,MAAM,QAAQ,GAAG,CAAC,YAAA,GAAuB,CAAC,KAC/C,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;;;;"}
1
+ {"version":3,"file":"safe-uint.mjs","sources":["../../../../src/predefined/brand/number/safe-uint.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAKO,MAAM,QAAQ,GAAG,CAAC,YAAA,GAAuB,CAAC,KAC/C,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;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { isUint } from 'ts-data-forge';
2
2
  import { brand } from '../../../brand/brand.mjs';
3
+ import '@sindresorhus/is';
3
4
  import '../../../other-types/unknown.mjs';
4
5
  import { number } from '../../../primitives/number.mjs';
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"uint.mjs","sources":["../../../../src/predefined/brand/number/uint.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAKO,MAAM,IAAI,GAAG,CAAC,YAAA,GAAuB,CAAC,KAC3C,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;;;;"}
1
+ {"version":3,"file":"uint.mjs","sources":["../../../../src/predefined/brand/number/uint.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAKO,MAAM,IAAI,GAAG,CAAC,YAAA,GAAuB,CAAC,KAC3C,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;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { isUint16 } from 'ts-data-forge';
2
2
  import { brand } from '../../../brand/brand.mjs';
3
+ import '@sindresorhus/is';
3
4
  import '../../../other-types/unknown.mjs';
4
5
  import { number } from '../../../primitives/number.mjs';
5
6