ts-fortress 8.5.1 → 9.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 +8 -5
- package/dist/array/tuple.mjs.map +1 -1
- package/dist/brand/brand.d.mts.map +1 -1
- package/dist/brand/brand.mjs.map +1 -1
- package/dist/enum/int-range.d.mts.map +1 -1
- package/dist/enum/int-range.mjs +3 -1
- package/dist/enum/int-range.mjs.map +1 -1
- package/dist/enum/uint-range.d.mts.map +1 -1
- package/dist/enum/uint-range.mjs +3 -1
- package/dist/enum/uint-range.mjs.map +1 -1
- package/dist/other-types/refine.d.mts.map +1 -1
- package/dist/other-types/refine.mjs.map +1 -1
- package/dist/predefined/brand/string/email.d.mts +2 -2
- package/dist/predefined/brand/string/email.d.mts.map +1 -1
- package/dist/predefined/brand/string/email.mjs +4 -3
- package/dist/predefined/brand/string/email.mjs.map +1 -1
- package/dist/predefined/brand/string/iso-8601.d.mts +2 -2
- package/dist/predefined/brand/string/iso-8601.d.mts.map +1 -1
- package/dist/predefined/brand/string/iso-8601.mjs +2 -3
- package/dist/predefined/brand/string/iso-8601.mjs.map +1 -1
- package/dist/predefined/brand/string/json-string.d.mts +2 -2
- package/dist/predefined/brand/string/json-string.d.mts.map +1 -1
- package/dist/predefined/brand/string/json-string.mjs +4 -3
- package/dist/predefined/brand/string/json-string.mjs.map +1 -1
- package/dist/predefined/brand/string/uri.d.mts +2 -2
- package/dist/predefined/brand/string/uri.d.mts.map +1 -1
- package/dist/predefined/brand/string/uri.mjs +2 -3
- package/dist/predefined/brand/string/uri.mjs.map +1 -1
- package/dist/predefined/brand/string/uuid.d.mts +5 -5
- package/dist/predefined/brand/string/uuid.d.mts.map +1 -1
- package/dist/predefined/brand/string/uuid.mjs +2 -2
- package/dist/predefined/brand/string/uuid.mjs.map +1 -1
- package/dist/primitives/number.d.mts.map +1 -1
- package/dist/primitives/number.mjs.map +1 -1
- package/dist/primitives/string.d.mts +37 -22
- package/dist/primitives/string.d.mts.map +1 -1
- package/dist/primitives/string.mjs +24 -2
- package/dist/primitives/string.mjs.map +1 -1
- package/package.json +11 -11
- package/src/array/tuple.mts +2 -2
- package/src/brand/brand.mts +21 -22
- package/src/enum/int-range.mts +5 -3
- package/src/enum/uint-range.mts +5 -3
- package/src/other-types/refine.mts +13 -14
- package/src/predefined/brand/string/email.mts +9 -7
- package/src/predefined/brand/string/iso-8601.mts +11 -8
- package/src/predefined/brand/string/json-string.mts +9 -8
- package/src/predefined/brand/string/non-empty-string.test.mts +4 -3
- package/src/predefined/brand/string/uri.mts +7 -7
- package/src/predefined/brand/string/uuid.mts +14 -10
- package/src/primitives/number.mts +1 -6
- package/src/primitives/string.mts +125 -41
- package/src/primitives/string.test.mts +95 -11
- package/src/record/key-value-record.test.mts +1 -2
package/README.md
CHANGED
|
@@ -277,17 +277,20 @@ Slug.is('feature-beta'); // true
|
|
|
277
277
|
|
|
278
278
|
Slug.is('Feature-Flag'); // false (fails regex)
|
|
279
279
|
|
|
280
|
-
type SlugType = t.TypeOf<typeof Slug>;
|
|
280
|
+
type SlugType = t.TypeOf<typeof Slug>;
|
|
281
|
+
// inferred as a `feature${string}` template literal branded with
|
|
282
|
+
// `NonEmptyString`, `MinLengthString<6>` and `MaxLengthString<32>`
|
|
281
283
|
```
|
|
282
284
|
|
|
283
285
|
String constraints:
|
|
284
286
|
|
|
285
|
-
- `startsWith`, `endsWith`, `includes`
|
|
286
|
-
- `lowercase`, `uppercase
|
|
287
|
-
- `
|
|
287
|
+
- `startsWith`, `endsWith`, `includes` — narrow the result to the corresponding template literal type
|
|
288
|
+
- `lowercase`, `uppercase`
|
|
289
|
+
- `nonempty` — brands the result as `NonEmptyString` (from [ts-type-forge](https://github.com/noshiro-pf/ts-type-forge))
|
|
290
|
+
- `minLength`, `maxLength` — brand the result as `MinLengthString<N>` / `MaxLengthString<N>` (from ts-type-forge), which preserve the natural subtyping between length bounds
|
|
288
291
|
- `regex`
|
|
289
292
|
|
|
290
|
-
|
|
293
|
+
`minLength` / `maxLength` accept plain `number`s, which must be positive integers (`>= 1`) — passing a non-integer or a value less than `1` throws a `TypeError` when the type is constructed. Number literals in the range `1..39` are encoded in the result brand (`MinLengthString<N>` / `MaxLengthString<N>`); larger literals and dynamically computed `number`s are still enforced at runtime, but the result type falls back to plain `string` to keep the type-level computation cheap.
|
|
291
294
|
|
|
292
295
|
### Number constraints
|
|
293
296
|
|
package/dist/array/tuple.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuple.mjs","sources":["../../src/array/tuple.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;MAea,KAAK,GAAG,CACnB,KAAQ,EACR,OAIC,KACoB;AAGrB,IAAA,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,OAAO;IAE7C,MAAM,eAAe,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"tuple.mjs","sources":["../../src/array/tuple.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;MAea,KAAK,GAAG,CACnB,KAAQ,EACR,OAIC,KACoB;AAGrB,IAAA,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,OAAO;IAE7C,MAAM,eAAe,GAAG,eAAe,CAAC,MACtC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CACtC;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;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;AAEhC,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,CAAM,CAAC;AAC1B,IAAA,CAAC;AAED,IAAA,MAAM,IAAI,GAAoB,CAAC,CAAC,KAC9B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;UACV,eAAe;AACjB;YACG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAiB;IAExD,OAAO;QACL,QAAQ;AACR,QAAA,IAAI,YAAY,GAAA;YACd,OAAO,eAAe,EAAE;QAC1B,CAAC;QACD,IAAI;QACJ,QAAQ;AACR,QAAA,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC;AACxB,QAAA,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,QAAA,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;KAC7B;AACH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brand.d.mts","sourceRoot":"","sources":["../../src/brand/brand.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAGxC,YAAY,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C,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,SAAS,EAAE,EAC5D,0FAOC,QAAQ,CAAC;IACV,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,EAAE,CAAC,EAAE,CACH,CAAC,EAAE,CAAC,KACD,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC;IAC9E,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB,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,KAAK,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAGxC,YAAY,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C,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,SAAS,EAAE,EAC5D,0FAOC,QAAQ,CAAC;IACV,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,EAAE,CAAC,EAAE,CACH,CAAC,EAAE,CAAC,KACD,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC;IAC9E,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB,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,CAoDpE,CAAC"}
|
package/dist/brand/brand.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brand.mjs","sources":["../../src/brand/brand.mts"],"sourcesContent":[null],"names":[],"mappings":";;;MAWa,KAAK,GAAG,CAInB,EACA,QAAQ,EACR,cAAc,EACd,SAAS,EACT,YAAY,EAAE,aAAa,EAC3B,EAAE,EAAE,GAAG,EACP,QAAQ,GAUR,KAEE;AAGF,IAAA,MAAM,EAAE,GAAqB,GAAG,KAAK,CAAC,EAAE,KAAc,IAAI,CAAC;AAE3D,IAAA,MAAM,YAAY,GAAM,aAAa,IAAI,QAAQ,CAAC,YAAY;AAE9D,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,
|
|
1
|
+
{"version":3,"file":"brand.mjs","sources":["../../src/brand/brand.mts"],"sourcesContent":[null],"names":[],"mappings":";;;MAWa,KAAK,GAAG,CAInB,EACA,QAAQ,EACR,cAAc,EACd,SAAS,EACT,YAAY,EAAE,aAAa,EAC3B,EAAE,EAAE,GAAG,EACP,QAAQ,GAUR,KAEE;AAGF,IAAA,MAAM,EAAE,GAAqB,GAAG,KAAK,CAAC,EAAE,KAAc,IAAI,CAAC;AAE3D,IAAA,MAAM,YAAY,GAAM,aAAa,IAAI,QAAQ,CAAC,YAAY;AAE9D,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,CAAC,CAAC,GAAG,KACP,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,CACT,CAAC,KAAK;AAEX,IAAA,OAAO,UAAU,CAAC;AAChB,QAAA,QAAQ,EAAE,cAAc;QACxB,YAAY;QACZ,QAAQ;AACT,KAAA,CAAC;AACJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"int-range.d.mts","sourceRoot":"","sources":["../../src/enum/int-range.mts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,IAAI,EACT,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAQxC,eAAO,MAAM,QAAQ,GAAI,KAAK,SAAS,IAAI,EAAE,GAAG,SAAS,IAAI,GAAG,GAAG,EAAE,4BAIlE,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":"AAOA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,IAAI,EACT,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAQxC,eAAO,MAAM,QAAQ,GAAI,KAAK,SAAS,IAAI,EAAE,GAAG,SAAS,IAAI,GAAG,GAAG,EAAE,4BAIlE,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,CAkD7B,CAAC;AAEF,KAAK,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AAExC,KAAK,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AAEzC,MAAM,MAAM,QAAQ,CAAC,KAAK,SAAS,IAAI,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"}
|
package/dist/enum/int-range.mjs
CHANGED
|
@@ -9,7 +9,9 @@ const intRange = ({ end, start, ...options }) => {
|
|
|
9
9
|
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
10
10
|
() => options.defaultValue ?? start);
|
|
11
11
|
const validate = (a) => {
|
|
12
|
-
if (!(isNumber(a) &&
|
|
12
|
+
if (!(isNumber(a) &&
|
|
13
|
+
Number.isSafeInteger(a) &&
|
|
14
|
+
Num.isInRange(start, end)(a))) {
|
|
13
15
|
return Result.err([
|
|
14
16
|
{
|
|
15
17
|
path: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"int-range.mjs","sources":["../../src/enum/int-range.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAwBO,MAAM,QAAQ,GAAG,CAA6C,EACnE,GAAG,EACH,KAAK,EACL,GAAG,OAAO,EAMV,KAAgC;IAGhC,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAA,SAAA,EAAY,KAAK,CAAA,EAAA,EAAK,GAAG,CAAA,CAAA,CAAG;IAEvE,MAAM,eAAe,GAAG,eAAe;;IAErC,MAAS,OAAO,CAAC,YAAY,IAAK,KAAW,CAC9C;AAED,IAAA,MAAM,QAAQ,GAAwB,CAAC,CAAC,KAAI;
|
|
1
|
+
{"version":3,"file":"int-range.mjs","sources":["../../src/enum/int-range.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAwBO,MAAM,QAAQ,GAAG,CAA6C,EACnE,GAAG,EACH,KAAK,EACL,GAAG,OAAO,EAMV,KAAgC;IAGhC,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAA,SAAA,EAAY,KAAK,CAAA,EAAA,EAAK,GAAG,CAAA,CAAA,CAAG;IAEvE,MAAM,eAAe,GAAG,eAAe;;IAErC,MAAS,OAAO,CAAC,YAAY,IAAK,KAAW,CAC9C;AAED,IAAA,MAAM,QAAQ,GAAwB,CAAC,CAAC,KAAI;AAC1C,QAAA,IAAI,EACF,QAAQ,CAAC,CAAC,CAAC;AACX,YAAA,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;AACvB,YAAA,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAC7B,EAAE;YACD,OAAO,MAAM,CAAC,GAAG,CAAC;AAChB,gBAAA;AACE,oBAAA,IAAI,EAAE,EAAE;AACR,oBAAA,WAAW,EAAE,CAAC;AACd,oBAAA,YAAY,EAAE,cAAc;AAC5B,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE,eAAe;wBACrB,KAAK;AACL,wBAAA,YAAY,EAAE,GAAG;AAClB,qBAAA;AACwB,iBAAA;AAC5B,aAAA,CAAC;;;AAIJ,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,eAAe,EAAE,CAAC;IAEpE,OAAO;AACL,QAAA,QAAQ,EAAE,cAAc;AACxB,QAAA,IAAI,YAAY,GAAA;YACd,OAAO,eAAe,EAAE;SACzB;QACD,IAAI;QACJ,QAAQ;QACR,EAAE;AACF,QAAA,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,QAAA,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;KAC7B;AACH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uint-range.d.mts","sourceRoot":"","sources":["../../src/enum/uint-range.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAQxC,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,eAAO,MAAM,SAAS,GACpB,KAAK,SAAS,KAAK,EACnB,GAAG,SAAS,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE,KAAK,CAAC,EACvC,4BAIC,QAAQ,CAAC;IACV,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;CACtC,CAAC,KAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"uint-range.d.mts","sourceRoot":"","sources":["../../src/enum/uint-range.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAQxC,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,eAAO,MAAM,SAAS,GACpB,KAAK,SAAS,KAAK,EACnB,GAAG,SAAS,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE,KAAK,CAAC,EACvC,4BAIC,QAAQ,CAAC;IACV,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;CACtC,CAAC,KAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAkD9B,CAAC"}
|
package/dist/enum/uint-range.mjs
CHANGED
|
@@ -9,7 +9,9 @@ const uintRange = ({ end, start, ...options }) => {
|
|
|
9
9
|
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
10
10
|
() => options.defaultValue ?? start);
|
|
11
11
|
const validate = (a) => {
|
|
12
|
-
if (!(isNumber(a) &&
|
|
12
|
+
if (!(isNumber(a) &&
|
|
13
|
+
Number.isSafeInteger(a) &&
|
|
14
|
+
Num.isInRange(start, end)(a))) {
|
|
13
15
|
return Result.err([
|
|
14
16
|
{
|
|
15
17
|
path: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uint-range.mjs","sources":["../../src/enum/uint-range.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAYO,MAAM,SAAS,GAAG,CAGvB,EACA,GAAG,EACH,KAAK,EACL,GAAG,OAAO,EAMV,KAAiC;IAGjC,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAA,UAAA,EAAa,KAAK,CAAA,EAAA,EAAK,GAAG,CAAA,CAAA,CAAG;IAExE,MAAM,eAAe,GAAG,eAAe;;IAErC,MAAS,OAAO,CAAC,YAAY,IAAK,KAAW,CAC9C;AAED,IAAA,MAAM,QAAQ,GAAwB,CAAC,CAAC,KAAI;
|
|
1
|
+
{"version":3,"file":"uint-range.mjs","sources":["../../src/enum/uint-range.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAYO,MAAM,SAAS,GAAG,CAGvB,EACA,GAAG,EACH,KAAK,EACL,GAAG,OAAO,EAMV,KAAiC;IAGjC,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAA,UAAA,EAAa,KAAK,CAAA,EAAA,EAAK,GAAG,CAAA,CAAA,CAAG;IAExE,MAAM,eAAe,GAAG,eAAe;;IAErC,MAAS,OAAO,CAAC,YAAY,IAAK,KAAW,CAC9C;AAED,IAAA,MAAM,QAAQ,GAAwB,CAAC,CAAC,KAAI;AAC1C,QAAA,IAAI,EACF,QAAQ,CAAC,CAAC,CAAC;AACX,YAAA,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;AACvB,YAAA,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAC7B,EAAE;YACD,OAAO,MAAM,CAAC,GAAG,CAAC;AAChB,gBAAA;AACE,oBAAA,IAAI,EAAE,EAAE;AACR,oBAAA,WAAW,EAAE,CAAC;AACd,oBAAA,YAAY,EAAE,cAAc;AAC5B,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE,eAAe;wBACrB,KAAK;AACL,wBAAA,YAAY,EAAE,GAAG;AAClB,qBAAA;AACwB,iBAAA;AAC5B,aAAA,CAAC;QACJ;;AAGA,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,eAAe,EAAE,CAAC;IAEpE,OAAO;AACL,QAAA,QAAQ,EAAE,cAAc;AACxB,QAAA,IAAI,YAAY,GAAA;YACd,OAAO,eAAe,EAAE;QAC1B,CAAC;QACD,IAAI;QACJ,QAAQ;QACR,EAAE;AACF,QAAA,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,QAAA,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;KAC7B;AACH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refine.d.mts","sourceRoot":"","sources":["../../src/other-types/refine.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAOxC,eAAO,MAAM,MAAM,GACjB,IAAI,SAAS,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,EACnE,CAAC,SAAS,IAAI,EACd,2CAKC,QAAQ,CAAC;IACV,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;IACxB,YAAY,EAAE,CAAC,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC,KAAG,IAAI,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"refine.d.mts","sourceRoot":"","sources":["../../src/other-types/refine.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAOxC,eAAO,MAAM,MAAM,GACjB,IAAI,SAAS,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,EACnE,CAAC,SAAS,IAAI,EACd,2CAKC,QAAQ,CAAC;IACV,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;IACxB,YAAY,EAAE,CAAC,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC,KAAG,IAAI,CAAC,CAAC,CAwBV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refine.mjs","sources":["../../src/other-types/refine.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;MASa,MAAM,GAAG,CAGpB,EACA,QAAQ,EACR,EAAE,EACF,YAAY,EACZ,QAAQ,GAAG,CAAA,EAAG,QAAQ,CAAC,QAAQ,CAAA,QAAA,CAAU,GAMzC,KAAa;IACb,MAAM,QAAQ,GAAwB,CAAC,CAAC,KACtC,IAAI,CAAC,CAAC;AACH,SAAA,GAAG,CAAC,QAAQ,CAAC,QAAQ;SACrB,GAAG,
|
|
1
|
+
{"version":3,"file":"refine.mjs","sources":["../../src/other-types/refine.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;MASa,MAAM,GAAG,CAGpB,EACA,QAAQ,EACR,EAAE,EACF,YAAY,EACZ,QAAQ,GAAG,CAAA,EAAG,QAAQ,CAAC,QAAQ,CAAA,QAAA,CAAU,GAMzC,KAAa;IACb,MAAM,QAAQ,GAAwB,CAAC,CAAC,KACtC,IAAI,CAAC,CAAC;AACH,SAAA,GAAG,CAAC,QAAQ,CAAC,QAAQ;SACrB,GAAG,CAAC,CAAC,GAAG,KACP,MAAM,CAAC,KAAK,CAAC,GAAG;AACd,UAAE;AACF,UAAE,EAAE,CAAC,GAAG,CAAC,KAAK;cACV,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK;AACrB,cAAE,MAAM,CAAC,GAAG,CAAC;AACT,gBAAA,8BAA8B,CAAC;AAC7B,oBAAA,WAAW,EAAE,CAAC;AACd,oBAAA,YAAY,EAAE,QAAQ;oBACtB,QAAQ;AACR,oBAAA,OAAO,EAAE,SAAS;iBACnB,CAAC;aACH,CAAC,CACT,CAAC,KAAK;AAEX,IAAA,OAAO,UAAU,CAAC;QAChB,QAAQ;QACR,YAAY;QACZ,QAAQ;AACT,KAAA,CAAC;AACJ;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { type Brand } from 'ts-type-forge';
|
|
1
|
+
import { type Brand, type NonEmptyString } from 'ts-type-forge';
|
|
2
2
|
import { type Type } from '../../../type.mjs';
|
|
3
|
-
export type Email = Brand<
|
|
3
|
+
export type Email = Brand<NonEmptyString, 'Email'>;
|
|
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,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAGhE,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAI9C,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,KAAK,GAChB,UAAU,OAAO,CACf,QAAQ,CAAC;IACP,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CACH,KACA,IAAI,CAAC,KAAK,CAQT,CAAC"}
|
|
@@ -8,10 +8,11 @@ import { string } from '../../../primitives/string.mjs';
|
|
|
8
8
|
* @link https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address
|
|
9
9
|
*/
|
|
10
10
|
const email = (options) => brand({
|
|
11
|
-
baseType: string(options?.defaultValue ?? defaultEmail
|
|
11
|
+
baseType: string(options?.defaultValue ?? defaultEmail, {
|
|
12
|
+
nonempty: true,
|
|
13
|
+
}),
|
|
12
14
|
is: (s) => regexpEmailAddress.test(s),
|
|
13
|
-
|
|
14
|
-
brandKeys: ['Email', 'NonEmptyString'],
|
|
15
|
+
brandKeys: ['Email'],
|
|
15
16
|
typeName: 'Email',
|
|
16
17
|
});
|
|
17
18
|
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":";;;;;;AASA;;AAEG;AACI,MAAM,KAAK,GAAG,CACnB,OAIC,KAED,KAAK,CAAqC;IACxC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,YAAY,IAAI,YAAY,EAAE;AACtD,QAAA,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,EAAE,EAAE,CAAC,CAAC,KAAiB,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,SAAS,EAAE,CAAC,OAAO,CAAC;AACpB,IAAA,QAAQ,EAAE,OAAO;AAClB,CAAA;AAEH,MAAM,YAAY,GAAG,8BAA8B;AAEnD,MAAM,kBAAkB;AACtB;AACA,uIAAuI;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { type Brand } from 'ts-type-forge';
|
|
1
|
+
import { type Brand, type NonEmptyString } from 'ts-type-forge';
|
|
2
2
|
import { type Type, type TypeOf } from '../../../type.mjs';
|
|
3
|
-
export type Iso8601 = Brand<
|
|
3
|
+
export type Iso8601 = Brand<NonEmptyString, 'Iso8601'>;
|
|
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,
|
|
1
|
+
{"version":3,"file":"iso-8601.d.mts","sourceRoot":"","sources":["../../../../src/predefined/brand/string/iso-8601.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,KAAK,EACV,KAAK,cAAc,EAEpB,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI3D,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,UAAU,sBAAsB,KAAG,IAAI,CAAC,OAAO,CAWtE,CAAC;AAEF,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB1B,CAAC;AAEH,KAAK,sBAAsB,GAAG,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -15,10 +15,9 @@ const iso8601 = (options) => {
|
|
|
15
15
|
const filledOptions = ISO8601ValidatorOption.fill(options);
|
|
16
16
|
const is = isISO8601(filledOptions);
|
|
17
17
|
return brand({
|
|
18
|
-
baseType: string(filledOptions.defaultValue),
|
|
18
|
+
baseType: string(filledOptions.defaultValue, { nonempty: true }),
|
|
19
19
|
is,
|
|
20
|
-
|
|
21
|
-
brandKeys: ['Iso8601', 'NonEmptyString'],
|
|
20
|
+
brandKeys: ['Iso8601'],
|
|
22
21
|
typeName: 'Iso8601',
|
|
23
22
|
});
|
|
24
23
|
};
|
|
@@ -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
|
-
import { type Brand } from 'ts-type-forge';
|
|
1
|
+
import { type Brand, type NonEmptyString } from 'ts-type-forge';
|
|
2
2
|
import { type Type } from '../../../type.mjs';
|
|
3
|
-
export type JsonString = Brand<
|
|
3
|
+
export type JsonString = Brand<NonEmptyString, 'JsonString'>;
|
|
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,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAGhE,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAI9C,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,UAAU,GACrB,UAAU,OAAO,CACf,QAAQ,CAAC;IACP,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CACH,KACA,IAAI,CAAC,UAAU,CAQd,CAAC"}
|
|
@@ -8,10 +8,11 @@ import { string } from '../../../primitives/string.mjs';
|
|
|
8
8
|
* @link https://github.com/validatorjs/validator.js/tree/v13.1.17?tab=readme-ov-file#validators
|
|
9
9
|
*/
|
|
10
10
|
const jsonString = (options) => brand({
|
|
11
|
-
baseType: string(options?.defaultValue ?? defaultJsonString
|
|
11
|
+
baseType: string(options?.defaultValue ?? defaultJsonString, {
|
|
12
|
+
nonempty: true,
|
|
13
|
+
}),
|
|
12
14
|
is: isJsonString,
|
|
13
|
-
|
|
14
|
-
brandKeys: ['JsonString', 'NonEmptyString'],
|
|
15
|
+
brandKeys: ['JsonString'],
|
|
15
16
|
typeName: 'JsonString',
|
|
16
17
|
});
|
|
17
18
|
const defaultJsonString = '{}';
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,CAA0C;IAC7C,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE;AAC3D,QAAA,QAAQ,EAAE,IAAI;KACf,CAAC;AACF,IAAA,EAAE,EAAE,YAAY;IAChB,SAAS,EAAE,CAAC,YAAY,CAAC;AACzB,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;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { type Brand } from 'ts-type-forge';
|
|
1
|
+
import { type Brand, type NonEmptyString } from 'ts-type-forge';
|
|
2
2
|
import { type Type } from '../../../type.mjs';
|
|
3
|
-
export type Uri = Brand<
|
|
3
|
+
export type Uri = Brand<NonEmptyString, 'Uri'>;
|
|
4
4
|
/**
|
|
5
5
|
* @link https://url.spec.whatwg.org/
|
|
6
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uri.d.mts","sourceRoot":"","sources":["../../../../src/predefined/brand/string/uri.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"uri.d.mts","sourceRoot":"","sources":["../../../../src/predefined/brand/string/uri.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAGhE,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAI9C,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,GAAG,GACd,UAAU,OAAO,CACf,QAAQ,CAAC;IACP,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CACH,KACA,IAAI,CAAC,GAAG,CAMP,CAAC"}
|
|
@@ -8,10 +8,9 @@ import { string } from '../../../primitives/string.mjs';
|
|
|
8
8
|
* @link https://url.spec.whatwg.org/
|
|
9
9
|
*/
|
|
10
10
|
const uri = (options) => brand({
|
|
11
|
-
baseType: string(options?.defaultValue ?? defaultUri),
|
|
11
|
+
baseType: string(options?.defaultValue ?? defaultUri, { nonempty: true }),
|
|
12
12
|
is: isUri,
|
|
13
|
-
|
|
14
|
-
brandKeys: ['Uri', 'NonEmptyString'],
|
|
13
|
+
brandKeys: ['Uri'],
|
|
15
14
|
typeName: 'Uri',
|
|
16
15
|
});
|
|
17
16
|
const defaultUri = 'https://example.com';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uri.mjs","sources":["../../../../src/predefined/brand/string/uri.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"uri.mjs","sources":["../../../../src/predefined/brand/string/uri.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AASA;;AAEG;AACI,MAAM,GAAG,GAAG,CACjB,OAIC,KAED,KAAK,CAAmC;AACtC,IAAA,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,YAAY,IAAI,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACzE,IAAA,EAAE,EAAE,KAAK;IACT,SAAS,EAAE,CAAC,KAAK,CAAC;AAClB,IAAA,QAAQ,EAAE,KAAK;AAChB,CAAA;AAEH,MAAM,UAAU,GAAG,qBAAqB;AAExC;AACA;AACA,MAAM,KAAK,GAAG,CAAC,CAAS,KAAe,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;;;;"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { type Brand, type TypeEq, type UintRangeInclusive } from 'ts-type-forge';
|
|
1
|
+
import { type Brand, type NonEmptyString, 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
|
|
7
|
-
export type Uuid6 = Brand<UuidBaseString<6
|
|
8
|
-
export type Uuid7 = Brand<UuidBaseString<7
|
|
5
|
+
export type Uuid = Brand<UuidBaseString & NonEmptyString, 'Uuid'>;
|
|
6
|
+
export type Uuid4 = Brand<UuidBaseString<4> & NonEmptyString, 'Uuid'>;
|
|
7
|
+
export type Uuid6 = Brand<UuidBaseString<6> & NonEmptyString, 'Uuid'>;
|
|
8
|
+
export type Uuid7 = Brand<UuidBaseString<7> & NonEmptyString, 'Uuid'>;
|
|
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,
|
|
1
|
+
{"version":3,"file":"uuid.d.mts","sourceRoot":"","sources":["../../../../src/predefined/brand/string/uuid.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,KAAK,EACV,KAAK,cAAc,EAEnB,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;AAK3C,MAAM,MAAM,IAAI,GAAG,KAAK,CAAC,cAAc,GAAG,cAAc,EAAE,MAAM,CAAC,CAAC;AAElE,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,EAAE,MAAM,CAAC,CAAC;AAEtE,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,EAAE,MAAM,CAAC,CAAC;AAEtE,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,EAAE,MAAM,CAAC,CAAC;AAEtE;;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,CA2BhB,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"}
|
|
@@ -13,11 +13,11 @@ const uuid = (options) => {
|
|
|
13
13
|
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
14
14
|
return brand({
|
|
15
15
|
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
16
|
-
baseType: string(defaultValue),
|
|
16
|
+
baseType: string(defaultValue, { nonempty: true }),
|
|
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'],
|
|
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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number.d.mts","sourceRoot":"","sources":["../../src/primitives/number.mts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"number.d.mts","sourceRoot":"","sources":["../../src/primitives/number.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number.mjs","sources":["../../src/primitives/number.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAAA;SA8BgB,MAAM,CACpB,YAAA,GAA2B,CAAC,EAC5B,WAAe,EAAA;IAEf,MAAM,QAAQ,GAAG,mBAAmB,CAAC;AACnC,QAAA,QAAQ,EAAE,QAAQ;QAClB,YAAY;AACZ,QAAA,EAAE,EAAE,QAAQ;AACb,KAAA,CAAC;IAEF,IACE,WAAW,KAAK,SAAS;AACzB,QAAA,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAChD;AACA,QAAA,OAAO,QAAQ;;AAGjB,IAAA,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,WAAW,CAAC;AAEpE,IAAA,MAAM,4BAA4B,GAAG,oBAAoB,CAAC,YAAY,CAAC;AAEvE,IAAA,IAAI,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE;AAC9C,QAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,KAAK,CAAC;;AAGrD,IAAA,OAAO,MAAM,CAAC;QACZ,QAAQ;QACR,YAAY;AACZ,QAAA,EAAE,EAAE,CAAC,KAAK,KACR,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAC1C,QAAA,QAAQ,EAAE,QAAQ;AACnB,KAAA,CAAC;AACJ;
|
|
1
|
+
{"version":3,"file":"number.mjs","sources":["../../src/primitives/number.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { type NonEmptyString } from 'ts-type-forge';
|
|
1
|
+
import { type MaxLengthString, type MinLengthString, type NonEmptyString, type SmallInt } from 'ts-type-forge';
|
|
2
2
|
import { type Type } from '../type.mjs';
|
|
3
3
|
export declare function string(defaultValue?: string): Type<string>;
|
|
4
|
-
export declare function string<S extends string, const C extends
|
|
5
|
-
type
|
|
4
|
+
export declare function string<S extends string, const C extends RawConstraints>(defaultValue: S & DefaultValueType<S, C>, constraints: C): Type<ConstraintsResultType<C>>;
|
|
5
|
+
type RawConstraints = Partial<Readonly<{
|
|
6
6
|
nonempty: true;
|
|
7
7
|
minLength: number;
|
|
8
8
|
maxLength: number;
|
|
@@ -16,49 +16,64 @@ type Constraints = Partial<Readonly<{
|
|
|
16
16
|
/**
|
|
17
17
|
* The set of constraints accepted by {@link string}.
|
|
18
18
|
*/
|
|
19
|
-
export type StringTypeConstraints =
|
|
19
|
+
export type StringTypeConstraints = RawConstraints;
|
|
20
20
|
/**
|
|
21
21
|
* The result type produced by {@link string} for a given set of constraints
|
|
22
|
-
* `C` (e.g. `nonempty` yields {@link NonEmptyString}, `
|
|
23
|
-
*
|
|
22
|
+
* `C` (e.g. `nonempty` yields {@link NonEmptyString}, `minLength` /
|
|
23
|
+
* `maxLength` yield {@link MinLengthString} / {@link MaxLengthString},
|
|
24
|
+
* `startsWith` narrows to a template literal type, etc.).
|
|
24
25
|
*/
|
|
25
26
|
export type StringConstraintsResultType<C extends StringTypeConstraints> = ConstraintsResultType<C>;
|
|
26
|
-
type DefaultValueType<S extends string, C extends
|
|
27
|
-
type ConstraintsResultType<C extends
|
|
28
|
-
type DefaultValueWhenStartsWithIsOn<C extends
|
|
27
|
+
type DefaultValueType<S extends string, C extends RawConstraints> = DefaultValueWhenNonemptyIsOn<S, C> & DefaultValueWhenMinLengthIsOn<S, C> & DefaultValueWhenMaxLengthIsOn<S, C> & DefaultValueWhenStartsWithIsOn<C> & DefaultValueWhenEndsWithIsOn<C> & DefaultValueWhenIncludesIsOn<C> & DefaultValueWhenUppercaseIsOn<S, C> & DefaultValueWhenLowercaseIsOn<S, C>;
|
|
28
|
+
type ConstraintsResultType<C extends RawConstraints> = ConstraintsResultTypeWhenNonemptyIsOn<C> & ConstraintsResultTypeWhenMinLengthIsOn<C> & ConstraintsResultTypeWhenMaxLengthIsOn<C> & DefaultValueWhenStartsWithIsOn<C> & DefaultValueWhenEndsWithIsOn<C> & DefaultValueWhenIncludesIsOn<C>;
|
|
29
|
+
type DefaultValueWhenStartsWithIsOn<C extends RawConstraints> = C extends Readonly<{
|
|
29
30
|
startsWith: infer S extends string;
|
|
30
31
|
}> ? `${S}${string}` : string;
|
|
31
|
-
type DefaultValueWhenEndsWithIsOn<C extends
|
|
32
|
+
type DefaultValueWhenEndsWithIsOn<C extends RawConstraints> = C extends Readonly<{
|
|
32
33
|
endsWith: infer E extends string;
|
|
33
34
|
}> ? `${string}${E}` : string;
|
|
34
|
-
type DefaultValueWhenIncludesIsOn<C extends
|
|
35
|
+
type DefaultValueWhenIncludesIsOn<C extends RawConstraints> = C extends Readonly<{
|
|
35
36
|
includes: infer M extends string;
|
|
36
37
|
}> ? `${string}${M}${string}` : string;
|
|
37
|
-
type DefaultValueWhenUppercaseIsOn<S extends string, C extends
|
|
38
|
+
type DefaultValueWhenUppercaseIsOn<S extends string, C extends RawConstraints> = C extends Readonly<{
|
|
38
39
|
uppercase: true;
|
|
39
40
|
}> ? CastUppercase<S> : string;
|
|
40
|
-
type DefaultValueWhenLowercaseIsOn<S extends string, C extends
|
|
41
|
+
type DefaultValueWhenLowercaseIsOn<S extends string, C extends RawConstraints> = C extends Readonly<{
|
|
41
42
|
lowercase: true;
|
|
42
43
|
}> ? CastLowercase<S> : string;
|
|
43
44
|
type CastLowercase<S extends string> = S extends Lowercase<S> ? S : never;
|
|
44
45
|
type CastUppercase<S extends string> = S extends Uppercase<S> ? S : never;
|
|
45
|
-
type DefaultValueWhenNonemptyIsOn<S extends string, C extends
|
|
46
|
+
type DefaultValueWhenNonemptyIsOn<S extends string, C extends RawConstraints> = C extends Readonly<{
|
|
46
47
|
nonempty: true;
|
|
47
48
|
}> ? RejectEmptyString<S> : string;
|
|
48
49
|
type RejectEmptyString<S extends string> = S extends '' ? never : S;
|
|
49
|
-
type ConstraintsResultTypeWhenNonemptyIsOn<C extends
|
|
50
|
+
type ConstraintsResultTypeWhenNonemptyIsOn<C extends RawConstraints> = C extends Readonly<{
|
|
50
51
|
nonempty: true;
|
|
51
52
|
}> ? NonEmptyString : string;
|
|
52
|
-
|
|
53
|
+
/**
|
|
54
|
+
* The length-bound literals supported at the type level: `SmallInt<'>0'>`
|
|
55
|
+
* (i.e. `1 | 2 | ... | 39`). Only bounds within this range are encoded in
|
|
56
|
+
* the result brand; larger literals and non-literal `number`s collapse to
|
|
57
|
+
* plain `string` to keep the type-level computation cheap (the runtime
|
|
58
|
+
* constraint applies regardless). Non-integer bounds and bounds less than 1
|
|
59
|
+
* throw a `TypeError` when the type is constructed.
|
|
60
|
+
*/
|
|
61
|
+
type SupportedLengthLiteral = SmallInt<'>0'>;
|
|
62
|
+
type ConstraintsResultTypeWhenMinLengthIsOn<C extends RawConstraints> = C extends Readonly<{
|
|
63
|
+
minLength: infer M extends number;
|
|
64
|
+
}> ? [M] extends [SupportedLengthLiteral] ? MinLengthString<M> : string : string;
|
|
65
|
+
type ConstraintsResultTypeWhenMaxLengthIsOn<C extends RawConstraints> = C extends Readonly<{
|
|
66
|
+
maxLength: infer M extends number;
|
|
67
|
+
}> ? [M] extends [SupportedLengthLiteral] ? MaxLengthString<M> : string : string;
|
|
68
|
+
type DefaultValueWhenMinLengthIsOn<S extends string, C extends RawConstraints> = C extends Readonly<{
|
|
53
69
|
minLength: infer M extends number;
|
|
54
|
-
}> ? StringWithMinLength<S, M> : string;
|
|
55
|
-
type DefaultValueWhenMaxLengthIsOn<S extends string, C extends
|
|
70
|
+
}> ? [M] extends [SupportedLengthLiteral] ? StringWithMinLength<S, M> : string : string;
|
|
71
|
+
type DefaultValueWhenMaxLengthIsOn<S extends string, C extends RawConstraints> = C extends Readonly<{
|
|
56
72
|
maxLength: infer M extends number;
|
|
57
|
-
}> ? StringWithMaxLength<S, M> : string;
|
|
73
|
+
}> ? [M] extends [SupportedLengthLiteral] ? StringWithMaxLength<S, M> : string : string;
|
|
58
74
|
type StringWithMinLength<S extends string, N extends number> = HasLengthAtLeast<S, N> extends true ? S : never;
|
|
59
75
|
type StringWithMaxLength<S extends string, N extends number> = HasLengthAtMost<S, N> extends true ? S : never;
|
|
60
|
-
type HasLengthAtLeast<S extends string, N extends number, Acc extends readonly unknown[] = readonly []> = string extends S ? true :
|
|
61
|
-
type HasLengthAtMost<S extends string, N extends number, Acc extends readonly unknown[] = readonly []> = string extends S ? true :
|
|
62
|
-
type IsNegative<N extends number> = `${N}` extends `-${string}` ? true : false;
|
|
76
|
+
type HasLengthAtLeast<S extends string, N extends number, Acc extends readonly unknown[] = readonly []> = string extends S ? true : Acc['length'] extends N ? true : S extends '' ? false : S extends `${infer _}${infer Rest}` ? HasLengthAtLeast<Rest, N, readonly [...Acc, unknown]> : false;
|
|
77
|
+
type HasLengthAtMost<S extends string, N extends number, Acc extends readonly unknown[] = readonly []> = string extends S ? true : S extends '' ? true : Acc['length'] extends N ? false : S extends `${infer _}${infer Rest}` ? HasLengthAtMost<Rest, N, readonly [...Acc, unknown]> : false;
|
|
63
78
|
export {};
|
|
64
79
|
//# sourceMappingURL=string.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.d.mts","sourceRoot":"","sources":["../../src/primitives/string.mts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"string.d.mts","sourceRoot":"","sources":["../../src/primitives/string.mts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isRegExp } from '@sindresorhus/is';
|
|
2
|
-
import { isString, Arr, Result } from 'ts-data-forge';
|
|
2
|
+
import { isString, Arr, Result, PositiveInt } from 'ts-data-forge';
|
|
3
3
|
import { createPrimitiveType } from '../utils/create-primitive-type.mjs';
|
|
4
4
|
import { refine } from '../other-types/refine.mjs';
|
|
5
5
|
import '../other-types/unknown.mjs';
|
|
@@ -14,7 +14,11 @@ function string(defaultValue = '', constraints) {
|
|
|
14
14
|
Arr.isArrayOfLength(Object.keys(constraints), 0)) {
|
|
15
15
|
return baseType;
|
|
16
16
|
}
|
|
17
|
-
const
|
|
17
|
+
const constraintsResult = validateConstraints(constraints);
|
|
18
|
+
if (Result.isErr(constraintsResult)) {
|
|
19
|
+
throw new TypeError(constraintsResult.value);
|
|
20
|
+
}
|
|
21
|
+
const constraintsPredicate = createConstraintsPredicate(constraintsResult.value);
|
|
18
22
|
const defaultValueConstraintsCheck = constraintsPredicate(defaultValue);
|
|
19
23
|
if (Result.isErr(defaultValueConstraintsCheck)) {
|
|
20
24
|
throw new Error(defaultValueConstraintsCheck.value);
|
|
@@ -26,6 +30,24 @@ function string(defaultValue = '', constraints) {
|
|
|
26
30
|
typeName: 'string',
|
|
27
31
|
});
|
|
28
32
|
}
|
|
33
|
+
const validateConstraints = (constraints) => {
|
|
34
|
+
const result1 = validateLengthConstraint('minLength', constraints.minLength);
|
|
35
|
+
if (Result.isErr(result1)) {
|
|
36
|
+
return Result.err(result1.value);
|
|
37
|
+
}
|
|
38
|
+
const result2 = validateLengthConstraint('maxLength', constraints.maxLength);
|
|
39
|
+
if (Result.isErr(result2)) {
|
|
40
|
+
return Result.err(result2.value);
|
|
41
|
+
}
|
|
42
|
+
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
43
|
+
return Result.ok(constraints);
|
|
44
|
+
};
|
|
45
|
+
const validateLengthConstraint = (constraintName, constraintValue) => {
|
|
46
|
+
if (constraintValue !== undefined && !PositiveInt.is(constraintValue)) {
|
|
47
|
+
return Result.err(`${constraintName} constraint for string must be a positive integer, but ${constraintValue} was passed.`);
|
|
48
|
+
}
|
|
49
|
+
return Result.ok(true);
|
|
50
|
+
};
|
|
29
51
|
const createConstraintsPredicate = (constraints) => (value) => {
|
|
30
52
|
const { nonempty, minLength, maxLength, startsWith, endsWith, includes, uppercase, lowercase, regex, ..._rest } = constraints;
|
|
31
53
|
if (nonempty === true && value.length === 0) {
|