ts-fortress 2.7.0 → 2.8.0
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.
- package/dist/branded/brand.d.mts +3 -2
- package/dist/branded/brand.d.mts.map +1 -1
- package/dist/branded/brand.mjs +8 -7
- package/dist/branded/brand.mjs.map +1 -1
- package/dist/branded/number/finite-number.d.mts.map +1 -1
- package/dist/branded/number/finite-number.mjs +1 -0
- package/dist/branded/number/finite-number.mjs.map +1 -1
- package/dist/branded/number/int.d.mts.map +1 -1
- package/dist/branded/number/int.mjs +1 -0
- package/dist/branded/number/int.mjs.map +1 -1
- package/dist/branded/number/int16.d.mts.map +1 -1
- package/dist/branded/number/int16.mjs +1 -0
- package/dist/branded/number/int16.mjs.map +1 -1
- package/dist/branded/number/int32.d.mts.map +1 -1
- package/dist/branded/number/int32.mjs +1 -0
- package/dist/branded/number/int32.mjs.map +1 -1
- package/dist/branded/number/non-negative-finite-number.d.mts.map +1 -1
- package/dist/branded/number/non-negative-finite-number.mjs +1 -0
- package/dist/branded/number/non-negative-finite-number.mjs.map +1 -1
- package/dist/branded/number/non-zero-finite-number.d.mts.map +1 -1
- package/dist/branded/number/non-zero-finite-number.mjs +1 -0
- package/dist/branded/number/non-zero-finite-number.mjs.map +1 -1
- package/dist/branded/number/non-zero-int.d.mts.map +1 -1
- package/dist/branded/number/non-zero-int.mjs +1 -0
- package/dist/branded/number/non-zero-int.mjs.map +1 -1
- package/dist/branded/number/non-zero-safe-int.d.mts.map +1 -1
- package/dist/branded/number/non-zero-safe-int.mjs +1 -0
- package/dist/branded/number/non-zero-safe-int.mjs.map +1 -1
- package/dist/branded/number/positive-finite-number.d.mts.map +1 -1
- package/dist/branded/number/positive-finite-number.mjs +1 -0
- package/dist/branded/number/positive-finite-number.mjs.map +1 -1
- package/dist/branded/number/positive-int.d.mts.map +1 -1
- package/dist/branded/number/positive-int.mjs +1 -0
- package/dist/branded/number/positive-int.mjs.map +1 -1
- package/dist/branded/number/positive-safe-int.d.mts.map +1 -1
- package/dist/branded/number/positive-safe-int.mjs +1 -0
- package/dist/branded/number/positive-safe-int.mjs.map +1 -1
- package/dist/branded/number/safe-int.d.mts.map +1 -1
- package/dist/branded/number/safe-int.mjs +1 -0
- package/dist/branded/number/safe-int.mjs.map +1 -1
- package/dist/branded/number/safe-uint.d.mts.map +1 -1
- package/dist/branded/number/safe-uint.mjs +1 -0
- package/dist/branded/number/safe-uint.mjs.map +1 -1
- package/dist/branded/number/uint.d.mts.map +1 -1
- package/dist/branded/number/uint.mjs +1 -0
- package/dist/branded/number/uint.mjs.map +1 -1
- package/dist/branded/number/uint16.d.mts.map +1 -1
- package/dist/branded/number/uint16.mjs +1 -0
- package/dist/branded/number/uint16.mjs.map +1 -1
- package/dist/branded/number/uint32.d.mts.map +1 -1
- package/dist/branded/number/uint32.mjs +1 -0
- package/dist/branded/number/uint32.mjs.map +1 -1
- package/package.json +1 -1
- package/src/branded/brand.mts +16 -20
- package/src/branded/number/finite-number.mts +1 -0
- package/src/branded/number/finite-number.test.mts +4 -5
- package/src/branded/number/int.mts +1 -0
- package/src/branded/number/int.test.mts +5 -6
- package/src/branded/number/int16.mts +1 -0
- package/src/branded/number/int16.test.mts +4 -6
- package/src/branded/number/int32.mts +1 -0
- package/src/branded/number/int32.test.mts +4 -6
- package/src/branded/number/non-negative-finite-number.mts +1 -0
- package/src/branded/number/non-negative-finite-number.test.mts +4 -6
- package/src/branded/number/non-zero-finite-number.mts +1 -0
- package/src/branded/number/non-zero-finite-number.test.mts +4 -5
- package/src/branded/number/non-zero-int.mts +1 -0
- package/src/branded/number/non-zero-int.test.mts +4 -5
- package/src/branded/number/non-zero-safe-int.mts +1 -0
- package/src/branded/number/non-zero-safe-int.test.mts +4 -5
- package/src/branded/number/positive-finite-number.mts +1 -0
- package/src/branded/number/positive-finite-number.test.mts +4 -6
- package/src/branded/number/positive-int.mts +1 -0
- package/src/branded/number/positive-int.test.mts +5 -7
- package/src/branded/number/positive-safe-int.mts +1 -0
- package/src/branded/number/positive-safe-int.test.mts +4 -6
- package/src/branded/number/safe-int.mts +1 -0
- package/src/branded/number/safe-int.test.mts +4 -5
- package/src/branded/number/safe-uint.mts +1 -0
- package/src/branded/number/safe-uint.test.mts +4 -6
- package/src/branded/number/uint.mts +1 -0
- package/src/branded/number/uint.test.mts +5 -7
- package/src/branded/number/uint16.mts +1 -0
- package/src/branded/number/uint16.test.mts +4 -6
- package/src/branded/number/uint32.mts +1 -0
- package/src/branded/number/uint32.test.mts +4 -6
- package/src/branded/simple-branded-number.test.mts +2 -2
- package/src/branded/simple-branded-string.test.mts +4 -4
package/dist/branded/brand.d.mts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
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, brandKeys, brandFalseKeys,
|
|
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
4
|
codec: Type<A>;
|
|
5
5
|
is: (a: A) => a is Brand<A, ArrayToUnion<BrandTrueKeys>, ArrayToUnion<BrandFalseKeys>>;
|
|
6
|
+
defaultValue: Brand<A, ArrayToUnion<BrandTrueKeys>, ArrayToUnion<BrandFalseKeys>>;
|
|
7
|
+
typeName?: string;
|
|
6
8
|
brandKeys: BrandTrueKeys;
|
|
7
9
|
brandFalseKeys?: BrandFalseKeys;
|
|
8
|
-
defaultValue: Brand<A, ArrayToUnion<BrandTrueKeys>, ArrayToUnion<BrandFalseKeys>>;
|
|
9
10
|
}>) => Type<Brand<A, ArrayToUnion<BrandTrueKeys>, ArrayToUnion<BrandFalseKeys>>>;
|
|
10
11
|
export {};
|
|
11
12
|
//# sourceMappingURL=brand.d.mts.map
|
|
@@ -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;
|
|
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"}
|
package/dist/branded/brand.mjs
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
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, brandKeys, brandFalseKeys,
|
|
4
|
+
const brand = ({ codec, is, defaultValue, typeName, brandKeys, brandFalseKeys, }) => {
|
|
5
5
|
const brandKeysStr = [
|
|
6
|
-
...brandKeys,
|
|
7
|
-
...(brandFalseKeys?.map((s) => `not(${s})`) ?? []),
|
|
6
|
+
...brandKeys.map((s) => `"${s}"`),
|
|
7
|
+
...(brandFalseKeys?.map((s) => `not("${s}")`) ?? []),
|
|
8
8
|
].join(' & ');
|
|
9
|
+
const typeNameFilled = typeName ?? brandKeysStr;
|
|
9
10
|
const validate = (a) => pipe(a)
|
|
10
11
|
.map(codec.validate)
|
|
11
12
|
.map((v) => Result.isErr(v)
|
|
@@ -16,17 +17,17 @@ const brand = ({ codec, is, brandKeys, brandFalseKeys, defaultValue, }) => {
|
|
|
16
17
|
{
|
|
17
18
|
path: [],
|
|
18
19
|
actualValue: v.value,
|
|
19
|
-
expectedType:
|
|
20
|
+
expectedType: typeNameFilled,
|
|
20
21
|
typeName: brandKeysStr,
|
|
21
|
-
message:
|
|
22
|
+
message: typeName === undefined
|
|
23
|
+
? `The value must satisfy the constraint corresponding to the brand keys: <${brandKeysStr}>`
|
|
24
|
+
: undefined,
|
|
22
25
|
},
|
|
23
26
|
])).value;
|
|
24
|
-
const fill = (a) => Result.unwrapOkOr(validate(a), defaultValue);
|
|
25
27
|
return createType({
|
|
26
28
|
typeName: brandKeysStr,
|
|
27
29
|
defaultValue,
|
|
28
30
|
validate,
|
|
29
|
-
fill,
|
|
30
31
|
});
|
|
31
32
|
};
|
|
32
33
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brand.mjs","sources":["../../src/branded/brand.mts"],"sourcesContent":[null],"names":[],"mappings":";;;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finite-number.d.mts","sourceRoot":"","sources":["../../../src/branded/number/finite-number.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,YAAY,GACvB,eAAc,YAAgC,KAC7C,IAAI,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"finite-number.d.mts","sourceRoot":"","sources":["../../../src/branded/number/finite-number.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,YAAY,GACvB,eAAc,YAAgC,KAC7C,IAAI,CAAC,YAAY,CAQhB,CAAC"}
|
|
@@ -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;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"int.d.mts","sourceRoot":"","sources":["../../../src/branded/number/int.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,GAAG,GAAI,eAAc,GAAc,KAAG,IAAI,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"int.d.mts","sourceRoot":"","sources":["../../../src/branded/number/int.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,GAAG,GAAI,eAAc,GAAc,KAAG,IAAI,CAAC,GAAG,CAQvD,CAAC"}
|
|
@@ -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;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"int16.d.mts","sourceRoot":"","sources":["../../../src/branded/number/int16.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,KAAK,GAAI,eAAc,KAAkB,KAAG,IAAI,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"int16.d.mts","sourceRoot":"","sources":["../../../src/branded/number/int16.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,KAAK,GAAI,eAAc,KAAkB,KAAG,IAAI,CAAC,KAAK,CAoB/D,CAAC"}
|
|
@@ -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;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"int32.d.mts","sourceRoot":"","sources":["../../../src/branded/number/int32.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,KAAK,GAAI,eAAc,KAAkB,KAAG,IAAI,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"int32.d.mts","sourceRoot":"","sources":["../../../src/branded/number/int32.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,KAAK,GAAI,eAAc,KAAkB,KAAG,IAAI,CAAC,KAAK,CAgB/D,CAAC"}
|
|
@@ -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;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-negative-finite-number.d.mts","sourceRoot":"","sources":["../../../src/branded/number/non-negative-finite-number.mts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,uBAAuB,GAClC,eAAc,uBAAsD,KACnE,IAAI,CAAC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"non-negative-finite-number.d.mts","sourceRoot":"","sources":["../../../src/branded/number/non-negative-finite-number.mts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,uBAAuB,GAClC,eAAc,uBAAsD,KACnE,IAAI,CAAC,uBAAuB,CAQ3B,CAAC"}
|
|
@@ -8,6 +8,7 @@ const nonNegativeFiniteNumber = (defaultValue = asNonNegativeFiniteNumber(0)) =>
|
|
|
8
8
|
defaultValue,
|
|
9
9
|
brandKeys: ['>=0', '> -2^16', '> -2^32', '>= -2^15', '>= -2^31', 'Finite'],
|
|
10
10
|
brandFalseKeys: ['NaNValue'],
|
|
11
|
+
typeName: 'NonNegativeFiniteNumber',
|
|
11
12
|
});
|
|
12
13
|
|
|
13
14
|
export { nonNegativeFiniteNumber };
|
|
@@ -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;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-zero-finite-number.d.mts","sourceRoot":"","sources":["../../../src/branded/number/non-zero-finite-number.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,mBAAmB,GAC9B,cAAc,mBAAmB,KAChC,IAAI,CAAC,mBAAmB,
|
|
1
|
+
{"version":3,"file":"non-zero-finite-number.d.mts","sourceRoot":"","sources":["../../../src/branded/number/non-zero-finite-number.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,mBAAmB,GAC9B,cAAc,mBAAmB,KAChC,IAAI,CAAC,mBAAmB,CAQvB,CAAC"}
|
|
@@ -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;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-zero-int.d.mts","sourceRoot":"","sources":["../../../src/branded/number/non-zero-int.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,UAAU,GACrB,eAAc,UAA4B,KACzC,IAAI,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"non-zero-int.d.mts","sourceRoot":"","sources":["../../../src/branded/number/non-zero-int.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,UAAU,GACrB,eAAc,UAA4B,KACzC,IAAI,CAAC,UAAU,CAQd,CAAC"}
|
|
@@ -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;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-zero-safe-int.d.mts","sourceRoot":"","sources":["../../../src/branded/number/non-zero-safe-int.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,cAAc,GACzB,cAAc,cAAc,KAC3B,IAAI,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"non-zero-safe-int.d.mts","sourceRoot":"","sources":["../../../src/branded/number/non-zero-safe-int.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,cAAc,GACzB,cAAc,cAAc,KAC3B,IAAI,CAAC,cAAc,CAQlB,CAAC"}
|
|
@@ -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;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positive-finite-number.d.mts","sourceRoot":"","sources":["../../../src/branded/number/positive-finite-number.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,oBAAoB,GAC/B,cAAc,oBAAoB,KACjC,IAAI,CAAC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"positive-finite-number.d.mts","sourceRoot":"","sources":["../../../src/branded/number/positive-finite-number.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,oBAAoB,GAC/B,cAAc,oBAAoB,KACjC,IAAI,CAAC,oBAAoB,CAgBxB,CAAC"}
|
|
@@ -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;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positive-int.d.mts","sourceRoot":"","sources":["../../../src/branded/number/positive-int.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,WAAW,GACtB,eAAc,WAA8B,KAC3C,IAAI,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"positive-int.d.mts","sourceRoot":"","sources":["../../../src/branded/number/positive-int.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,WAAW,GACtB,eAAc,WAA8B,KAC3C,IAAI,CAAC,WAAW,CAiBf,CAAC"}
|
|
@@ -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;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positive-safe-int.d.mts","sourceRoot":"","sources":["../../../src/branded/number/positive-safe-int.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,eAAe,GAC1B,eAAc,eAAsC,KACnD,IAAI,CAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"positive-safe-int.d.mts","sourceRoot":"","sources":["../../../src/branded/number/positive-safe-int.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,eAAe,GAC1B,eAAc,eAAsC,KACnD,IAAI,CAAC,eAAe,CAkBnB,CAAC"}
|
|
@@ -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;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-int.d.mts","sourceRoot":"","sources":["../../../src/branded/number/safe-int.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,OAAO,GAAI,eAAc,OAAsB,KAAG,IAAI,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"safe-int.d.mts","sourceRoot":"","sources":["../../../src/branded/number/safe-int.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,OAAO,GAAI,eAAc,OAAsB,KAAG,IAAI,CAAC,OAAO,CAQvE,CAAC"}
|
|
@@ -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;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-uint.d.mts","sourceRoot":"","sources":["../../../src/branded/number/safe-uint.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,QAAQ,GACnB,eAAc,QAAwB,KACrC,IAAI,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"safe-uint.d.mts","sourceRoot":"","sources":["../../../src/branded/number/safe-uint.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,QAAQ,GACnB,eAAc,QAAwB,KACrC,IAAI,CAAC,QAAQ,CAiBZ,CAAC"}
|
|
@@ -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;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uint.d.mts","sourceRoot":"","sources":["../../../src/branded/number/uint.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,IAAI,GAAI,eAAc,IAAgB,KAAG,IAAI,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"uint.d.mts","sourceRoot":"","sources":["../../../src/branded/number/uint.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,IAAI,GAAI,eAAc,IAAgB,KAAG,IAAI,CAAC,IAAI,CAgB3D,CAAC"}
|
|
@@ -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;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uint16.d.mts","sourceRoot":"","sources":["../../../src/branded/number/uint16.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,MAAM,GAAI,eAAc,MAAoB,KAAG,IAAI,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"uint16.d.mts","sourceRoot":"","sources":["../../../src/branded/number/uint16.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,MAAM,GAAI,eAAc,MAAoB,KAAG,IAAI,CAAC,MAAM,CAoBnE,CAAC"}
|
|
@@ -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;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uint32.d.mts","sourceRoot":"","sources":["../../../src/branded/number/uint32.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,MAAM,GAAI,eAAc,MAAoB,KAAG,IAAI,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"uint32.d.mts","sourceRoot":"","sources":["../../../src/branded/number/uint32.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,MAAM,GAAI,eAAc,MAAoB,KAAG,IAAI,CAAC,MAAM,CAkBnE,CAAC"}
|
|
@@ -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;
|
|
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;;;;"}
|
package/package.json
CHANGED
package/src/branded/brand.mts
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { pipe, Result } from 'ts-data-forge';
|
|
2
2
|
import { type Type } from '../type.mjs';
|
|
3
|
-
import {
|
|
4
|
-
createType,
|
|
5
|
-
type ValidationError,
|
|
6
|
-
type ValidationErrorWithMessage,
|
|
7
|
-
} from '../utils/index.mjs';
|
|
3
|
+
import { createType, type ValidationError } from '../utils/index.mjs';
|
|
8
4
|
|
|
9
5
|
type ArrayToUnion<A extends readonly unknown[]> = A extends readonly []
|
|
10
6
|
? never
|
|
@@ -17,31 +13,35 @@ export const brand = <
|
|
|
17
13
|
>({
|
|
18
14
|
codec,
|
|
19
15
|
is,
|
|
16
|
+
defaultValue,
|
|
17
|
+
typeName,
|
|
20
18
|
brandKeys,
|
|
21
19
|
brandFalseKeys,
|
|
22
|
-
defaultValue,
|
|
23
20
|
}: Readonly<{
|
|
24
21
|
codec: Type<A>;
|
|
25
22
|
is: (
|
|
26
23
|
a: A,
|
|
27
24
|
) => a is Brand<A, ArrayToUnion<BrandTrueKeys>, ArrayToUnion<BrandFalseKeys>>;
|
|
28
|
-
brandKeys: BrandTrueKeys;
|
|
29
|
-
brandFalseKeys?: BrandFalseKeys;
|
|
30
25
|
defaultValue: Brand<
|
|
31
26
|
A,
|
|
32
27
|
ArrayToUnion<BrandTrueKeys>,
|
|
33
28
|
ArrayToUnion<BrandFalseKeys>
|
|
34
29
|
>;
|
|
30
|
+
typeName?: string;
|
|
31
|
+
brandKeys: BrandTrueKeys;
|
|
32
|
+
brandFalseKeys?: BrandFalseKeys;
|
|
35
33
|
}>): Type<
|
|
36
34
|
Brand<A, ArrayToUnion<BrandTrueKeys>, ArrayToUnion<BrandFalseKeys>>
|
|
37
35
|
> => {
|
|
38
36
|
type T = Brand<A, ArrayToUnion<BrandTrueKeys>, ArrayToUnion<BrandFalseKeys>>;
|
|
39
37
|
|
|
40
38
|
const brandKeysStr = [
|
|
41
|
-
...brandKeys,
|
|
42
|
-
...(brandFalseKeys?.map((s) => `not(${s})`) ?? []),
|
|
39
|
+
...brandKeys.map((s) => `"${s}"`),
|
|
40
|
+
...(brandFalseKeys?.map((s) => `not("${s}")`) ?? []),
|
|
43
41
|
].join(' & ');
|
|
44
42
|
|
|
43
|
+
const typeNameFilled = typeName ?? brandKeysStr;
|
|
44
|
+
|
|
45
45
|
const validate: Type<T>['validate'] = (a) =>
|
|
46
46
|
pipe(a)
|
|
47
47
|
.map(codec.validate)
|
|
@@ -55,23 +55,19 @@ export const brand = <
|
|
|
55
55
|
{
|
|
56
56
|
path: [],
|
|
57
57
|
actualValue: v.value,
|
|
58
|
-
expectedType:
|
|
58
|
+
expectedType: typeNameFilled,
|
|
59
59
|
typeName: brandKeysStr,
|
|
60
|
-
message:
|
|
61
|
-
|
|
60
|
+
message:
|
|
61
|
+
typeName === undefined
|
|
62
|
+
? `The value must satisfy the constraint corresponding to the brand keys: <${brandKeysStr}>`
|
|
63
|
+
: undefined,
|
|
64
|
+
} satisfies ValidationError,
|
|
62
65
|
]),
|
|
63
66
|
).value;
|
|
64
67
|
|
|
65
|
-
const fill: Type<T>['fill'] = (a) =>
|
|
66
|
-
Result.unwrapOkOr(
|
|
67
|
-
validate(a) satisfies Result<T, unknown>,
|
|
68
|
-
defaultValue satisfies T,
|
|
69
|
-
) satisfies T;
|
|
70
|
-
|
|
71
68
|
return createType({
|
|
72
69
|
typeName: brandKeysStr,
|
|
73
70
|
defaultValue,
|
|
74
71
|
validate,
|
|
75
|
-
fill,
|
|
76
72
|
});
|
|
77
73
|
};
|
|
@@ -90,10 +90,9 @@ describe('finiteNumber', () => {
|
|
|
90
90
|
{
|
|
91
91
|
path: [],
|
|
92
92
|
actualValue: Number.POSITIVE_INFINITY,
|
|
93
|
-
expectedType: '
|
|
94
|
-
typeName: 'Finite & not(NaNValue)',
|
|
95
|
-
message:
|
|
96
|
-
'The value must satisfy the constraint corresponding to the brand keys: <Finite & not(NaNValue)>',
|
|
93
|
+
expectedType: 'FiniteNumber',
|
|
94
|
+
typeName: '"Finite" & not("NaNValue")',
|
|
95
|
+
message: undefined,
|
|
97
96
|
},
|
|
98
97
|
]);
|
|
99
98
|
}
|
|
@@ -139,7 +138,7 @@ describe('finiteNumber', () => {
|
|
|
139
138
|
targetType.assertIs;
|
|
140
139
|
expect(() => {
|
|
141
140
|
assertIs(x);
|
|
142
|
-
}).toThrow('
|
|
141
|
+
}).toThrow('Expected <FiniteNumber>');
|
|
143
142
|
});
|
|
144
143
|
});
|
|
145
144
|
|
|
@@ -69,15 +69,14 @@ describe('int', () => {
|
|
|
69
69
|
{
|
|
70
70
|
path: [],
|
|
71
71
|
actualValue: 42.5,
|
|
72
|
-
expectedType: '
|
|
73
|
-
typeName: 'Finite & Int & not(NaNValue)',
|
|
74
|
-
message:
|
|
75
|
-
'The value must satisfy the constraint corresponding to the brand keys: <Finite & Int & not(NaNValue)>',
|
|
72
|
+
expectedType: 'Int',
|
|
73
|
+
typeName: '"Finite" & "Int" & not("NaNValue")',
|
|
74
|
+
message: undefined,
|
|
76
75
|
},
|
|
77
76
|
]);
|
|
78
77
|
|
|
79
78
|
expect(validationErrorsToMessages(result.value)).toStrictEqual([
|
|
80
|
-
'
|
|
79
|
+
'Expected <Int>, got <number> type value `42.5`.',
|
|
81
80
|
]);
|
|
82
81
|
}
|
|
83
82
|
});
|
|
@@ -131,7 +130,7 @@ describe('int', () => {
|
|
|
131
130
|
targetType.assertIs;
|
|
132
131
|
expect(() => {
|
|
133
132
|
assertIs(x);
|
|
134
|
-
}).toThrow('
|
|
133
|
+
}).toThrow('Expected <Int>');
|
|
135
134
|
});
|
|
136
135
|
});
|
|
137
136
|
|
|
@@ -79,16 +79,14 @@ describe('int16', () => {
|
|
|
79
79
|
{
|
|
80
80
|
path: [],
|
|
81
81
|
actualValue: 50000,
|
|
82
|
-
expectedType:
|
|
83
|
-
'Finite & Int & SafeInt & > -2^32 & >= -2^31 & < 2^32 & < 2^31 & < 2^15 & < 2^16 & > -2^16 & >= -2^15 & not(NaNValue)',
|
|
82
|
+
expectedType: 'Int16',
|
|
84
83
|
typeName:
|
|
85
|
-
'Finite & Int & SafeInt & > -2^32 & >= -2^31 & < 2^32 & < 2^31 & < 2^15 & < 2^16 & > -2^16 & >= -2^15 & not(NaNValue)',
|
|
86
|
-
message:
|
|
87
|
-
'The value must satisfy the constraint corresponding to the brand keys: <Finite & Int & SafeInt & > -2^32 & >= -2^31 & < 2^32 & < 2^31 & < 2^15 & < 2^16 & > -2^16 & >= -2^15 & not(NaNValue)>',
|
|
84
|
+
'"Finite" & "Int" & "SafeInt" & "> -2^32" & ">= -2^31" & "< 2^32" & "< 2^31" & "< 2^15" & "< 2^16" & "> -2^16" & ">= -2^15" & not("NaNValue")',
|
|
85
|
+
message: undefined,
|
|
88
86
|
},
|
|
89
87
|
]);
|
|
90
88
|
expect(validationErrorsToMessages(result.value)).toStrictEqual([
|
|
91
|
-
'
|
|
89
|
+
'Expected <Int16>, got <number> type value `50000`.',
|
|
92
90
|
]);
|
|
93
91
|
}
|
|
94
92
|
});
|
|
@@ -73,16 +73,14 @@ describe('int32', () => {
|
|
|
73
73
|
{
|
|
74
74
|
path: [],
|
|
75
75
|
actualValue: 3000000000,
|
|
76
|
-
expectedType:
|
|
77
|
-
'Finite & Int & SafeInt & > -2^32 & >= -2^31 & < 2^32 & < 2^31 & not(NaNValue)',
|
|
76
|
+
expectedType: 'Int32',
|
|
78
77
|
typeName:
|
|
79
|
-
'Finite & Int & SafeInt & > -2^32 & >= -2^31 & < 2^32 & < 2^31 & not(NaNValue)',
|
|
80
|
-
message:
|
|
81
|
-
'The value must satisfy the constraint corresponding to the brand keys: <Finite & Int & SafeInt & > -2^32 & >= -2^31 & < 2^32 & < 2^31 & not(NaNValue)>',
|
|
78
|
+
'"Finite" & "Int" & "SafeInt" & "> -2^32" & ">= -2^31" & "< 2^32" & "< 2^31" & not("NaNValue")',
|
|
79
|
+
message: undefined,
|
|
82
80
|
},
|
|
83
81
|
]);
|
|
84
82
|
expect(validationErrorsToMessages(result.value)).toStrictEqual([
|
|
85
|
-
'
|
|
83
|
+
'Expected <Int32>, got <number> type value `3000000000`.',
|
|
86
84
|
]);
|
|
87
85
|
}
|
|
88
86
|
});
|
|
@@ -90,16 +90,14 @@ describe('nonNegativeFiniteNumber', () => {
|
|
|
90
90
|
{
|
|
91
91
|
path: [],
|
|
92
92
|
actualValue: -5.5,
|
|
93
|
-
expectedType:
|
|
94
|
-
'>=0 & > -2^16 & > -2^32 & >= -2^15 & >= -2^31 & Finite & not(NaNValue)',
|
|
93
|
+
expectedType: 'NonNegativeFiniteNumber',
|
|
95
94
|
typeName:
|
|
96
|
-
'>=0 & > -2^16 & > -2^32 & >= -2^15 & >= -2^31 & Finite & not(NaNValue)',
|
|
97
|
-
message:
|
|
98
|
-
'The value must satisfy the constraint corresponding to the brand keys: <>=0 & > -2^16 & > -2^32 & >= -2^15 & >= -2^31 & Finite & not(NaNValue)>',
|
|
95
|
+
'">=0" & "> -2^16" & "> -2^32" & ">= -2^15" & ">= -2^31" & "Finite" & not("NaNValue")',
|
|
96
|
+
message: undefined,
|
|
99
97
|
},
|
|
100
98
|
]);
|
|
101
99
|
expect(validationErrorsToMessages(result.value)).toStrictEqual([
|
|
102
|
-
'
|
|
100
|
+
'Expected <NonNegativeFiniteNumber>, got <number> type value `-5.5`.',
|
|
103
101
|
]);
|
|
104
102
|
}
|
|
105
103
|
});
|
|
@@ -86,14 +86,13 @@ describe('nonZeroFiniteNumber', () => {
|
|
|
86
86
|
{
|
|
87
87
|
path: [],
|
|
88
88
|
actualValue: 0,
|
|
89
|
-
expectedType: '
|
|
90
|
-
typeName: '!=0 & Finite & not(NaNValue)',
|
|
91
|
-
message:
|
|
92
|
-
'The value must satisfy the constraint corresponding to the brand keys: <!=0 & Finite & not(NaNValue)>',
|
|
89
|
+
expectedType: 'NonZeroFiniteNumber',
|
|
90
|
+
typeName: '"!=0" & "Finite" & not("NaNValue")',
|
|
91
|
+
message: undefined,
|
|
93
92
|
},
|
|
94
93
|
]);
|
|
95
94
|
expect(validationErrorsToMessages(result.value)).toStrictEqual([
|
|
96
|
-
'
|
|
95
|
+
'Expected <NonZeroFiniteNumber>, got <number> type value `0`.',
|
|
97
96
|
]);
|
|
98
97
|
}
|
|
99
98
|
});
|
|
@@ -79,14 +79,13 @@ describe('nonZeroInt', () => {
|
|
|
79
79
|
{
|
|
80
80
|
path: [],
|
|
81
81
|
actualValue: 0,
|
|
82
|
-
expectedType: '
|
|
83
|
-
typeName: 'Finite & Int & !=0 & not(NaNValue)',
|
|
84
|
-
message:
|
|
85
|
-
'The value must satisfy the constraint corresponding to the brand keys: <Finite & Int & !=0 & not(NaNValue)>',
|
|
82
|
+
expectedType: 'NonZeroInt',
|
|
83
|
+
typeName: '"Finite" & "Int" & "!=0" & not("NaNValue")',
|
|
84
|
+
message: undefined,
|
|
86
85
|
},
|
|
87
86
|
]);
|
|
88
87
|
expect(validationErrorsToMessages(result.value)).toStrictEqual([
|
|
89
|
-
'
|
|
88
|
+
'Expected <NonZeroInt>, got <number> type value `0`.',
|
|
90
89
|
]);
|
|
91
90
|
}
|
|
92
91
|
});
|
|
@@ -86,14 +86,13 @@ describe('nonZeroSafeInt', () => {
|
|
|
86
86
|
{
|
|
87
87
|
path: [],
|
|
88
88
|
actualValue: 0,
|
|
89
|
-
expectedType: '
|
|
90
|
-
typeName: 'Finite & Int & SafeInt & !=0 & not(NaNValue)',
|
|
91
|
-
message:
|
|
92
|
-
'The value must satisfy the constraint corresponding to the brand keys: <Finite & Int & SafeInt & !=0 & not(NaNValue)>',
|
|
89
|
+
expectedType: 'NonZeroSafeInt',
|
|
90
|
+
typeName: '"Finite" & "Int" & "SafeInt" & "!=0" & not("NaNValue")',
|
|
91
|
+
message: undefined,
|
|
93
92
|
},
|
|
94
93
|
]);
|
|
95
94
|
expect(validationErrorsToMessages(result.value)).toStrictEqual([
|
|
96
|
-
'
|
|
95
|
+
'Expected <NonZeroSafeInt>, got <number> type value `0`.',
|
|
97
96
|
]);
|
|
98
97
|
}
|
|
99
98
|
});
|
|
@@ -86,16 +86,14 @@ describe('positiveFiniteNumber', () => {
|
|
|
86
86
|
{
|
|
87
87
|
path: [],
|
|
88
88
|
actualValue: 0,
|
|
89
|
-
expectedType:
|
|
90
|
-
'>=0 & > -2^16 & > -2^32 & >= -2^15 & >= -2^31 & Finite & !=0 & not(NaNValue)',
|
|
89
|
+
expectedType: 'PositiveFiniteNumber',
|
|
91
90
|
typeName:
|
|
92
|
-
'>=0 & > -2^16 & > -2^32 & >= -2^15 & >= -2^31 & Finite & !=0 & not(NaNValue)',
|
|
93
|
-
message:
|
|
94
|
-
'The value must satisfy the constraint corresponding to the brand keys: <>=0 & > -2^16 & > -2^32 & >= -2^15 & >= -2^31 & Finite & !=0 & not(NaNValue)>',
|
|
91
|
+
'">=0" & "> -2^16" & "> -2^32" & ">= -2^15" & ">= -2^31" & "Finite" & "!=0" & not("NaNValue")',
|
|
92
|
+
message: undefined,
|
|
95
93
|
},
|
|
96
94
|
]);
|
|
97
95
|
expect(validationErrorsToMessages(result.value)).toStrictEqual([
|
|
98
|
-
'
|
|
96
|
+
'Expected <PositiveFiniteNumber>, got <number> type value `0`.',
|
|
99
97
|
]);
|
|
100
98
|
}
|
|
101
99
|
});
|
|
@@ -96,16 +96,14 @@ describe('positiveInt', () => {
|
|
|
96
96
|
{
|
|
97
97
|
path: [],
|
|
98
98
|
actualValue: -5,
|
|
99
|
-
expectedType:
|
|
100
|
-
'Finite & Int & > -2^32 & >= -2^31 & > -2^16 & >= -2^15 & >=0 & !=0 & not(NaNValue)',
|
|
99
|
+
expectedType: 'PositiveInt',
|
|
101
100
|
typeName:
|
|
102
|
-
'Finite & Int & > -2^32 & >= -2^31 & > -2^16 & >= -2^15 & >=0 & !=0 & not(NaNValue)',
|
|
103
|
-
message:
|
|
104
|
-
'The value must satisfy the constraint corresponding to the brand keys: <Finite & Int & > -2^32 & >= -2^31 & > -2^16 & >= -2^15 & >=0 & !=0 & not(NaNValue)>',
|
|
101
|
+
'"Finite" & "Int" & "> -2^32" & ">= -2^31" & "> -2^16" & ">= -2^15" & ">=0" & "!=0" & not("NaNValue")',
|
|
102
|
+
message: undefined,
|
|
105
103
|
},
|
|
106
104
|
]);
|
|
107
105
|
expect(validationErrorsToMessages(result.value)).toStrictEqual([
|
|
108
|
-
'
|
|
106
|
+
'Expected <PositiveInt>, got <number> type value `-5`.',
|
|
109
107
|
]);
|
|
110
108
|
}
|
|
111
109
|
});
|
|
@@ -149,7 +147,7 @@ describe('positiveInt', () => {
|
|
|
149
147
|
targetType.assertIs;
|
|
150
148
|
expect(() => {
|
|
151
149
|
assertIs(x);
|
|
152
|
-
}).toThrow('
|
|
150
|
+
}).toThrow('Expected <PositiveInt>');
|
|
153
151
|
});
|
|
154
152
|
});
|
|
155
153
|
|
|
@@ -90,16 +90,14 @@ describe('positiveSafeInt', () => {
|
|
|
90
90
|
{
|
|
91
91
|
path: [],
|
|
92
92
|
actualValue: 0,
|
|
93
|
-
expectedType:
|
|
94
|
-
'Finite & Int & SafeInt & > -2^32 & >= -2^31 & > -2^16 & >= -2^15 & >=0 & !=0 & not(NaNValue)',
|
|
93
|
+
expectedType: 'PositiveSafeInt',
|
|
95
94
|
typeName:
|
|
96
|
-
'Finite & Int & SafeInt & > -2^32 & >= -2^31 & > -2^16 & >= -2^15 & >=0 & !=0 & not(NaNValue)',
|
|
97
|
-
message:
|
|
98
|
-
'The value must satisfy the constraint corresponding to the brand keys: <Finite & Int & SafeInt & > -2^32 & >= -2^31 & > -2^16 & >= -2^15 & >=0 & !=0 & not(NaNValue)>',
|
|
95
|
+
'"Finite" & "Int" & "SafeInt" & "> -2^32" & ">= -2^31" & "> -2^16" & ">= -2^15" & ">=0" & "!=0" & not("NaNValue")',
|
|
96
|
+
message: undefined,
|
|
99
97
|
},
|
|
100
98
|
]);
|
|
101
99
|
expect(validationErrorsToMessages(result.value)).toStrictEqual([
|
|
102
|
-
'
|
|
100
|
+
'Expected <PositiveSafeInt>, got <number> type value `0`.',
|
|
103
101
|
]);
|
|
104
102
|
}
|
|
105
103
|
});
|
|
@@ -78,15 +78,14 @@ describe('safeInt', () => {
|
|
|
78
78
|
{
|
|
79
79
|
path: [],
|
|
80
80
|
actualValue: Number.MAX_SAFE_INTEGER + 1,
|
|
81
|
-
expectedType: '
|
|
82
|
-
typeName: 'Finite & Int & SafeInt & not(NaNValue)',
|
|
83
|
-
message:
|
|
84
|
-
'The value must satisfy the constraint corresponding to the brand keys: <Finite & Int & SafeInt & not(NaNValue)>',
|
|
81
|
+
expectedType: 'SafeInt',
|
|
82
|
+
typeName: '"Finite" & "Int" & "SafeInt" & not("NaNValue")',
|
|
83
|
+
message: undefined,
|
|
85
84
|
},
|
|
86
85
|
]);
|
|
87
86
|
|
|
88
87
|
expect(validationErrorsToMessages(result.value)).toStrictEqual([
|
|
89
|
-
'
|
|
88
|
+
'Expected <SafeInt>, got <number> type value `9007199254740992`.',
|
|
90
89
|
]);
|
|
91
90
|
}
|
|
92
91
|
});
|
|
@@ -85,16 +85,14 @@ describe('safeUint', () => {
|
|
|
85
85
|
{
|
|
86
86
|
path: [],
|
|
87
87
|
actualValue: -5,
|
|
88
|
-
expectedType:
|
|
89
|
-
'Finite & Int & SafeInt & > -2^16 & > -2^32 & >= -2^15 & >= -2^31 & >=0 & not(NaNValue)',
|
|
88
|
+
expectedType: 'SafeUint',
|
|
90
89
|
typeName:
|
|
91
|
-
'Finite & Int & SafeInt & > -2^16 & > -2^32 & >= -2^15 & >= -2^31 & >=0 & not(NaNValue)',
|
|
92
|
-
message:
|
|
93
|
-
'The value must satisfy the constraint corresponding to the brand keys: <Finite & Int & SafeInt & > -2^16 & > -2^32 & >= -2^15 & >= -2^31 & >=0 & not(NaNValue)>',
|
|
90
|
+
'"Finite" & "Int" & "SafeInt" & "> -2^16" & "> -2^32" & ">= -2^15" & ">= -2^31" & ">=0" & not("NaNValue")',
|
|
91
|
+
message: undefined,
|
|
94
92
|
},
|
|
95
93
|
]);
|
|
96
94
|
expect(validationErrorsToMessages(result.value)).toStrictEqual([
|
|
97
|
-
'
|
|
95
|
+
'Expected <SafeUint>, got <number> type value `-5`.',
|
|
98
96
|
]);
|
|
99
97
|
}
|
|
100
98
|
});
|
|
@@ -91,16 +91,14 @@ describe('uint', () => {
|
|
|
91
91
|
{
|
|
92
92
|
path: [],
|
|
93
93
|
actualValue: -5,
|
|
94
|
-
expectedType:
|
|
95
|
-
'Finite & Int & > -2^32 & >= -2^31 & > -2^16 & >= -2^15 & >=0 & not(NaNValue)',
|
|
94
|
+
expectedType: 'Uint',
|
|
96
95
|
typeName:
|
|
97
|
-
'Finite & Int & > -2^32 & >= -2^31 & > -2^16 & >= -2^15 & >=0 & not(NaNValue)',
|
|
98
|
-
message:
|
|
99
|
-
'The value must satisfy the constraint corresponding to the brand keys: <Finite & Int & > -2^32 & >= -2^31 & > -2^16 & >= -2^15 & >=0 & not(NaNValue)>',
|
|
96
|
+
'"Finite" & "Int" & "> -2^32" & ">= -2^31" & "> -2^16" & ">= -2^15" & ">=0" & not("NaNValue")',
|
|
97
|
+
message: undefined,
|
|
100
98
|
},
|
|
101
99
|
]);
|
|
102
100
|
expect(validationErrorsToMessages(result.value)).toStrictEqual([
|
|
103
|
-
'
|
|
101
|
+
'Expected <Uint>, got <number> type value `-5`.',
|
|
104
102
|
]);
|
|
105
103
|
}
|
|
106
104
|
});
|
|
@@ -144,7 +142,7 @@ describe('uint', () => {
|
|
|
144
142
|
targetType.assertIs;
|
|
145
143
|
expect(() => {
|
|
146
144
|
assertIs(x);
|
|
147
|
-
}).toThrow('
|
|
145
|
+
}).toThrow('Expected <Uint>');
|
|
148
146
|
});
|
|
149
147
|
});
|
|
150
148
|
|
|
@@ -85,16 +85,14 @@ describe('uint16', () => {
|
|
|
85
85
|
{
|
|
86
86
|
path: [],
|
|
87
87
|
actualValue: -5,
|
|
88
|
-
expectedType:
|
|
89
|
-
'Finite & Int & SafeInt & > -2^16 & > -2^32 & >= -2^15 & >= -2^31 & >=0 & < 2^32 & < 2^16 & < 2^31 & not(NaNValue)',
|
|
88
|
+
expectedType: 'Uint16',
|
|
90
89
|
typeName:
|
|
91
|
-
'Finite & Int & SafeInt & > -2^16 & > -2^32 & >= -2^15 & >= -2^31 & >=0 & < 2^32 & < 2^16 & < 2^31 & not(NaNValue)',
|
|
92
|
-
message:
|
|
93
|
-
'The value must satisfy the constraint corresponding to the brand keys: <Finite & Int & SafeInt & > -2^16 & > -2^32 & >= -2^15 & >= -2^31 & >=0 & < 2^32 & < 2^16 & < 2^31 & not(NaNValue)>',
|
|
90
|
+
'"Finite" & "Int" & "SafeInt" & "> -2^16" & "> -2^32" & ">= -2^15" & ">= -2^31" & ">=0" & "< 2^32" & "< 2^16" & "< 2^31" & not("NaNValue")',
|
|
91
|
+
message: undefined,
|
|
94
92
|
},
|
|
95
93
|
]);
|
|
96
94
|
expect(validationErrorsToMessages(result.value)).toStrictEqual([
|
|
97
|
-
'
|
|
95
|
+
'Expected <Uint16>, got <number> type value `-5`.',
|
|
98
96
|
]);
|
|
99
97
|
}
|
|
100
98
|
});
|
|
@@ -85,16 +85,14 @@ describe('uint32', () => {
|
|
|
85
85
|
{
|
|
86
86
|
path: [],
|
|
87
87
|
actualValue: -5,
|
|
88
|
-
expectedType:
|
|
89
|
-
'Finite & Int & SafeInt & > -2^16 & > -2^32 & >= -2^15 & >= -2^31 & >=0 & < 2^32 & not(NaNValue)',
|
|
88
|
+
expectedType: 'Uint32',
|
|
90
89
|
typeName:
|
|
91
|
-
'Finite & Int & SafeInt & > -2^16 & > -2^32 & >= -2^15 & >= -2^31 & >=0 & < 2^32 & not(NaNValue)',
|
|
92
|
-
message:
|
|
93
|
-
'The value must satisfy the constraint corresponding to the brand keys: <Finite & Int & SafeInt & > -2^16 & > -2^32 & >= -2^15 & >= -2^31 & >=0 & < 2^32 & not(NaNValue)>',
|
|
90
|
+
'"Finite" & "Int" & "SafeInt" & "> -2^16" & "> -2^32" & ">= -2^15" & ">= -2^31" & ">=0" & "< 2^32" & not("NaNValue")',
|
|
91
|
+
message: undefined,
|
|
94
92
|
},
|
|
95
93
|
]);
|
|
96
94
|
expect(validationErrorsToMessages(result.value)).toStrictEqual([
|
|
97
|
-
'
|
|
95
|
+
'Expected <Uint32>, got <number> type value `-5`.',
|
|
98
96
|
]);
|
|
99
97
|
}
|
|
100
98
|
});
|
|
@@ -15,7 +15,7 @@ describe('simpleBrandedNumber', () => {
|
|
|
15
15
|
|
|
16
16
|
test('creates branded number type with default value 0', () => {
|
|
17
17
|
expect(userIdType.defaultValue).toBe(0);
|
|
18
|
-
expect(userIdType.typeName).toBe('UserId');
|
|
18
|
+
expect(userIdType.typeName).toBe('"UserId"');
|
|
19
19
|
});
|
|
20
20
|
|
|
21
21
|
describe('is', () => {
|
|
@@ -105,7 +105,7 @@ describe('simpleBrandedNumber', () => {
|
|
|
105
105
|
|
|
106
106
|
test('creates branded number type with custom default value', () => {
|
|
107
107
|
expect(scoreType.defaultValue).toBe(100);
|
|
108
|
-
expect(scoreType.typeName).toBe('Score');
|
|
108
|
+
expect(scoreType.typeName).toBe('"Score"');
|
|
109
109
|
});
|
|
110
110
|
|
|
111
111
|
describe('validate', () => {
|
|
@@ -15,7 +15,7 @@ describe('simpleBrandedString', () => {
|
|
|
15
15
|
|
|
16
16
|
test('creates branded string type with default value empty string', () => {
|
|
17
17
|
expect(userNameType.defaultValue).toBe('');
|
|
18
|
-
expect(userNameType.typeName).toBe('UserName');
|
|
18
|
+
expect(userNameType.typeName).toBe('"UserName"');
|
|
19
19
|
});
|
|
20
20
|
|
|
21
21
|
describe('is', () => {
|
|
@@ -106,7 +106,7 @@ describe('simpleBrandedString', () => {
|
|
|
106
106
|
|
|
107
107
|
test('creates branded string type with custom default value', () => {
|
|
108
108
|
expect(categoryType.defaultValue).toBe('general');
|
|
109
|
-
expect(categoryType.typeName).toBe('Category');
|
|
109
|
+
expect(categoryType.typeName).toBe('"Category"');
|
|
110
110
|
});
|
|
111
111
|
|
|
112
112
|
describe('validate', () => {
|
|
@@ -189,8 +189,8 @@ describe('simpleBrandedString', () => {
|
|
|
189
189
|
expectType<FirstName, Brand<string, 'FirstName'>>('=');
|
|
190
190
|
expectType<LastName, Brand<string, 'LastName'>>('=');
|
|
191
191
|
|
|
192
|
-
expect(firstNameType.typeName).toBe('FirstName');
|
|
193
|
-
expect(lastNameType.typeName).toBe('LastName');
|
|
192
|
+
expect(firstNameType.typeName).toBe('"FirstName"');
|
|
193
|
+
expect(lastNameType.typeName).toBe('"LastName"');
|
|
194
194
|
});
|
|
195
195
|
});
|
|
196
196
|
});
|