ts-fortress 5.2.0 → 6.0.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/README.md +18 -10
- package/dist/array/array-at-least-length.d.mts.map +1 -1
- package/dist/array/array-at-least-length.mjs +8 -3
- package/dist/array/array-at-least-length.mjs.map +1 -1
- package/dist/array/array-of-length.d.mts.map +1 -1
- package/dist/array/array-of-length.mjs +8 -3
- package/dist/array/array-of-length.mjs.map +1 -1
- package/dist/array/array.d.mts.map +1 -1
- package/dist/array/array.mjs +2 -1
- package/dist/array/array.mjs.map +1 -1
- package/dist/array/non-empty-array.d.mts.map +1 -1
- package/dist/array/non-empty-array.mjs +5 -2
- package/dist/array/non-empty-array.mjs.map +1 -1
- package/dist/array/tuple.d.mts.map +1 -1
- package/dist/array/tuple.mjs +6 -1
- package/dist/array/tuple.mjs.map +1 -1
- package/dist/brand/brand.d.mts +1 -1
- package/dist/brand/brand.d.mts.map +1 -1
- package/dist/brand/brand.mjs +8 -3
- package/dist/brand/brand.mjs.map +1 -1
- package/dist/brand/branded-number.d.mts +2 -2
- package/dist/brand/branded-number.mjs +1 -1
- package/dist/brand/branded-number.mjs.map +1 -1
- package/dist/brand/branded-string.d.mts +2 -2
- package/dist/brand/branded-string.mjs +1 -1
- package/dist/brand/branded-string.mjs.map +1 -1
- package/dist/compose/intersection.d.mts.map +1 -1
- package/dist/compose/intersection.mjs +4 -3
- package/dist/compose/intersection.mjs.map +1 -1
- package/dist/compose/merge-records.d.mts.map +1 -1
- package/dist/compose/merge-records.mjs +4 -3
- package/dist/compose/merge-records.mjs.map +1 -1
- package/dist/compose/union.d.mts.map +1 -1
- package/dist/compose/union.mjs +4 -3
- package/dist/compose/union.mjs.map +1 -1
- package/dist/enum/enum.d.mts.map +1 -1
- package/dist/enum/enum.mjs +4 -1
- package/dist/enum/enum.mjs.map +1 -1
- package/dist/enum/int-range.d.mts +1 -1
- package/dist/enum/int-range.d.mts.map +1 -1
- package/dist/enum/int-range.mjs +6 -2
- package/dist/enum/int-range.mjs.map +1 -1
- package/dist/enum/uint-range.d.mts +1 -1
- package/dist/enum/uint-range.d.mts.map +1 -1
- package/dist/enum/uint-range.mjs +6 -2
- package/dist/enum/uint-range.mjs.map +1 -1
- package/dist/other-types/map.d.mts.map +1 -1
- package/dist/other-types/map.mjs +11 -2
- package/dist/other-types/map.mjs.map +1 -1
- package/dist/other-types/refine.d.mts.map +1 -1
- package/dist/other-types/refine.mjs +1 -0
- package/dist/other-types/refine.mjs.map +1 -1
- package/dist/other-types/set.d.mts.map +1 -1
- package/dist/other-types/set.mjs +6 -2
- package/dist/other-types/set.mjs.map +1 -1
- package/dist/predefined/brand/string/iso-8601.d.mts +7 -7
- package/dist/predefined/brand/string/iso-8601.d.mts.map +1 -1
- package/dist/predefined/json.d.mts +4 -4
- package/dist/predefined/json.d.mts.map +1 -1
- package/dist/predefined/json.mjs.map +1 -1
- package/dist/primitives/bigint.d.mts.map +1 -1
- package/dist/primitives/bigint.mjs.map +1 -1
- package/dist/record/key-value-record.d.mts.map +1 -1
- package/dist/record/key-value-record.mjs +11 -2
- package/dist/record/key-value-record.mjs.map +1 -1
- package/dist/record/keyof.mjs.map +1 -1
- package/dist/record/omit.d.mts +6 -6
- package/dist/record/omit.d.mts.map +1 -1
- package/dist/record/omit.mjs +2 -1
- package/dist/record/omit.mjs.map +1 -1
- package/dist/record/partial.d.mts +6 -6
- package/dist/record/partial.d.mts.map +1 -1
- package/dist/record/partial.mjs +2 -1
- package/dist/record/partial.mjs.map +1 -1
- package/dist/record/pick.d.mts +6 -6
- package/dist/record/pick.d.mts.map +1 -1
- package/dist/record/pick.mjs +2 -1
- package/dist/record/pick.mjs.map +1 -1
- package/dist/record/record.d.mts +22 -8
- package/dist/record/record.d.mts.map +1 -1
- package/dist/record/record.mjs +58 -20
- package/dist/record/record.mjs.map +1 -1
- package/dist/record/required.d.mts +6 -6
- package/dist/record/required.d.mts.map +1 -1
- package/dist/record/required.mjs +2 -1
- package/dist/record/required.mjs.map +1 -1
- package/dist/type.d.mts +5 -3
- package/dist/type.d.mts.map +1 -1
- package/dist/utils/create-is-fn.d.mts.map +1 -1
- package/dist/utils/create-is-fn.mjs +1 -1
- package/dist/utils/create-is-fn.mjs.map +1 -1
- package/dist/utils/create-primitive-type.d.mts +1 -1
- package/dist/utils/create-primitive-type.d.mts.map +1 -1
- package/dist/utils/create-primitive-type.mjs +2 -1
- package/dist/utils/create-primitive-type.mjs.map +1 -1
- package/dist/utils/create-type.d.mts +1 -1
- package/dist/utils/create-type.mjs +1 -1
- package/dist/utils/create-type.mjs.map +1 -1
- package/dist/utils/validation-error.d.mts +55 -11
- package/dist/utils/validation-error.d.mts.map +1 -1
- package/dist/utils/validation-error.mjs +50 -5
- package/dist/utils/validation-error.mjs.map +1 -1
- package/package.json +38 -30
- package/src/array/array-at-least-length.mts +8 -4
- package/src/array/array-at-least-length.test.mts +41 -18
- package/src/array/array-of-length.mts +8 -4
- package/src/array/array-of-length.test.mts +37 -16
- package/src/array/array.mts +2 -1
- package/src/array/array.test.mts +23 -11
- package/src/array/non-empty-array.mts +6 -4
- package/src/array/non-empty-array.test.mts +29 -16
- package/src/array/tuple.mts +7 -3
- package/src/array/tuple.test.mts +39 -21
- package/src/brand/brand.mts +9 -5
- package/src/brand/branded-number.mts +1 -1
- package/src/brand/branded-number.test.mts +32 -6
- package/src/brand/branded-string.mts +1 -1
- package/src/brand/branded-string.test.mts +36 -6
- package/src/compose/intersection.mts +5 -5
- package/src/compose/intersection.test.mts +79 -26
- package/src/compose/merge-records.mts +5 -5
- package/src/compose/merge-records.options.test.mts +18 -9
- package/src/compose/merge-records.test.mts +27 -10
- package/src/compose/union.mts +6 -5
- package/src/compose/union.test.mts +17 -6
- package/src/enum/enum.mts +6 -5
- package/src/enum/enum.test.mts +16 -5
- package/src/enum/int-range.mts +11 -4
- package/src/enum/int-range.test.mts +22 -8
- package/src/enum/uint-range.mts +8 -4
- package/src/enum/uint-range.test.mts +17 -4
- package/src/other-types/literal.test.mts +82 -20
- package/src/other-types/map.mts +13 -5
- package/src/other-types/map.test.mts +49 -4
- package/src/other-types/recursion.cache.test.mts +14 -4
- package/src/other-types/recursion.test.mts +24 -2
- package/src/other-types/refine.mts +1 -0
- package/src/other-types/set.mts +7 -4
- package/src/other-types/set.test.mts +54 -4
- package/src/predefined/brand/number/finite-number.test.mts +17 -6
- package/src/predefined/brand/number/int.test.mts +18 -7
- package/src/predefined/brand/number/int16.test.mts +14 -4
- package/src/predefined/brand/number/int32.test.mts +14 -4
- package/src/predefined/brand/number/non-negative-finite-number.test.mts +14 -4
- package/src/predefined/brand/number/non-zero-finite-number.test.mts +14 -4
- package/src/predefined/brand/number/non-zero-int.test.mts +14 -4
- package/src/predefined/brand/number/non-zero-safe-int.test.mts +14 -4
- package/src/predefined/brand/number/positive-finite-number.test.mts +14 -4
- package/src/predefined/brand/number/positive-int.test.mts +22 -7
- package/src/predefined/brand/number/positive-safe-int.test.mts +14 -4
- package/src/predefined/brand/number/safe-int.test.mts +11 -4
- package/src/predefined/brand/number/safe-uint.test.mts +14 -4
- package/src/predefined/brand/number/uint.test.mts +22 -7
- package/src/predefined/brand/number/uint16.test.mts +14 -4
- package/src/predefined/brand/number/uint32.test.mts +14 -4
- package/src/predefined/brand/string/email.test.mts +2 -1
- package/src/predefined/brand/string/iso-8601.test.mts +10 -4
- package/src/predefined/brand/string/json-string.test.mts +10 -4
- package/src/predefined/brand/string/uuid.test.mts +22 -9
- package/src/predefined/int8.test.mts +6 -1
- package/src/predefined/json.mts +1 -0
- package/src/predefined/uint8.test.mts +6 -1
- package/src/primitives/bigint.mts +2 -3
- package/src/primitives/bigint.test.mts +48 -4
- package/src/primitives/boolean.test.mts +13 -4
- package/src/primitives/null.test.mts +22 -5
- package/src/primitives/number.test.mts +56 -3
- package/src/primitives/string.test.mts +59 -3
- package/src/primitives/symbol.test.mts +13 -4
- package/src/primitives/undefined.test.mts +22 -5
- package/src/record/key-value-record.mts +13 -5
- package/src/record/key-value-record.test.mts +28 -11
- package/src/record/keyof.empty.test.mts +1 -0
- package/src/record/keyof.mts +1 -0
- package/src/record/keyof.test.mts +16 -5
- package/src/record/omit.mts +20 -11
- package/src/record/omit.options.test.mts +10 -2
- package/src/record/omit.test.mts +74 -17
- package/src/record/optional.test.mts +4 -3
- package/src/record/partial.mts +26 -14
- package/src/record/partial.test.mts +170 -34
- package/src/record/pick.mts +20 -11
- package/src/record/pick.options.test.mts +10 -2
- package/src/record/pick.test.mts +92 -19
- package/src/record/record-allow-excess-properties.test.mts +106 -26
- package/src/record/record-strict-composition-simple.test.mts +109 -40
- package/src/record/record-strict-composition.test.mts +133 -37
- package/src/record/record.mts +100 -32
- package/src/record/record.test.mts +131 -36
- package/src/record/required.mts +26 -14
- package/src/record/required.test.mts +156 -40
- package/src/record/strict-record.test.mts +39 -12
- package/src/record/valueof.test.mts +11 -1
- package/src/type.mts +26 -6
- package/src/utils/create-is-fn.mts +1 -1
- package/src/utils/create-primitive-type.mts +2 -1
- package/src/utils/create-type.mts +2 -2
- package/src/utils/validation-error.formatting.test.mts +9 -3
- package/src/utils/validation-error.mts +125 -16
- package/src/utils/validation-error.test.mts +32 -25
package/README.md
CHANGED
|
@@ -395,14 +395,14 @@ const User = t.record({
|
|
|
395
395
|
age: t.number(),
|
|
396
396
|
});
|
|
397
397
|
|
|
398
|
-
// Success case -
|
|
398
|
+
// Success case - validates correctly
|
|
399
399
|
const validData = { name: 'Alice', age: 30 } as const;
|
|
400
400
|
const result = User.validate(validData);
|
|
401
401
|
|
|
402
402
|
assert(t.Result.isOk(result));
|
|
403
|
-
|
|
404
|
-
|
|
403
|
+
// In strip mode (default), a new object is created even without excess properties
|
|
405
404
|
assert.deepStrictEqual(result.value, { name: 'Alice', age: 30 });
|
|
405
|
+
assert.notEqual(result.value, validData);
|
|
406
406
|
|
|
407
407
|
// Error case - provides detailed error information
|
|
408
408
|
const invalidData = { name: 'Bob', age: 'thirty' } as const;
|
|
@@ -416,7 +416,7 @@ assert.deepStrictEqual(errorResult.value, [
|
|
|
416
416
|
actualValue: 'thirty',
|
|
417
417
|
expectedType: 'number',
|
|
418
418
|
typeName: 'number',
|
|
419
|
-
|
|
419
|
+
details: undefined,
|
|
420
420
|
},
|
|
421
421
|
]);
|
|
422
422
|
|
|
@@ -523,6 +523,7 @@ const newUser: User = { ...User.defaultValue, id: 'user-123' };
|
|
|
523
523
|
const newUser2: User = User.fill({ id: 'user-456' });
|
|
524
524
|
|
|
525
525
|
assert.deepStrictEqual(newUser, { id: 'user-123', name: 'Guest', score: 0 });
|
|
526
|
+
|
|
526
527
|
assert.deepStrictEqual(newUser2, { id: 'user-456', name: 'Guest', score: 0 });
|
|
527
528
|
|
|
528
529
|
// Useful for React state initialization
|
|
@@ -595,7 +596,8 @@ const StrictUserType = t.record(
|
|
|
595
596
|
name: t.string(),
|
|
596
597
|
},
|
|
597
598
|
{
|
|
598
|
-
|
|
599
|
+
excessPropertyValidation: 'error', // Reject any properties not defined in schema
|
|
600
|
+
excessPropertyFill: 'strip',
|
|
599
601
|
},
|
|
600
602
|
);
|
|
601
603
|
|
|
@@ -612,7 +614,8 @@ const PermissiveUserType = t.record(
|
|
|
612
614
|
name: t.string(),
|
|
613
615
|
},
|
|
614
616
|
{
|
|
615
|
-
|
|
617
|
+
excessPropertyValidation: 'allow', // Allow additional properties (default behavior)
|
|
618
|
+
excessPropertyFill: 'allow',
|
|
616
619
|
},
|
|
617
620
|
);
|
|
618
621
|
|
|
@@ -890,20 +893,21 @@ const result = User.validate(invalidData);
|
|
|
890
893
|
assert(t.Result.isErr(result));
|
|
891
894
|
|
|
892
895
|
// result.value is an array of ValidationError objects
|
|
896
|
+
|
|
893
897
|
assert.deepStrictEqual(result.value, [
|
|
894
898
|
{
|
|
895
899
|
actualValue: 123,
|
|
896
900
|
expectedType: 'string',
|
|
897
|
-
message: undefined,
|
|
898
901
|
path: ['name'],
|
|
899
902
|
typeName: 'string',
|
|
903
|
+
details: undefined,
|
|
900
904
|
},
|
|
901
905
|
{
|
|
902
906
|
actualValue: 'not a number',
|
|
903
907
|
expectedType: 'number',
|
|
904
|
-
message: undefined,
|
|
905
908
|
path: ['age'],
|
|
906
909
|
typeName: 'number',
|
|
910
|
+
details: undefined,
|
|
907
911
|
},
|
|
908
912
|
] satisfies t.ValidationError[]);
|
|
909
913
|
|
|
@@ -936,7 +940,8 @@ const StrictType = t.record(
|
|
|
936
940
|
age: t.number(),
|
|
937
941
|
},
|
|
938
942
|
{
|
|
939
|
-
|
|
943
|
+
excessPropertyValidation: 'error',
|
|
944
|
+
excessPropertyFill: 'strip',
|
|
940
945
|
},
|
|
941
946
|
);
|
|
942
947
|
|
|
@@ -950,8 +955,11 @@ assert.deepStrictEqual(strictResult.value, [
|
|
|
950
955
|
path: ['extra'],
|
|
951
956
|
actualValue: 'not allowed',
|
|
952
957
|
expectedType: '{ name: string, age: number }',
|
|
953
|
-
message: 'Excess property "extra" is not allowed',
|
|
954
958
|
typeName: '{ name: string, age: number }',
|
|
959
|
+
details: {
|
|
960
|
+
kind: 'excess-key',
|
|
961
|
+
key: 'extra',
|
|
962
|
+
},
|
|
955
963
|
},
|
|
956
964
|
]);
|
|
957
965
|
```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-at-least-length.d.mts","sourceRoot":"","sources":["../../src/array/array-at-least-length.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"array-at-least-length.d.mts","sourceRoot":"","sources":["../../src/array/array-at-least-length.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAUxC,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,CAAC,SAAS,SAAS,EACvD,MAAM,CAAC,EACP,aAAa,IAAI,CAAC,CAAC,CAAC,EACpB,UAAU,eAAe,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACrC,CAAC,KACD,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAsE5B,CAAC"}
|
|
@@ -5,9 +5,9 @@ import { createIsFn } from '../utils/create-is-fn.mjs';
|
|
|
5
5
|
import { createPrimitiveValidationError, prependIndexToValidationErrors } from '../utils/validation-error.mjs';
|
|
6
6
|
|
|
7
7
|
const arrayAtLeastLength = (size, elementType, options) => {
|
|
8
|
-
const {
|
|
8
|
+
const {
|
|
9
9
|
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
10
|
-
defaultValue = Arr.create(size, elementType.defaultValue), } = options ?? {};
|
|
10
|
+
defaultValue = Arr.create(size, elementType.defaultValue), typeName = `ArrayAtLeastLen<${size}, ${elementType.typeName}>`, } = options ?? {};
|
|
11
11
|
const validate = (a) => {
|
|
12
12
|
if (!Arr.isArray(a)) {
|
|
13
13
|
return Result.err([
|
|
@@ -15,6 +15,7 @@ const arrayAtLeastLength = (size, elementType, options) => {
|
|
|
15
15
|
actualValue: a,
|
|
16
16
|
expectedType: 'array',
|
|
17
17
|
typeName,
|
|
18
|
+
details: undefined,
|
|
18
19
|
}),
|
|
19
20
|
]);
|
|
20
21
|
}
|
|
@@ -24,8 +25,12 @@ const arrayAtLeastLength = (size, elementType, options) => {
|
|
|
24
25
|
path: [],
|
|
25
26
|
actualValue: a,
|
|
26
27
|
expectedType: typeName,
|
|
27
|
-
message: `Expected array of length ${size} or more, got length ${a.length}`,
|
|
28
28
|
typeName,
|
|
29
|
+
details: {
|
|
30
|
+
kind: 'array-min-length',
|
|
31
|
+
minLength: size,
|
|
32
|
+
actualLength: a.length,
|
|
33
|
+
},
|
|
29
34
|
},
|
|
30
35
|
]);
|
|
31
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-at-least-length.mjs","sources":["../../src/array/array-at-least-length.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"array-at-least-length.mjs","sources":["../../src/array/array-at-least-length.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAWO,MAAM,kBAAkB,GAAG,CAChC,IAAO,EACP,WAAoB,EACpB,OAGE,KAC6B;IAG/B,MAAM;;IAEJ,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,YAAY,CAAM,EAC9D,QAAQ,GAAG,CAAA,gBAAA,EAAmB,IAAI,CAAA,EAAA,EAAK,WAAW,CAAC,QAAQ,CAAA,CAAA,CAAG,GAC/D,GAAG,OAAO,IAAI,EAAE;AAEjB,IAAA,MAAM,QAAQ,GAAwB,CAAC,CAAC,KAAI;QAC1C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACnB,OAAO,MAAM,CAAC,GAAG,CAAC;AAChB,gBAAA,8BAA8B,CAAC;AAC7B,oBAAA,WAAW,EAAE,CAAC;AACd,oBAAA,YAAY,EAAE,OAAO;oBACrB,QAAQ;AACR,oBAAA,OAAO,EAAE,SAAS;iBACnB,CAAC;AACH,aAAA,CAAC;QACJ;AAEA,QAAA,IAAI,CAAC,CAAC,MAAM,GAAG,IAAI,EAAE;YACnB,OAAO,MAAM,CAAC,GAAG,CAAC;AAChB,gBAAA;AACE,oBAAA,IAAI,EAAE,EAAE;AACR,oBAAA,WAAW,EAAE,CAAC;AACd,oBAAA,YAAY,EAAE,QAAQ;oBACtB,QAAQ;AACR,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE,kBAAkB;AACxB,wBAAA,SAAS,EAAE,IAAI;wBACf,YAAY,EAAE,CAAC,CAAC,MAAM;AACvB,qBAAA;AACwB,iBAAA;AAC5B,aAAA,CAAC;QACJ;AAEA,QAAA,MAAM,MAAM,GAA+B,GAAG,CAAC,QAAQ,CAAC,aAAS;AAC/D,YAAA,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;gBACrC,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;AACpC,gBAAA,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACrB,OAAO,8BAA8B,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;gBACzD;YACF;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QAC3B;;AAGA,QAAA,OAAO,MAAM,CAAC,EAAE,CAAC,CAAiB,CAAC;AACrC,IAAA,CAAC;AAED,IAAA,MAAM,IAAI,GAAoB,CAAC,CAAC,KAC9B,GAAG,CAAC,OAAO,CAAC,CAAC;AACX;;YAEG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAa;UACjE,YAAY;IAElB,OAAO;QACL,QAAQ;QACR,YAAY;QACZ,IAAI;QACJ,QAAQ;AACR,QAAA,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC;AACxB,QAAA,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;AAC5B,QAAA,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;KACnC;AACH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-of-length.d.mts","sourceRoot":"","sources":["../../src/array/array-of-length.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"array-of-length.d.mts","sourceRoot":"","sources":["../../src/array/array-of-length.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAUxC,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,SAAS,SAAS,EAClD,MAAM,CAAC,EACP,aAAa,IAAI,CAAC,CAAC,CAAC,EACpB,UAAU,eAAe,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACnC,CAAC,KACD,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAsE1B,CAAC"}
|
|
@@ -5,9 +5,9 @@ import { createIsFn } from '../utils/create-is-fn.mjs';
|
|
|
5
5
|
import { createPrimitiveValidationError, prependIndexToValidationErrors } from '../utils/validation-error.mjs';
|
|
6
6
|
|
|
7
7
|
const arrayOfLength = (size, elementType, options) => {
|
|
8
|
-
const {
|
|
8
|
+
const {
|
|
9
9
|
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
10
|
-
defaultValue = Arr.create(size, elementType.defaultValue), } = options ?? {};
|
|
10
|
+
defaultValue = Arr.create(size, elementType.defaultValue), typeName = `ArrayOfLength<${size}, ${elementType.typeName}>`, } = options ?? {};
|
|
11
11
|
const validate = (a) => {
|
|
12
12
|
if (!Arr.isArray(a)) {
|
|
13
13
|
return Result.err([
|
|
@@ -15,6 +15,7 @@ const arrayOfLength = (size, elementType, options) => {
|
|
|
15
15
|
actualValue: a,
|
|
16
16
|
expectedType: 'array',
|
|
17
17
|
typeName,
|
|
18
|
+
details: undefined,
|
|
18
19
|
}),
|
|
19
20
|
]);
|
|
20
21
|
}
|
|
@@ -24,8 +25,12 @@ const arrayOfLength = (size, elementType, options) => {
|
|
|
24
25
|
path: [],
|
|
25
26
|
actualValue: a,
|
|
26
27
|
expectedType: typeName,
|
|
27
|
-
message: `Expected array of length ${size}, got length ${a.length}`,
|
|
28
28
|
typeName,
|
|
29
|
+
details: {
|
|
30
|
+
kind: 'array-length',
|
|
31
|
+
expectedLength: size,
|
|
32
|
+
actualLength: a.length,
|
|
33
|
+
},
|
|
29
34
|
},
|
|
30
35
|
]);
|
|
31
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-of-length.mjs","sources":["../../src/array/array-of-length.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"array-of-length.mjs","sources":["../../src/array/array-of-length.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAWO,MAAM,aAAa,GAAG,CAC3B,IAAO,EACP,WAAoB,EACpB,OAGE,KAC2B;IAG7B,MAAM;;IAEJ,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,YAAY,CAAM,EAC9D,QAAQ,GAAG,CAAA,cAAA,EAAiB,IAAI,CAAA,EAAA,EAAK,WAAW,CAAC,QAAQ,CAAA,CAAA,CAAG,GAC7D,GAAG,OAAO,IAAI,EAAE;AAEjB,IAAA,MAAM,QAAQ,GAAwB,CAAC,CAAC,KAAI;QAC1C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACnB,OAAO,MAAM,CAAC,GAAG,CAAC;AAChB,gBAAA,8BAA8B,CAAC;AAC7B,oBAAA,WAAW,EAAE,CAAC;AACd,oBAAA,YAAY,EAAE,OAAO;oBACrB,QAAQ;AACR,oBAAA,OAAO,EAAE,SAAS;iBACnB,CAAC;AACH,aAAA,CAAC;QACJ;AAEA,QAAA,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE;YACrB,OAAO,MAAM,CAAC,GAAG,CAAC;AAChB,gBAAA;AACE,oBAAA,IAAI,EAAE,EAAE;AACR,oBAAA,WAAW,EAAE,CAAC;AACd,oBAAA,YAAY,EAAE,QAAQ;oBACtB,QAAQ;AACR,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE,cAAc;AACpB,wBAAA,cAAc,EAAE,IAAI;wBACpB,YAAY,EAAE,CAAC,CAAC,MAAM;AACvB,qBAAA;AACwB,iBAAA;AAC5B,aAAA,CAAC;QACJ;AAEA,QAAA,MAAM,MAAM,GAA+B,GAAG,CAAC,QAAQ,CAAC,aAAS;AAC/D,YAAA,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;gBACrC,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;AACpC,gBAAA,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACrB,OAAO,8BAA8B,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;gBACzD;YACF;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QAC3B;;AAGA,QAAA,OAAO,MAAM,CAAC,EAAE,CAAC,CAAiB,CAAC;AACrC,IAAA,CAAC;AAED,IAAA,MAAM,IAAI,GAAoB,CAAC,CAAC,KAC9B,GAAG,CAAC,OAAO,CAAC,CAAC;AACX;;YAEG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAa;UACjE,YAAY;IAElB,OAAO;QACL,QAAQ;QACR,YAAY;QACZ,IAAI;QACJ,QAAQ;AACR,QAAA,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC;AACxB,QAAA,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;AAC5B,QAAA,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;KACnC;AACH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.d.mts","sourceRoot":"","sources":["../../src/array/array.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAUxC,eAAO,MAAM,KAAK,GAAI,CAAC,EACrB,aAAa,IAAI,CAAC,CAAC,CAAC,EACpB,UAAU,eAAe,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC;CAC5B,CAAC,KACD,IAAI,CAAC,SAAS,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"array.d.mts","sourceRoot":"","sources":["../../src/array/array.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAUxC,eAAO,MAAM,KAAK,GAAI,CAAC,EACrB,aAAa,IAAI,CAAC,CAAC,CAAC,EACpB,UAAU,eAAe,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC;CAC5B,CAAC,KACD,IAAI,CAAC,SAAS,CAAC,EAAE,CA+CnB,CAAC"}
|
package/dist/array/array.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import { createIsFn } from '../utils/create-is-fn.mjs';
|
|
|
5
5
|
import { createPrimitiveValidationError, prependIndexToValidationErrors } from '../utils/validation-error.mjs';
|
|
6
6
|
|
|
7
7
|
const array = (elementType, options) => {
|
|
8
|
-
const { typeName = `${elementType.typeName}[]
|
|
8
|
+
const { defaultValue = [], typeName = `${elementType.typeName}[]` } = options ?? {};
|
|
9
9
|
const validate = (a) => {
|
|
10
10
|
if (!Arr.isArray(a)) {
|
|
11
11
|
return Result.err([
|
|
@@ -13,6 +13,7 @@ const array = (elementType, options) => {
|
|
|
13
13
|
actualValue: a,
|
|
14
14
|
expectedType: 'array',
|
|
15
15
|
typeName,
|
|
16
|
+
details: undefined,
|
|
16
17
|
}),
|
|
17
18
|
]);
|
|
18
19
|
}
|
package/dist/array/array.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.mjs","sources":["../../src/array/array.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;MAWa,KAAK,GAAG,CACnB,WAAoB,EACpB,OAGE,KACoB;AAGtB,IAAA,MAAM,EAAE,QAAQ,GAAG,CAAA,EAAG,WAAW,CAAC,QAAQ,CAAA,EAAA,CAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"array.mjs","sources":["../../src/array/array.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;MAWa,KAAK,GAAG,CACnB,WAAoB,EACpB,OAGE,KACoB;AAGtB,IAAA,MAAM,EAAE,YAAY,GAAG,EAAE,EAAE,QAAQ,GAAG,CAAA,EAAG,WAAW,CAAC,QAAQ,CAAA,EAAA,CAAI,EAAE,GACjE,OAAO,IAAI,EAAE;AAEf,IAAA,MAAM,QAAQ,GAAwB,CAAC,CAAC,KAAI;QAC1C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACnB,OAAO,MAAM,CAAC,GAAG,CAAC;AAChB,gBAAA,8BAA8B,CAAC;AAC7B,oBAAA,WAAW,EAAE,CAAC;AACd,oBAAA,YAAY,EAAE,OAAO;oBACrB,QAAQ;AACR,oBAAA,OAAO,EAAE,SAAS;iBACnB,CAAC;AACH,aAAA,CAAC;QACJ;AAEA,QAAA,MAAM,MAAM,GAA+B,GAAG,CAAC,QAAQ,CAAC,aAAS;AAC/D,YAAA,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;gBACrC,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;AACpC,gBAAA,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACrB,OAAO,8BAA8B,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;gBACzD;YACF;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QAC3B;;AAGA,QAAA,OAAO,MAAM,CAAC,EAAE,CAAC,CAAM,CAAC;AAC1B,IAAA,CAAC;AAED,IAAA,MAAM,IAAI,GAAoB,CAAC,CAAC,KAC9B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY;IAEnE,OAAO;QACL,QAAQ;QACR,YAAY;QACZ,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-empty-array.d.mts","sourceRoot":"","sources":["../../src/array/non-empty-array.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"non-empty-array.d.mts","sourceRoot":"","sources":["../../src/array/non-empty-array.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAUxC,eAAO,MAAM,aAAa,GAAI,CAAC,EAC7B,aAAa,IAAI,CAAC,CAAC,CAAC,EACpB,UAAU,eAAe,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CAChC,CAAC,KACD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAiEvB,CAAC"}
|
|
@@ -5,7 +5,7 @@ import { createIsFn } from '../utils/create-is-fn.mjs';
|
|
|
5
5
|
import { createPrimitiveValidationError, prependIndexToValidationErrors } from '../utils/validation-error.mjs';
|
|
6
6
|
|
|
7
7
|
const nonEmptyArray = (elementType, options) => {
|
|
8
|
-
const {
|
|
8
|
+
const { defaultValue = Arr.newArray(1, elementType.defaultValue), typeName = `NonEmptyArray<${elementType.typeName}>`, } = options ?? {};
|
|
9
9
|
const validate = (a) => {
|
|
10
10
|
if (!Arr.isArray(a)) {
|
|
11
11
|
return Result.err([
|
|
@@ -13,6 +13,7 @@ const nonEmptyArray = (elementType, options) => {
|
|
|
13
13
|
actualValue: a,
|
|
14
14
|
expectedType: 'array',
|
|
15
15
|
typeName,
|
|
16
|
+
details: undefined,
|
|
16
17
|
}),
|
|
17
18
|
]);
|
|
18
19
|
}
|
|
@@ -23,7 +24,9 @@ const nonEmptyArray = (elementType, options) => {
|
|
|
23
24
|
actualValue: a,
|
|
24
25
|
expectedType: typeName,
|
|
25
26
|
typeName,
|
|
26
|
-
|
|
27
|
+
details: {
|
|
28
|
+
kind: 'non-empty-array',
|
|
29
|
+
},
|
|
27
30
|
},
|
|
28
31
|
]);
|
|
29
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-empty-array.mjs","sources":["../../src/array/non-empty-array.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"non-empty-array.mjs","sources":["../../src/array/non-empty-array.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;MAWa,aAAa,GAAG,CAC3B,WAAoB,EACpB,OAGE,KACwB;IAG1B,MAAM,EACJ,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,EACxD,QAAQ,GAAG,CAAA,cAAA,EAAiB,WAAW,CAAC,QAAQ,CAAA,CAAA,CAAG,GACpD,GAAG,OAAO,IAAI,EAAE;AAEjB,IAAA,MAAM,QAAQ,GAAwB,CAAC,CAAC,KAAI;QAC1C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACnB,OAAO,MAAM,CAAC,GAAG,CAAC;AAChB,gBAAA,8BAA8B,CAAC;AAC7B,oBAAA,WAAW,EAAE,CAAC;AACd,oBAAA,YAAY,EAAE,OAAO;oBACrB,QAAQ;AACR,oBAAA,OAAO,EAAE,SAAS;iBACnB,CAAC;AACH,aAAA,CAAC;QACJ;AAEA,QAAA,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAClB,OAAO,MAAM,CAAC,GAAG,CAAC;AAChB,gBAAA;AACE,oBAAA,IAAI,EAAE,EAAE;AACR,oBAAA,WAAW,EAAE,CAAC;AACd,oBAAA,YAAY,EAAE,QAAQ;oBACtB,QAAQ;AACR,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE,iBAAiB;AACxB,qBAAA;AACwB,iBAAA;AAC5B,aAAA,CAAC;QACJ;AAEA,QAAA,MAAM,MAAM,GAA+B,GAAG,CAAC,QAAQ,CAAC,aAAS;AAC/D,YAAA,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;gBACrC,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;AACpC,gBAAA,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACrB,OAAO,8BAA8B,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;gBACzD;YACF;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QAC3B;;AAGA,QAAA,OAAO,MAAM,CAAC,EAAE,CAAC,CAAiB,CAAC;AACrC,IAAA,CAAC;AAED,IAAA,MAAM,IAAI,GAAoB,CAAC,CAAC,KAC9B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;AAChC,UAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;UACrC,YAAY;IAElB,OAAO;QACL,QAAQ;QACR,YAAY;QACZ,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuple.d.mts","sourceRoot":"","sources":["../../src/array/tuple.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"tuple.d.mts","sourceRoot":"","sources":["../../src/array/tuple.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAUrD,KAAK,QAAQ,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI;IAClD,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,KAAK,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,OAAO,CAAC,EAAE,EAC5D,OAAO,CAAC,EACR,UAAU,eAAe,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,KACD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAsElB,CAAC"}
|
package/dist/array/tuple.mjs
CHANGED
|
@@ -14,6 +14,7 @@ const tuple = (types, options) => {
|
|
|
14
14
|
actualValue: a,
|
|
15
15
|
expectedType: 'array',
|
|
16
16
|
typeName,
|
|
17
|
+
details: undefined,
|
|
17
18
|
}),
|
|
18
19
|
]);
|
|
19
20
|
}
|
|
@@ -24,7 +25,11 @@ const tuple = (types, options) => {
|
|
|
24
25
|
actualValue: a,
|
|
25
26
|
expectedType: typeName,
|
|
26
27
|
typeName,
|
|
27
|
-
|
|
28
|
+
details: {
|
|
29
|
+
kind: 'tuple-length',
|
|
30
|
+
expectedLength: types.length,
|
|
31
|
+
actualLength: a.length,
|
|
32
|
+
},
|
|
28
33
|
},
|
|
29
34
|
]);
|
|
30
35
|
}
|
package/dist/array/tuple.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuple.mjs","sources":["../../src/array/tuple.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"tuple.mjs","sources":["../../src/array/tuple.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;MAea,KAAK,GAAG,CACnB,KAAQ,EACR,OAEE,KACmB;IAGrB,MAAM,EAAE,QAAQ,GAAG,OAAO,EAAE,GAAG,OAAO,IAAI,EAAE;AAE5C,IAAA,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAC1B,KAAK,EACL,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CACA;AAEvB,IAAA,MAAM,QAAQ,GAAwB,CAAC,CAAC,KAAI;QAC1C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACnB,OAAO,MAAM,CAAC,GAAG,CAAC;AAChB,gBAAA,8BAA8B,CAAC;AAC7B,oBAAA,WAAW,EAAE,CAAC;AACd,oBAAA,YAAY,EAAE,OAAO;oBACrB,QAAQ;AACR,oBAAA,OAAO,EAAE,SAAS;iBACnB,CAAC;AACH,aAAA,CAAC;QACJ;QAEA,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;YAC7B,OAAO,MAAM,CAAC,GAAG,CAAC;AAChB,gBAAA;AACE,oBAAA,IAAI,EAAE,EAAE;AACR,oBAAA,WAAW,EAAE,CAAC;AACd,oBAAA,YAAY,EAAE,QAAQ;oBACtB,QAAQ;AACR,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE,cAAc;wBACpB,cAAc,EAAE,KAAK,CAAC,MAAM;wBAC5B,YAAY,EAAE,CAAC,CAAC,MAAM;AACvB,qBAAA;AACwB,iBAAA;AAC5B,aAAA,CAAC;QACJ;AAEA,QAAA,MAAM,MAAM,GAA+B,GAAG,CAAC,QAAQ,CAAC,aAAS;YAC/D,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE;gBAChE,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;AAChC,gBAAA,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACrB,OAAO,8BAA8B,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;gBACzD;YACF;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QAC3B;;AAGA,QAAA,OAAO,MAAM,CAAC,EAAE,CAAC,CAAM,CAAC;AAC1B,IAAA,CAAC;AAED,IAAA,MAAM,IAAI,GAAoB,CAAC,CAAC,KAC9B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACZ,UAAE;AACF;YACG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAiB;IAExD,OAAO;QACL,QAAQ;QACR,YAAY;QACZ,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;;;;"}
|
package/dist/brand/brand.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
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 StrictExtract<Primitive, string | number | bigint | boolean>, const BrandTrueKeys extends readonly string[], const BrandFalseKeys extends readonly string[] = []>({ baseType,
|
|
3
|
+
export declare const brand: <const A extends StrictExtract<Primitive, string | number | bigint | boolean>, const BrandTrueKeys extends readonly string[], const BrandFalseKeys extends readonly string[] = []>({ baseType, brandFalseKeys, brandKeys, defaultValue, is, typeName, }: Readonly<{
|
|
4
4
|
baseType: Type<A>;
|
|
5
5
|
is: (a: A) => a is Brand<A, ArrayToUnion<BrandTrueKeys>, ArrayToUnion<BrandFalseKeys>>;
|
|
6
6
|
defaultValue: A;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brand.d.mts","sourceRoot":"","sources":["../../src/brand/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,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAC5E,KAAK,CAAC,aAAa,SAAS,SAAS,MAAM,EAAE,EAC7C,KAAK,CAAC,cAAc,SAAS,SAAS,MAAM,EAAE,GAAG,EAAE,EACnD,sEAOC,QAAQ,CAAC;IACV,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,EAAE,EAAE,CACF,CAAC,EAAE,CAAC,KACD,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC;IAC9E,YAAY,EAAE,CAAC,CAAC;IAChB,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,
|
|
1
|
+
{"version":3,"file":"brand.d.mts","sourceRoot":"","sources":["../../src/brand/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,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAC5E,KAAK,CAAC,aAAa,SAAS,SAAS,MAAM,EAAE,EAC7C,KAAK,CAAC,cAAc,SAAS,SAAS,MAAM,EAAE,GAAG,EAAE,EACnD,sEAOC,QAAQ,CAAC;IACV,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,EAAE,EAAE,CACF,CAAC,EAAE,CAAC,KACD,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC;IAC9E,YAAY,EAAE,CAAC,CAAC;IAChB,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,CAiDpE,CAAC"}
|
package/dist/brand/brand.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { pipe, Result } from 'ts-data-forge';
|
|
2
2
|
import { createType } from '../utils/create-type.mjs';
|
|
3
3
|
|
|
4
|
-
const brand = ({ baseType,
|
|
4
|
+
const brand = ({ baseType, brandFalseKeys, brandKeys, defaultValue, is, typeName, }) => {
|
|
5
5
|
if (!is(defaultValue)) {
|
|
6
6
|
throw new Error(`defaultValue ${defaultValue} doesn't pass \`is\` function`);
|
|
7
7
|
}
|
|
@@ -22,8 +22,13 @@ const brand = ({ baseType, is, defaultValue, typeName, brandKeys, brandFalseKeys
|
|
|
22
22
|
actualValue: res.value,
|
|
23
23
|
expectedType: typeNameFilled,
|
|
24
24
|
typeName: typeNameFilled,
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
details:
|
|
26
|
+
// If typeName is specified, it will be used in the error message, so no further information is required.
|
|
27
|
+
typeName === undefined
|
|
28
|
+
? {
|
|
29
|
+
kind: 'brand',
|
|
30
|
+
description: brandKeysStr,
|
|
31
|
+
}
|
|
27
32
|
: undefined,
|
|
28
33
|
},
|
|
29
34
|
])).value;
|
package/dist/brand/brand.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brand.mjs","sources":["../../src/brand/brand.mts"],"sourcesContent":[null],"names":[],"mappings":";;;AAQO,MAAM,KAAK,GAAG,CAInB,EACA,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"brand.mjs","sources":["../../src/brand/brand.mts"],"sourcesContent":[null],"names":[],"mappings":";;;AAQO,MAAM,KAAK,GAAG,CAInB,EACA,QAAQ,EACR,cAAc,EACd,SAAS,EACT,YAAY,EACZ,EAAE,EACF,QAAQ,GAUR,KAEE;AAGF,IAAA,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE;AACrB,QAAA,MAAM,IAAI,KAAK,CACb,gBAAgB,YAAY,CAAA,6BAAA,CAA+B,CAC5D;IACH;AAEA,IAAA,MAAM,YAAY,GAAG;AACnB,QAAA,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAA,CAAA,EAAI,CAAC,CAAA,CAAA,CAAG,CAAC;AACjC,QAAA,IAAI,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAA,EAAA,CAAI,CAAC,IAAI,EAAE,CAAC;AACrD,KAAA,CAAC,IAAI,CAAC,KAAK,CAAC;AAEb,IAAA,MAAM,cAAc,GAAG,QAAQ,IAAI,YAAY;IAE/C,MAAM,QAAQ,GAAwB,CAAC,CAAC,KACtC,IAAI,CAAC,CAAC;AACH,SAAA,GAAG,CAAC,QAAQ,CAAC,QAAQ;SACrB,GAAG,CACF,CAAC,GAAG,KACF,MAAM,CAAC,KAAK,CAAC,GAAG;AACd,UAAE;AACF,UAAE,EAAE,CAAC,GAAG,CAAC,KAAK;cACV,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAiB;AACjC,cAAE,MAAM,CAAC,GAAG,CAAC;AACT,gBAAA;AACE,oBAAA,IAAI,EAAE,EAAE;oBACR,WAAW,EAAE,GAAG,CAAC,KAAK;AACtB,oBAAA,YAAY,EAAE,cAAc;AAC5B,oBAAA,QAAQ,EAAE,cAAc;oBACxB,OAAO;;AAEL,oBAAA,QAAQ,KAAK;AACX,0BAAE;AACE,4BAAA,IAAI,EAAE,OAAgB;AACtB,4BAAA,WAAW,EAAE,YAAY;AAC1B;AACH,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,5 +1,5 @@
|
|
|
1
1
|
import { type Type } from '../type.mjs';
|
|
2
|
-
export declare const brandedNumber: <K extends string>({
|
|
2
|
+
export declare const brandedNumber: <K extends string>({ defaultValue, is, typeName, }: Readonly<{
|
|
3
3
|
typeName: K;
|
|
4
4
|
defaultValue: number;
|
|
5
5
|
is?: (u: number) => u is Brand<number, K>;
|
|
@@ -9,7 +9,7 @@ export declare const brandedNumber: <K extends string>({ typeName, defaultValue,
|
|
|
9
9
|
*
|
|
10
10
|
* @deprecated use `brandedNumber`
|
|
11
11
|
*/
|
|
12
|
-
export declare const simpleBrandedNumber: <K extends string>({
|
|
12
|
+
export declare const simpleBrandedNumber: <K extends string>({ defaultValue, is, typeName, }: Readonly<{
|
|
13
13
|
typeName: K;
|
|
14
14
|
defaultValue: number;
|
|
15
15
|
is?: (u: number) => u is Brand<number, K>;
|
|
@@ -3,7 +3,7 @@ import '../other-types/unknown.mjs';
|
|
|
3
3
|
import { number } from '../primitives/number.mjs';
|
|
4
4
|
import { brand } from './brand.mjs';
|
|
5
5
|
|
|
6
|
-
const brandedNumber = ({
|
|
6
|
+
const brandedNumber = ({ defaultValue, is = (_u) => true, typeName, }) => brand({
|
|
7
7
|
baseType: number(defaultValue),
|
|
8
8
|
defaultValue:
|
|
9
9
|
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branded-number.mjs","sources":["../../src/brand/branded-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;MAIa,aAAa,GAAG,CAAmB,EAC9C,
|
|
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;IAE9B,YAAY;;IAEV,YAAgC;IAElC,EAAE;IACF,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,QAAQ;AACT,CAAA;AAEH;;;;AAIG;AACI,MAAM,mBAAmB,GAAG;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Type } from '../type.mjs';
|
|
2
|
-
export declare const brandedString: <K extends string>({
|
|
2
|
+
export declare const brandedString: <K extends string>({ defaultValue, is, typeName, }: Readonly<{
|
|
3
3
|
typeName: K;
|
|
4
4
|
defaultValue: string;
|
|
5
5
|
is?: (u: string) => u is Brand<string, K>;
|
|
@@ -9,7 +9,7 @@ export declare const brandedString: <K extends string>({ typeName, defaultValue,
|
|
|
9
9
|
*
|
|
10
10
|
* @deprecated use `brandedString`
|
|
11
11
|
*/
|
|
12
|
-
export declare const simpleBrandedString: <K extends string>({
|
|
12
|
+
export declare const simpleBrandedString: <K extends string>({ defaultValue, is, typeName, }: Readonly<{
|
|
13
13
|
typeName: K;
|
|
14
14
|
defaultValue: string;
|
|
15
15
|
is?: (u: string) => u is Brand<string, K>;
|
|
@@ -3,7 +3,7 @@ import '../other-types/unknown.mjs';
|
|
|
3
3
|
import { string } from '../primitives/string.mjs';
|
|
4
4
|
import { brand } from './brand.mjs';
|
|
5
5
|
|
|
6
|
-
const brandedString = ({
|
|
6
|
+
const brandedString = ({ defaultValue, is = (_u) => true, typeName, }) => brand({
|
|
7
7
|
baseType: string(defaultValue),
|
|
8
8
|
defaultValue:
|
|
9
9
|
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branded-string.mjs","sources":["../../src/brand/branded-string.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;MAIa,aAAa,GAAG,CAAmB,EAC9C,
|
|
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;IAE9B,YAAY;;IAEV,YAAgC;IAElC,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;
|
|
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,eAAe,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,KACD,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,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;;CAClE;AAsBD,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,EAAE,GACF,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;IAEd,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;;CACzD"}
|
|
@@ -16,10 +16,11 @@ const intersection = (types, defaultType, options) => {
|
|
|
16
16
|
path: [],
|
|
17
17
|
actualValue: a,
|
|
18
18
|
expectedType: typeNameFilled,
|
|
19
|
-
message: `The type of value is expected to match all types of { ${types
|
|
20
|
-
.map((t) => t.typeName)
|
|
21
|
-
.join(', ')} }`,
|
|
22
19
|
typeName: typeNameFilled,
|
|
20
|
+
details: {
|
|
21
|
+
kind: 'intersection',
|
|
22
|
+
typeNames: types.map((t) => t.typeName),
|
|
23
|
+
},
|
|
23
24
|
};
|
|
24
25
|
yield* res.value;
|
|
25
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intersection.mjs","sources":["../../src/compose/intersection.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"intersection.mjs","sources":["../../src/compose/intersection.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAUO,MAAM,YAAY,GAAG,CAC1B,KAAY,EACZ,WAAoC,EACpC,OAEE,KACyB;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,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-records.d.mts","sourceRoot":"","sources":["../../src/compose/merge-records.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"merge-records.d.mts","sourceRoot":"","sources":["../../src/compose/merge-records.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AASrD,eAAO,MAAM,YAAY,GACvB,KAAK,CAAC,KAAK,SAAS,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAEtD,OAAO,KAAK,EACZ,UAAU,eAAe,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;CACtC,CAAC,KACD,gBAAgB,CAAC,KAAK,CA6DxB,CAAC;AAEF,KAAK,gBAAgB,CAAC,KAAK,SAAS,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,IAAI,CAC5E,qBAAqB,CAAC,KAAK,CAAC,CAC7B,CAAC;AAEF,KAAK,qBAAqB,CAAC,KAAK,SAAS,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IACzE,YAAY,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AAEzD,kBAAU,kBAAkB,CAAC;IAC3B,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,SAAS,IAAI,CAAC,aAAa,CAAC,EAAE,IACrE,cAAc,CAAC,KAAK,CAAC,CAAC;IAExB,KAAK,cAAc,CAAC,KAAK,SAAS,SAAS,OAAO,EAAE,IAClD,KAAK,SAAS,SAAS,EAAE,GACrB,EAAE,GACF,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;IAEd,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;;CAC/D"}
|
|
@@ -16,10 +16,11 @@ const mergeRecords = (types, options) => {
|
|
|
16
16
|
path: [],
|
|
17
17
|
actualValue: a,
|
|
18
18
|
expectedType: typeNameFilled,
|
|
19
|
-
message: `The type of value is expected to match all types of { ${types
|
|
20
|
-
.map((t) => t.typeName)
|
|
21
|
-
.join(', ')} }`,
|
|
22
19
|
typeName: typeNameFilled,
|
|
20
|
+
details: {
|
|
21
|
+
kind: 'intersection',
|
|
22
|
+
typeNames: types.map((t) => t.typeName),
|
|
23
|
+
},
|
|
23
24
|
};
|
|
24
25
|
yield* res.value;
|
|
25
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-records.mjs","sources":["../../src/compose/merge-records.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"merge-records.mjs","sources":["../../src/compose/merge-records.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;MAUa,YAAY,GAAG,CAG1B,KAAY,EACZ,OAGE,KACyB;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;AAC5B,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,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,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,KAC9B,EAAE,CAAC,CAAC;AACF,UAAE;WACC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;AAC9B,YAAA,iBAAiB,CACf,QAAQ,CAAC,CAAC;kBACN,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpC,kBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAChC,CAAC;AAER,IAAA,MAAM,YAAY,GAChB,OAAO,EAAE,WAAW,EAAE,YAAY;AAClC,QAAA,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC;IAErD,OAAO;AACL,QAAA,QAAQ,EAAE,cAAc;QACxB,YAAY;QACZ,IAAI;QACJ,QAAQ;QACR,EAAE;AACF,QAAA,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,QAAA,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;KAC7B;AACH;AA8IA,MAAM,iBAAiB,GAAG,CACxB,IAAQ;AAER;AACA,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,MAAM,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAqB;;;;"}
|
|
@@ -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,eAAe,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;CAC/B,CAAC,KACD,SAAS,CAAC,KAAK,
|
|
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,eAAe,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;CAC/B,CAAC,KACD,SAAS,CAAC,KAAK,CAuCjB,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"}
|
package/dist/compose/union.mjs
CHANGED
|
@@ -16,10 +16,11 @@ const union = (types, options) => {
|
|
|
16
16
|
path: [],
|
|
17
17
|
actualValue: a,
|
|
18
18
|
expectedType: typeNameFilled,
|
|
19
|
-
message: `The type of value is expected to be one of the elements contained in { ${types
|
|
20
|
-
.map((t) => t.typeName)
|
|
21
|
-
.join(', ')} }`,
|
|
22
19
|
typeName: typeNameFilled,
|
|
20
|
+
details: {
|
|
21
|
+
kind: 'union',
|
|
22
|
+
typeNames: types.map((t) => t.typeName),
|
|
23
|
+
},
|
|
23
24
|
},
|
|
24
25
|
]);
|
|
25
26
|
const is = createIsFn(validate);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"union.mjs","sources":["../../src/compose/union.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;MAUa,KAAK,GAAG,CACnB,KAAY,EACZ,OAGE,KACkB;;IAIpB,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAK,KAAK,CAAC,CAAC,CAAsB;IAE1E,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;
|
|
1
|
+
{"version":3,"file":"union.mjs","sources":["../../src/compose/union.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;MAUa,KAAK,GAAG,CACnB,KAAY,EACZ,OAGE,KACkB;;IAIpB,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAK,KAAK,CAAC,CAAC,CAAsB;IAE1E,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,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;;;;"}
|
package/dist/enum/enum.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.d.mts","sourceRoot":"","sources":["../../src/enum/enum.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAQxC,eAAO,MAAM,QAAQ,GAAI,KAAK,CAAC,MAAM,SAAS,aAAa,CAAC,SAAS,CAAC,EACpE,QAAQ,MAAM,EACd,UAAU,eAAe,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CACpC,CAAC,KACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"enum.d.mts","sourceRoot":"","sources":["../../src/enum/enum.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAQxC,eAAO,MAAM,QAAQ,GAAI,KAAK,CAAC,MAAM,SAAS,aAAa,CAAC,SAAS,CAAC,EACpE,QAAQ,MAAM,EACd,UAAU,eAAe,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CACpC,CAAC,KACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CA2C3B,CAAC"}
|
package/dist/enum/enum.mjs
CHANGED
|
@@ -19,8 +19,11 @@ const enumType = (values, options) => {
|
|
|
19
19
|
path: [],
|
|
20
20
|
actualValue: a,
|
|
21
21
|
expectedType: typeName,
|
|
22
|
-
message: `The value is expected to be one of the elements contained in { ${values.join(', ')} }`,
|
|
23
22
|
typeName,
|
|
23
|
+
details: {
|
|
24
|
+
kind: 'enum',
|
|
25
|
+
values,
|
|
26
|
+
},
|
|
24
27
|
},
|
|
25
28
|
]);
|
|
26
29
|
const is = createIsFn(validate);
|
package/dist/enum/enum.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.mjs","sources":["../../src/enum/enum.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;MASa,QAAQ,GAAG,CACtB,MAAc,EACd,OAGE,KAC4B;IAG9B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;AAEpC,IAAA,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,MAAM;AAE5C,IAAA,MAAM,YAAY,GAChB,OAAO,EAAE,YAAY;;QAEpB,MAAM,CAAC,CAAC,CAA0B;AAErC,IAAA,MAAM,QAAQ,GAAwB,CAAC,CAAC;;AAEtC,IAAA,QAAQ,CAAC,GAAG,CAAC,CAAc;AACzB;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,QAAQ;gBACtB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"enum.mjs","sources":["../../src/enum/enum.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;MASa,QAAQ,GAAG,CACtB,MAAc,EACd,OAGE,KAC4B;IAG9B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;AAEpC,IAAA,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,MAAM;AAE5C,IAAA,MAAM,YAAY,GAChB,OAAO,EAAE,YAAY;;QAEpB,MAAM,CAAC,CAAC,CAA0B;AAErC,IAAA,MAAM,QAAQ,GAAwB,CAAC,CAAC;;AAEtC,IAAA,QAAQ,CAAC,GAAG,CAAC,CAAc;AACzB;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,QAAQ;gBACtB,QAAQ;AACR,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,MAAM;oBACZ,MAAM;AACP,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,YAAY,CAAC;IAE/D,OAAO;AACL,QAAA,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,MAAM;QACrC,YAAY;QACZ,IAAI;QACJ,QAAQ;QACR,EAAE;AACF,QAAA,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,QAAA,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;KAC7B;AACH;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Type } from '../type.mjs';
|
|
2
|
-
export declare const intRange: <Start extends Int8 | -128, End extends Int8 | 128>({
|
|
2
|
+
export declare const intRange: <Start extends Int8 | -128, End extends Int8 | 128>({ end, start, ...options }: Readonly<{
|
|
3
3
|
start: Start;
|
|
4
4
|
end: End;
|
|
5
5
|
typeName?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"int-range.d.mts","sourceRoot":"","sources":["../../src/enum/int-range.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAQxC,eAAO,MAAM,QAAQ,GAAI,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,GAAG,GAAG,EAAE,4BAIzE,QAAQ,CAAC;IACV,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;CACrC,CAAC,KAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"int-range.d.mts","sourceRoot":"","sources":["../../src/enum/int-range.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAQxC,eAAO,MAAM,QAAQ,GAAI,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,GAAG,GAAG,EAAE,4BAIzE,QAAQ,CAAC;IACV,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;CACrC,CAAC,KAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CA4C7B,CAAC;AAEF,KAAK,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AACxC,KAAK,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AAEzC,KAAK,QAAQ,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,GAAG,GAAG,IAC7D,OAAO,CACL,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,EACjC,WAAW,CAAC,GAAG,EAAE,aAAa,CAAC,CAChC,SAAS,IAAI,GACV,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,GACrB,OAAO,CACH,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,EACjC,WAAW,CAAC,GAAG,EAAE,aAAa,CAAC,CAChC,SAAS,IAAI,GACd,aAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GACrD,OAAO,CACH,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,EACjC,WAAW,CAAC,GAAG,EAAE,aAAa,CAAC,CAChC,SAAS,IAAI,GACd,KAAK,GACL,OAAO,CACH,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,EACjC,WAAW,CAAC,GAAG,EAAE,aAAa,CAAC,CAChC,SAAS,IAAI,GACd,OAAO,CACL,aAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EACxC,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CACvC,GACD,KAAK,CAAC;AAElB,KAAK,kBAAkB,CAAC,CAAC,SAAS,MAAM,IACtC,GAAG,CAAC,EAAE,SAAS,IAAI,MAAM,CAAC,SAAS,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC"}
|