ts-fortress 7.0.7 → 7.2.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 +2 -0
- package/dist/array/array-at-most-length.d.mts +8 -0
- package/dist/array/array-at-most-length.d.mts.map +1 -0
- package/dist/array/array-at-most-length.mjs +73 -0
- package/dist/array/array-at-most-length.mjs.map +1 -0
- package/dist/array/array-bounded-length.d.mts +8 -0
- package/dist/array/array-bounded-length.d.mts.map +1 -0
- package/dist/array/array-bounded-length.mjs +80 -0
- package/dist/array/array-bounded-length.mjs.map +1 -0
- package/dist/array/index.d.mts +2 -0
- package/dist/array/index.d.mts.map +1 -1
- package/dist/array/index.mjs +2 -0
- package/dist/array/index.mjs.map +1 -1
- package/dist/entry-point.mjs +3 -0
- package/dist/entry-point.mjs.map +1 -1
- package/dist/index.mjs +3 -0
- package/dist/index.mjs.map +1 -1
- package/dist/predefined/brand/index.mjs +1 -0
- package/dist/predefined/brand/index.mjs.map +1 -1
- package/dist/predefined/brand/string/email.d.mts +1 -1
- package/dist/predefined/brand/string/email.d.mts.map +1 -1
- package/dist/predefined/brand/string/email.mjs +5 -2
- package/dist/predefined/brand/string/email.mjs.map +1 -1
- package/dist/predefined/brand/string/index.d.mts +1 -0
- package/dist/predefined/brand/string/index.d.mts.map +1 -1
- package/dist/predefined/brand/string/index.mjs +1 -0
- package/dist/predefined/brand/string/index.mjs.map +1 -1
- package/dist/predefined/brand/string/iso-8601.d.mts +1 -1
- package/dist/predefined/brand/string/iso-8601.d.mts.map +1 -1
- package/dist/predefined/brand/string/iso-8601.mjs +4 -2
- package/dist/predefined/brand/string/iso-8601.mjs.map +1 -1
- package/dist/predefined/brand/string/json-string.d.mts +1 -1
- package/dist/predefined/brand/string/json-string.d.mts.map +1 -1
- package/dist/predefined/brand/string/json-string.mjs +5 -2
- package/dist/predefined/brand/string/json-string.mjs.map +1 -1
- package/dist/predefined/brand/string/non-empty-string.d.mts +5 -0
- package/dist/predefined/brand/string/non-empty-string.d.mts.map +1 -0
- package/dist/predefined/brand/string/non-empty-string.mjs +16 -0
- package/dist/predefined/brand/string/non-empty-string.mjs.map +1 -0
- package/dist/predefined/brand/string/uuid.d.mts +4 -4
- package/dist/predefined/brand/string/uuid.d.mts.map +1 -1
- package/dist/predefined/brand/string/uuid.mjs +1 -1
- package/dist/predefined/brand/string/uuid.mjs.map +1 -1
- package/dist/predefined/index.mjs +1 -0
- package/dist/predefined/index.mjs.map +1 -1
- package/dist/utils/validation-error.d.mts +9 -0
- package/dist/utils/validation-error.d.mts.map +1 -1
- package/dist/utils/validation-error.mjs +4 -0
- package/dist/utils/validation-error.mjs.map +1 -1
- package/package.json +15 -15
- package/src/array/array-at-most-length.mts +106 -0
- package/src/array/array-at-most-length.test.mts +206 -0
- package/src/array/array-bounded-length.mts +118 -0
- package/src/array/array-bounded-length.test.mts +252 -0
- package/src/array/index.mts +2 -0
- package/src/predefined/brand/string/email.mts +7 -3
- package/src/predefined/brand/string/email.test.mts +3 -0
- package/src/predefined/brand/string/index.mts +1 -0
- package/src/predefined/brand/string/iso-8601.mts +7 -3
- package/src/predefined/brand/string/iso-8601.test.mts +3 -0
- package/src/predefined/brand/string/json-string.mts +8 -3
- package/src/predefined/brand/string/json-string.test.mts +3 -0
- package/src/predefined/brand/string/non-empty-string.mts +24 -0
- package/src/predefined/brand/string/non-empty-string.test.mts +54 -0
- package/src/predefined/brand/string/uuid.mts +9 -7
- package/src/predefined/brand/string/uuid.test.mts +3 -0
- package/src/utils/validation-error.mts +17 -0
package/README.md
CHANGED
|
@@ -1040,6 +1040,8 @@ type ValidationError = Readonly<{
|
|
|
1040
1040
|
- `t.tuple([t1, t2, ..., tN])` - Fixed-length tuple validation
|
|
1041
1041
|
- `t.arrayOfLength(size, elementType)` - Fixed-length array validation
|
|
1042
1042
|
- `t.arrayAtLeastLength(size, elementType)` - Array validation with a minimum length
|
|
1043
|
+
- `t.arrayAtMostLength(size, elementType)` - Array validation with a maximum length
|
|
1044
|
+
- `t.arrayBoundedLength(min, max, elementType)` - Array validation with a length between `min` and `max` (inclusive)
|
|
1043
1045
|
|
|
1044
1046
|
### Objects
|
|
1045
1047
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ArrayAtMostLen, type SmallUint } from 'ts-type-forge';
|
|
2
|
+
import { type Type } from '../type.mjs';
|
|
3
|
+
export type { ArrayAtMostLen } from 'ts-type-forge';
|
|
4
|
+
export declare const arrayAtMostLength: <A, N extends SmallUint>(size: N, elementType: Type<A>, options?: Partial<Readonly<{
|
|
5
|
+
typeName: string;
|
|
6
|
+
defaultValue: ArrayAtMostLen<N, A>;
|
|
7
|
+
}>>) => Type<ArrayAtMostLen<N, A>>;
|
|
8
|
+
//# sourceMappingURL=array-at-most-length.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-at-most-length.d.mts","sourceRoot":"","sources":["../../src/array/array-at-most-length.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAUxC,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAE,CAAC,SAAS,SAAS,EACtD,MAAM,CAAC,EACP,aAAa,IAAI,CAAC,CAAC,CAAC,EACpB,UAAU,OAAO,CACf,QAAQ,CAAC;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACpC,CAAC,CACH,KACA,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAkF3B,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { memoizeFunction, Arr, Result } from 'ts-data-forge';
|
|
2
|
+
import { createAssertFn } from '../utils/create-assert-fn.mjs';
|
|
3
|
+
import { createCastFn } from '../utils/create-cast-fn.mjs';
|
|
4
|
+
import { createIsFn } from '../utils/create-is-fn.mjs';
|
|
5
|
+
import { createPrimitiveValidationError, prependIndexToValidationErrors } from '../utils/validation-error.mjs';
|
|
6
|
+
|
|
7
|
+
const arrayAtMostLength = (size, elementType, options) => {
|
|
8
|
+
const typeName = options?.typeName ?? `ArrayAtMostLen<${size}, ${elementType.typeName}>`;
|
|
9
|
+
const getDefaultValue = memoizeFunction(() => options?.defaultValue ??
|
|
10
|
+
// The empty array is the shortest value satisfying `length <= size`.
|
|
11
|
+
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
12
|
+
Arr.create(0, elementType.defaultValue));
|
|
13
|
+
const validate = (a) => {
|
|
14
|
+
if (!Arr.isArray(a)) {
|
|
15
|
+
return Result.err([
|
|
16
|
+
createPrimitiveValidationError({
|
|
17
|
+
actualValue: a,
|
|
18
|
+
expectedType: 'array',
|
|
19
|
+
typeName,
|
|
20
|
+
details: undefined,
|
|
21
|
+
}),
|
|
22
|
+
]);
|
|
23
|
+
}
|
|
24
|
+
if (a.length > size) {
|
|
25
|
+
return Result.err([
|
|
26
|
+
{
|
|
27
|
+
path: [],
|
|
28
|
+
actualValue: a,
|
|
29
|
+
expectedType: typeName,
|
|
30
|
+
typeName,
|
|
31
|
+
details: {
|
|
32
|
+
kind: 'array-max-length',
|
|
33
|
+
maxLength: size,
|
|
34
|
+
actualLength: a.length,
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
]);
|
|
38
|
+
}
|
|
39
|
+
const errors = Arr.generate(function* () {
|
|
40
|
+
for (const [index, el] of a.entries()) {
|
|
41
|
+
const res = elementType.validate(el);
|
|
42
|
+
if (Result.isErr(res)) {
|
|
43
|
+
yield* prependIndexToValidationErrors(res.value, index);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
if (Arr.isNonEmpty(errors)) {
|
|
48
|
+
return Result.err(errors);
|
|
49
|
+
}
|
|
50
|
+
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
51
|
+
return Result.ok(a);
|
|
52
|
+
};
|
|
53
|
+
const fill = (a) => Arr.isArray(a)
|
|
54
|
+
? // Keep the input but trim down to at most `size` elements.
|
|
55
|
+
// TODO: remove as
|
|
56
|
+
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
57
|
+
Arr.map(Arr.take(a, size), (el) => elementType.fill(el))
|
|
58
|
+
: getDefaultValue();
|
|
59
|
+
return {
|
|
60
|
+
typeName,
|
|
61
|
+
get defaultValue() {
|
|
62
|
+
return getDefaultValue();
|
|
63
|
+
},
|
|
64
|
+
fill,
|
|
65
|
+
validate,
|
|
66
|
+
is: createIsFn(validate),
|
|
67
|
+
cast: createCastFn(validate),
|
|
68
|
+
assertIs: createAssertFn(validate),
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export { arrayAtMostLength };
|
|
73
|
+
//# sourceMappingURL=array-at-most-length.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-at-most-length.mjs","sources":["../../src/array/array-at-most-length.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAcO,MAAM,iBAAiB,GAAG,CAC/B,IAAO,EACP,WAAoB,EACpB,OAKC,KAC6B;AAG9B,IAAA,MAAM,QAAQ,GACZ,OAAO,EAAE,QAAQ,IAAI,CAAA,eAAA,EAAkB,IAAI,CAAA,EAAA,EAAK,WAAW,CAAC,QAAQ,GAAG;IAEzE,MAAM,eAAe,GAAG,eAAe,CACrC,MACE,OAAO,EAAE,YAAY;;;QAGpB,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,YAAY,CAAO,CACjD;AAED,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;AAEpC,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,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AAC1B,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;;;YAGG,GAAG,CAAC,GAAG,CACN,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EACjB,CAAC,EAAE,KAAK,WAAW,CAAC,IAAI,CAAC,EAAE,CAAa;UAE1C,eAAe,EAAE;IAEvB,OAAO;QACL,QAAQ;AACR,QAAA,IAAI,YAAY,GAAA;YACd,OAAO,eAAe,EAAE;QAC1B,CAAC;QACD,IAAI;QACJ,QAAQ;AACR,QAAA,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC;AACxB,QAAA,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;AAC5B,QAAA,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;KACnC;AACH;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ArrayBoundedLen, type SmallUint } from 'ts-type-forge';
|
|
2
|
+
import { type Type } from '../type.mjs';
|
|
3
|
+
export type { ArrayBoundedLen } from 'ts-type-forge';
|
|
4
|
+
export declare const arrayBoundedLength: <A, Min extends SmallUint, Max extends SmallUint>(min: Min, max: Max, elementType: Type<A>, options?: Partial<Readonly<{
|
|
5
|
+
typeName: string;
|
|
6
|
+
defaultValue: ArrayBoundedLen<Min, Max, A>;
|
|
7
|
+
}>>) => Type<ArrayBoundedLen<Min, Max, A>>;
|
|
8
|
+
//# sourceMappingURL=array-bounded-length.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-bounded-length.d.mts","sourceRoot":"","sources":["../../src/array/array-bounded-length.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAUxC,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,eAAO,MAAM,kBAAkB,GAC7B,CAAC,EACD,GAAG,SAAS,SAAS,EACrB,GAAG,SAAS,SAAS,EAErB,KAAK,GAAG,EACR,KAAK,GAAG,EACR,aAAa,IAAI,CAAC,CAAC,CAAC,EACpB,UAAU,OAAO,CACf,QAAQ,CAAC;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;CAC5C,CAAC,CACH,KACA,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAyFnC,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { memoizeFunction, Arr, Result } from 'ts-data-forge';
|
|
2
|
+
import { createAssertFn } from '../utils/create-assert-fn.mjs';
|
|
3
|
+
import { createCastFn } from '../utils/create-cast-fn.mjs';
|
|
4
|
+
import { createIsFn } from '../utils/create-is-fn.mjs';
|
|
5
|
+
import { createPrimitiveValidationError, prependIndexToValidationErrors } from '../utils/validation-error.mjs';
|
|
6
|
+
|
|
7
|
+
const arrayBoundedLength = (min, max, elementType, options) => {
|
|
8
|
+
const typeName = options?.typeName ??
|
|
9
|
+
`ArrayBoundedLen<${min}, ${max}, ${elementType.typeName}>`;
|
|
10
|
+
const getDefaultValue = memoizeFunction(() => options?.defaultValue ??
|
|
11
|
+
// An array of the minimum length is the shortest value within the range.
|
|
12
|
+
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
13
|
+
Arr.create(min, elementType.defaultValue));
|
|
14
|
+
const validate = (a) => {
|
|
15
|
+
if (!Arr.isArray(a)) {
|
|
16
|
+
return Result.err([
|
|
17
|
+
createPrimitiveValidationError({
|
|
18
|
+
actualValue: a,
|
|
19
|
+
expectedType: 'array',
|
|
20
|
+
typeName,
|
|
21
|
+
details: undefined,
|
|
22
|
+
}),
|
|
23
|
+
]);
|
|
24
|
+
}
|
|
25
|
+
if (a.length < min || max < a.length) {
|
|
26
|
+
return Result.err([
|
|
27
|
+
{
|
|
28
|
+
path: [],
|
|
29
|
+
actualValue: a,
|
|
30
|
+
expectedType: typeName,
|
|
31
|
+
typeName,
|
|
32
|
+
details: {
|
|
33
|
+
kind: 'array-range-length',
|
|
34
|
+
minLength: min,
|
|
35
|
+
maxLength: max,
|
|
36
|
+
actualLength: a.length,
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
]);
|
|
40
|
+
}
|
|
41
|
+
const errors = Arr.generate(function* () {
|
|
42
|
+
for (const [index, el] of a.entries()) {
|
|
43
|
+
const res = elementType.validate(el);
|
|
44
|
+
if (Result.isErr(res)) {
|
|
45
|
+
yield* prependIndexToValidationErrors(res.value, index);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
if (Arr.isNonEmpty(errors)) {
|
|
50
|
+
return Result.err(errors);
|
|
51
|
+
}
|
|
52
|
+
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
53
|
+
return Result.ok(a);
|
|
54
|
+
};
|
|
55
|
+
const fill = (a) => {
|
|
56
|
+
if (!Arr.isArray(a)) {
|
|
57
|
+
return getDefaultValue();
|
|
58
|
+
}
|
|
59
|
+
// Trim down to at most `max`, then pad up to at least `min`.
|
|
60
|
+
const capped = Arr.take(a, max);
|
|
61
|
+
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
62
|
+
return (capped.length >= min
|
|
63
|
+
? Arr.map(capped, (el) => elementType.fill(el))
|
|
64
|
+
: Arr.map(Arr.seq(min), (i) => elementType.fill(capped[i])));
|
|
65
|
+
};
|
|
66
|
+
return {
|
|
67
|
+
typeName,
|
|
68
|
+
get defaultValue() {
|
|
69
|
+
return getDefaultValue();
|
|
70
|
+
},
|
|
71
|
+
fill,
|
|
72
|
+
validate,
|
|
73
|
+
is: createIsFn(validate),
|
|
74
|
+
cast: createCastFn(validate),
|
|
75
|
+
assertIs: createAssertFn(validate),
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export { arrayBoundedLength };
|
|
80
|
+
//# sourceMappingURL=array-bounded-length.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-bounded-length.mjs","sources":["../../src/array/array-bounded-length.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/array/index.d.mts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/array/index.mts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/array/index.mts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC"}
|
package/dist/array/index.mjs
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { arrayAtLeastLength } from './array-at-least-length.mjs';
|
|
2
|
+
export { arrayAtMostLength } from './array-at-most-length.mjs';
|
|
3
|
+
export { arrayBoundedLength } from './array-bounded-length.mjs';
|
|
2
4
|
export { arrayOfLength } from './array-of-length.mjs';
|
|
3
5
|
export { array } from './array.mjs';
|
|
4
6
|
export { nonEmptyArray } from './non-empty-array.mjs';
|
package/dist/array/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
package/dist/entry-point.mjs
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { FiniteNumber, Int, Int16, Int32, Int8, NonNegativeFiniteNumber, NonNegativeInt16, NonNegativeInt32, NonZeroFiniteNumber, NonZeroInt, NonZeroInt16, NonZeroInt32, NonZeroSafeInt, NonZeroUint16, NonZeroUint32, PositiveFiniteNumber, PositiveInt, PositiveInt16, PositiveInt32, PositiveSafeInt, PositiveUint16, PositiveUint32, Result, SafeInt, SafeUint, Uint, Uint16, Uint32, Uint8, asFiniteNumber, asInt, asInt16, asInt32, asInt8, asNonNegativeFiniteNumber, asNonNegativeInt16, asNonNegativeInt32, asNonZeroFiniteNumber, asNonZeroInt, asNonZeroInt16, asNonZeroInt32, asNonZeroSafeInt, asNonZeroUint16, asNonZeroUint32, asPositiveFiniteNumber, asPositiveInt, asPositiveInt16, asPositiveInt32, asPositiveSafeInt, asPositiveUint16, asPositiveUint32, asSafeInt, asSafeUint, asUint, asUint16, asUint32, asUint8, isBigint, isFiniteNumber, isInt, isInt16, isInt32, isInt8, isNonNegativeFiniteNumber, isNonNegativeInt16, isNonNegativeInt32, isNonZeroFiniteNumber, isNonZeroInt, isNonZeroInt16, isNonZeroInt32, isNonZeroSafeInt, isNonZeroUint16, isNonZeroUint32, isPositiveFiniteNumber, isPositiveInt, isPositiveInt16, isPositiveInt32, isPositiveSafeInt, isPositiveUint16, isPositiveUint32, isSafeInt, isSafeUint, isUint, isUint16, isUint32, isUint8 } from 'ts-data-forge';
|
|
2
2
|
export { arrayAtLeastLength } from './array/array-at-least-length.mjs';
|
|
3
|
+
export { arrayAtMostLength } from './array/array-at-most-length.mjs';
|
|
4
|
+
export { arrayBoundedLength } from './array/array-bounded-length.mjs';
|
|
3
5
|
export { arrayOfLength } from './array/array-of-length.mjs';
|
|
4
6
|
export { array } from './array/array.mjs';
|
|
5
7
|
export { nonEmptyArray } from './array/non-empty-array.mjs';
|
|
@@ -38,6 +40,7 @@ export { uint32 } from './predefined/brand/number/uint32.mjs';
|
|
|
38
40
|
export { email } from './predefined/brand/string/email.mjs';
|
|
39
41
|
export { iso8601 } from './predefined/brand/string/iso-8601.mjs';
|
|
40
42
|
export { jsonString } from './predefined/brand/string/json-string.mjs';
|
|
43
|
+
export { nonEmptyString } from './predefined/brand/string/non-empty-string.mjs';
|
|
41
44
|
export { uuid, uuidV4, uuidV6, uuidV7 } from './predefined/brand/string/uuid.mjs';
|
|
42
45
|
export { int8 } from './predefined/int8.mjs';
|
|
43
46
|
export { JsonObject, JsonPrimitive, JsonValue } from './predefined/json.mjs';
|
package/dist/entry-point.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-point.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entry-point.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { arrayAtLeastLength } from './array/array-at-least-length.mjs';
|
|
2
|
+
export { arrayAtMostLength } from './array/array-at-most-length.mjs';
|
|
3
|
+
export { arrayBoundedLength } from './array/array-bounded-length.mjs';
|
|
2
4
|
export { arrayOfLength } from './array/array-of-length.mjs';
|
|
3
5
|
export { array } from './array/array.mjs';
|
|
4
6
|
export { nonEmptyArray } from './array/non-empty-array.mjs';
|
|
@@ -37,6 +39,7 @@ export { uint32 } from './predefined/brand/number/uint32.mjs';
|
|
|
37
39
|
export { email } from './predefined/brand/string/email.mjs';
|
|
38
40
|
export { iso8601 } from './predefined/brand/string/iso-8601.mjs';
|
|
39
41
|
export { jsonString } from './predefined/brand/string/json-string.mjs';
|
|
42
|
+
export { nonEmptyString } from './predefined/brand/string/non-empty-string.mjs';
|
|
40
43
|
export { uuid, uuidV4, uuidV6, uuidV7 } from './predefined/brand/string/uuid.mjs';
|
|
41
44
|
export { int8 } from './predefined/int8.mjs';
|
|
42
45
|
export { JsonObject, JsonPrimitive, JsonValue } from './predefined/json.mjs';
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -17,5 +17,6 @@ export { uint32 } from './number/uint32.mjs';
|
|
|
17
17
|
export { email } from './string/email.mjs';
|
|
18
18
|
export { iso8601 } from './string/iso-8601.mjs';
|
|
19
19
|
export { jsonString } from './string/json-string.mjs';
|
|
20
|
+
export { nonEmptyString } from './string/non-empty-string.mjs';
|
|
20
21
|
export { uuid, uuidV4, uuidV6, uuidV7 } from './string/uuid.mjs';
|
|
21
22
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Brand } from 'ts-type-forge';
|
|
2
2
|
import { type Type } from '../../../type.mjs';
|
|
3
|
-
export type Email = Brand<string, 'Email'>;
|
|
3
|
+
export type Email = Brand<string, 'Email' | 'NonEmptyString'>;
|
|
4
4
|
/**
|
|
5
5
|
* @link https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address
|
|
6
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.d.mts","sourceRoot":"","sources":["../../../../src/predefined/brand/string/email.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"email.d.mts","sourceRoot":"","sources":["../../../../src/predefined/brand/string/email.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAG9C,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,gBAAgB,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,KAAK,GAChB,UAAU,OAAO,CACf,QAAQ,CAAC;IACP,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CACH,KACA,IAAI,CAAC,KAAK,CAOT,CAAC"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
+
import { brand } from '../../../brand/brand.mjs';
|
|
1
2
|
import 'ts-data-forge';
|
|
2
3
|
import '@sindresorhus/is';
|
|
3
4
|
import '../../../other-types/unknown.mjs';
|
|
4
|
-
import {
|
|
5
|
+
import { string } from '../../../primitives/string.mjs';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* @link https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address
|
|
8
9
|
*/
|
|
9
|
-
const email = (options) =>
|
|
10
|
+
const email = (options) => brand({
|
|
11
|
+
baseType: string(options?.defaultValue ?? defaultEmail),
|
|
10
12
|
is: (s) => regexpEmailAddress.test(s),
|
|
11
13
|
defaultValue: options?.defaultValue ?? defaultEmail,
|
|
14
|
+
brandKeys: ['Email', 'NonEmptyString'],
|
|
12
15
|
typeName: 'Email',
|
|
13
16
|
});
|
|
14
17
|
const defaultEmail = 'ts-f.o.r.t.r.e.s.s@gmail.com';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.mjs","sources":["../../../../src/predefined/brand/string/email.mts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"email.mjs","sources":["../../../../src/predefined/brand/string/email.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAQA;;AAEG;AACI,MAAM,KAAK,GAAG,CACnB,OAIC,KAED,KAAK,CAAC;IACJ,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,YAAY,IAAI,YAAY,CAAC;IACvD,EAAE,EAAE,CAAC,CAAC,KAAiB,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;AACjD,IAAA,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,YAAY;AACnD,IAAA,SAAS,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC;AACtC,IAAA,QAAQ,EAAE,OAAO;AAClB,CAAA;AAEH,MAAM,YAAY,GAAG,8BAA8B;AAEnD,MAAM,kBAAkB;AACtB;AACA,uIAAuI;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../../src/predefined/brand/string/index.mts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../../src/predefined/brand/string/index.mts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { email } from './email.mjs';
|
|
2
2
|
export { iso8601 } from './iso-8601.mjs';
|
|
3
3
|
export { jsonString } from './json-string.mjs';
|
|
4
|
+
export { nonEmptyString } from './non-empty-string.mjs';
|
|
4
5
|
export { uuid, uuidV4, uuidV6, uuidV7 } from './uuid.mjs';
|
|
5
6
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Brand } from 'ts-type-forge';
|
|
2
2
|
import { type Type, type TypeOf } from '../../../type.mjs';
|
|
3
|
-
export type Iso8601 = Brand<string, 'Iso8601'>;
|
|
3
|
+
export type Iso8601 = Brand<string, 'Iso8601' | 'NonEmptyString'>;
|
|
4
4
|
/**
|
|
5
5
|
* @link https://github.com/validatorjs/validator.js/tree/v13.1.17?tab=readme-ov-file#validators
|
|
6
6
|
* @link https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iso-8601.d.mts","sourceRoot":"","sources":["../../../../src/predefined/brand/string/iso-8601.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAmB,MAAM,eAAe,CAAC;AAI5D,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"iso-8601.d.mts","sourceRoot":"","sources":["../../../../src/predefined/brand/string/iso-8601.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAmB,MAAM,eAAe,CAAC;AAI5D,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI3D,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,SAAS,GAAG,gBAAgB,CAAC,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,UAAU,sBAAsB,KAAG,IAAI,CAAC,OAAO,CAYtE,CAAC;AAEF,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe1B,CAAC;AAEH,KAAK,sBAAsB,GAAG,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { brand } from '../../../brand/brand.mjs';
|
|
1
2
|
import 'ts-data-forge';
|
|
2
3
|
import '@sindresorhus/is';
|
|
3
4
|
import '../../../other-types/unknown.mjs';
|
|
4
5
|
import { boolean } from '../../../primitives/boolean.mjs';
|
|
5
6
|
import { string } from '../../../primitives/string.mjs';
|
|
6
|
-
import { brandedString } from '../../../brand/branded-string.mjs';
|
|
7
7
|
import { record } from '../../../record/record.mjs';
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -14,9 +14,11 @@ import { record } from '../../../record/record.mjs';
|
|
|
14
14
|
const iso8601 = (options) => {
|
|
15
15
|
const filledOptions = ISO8601ValidatorOption.fill(options);
|
|
16
16
|
const is = isISO8601(filledOptions);
|
|
17
|
-
return
|
|
17
|
+
return brand({
|
|
18
|
+
baseType: string(filledOptions.defaultValue),
|
|
18
19
|
is,
|
|
19
20
|
defaultValue: filledOptions.defaultValue,
|
|
21
|
+
brandKeys: ['Iso8601', 'NonEmptyString'],
|
|
20
22
|
typeName: 'Iso8601',
|
|
21
23
|
});
|
|
22
24
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iso-8601.mjs","sources":["../../../../src/predefined/brand/string/iso-8601.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"iso-8601.mjs","sources":["../../../../src/predefined/brand/string/iso-8601.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Brand } from 'ts-type-forge';
|
|
2
2
|
import { type Type } from '../../../type.mjs';
|
|
3
|
-
export type JsonString = Brand<string, 'JsonString'>;
|
|
3
|
+
export type JsonString = Brand<string, 'JsonString' | 'NonEmptyString'>;
|
|
4
4
|
/**
|
|
5
5
|
* @link https://github.com/validatorjs/validator.js/tree/v13.1.17?tab=readme-ov-file#validators
|
|
6
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-string.d.mts","sourceRoot":"","sources":["../../../../src/predefined/brand/string/json-string.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"json-string.d.mts","sourceRoot":"","sources":["../../../../src/predefined/brand/string/json-string.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAI9C,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,gBAAgB,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,UAAU,GACrB,UAAU,OAAO,CACf,QAAQ,CAAC;IACP,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CACH,KACA,IAAI,CAAC,UAAU,CAOd,CAAC"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { isNonNullObject } from 'ts-data-forge';
|
|
2
|
+
import { brand } from '../../../brand/brand.mjs';
|
|
2
3
|
import '@sindresorhus/is';
|
|
3
4
|
import '../../../other-types/unknown.mjs';
|
|
4
|
-
import {
|
|
5
|
+
import { string } from '../../../primitives/string.mjs';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* @link https://github.com/validatorjs/validator.js/tree/v13.1.17?tab=readme-ov-file#validators
|
|
8
9
|
*/
|
|
9
|
-
const jsonString = (options) =>
|
|
10
|
+
const jsonString = (options) => brand({
|
|
11
|
+
baseType: string(options?.defaultValue ?? defaultJsonString),
|
|
10
12
|
is: isJsonString,
|
|
11
13
|
defaultValue: options?.defaultValue ?? defaultJsonString,
|
|
14
|
+
brandKeys: ['JsonString', 'NonEmptyString'],
|
|
12
15
|
typeName: 'JsonString',
|
|
13
16
|
});
|
|
14
17
|
const defaultJsonString = '{}';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-string.mjs","sources":["../../../../src/predefined/brand/string/json-string.mts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"json-string.mjs","sources":["../../../../src/predefined/brand/string/json-string.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAUA;;AAEG;AACI,MAAM,UAAU,GAAG,CACxB,OAIC,KAED,KAAK,CAAC;IACJ,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,YAAY,IAAI,iBAAiB,CAAC;AAC5D,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,iBAAiB;AACxD,IAAA,SAAS,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;AAC3C,IAAA,QAAQ,EAAE,YAAY;AACvB,CAAA;AAEH,MAAM,iBAAiB,GAAG,IAAI;AAE9B,MAAM,YAAY,GAAG,CAAC,GAAW,KAAuB;AACtD,IAAA,IAAI;QACF,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,KAAK;IACd;AACF,CAAC;;;;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type NonEmptyString } from 'ts-type-forge';
|
|
2
|
+
import { type Type } from '../../../type.mjs';
|
|
3
|
+
export type { NonEmptyString } from 'ts-type-forge';
|
|
4
|
+
export declare const nonEmptyString: (defaultValue?: string) => Type<NonEmptyString>;
|
|
5
|
+
//# sourceMappingURL=non-empty-string.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"non-empty-string.d.mts","sourceRoot":"","sources":["../../../../src/predefined/brand/string/non-empty-string.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,eAAO,MAAM,cAAc,GACzB,eAAc,MAAY,KACzB,IAAI,CAAC,cAAc,CAOlB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { isNonEmptyString } from 'ts-data-forge';
|
|
2
|
+
import { brand } from '../../../brand/brand.mjs';
|
|
3
|
+
import '@sindresorhus/is';
|
|
4
|
+
import '../../../other-types/unknown.mjs';
|
|
5
|
+
import { string } from '../../../primitives/string.mjs';
|
|
6
|
+
|
|
7
|
+
const nonEmptyString = (defaultValue = ' ') => brand({
|
|
8
|
+
baseType: string(defaultValue),
|
|
9
|
+
is: isNonEmptyString,
|
|
10
|
+
defaultValue,
|
|
11
|
+
brandKeys: ['NonEmptyString'],
|
|
12
|
+
typeName: 'NonEmptyString',
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
export { nonEmptyString };
|
|
16
|
+
//# sourceMappingURL=non-empty-string.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"non-empty-string.mjs","sources":["../../../../src/predefined/brand/string/non-empty-string.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAQO,MAAM,cAAc,GAAG,CAC5B,YAAA,GAAuB,GAAG,KAE1B,KAAK,CAAC;AACJ,IAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;AAC9B,IAAA,EAAE,EAAE,gBAAgB;IACpB,YAAY;IACZ,SAAS,EAAE,CAAC,gBAAgB,CAAC;AAC7B,IAAA,QAAQ,EAAE,gBAAgB;AAC3B,CAAA;;;;"}
|
|
@@ -2,10 +2,10 @@ import { type Brand, type TypeEq, type UintRangeInclusive } from 'ts-type-forge'
|
|
|
2
2
|
import { type Type } from '../../../type.mjs';
|
|
3
3
|
export type UuidVersion = UintRangeInclusive<1, 8>;
|
|
4
4
|
export type UuidBaseString<V extends UuidVersion = UuidVersion> = `${string}-${string}-${V}${string}-${string}-${string}` | '00000000-0000-0000-0000-000000000000' | 'ffffffff-ffff-ffff-ffff-ffffffffffff';
|
|
5
|
-
export type Uuid = Brand<UuidBaseString, 'Uuid'>;
|
|
6
|
-
export type Uuid4 = Brand<UuidBaseString<4>, 'Uuid'>;
|
|
7
|
-
export type Uuid6 = Brand<UuidBaseString<6>, 'Uuid'>;
|
|
8
|
-
export type Uuid7 = Brand<UuidBaseString<7>, 'Uuid'>;
|
|
5
|
+
export type Uuid = Brand<UuidBaseString, 'Uuid' | 'NonEmptyString'>;
|
|
6
|
+
export type Uuid4 = Brand<UuidBaseString<4>, 'Uuid' | 'NonEmptyString'>;
|
|
7
|
+
export type Uuid6 = Brand<UuidBaseString<6>, 'Uuid' | 'NonEmptyString'>;
|
|
8
|
+
export type Uuid7 = Brand<UuidBaseString<7>, 'Uuid' | 'NonEmptyString'>;
|
|
9
9
|
/**
|
|
10
10
|
* @link https://github.com/validatorjs/validator.js/tree/v13.1.17?tab=readme-ov-file#validators
|
|
11
11
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uuid.d.mts","sourceRoot":"","sources":["../../../../src/predefined/brand/string/uuid.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,KAAK,EAEV,KAAK,MAAM,EACX,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,MAAM,WAAW,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnD,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAC1D,GAAG,MAAM,IAAI,MAAM,IAAI,CAAC,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,GACvD,sCAAsC,GACtC,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"uuid.d.mts","sourceRoot":"","sources":["../../../../src/predefined/brand/string/uuid.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,KAAK,EAEV,KAAK,MAAM,EACX,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,MAAM,WAAW,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnD,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAC1D,GAAG,MAAM,IAAI,MAAM,IAAI,CAAC,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,GACvD,sCAAsC,GACtC,sCAAsC,CAAC;AAI3C,MAAM,MAAM,IAAI,GAAG,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC;AAEpE,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC;AAExE,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC;AAExE,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,WAAW,GAAG,2BAA2B,EACtE,UAAU,mBAAmB,CAAC,CAAC,CAAC,KAC/B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAyBhB,CAAC;AAEF,KAAK,2BAA2B,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;AAEnE,KAAK,MAAM,CAAC,CAAC,SAAS,WAAW,GAAG,2BAA2B,IAC7D,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,GACrB,KAAK,GACL,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,GACvB,KAAK,GACL,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,GACvB,KAAK,GACL,IAAI,CAAC;AAEf,eAAO,MAAM,MAAM,GAAI,eAAe,MAAM,KAAG,IAAI,CAAC,KAAK,CAIrD,CAAC;AAEL,eAAO,MAAM,MAAM,GAAI,eAAe,MAAM,KAAG,IAAI,CAAC,KAAK,CAIrD,CAAC;AAEL,eAAO,MAAM,MAAM,GAAI,eAAe,MAAM,KAAG,IAAI,CAAC,KAAK,CAIrD,CAAC;AAEL,KAAK,mBAAmB,CAAC,CAAC,SAAS,WAAW,GAAG,2BAA2B,IAC1E,OAAO,CACL,QAAQ,CAAC;IACP;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC;IAEX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CACH,CAAC"}
|
|
@@ -17,7 +17,7 @@ const uuid = (options) => {
|
|
|
17
17
|
is: (s) => uuidDef[version](s),
|
|
18
18
|
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
19
19
|
defaultValue: defaultValue,
|
|
20
|
-
brandKeys: ['Uuid'],
|
|
20
|
+
brandKeys: ['Uuid', 'NonEmptyString'],
|
|
21
21
|
typeName: options?.typeName ??
|
|
22
22
|
(version === 4
|
|
23
23
|
? 'UuidV4'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uuid.mjs","sources":["../../../../src/predefined/brand/string/uuid.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"uuid.mjs","sources":["../../../../src/predefined/brand/string/uuid.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ export { uint32 } from './brand/number/uint32.mjs';
|
|
|
17
17
|
export { email } from './brand/string/email.mjs';
|
|
18
18
|
export { iso8601 } from './brand/string/iso-8601.mjs';
|
|
19
19
|
export { jsonString } from './brand/string/json-string.mjs';
|
|
20
|
+
export { nonEmptyString } from './brand/string/non-empty-string.mjs';
|
|
20
21
|
export { uuid, uuidV4, uuidV6, uuidV7 } from './brand/string/uuid.mjs';
|
|
21
22
|
export { int8 } from './int8.mjs';
|
|
22
23
|
export { JsonObject, JsonPrimitive, JsonValue } from './json.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -22,6 +22,15 @@ export type ValidationErrorDetails = Readonly<{
|
|
|
22
22
|
kind: 'array-min-length';
|
|
23
23
|
minLength: number;
|
|
24
24
|
actualLength: number;
|
|
25
|
+
} | {
|
|
26
|
+
kind: 'array-max-length';
|
|
27
|
+
maxLength: number;
|
|
28
|
+
actualLength: number;
|
|
29
|
+
} | {
|
|
30
|
+
kind: 'array-range-length';
|
|
31
|
+
minLength: number;
|
|
32
|
+
maxLength: number;
|
|
33
|
+
actualLength: number;
|
|
25
34
|
} | {
|
|
26
35
|
kind: 'non-empty-array';
|
|
27
36
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation-error.d.mts","sourceRoot":"","sources":["../../src/utils/validation-error.mts"],"names":[],"mappings":"AAEA,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CACzC;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,kBAAkB,CAAC;CAC1B,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;CAC5B,GACD;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,IAAI,EAAE,iBAAiB,CAAC;CACzB,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb,GACD;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb,GACD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B,GACD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB,CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,iFAAiF;IACjF,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,8CAA8C;IAC9C,WAAW,EAAE,OAAO,CAAC;IACrB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;CAC9C,CAAC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB,GACnC,OAAO,eAAe,EACtB,8BAA6B,MAAW,KACvC,MAyBF,CAAC;
|
|
1
|
+
{"version":3,"file":"validation-error.d.mts","sourceRoot":"","sources":["../../src/utils/validation-error.mts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,10 @@ const createDetailsMessage = (error, maxLengthToPrintActualValue) => {
|
|
|
41
41
|
return `expected array of length ${error.details.expectedLength} but length ${error.details.actualLength} was passed.`;
|
|
42
42
|
case 'array-min-length':
|
|
43
43
|
return `expected array of length ${error.details.minLength} or more but length ${error.details.actualLength} was passed.`;
|
|
44
|
+
case 'array-max-length':
|
|
45
|
+
return `expected array of length ${error.details.maxLength} or less but length ${error.details.actualLength} was passed.`;
|
|
46
|
+
case 'array-range-length':
|
|
47
|
+
return `expected array of length between ${error.details.minLength} and ${error.details.maxLength} but length ${error.details.actualLength} was passed.`;
|
|
44
48
|
case 'non-empty-array':
|
|
45
49
|
return 'expected non-empty array but empty array was passed.';
|
|
46
50
|
case 'missing-key':
|