inferred-types 0.41.5 → 0.42.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/LICENSE +20 -0
  2. package/dist/constants/tsconfig.tsbuildinfo +1 -1
  3. package/dist/inferred-types/tsconfig.tsbuildinfo +1 -1
  4. package/dist/runtime/boolean-logic/ifLength.d.ts +2 -2
  5. package/dist/runtime/boolean-logic/ifLength.d.ts.map +1 -1
  6. package/dist/runtime/boolean-logic/ifLength.js +1 -0
  7. package/dist/runtime/literals/ensureSurround.d.ts +15 -0
  8. package/dist/runtime/literals/ensureSurround.d.ts.map +1 -0
  9. package/dist/runtime/literals/ensureSurround.js +15 -0
  10. package/dist/runtime/literals/index.d.ts +1 -0
  11. package/dist/runtime/literals/index.d.ts.map +1 -1
  12. package/dist/runtime/literals/index.js +1 -0
  13. package/dist/runtime/literals/surround.d.ts +2 -0
  14. package/dist/runtime/literals/surround.d.ts.map +1 -1
  15. package/dist/runtime/literals/surround.js +2 -0
  16. package/dist/runtime/runtime-types/typeTuples.d.ts +1 -1
  17. package/dist/runtime/tsconfig.tsbuildinfo +1 -1
  18. package/dist/types/boolean-logic/branching/IfAllExtend.d.ts.map +1 -1
  19. package/dist/types/boolean-logic/branching/IfLength.d.ts +2 -2
  20. package/dist/types/boolean-logic/branching/IfLength.d.ts.map +1 -1
  21. package/dist/types/boolean-logic/operators/HasWideValues.d.ts +10 -0
  22. package/dist/types/boolean-logic/operators/HasWideValues.d.ts.map +1 -0
  23. package/dist/types/boolean-logic/operators/HasWideValues.js +1 -0
  24. package/dist/types/boolean-logic/operators/OfSameLength.d.ts +2 -2
  25. package/dist/types/boolean-logic/operators/OfSameLength.d.ts.map +1 -1
  26. package/dist/types/boolean-logic/operators/index.d.ts +1 -0
  27. package/dist/types/boolean-logic/operators/index.d.ts.map +1 -1
  28. package/dist/types/boolean-logic/operators/index.js +1 -0
  29. package/dist/types/lists/Pop.d.ts +2 -2
  30. package/dist/types/lists/Pop.d.ts.map +1 -1
  31. package/dist/types/lists/Shift.d.ts +3 -3
  32. package/dist/types/lists/Shift.d.ts.map +1 -1
  33. package/dist/types/lists/Slice.d.ts +3 -1
  34. package/dist/types/lists/Slice.d.ts.map +1 -1
  35. package/dist/types/lists/extractors/2nd-order/RemoveWide.d.ts +10 -0
  36. package/dist/types/lists/extractors/2nd-order/RemoveWide.d.ts.map +1 -0
  37. package/dist/types/lists/extractors/2nd-order/RemoveWide.js +1 -0
  38. package/dist/types/lists/extractors/2nd-order/index.d.ts +1 -0
  39. package/dist/types/lists/extractors/2nd-order/index.d.ts.map +1 -1
  40. package/dist/types/lists/extractors/2nd-order/index.js +1 -0
  41. package/dist/types/string-literals/IndexesOfStr.d.ts +46 -0
  42. package/dist/types/string-literals/IndexesOfStr.d.ts.map +1 -0
  43. package/dist/types/string-literals/IndexesOfStr.js +1 -0
  44. package/dist/types/string-literals/LastChar.d.ts +6 -4
  45. package/dist/types/string-literals/LastChar.d.ts.map +1 -1
  46. package/dist/types/string-literals/RemainingChars.d.ts +2 -2
  47. package/dist/types/string-literals/RemainingChars.d.ts.map +1 -1
  48. package/dist/types/string-literals/Split.d.ts +32 -13
  49. package/dist/types/string-literals/Split.d.ts.map +1 -1
  50. package/dist/types/string-literals/StripAfter.d.ts +2 -2
  51. package/dist/types/string-literals/StripAfter.d.ts.map +1 -1
  52. package/dist/types/string-literals/StripBefore.d.ts +2 -5
  53. package/dist/types/string-literals/StripBefore.d.ts.map +1 -1
  54. package/dist/types/string-literals/Truncate.d.ts +2 -2
  55. package/dist/types/string-literals/Truncate.d.ts.map +1 -1
  56. package/dist/types/string-literals/character-sets/Alpha.d.ts +2 -2
  57. package/dist/types/string-literals/character-sets/Alpha.d.ts.map +1 -1
  58. package/dist/types/string-literals/character-sets/LowerAlpha.d.ts +2 -2
  59. package/dist/types/string-literals/character-sets/LowerAlpha.d.ts.map +1 -1
  60. package/dist/types/string-literals/character-sets/SingularNoun.d.ts +2 -2
  61. package/dist/types/string-literals/character-sets/SingularNoun.d.ts.map +1 -1
  62. package/dist/types/tsconfig.tsbuildinfo +1 -1
  63. package/package.json +15 -10
@@ -1 +1 @@
1
- {"version":3,"file":"IfAllExtend.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/branching/IfAllExtend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAwB;AAE5C;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,CACrB,KAAK,SAAS,SAAS,OAAO,EAAE,EAAE,OAAO,EACzC,EAAE,EACF,IAAI,IACF,SAAS,CAAC,KAAK,EAAC,OAAO,CAAC,SAAS,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"IfAllExtend.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/branching/IfAllExtend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAwB;AAE5C;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,CACrB,KAAK,SAAS,SAAS,OAAO,EAAE,EAChC,OAAO,EACP,EAAE,EACF,IAAI,IACF,SAAS,CAAC,KAAK,EAAC,OAAO,CAAC,SAAS,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Length, IfEqual, IsLiteral, Container } from "../../index";
1
+ import { Length, IfEqual, IsLiteral, Tuple, IfStringLiteral } from "../../index";
2
2
  /**
3
3
  * **IfLength**`<TEvaluate,TLength,IF,[ELSE],[MAYBE]>`
4
4
  *
@@ -11,5 +11,5 @@ import { Length, IfEqual, IsLiteral, Container } from "../../index";
11
11
  * - If a _non-array_ type is passed into `TEvaluate` then utility will result `ELSE`
12
12
  * type.
13
13
  */
14
- export type IfLength<TEvaluate extends Container, TLength extends number, IF, ELSE = TEvaluate, MAYBE = IF | ELSE> = TEvaluate extends readonly unknown[] ? IsLiteral<TLength> extends true ? IfEqual<Length<TEvaluate>, TLength, IF, ELSE> : MAYBE : TEvaluate extends unknown[] ? MAYBE : ELSE;
14
+ export type IfLength<TEvaluate extends Tuple | string, TLength extends number, IF, ELSE = TEvaluate, MAYBE = IF | ELSE> = TEvaluate extends readonly unknown[] ? IsLiteral<TLength> extends true ? IfEqual<Length<TEvaluate>, TLength, IF, ELSE> : MAYBE : TEvaluate extends unknown[] ? MAYBE : TEvaluate extends string ? IfStringLiteral<TEvaluate, IfEqual<Length<TEvaluate>, TLength, IF, ELSE>, MAYBE> : MAYBE;
15
15
  //# sourceMappingURL=IfLength.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IfLength.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/branching/IfLength.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,oBAAwB;AAGxE;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,QAAQ,CAClB,SAAS,SAAS,SAAS,EAC3B,OAAO,SAAS,MAAM,EACtB,EAAE,EACF,IAAI,GAAG,SAAS,EAChB,KAAK,GAAG,EAAE,GAAG,IAAI,IACf,SAAS,SAAS,SAAS,OAAO,EAAE,GACpC,SAAS,CAAC,OAAO,CAAC,SAAS,IAAI,GAC7B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,GAC7C,KAAK,GACP,SAAS,SAAS,OAAO,EAAE,GACzB,KAAK,GACL,IAAI,CAAC"}
1
+ {"version":3,"file":"IfLength.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/branching/IfLength.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,oBAAwB;AAGrF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,QAAQ,CAClB,SAAS,SAAS,KAAK,GAAG,MAAM,EAChC,OAAO,SAAS,MAAM,EACtB,EAAE,EACF,IAAI,GAAG,SAAS,EAChB,KAAK,GAAG,EAAE,GAAG,IAAI,IACf,SAAS,SAAS,SAAS,OAAO,EAAE,GACpC,SAAS,CAAC,OAAO,CAAC,SAAS,IAAI,GAC7B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,GAC7C,KAAK,GACP,SAAS,SAAS,OAAO,EAAE,GACzB,KAAK,GACL,SAAS,SAAS,MAAM,GACtB,eAAe,CACb,SAAS,EACT,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAC7C,KAAK,CACN,GACD,KAAK,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { AfterFirst, First, IsLiteral } from "../../index";
2
+ type Validate<T extends readonly unknown[]> = [] extends T ? false : IsLiteral<First<T>> extends true ? Validate<AfterFirst<T>> : true;
3
+ /**
4
+ * **HasWideValues**`<T>`
5
+ *
6
+ * Tests whether any values in the tuple are _wide_ (aka, not a literal) value.
7
+ */
8
+ export type HasWideValues<T extends readonly unknown[]> = Validate<T>;
9
+ export {};
10
+ //# sourceMappingURL=HasWideValues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HasWideValues.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/HasWideValues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,oBAAwB;AAE/D,KAAK,QAAQ,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,GACxD,KAAK,GACL,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAC9B,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GACvB,IAAI,CAAC;AAET;;;;GAIG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { AsString, ErrorCondition, IfAllLiteral, IfEqual, Split, Tuple } from "../../index";
1
+ import { AsArray, AsString, ErrorCondition, IfAllLiteral, IfEqual, Split, Tuple } from "../../index";
2
2
  type Process<A extends Tuple, B extends Tuple> = IfEqual<A["length"], B["length"], true, false>;
3
3
  type MixedType<A extends Tuple | string, B extends Tuple | string> = ErrorCondition<"invalid-use", "invalid use of mixed type", {
4
4
  context: {
@@ -23,6 +23,6 @@ type NonLiteral<A extends Tuple | string, B extends Tuple | string> = ErrorCondi
23
23
  export type OfSameLength<A extends Tuple | string, B extends Tuple | string> = A extends string ? B extends string ? IfAllLiteral<[
24
24
  A,
25
25
  B
26
- ], Process<Split<AsString<A>>, Split<AsString<B>>>, NonLiteral<A, B>> : MixedType<A, B> : A extends Tuple ? B extends Tuple ? Process<A, B> : MixedType<A, B> : MixedType<A, B>;
26
+ ], Process<AsArray<Split<AsString<A>>>, AsArray<Split<AsString<B>>>>, NonLiteral<A, B>> : MixedType<A, B> : A extends Tuple ? B extends Tuple ? Process<A, B> : MixedType<A, B> : MixedType<A, B>;
27
27
  export {};
28
28
  //# sourceMappingURL=OfSameLength.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OfSameLength.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/OfSameLength.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAwB;AAEhG,KAAK,OAAO,CACV,CAAC,SAAS,KAAK,EACf,CAAC,SAAS,KAAK,IACb,OAAO,CACT,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EACxB,IAAI,EACJ,KAAK,CACN,CAAC;AAEF,KAAK,SAAS,CACZ,CAAC,SAAS,KAAK,GAAG,MAAM,EACxB,CAAC,SAAS,KAAK,GAAG,MAAM,IACtB,cAAc,CAChB,aAAa,EACb,2BAA2B,EAC3B;IAAC,OAAO,EAAE;QAAC,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC,EAAE,CAAC,CAAA;KAAC,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAC,CAClD,CAAC;AAEF,KAAK,UAAU,CACf,CAAC,SAAS,KAAK,GAAG,MAAM,EACxB,CAAC,SAAS,KAAK,GAAG,MAAM,IACpB,cAAc,CAChB,aAAa,EACb,gHAAgH,EAChH;IAAC,OAAO,EAAE;QAAE,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC,EAAE,CAAC,CAAA;KAAC,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAC,CACnD,CAAC;AAGF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,CACtB,CAAC,SAAS,KAAK,GAAG,MAAM,EACxB,CAAC,SAAS,KAAK,GAAG,MAAM,IAE1B,CAAC,SAAS,MAAM,GACZ,CAAC,SAAS,MAAM,GACd,YAAY,CACV;IAAC,CAAC;IAAC,CAAC;CAAC,EACL,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9C,UAAU,CAAC,CAAC,EAAC,CAAC,CAAC,CAChB,GACD,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,GAChB,CAAC,SAAS,KAAK,GACb,CAAC,SAAS,KAAK,GACb,OAAO,CAAC,CAAC,EAAC,CAAC,CAAC,GACZ,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,GAClB,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"OfSameLength.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/OfSameLength.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAwB;AAEzG,KAAK,OAAO,CACV,CAAC,SAAS,KAAK,EACf,CAAC,SAAS,KAAK,IACb,OAAO,CACT,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EACxB,IAAI,EACJ,KAAK,CACN,CAAC;AAEF,KAAK,SAAS,CACZ,CAAC,SAAS,KAAK,GAAG,MAAM,EACxB,CAAC,SAAS,KAAK,GAAG,MAAM,IACtB,cAAc,CAChB,aAAa,EACb,2BAA2B,EAC3B;IAAC,OAAO,EAAE;QAAC,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC,EAAE,CAAC,CAAA;KAAC,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAC,CAClD,CAAC;AAEF,KAAK,UAAU,CACf,CAAC,SAAS,KAAK,GAAG,MAAM,EACxB,CAAC,SAAS,KAAK,GAAG,MAAM,IACpB,cAAc,CAChB,aAAa,EACb,gHAAgH,EAChH;IAAC,OAAO,EAAE;QAAE,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC,EAAE,CAAC,CAAA;KAAC,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAC,CACnD,CAAC;AAGF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,CACtB,CAAC,SAAS,KAAK,GAAG,MAAM,EACxB,CAAC,SAAS,KAAK,GAAG,MAAM,IAE1B,CAAC,SAAS,MAAM,GACZ,CAAC,SAAS,MAAM,GACd,YAAY,CACV;IAAC,CAAC;IAAC,CAAC;CAAC,EACL,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAChE,UAAU,CAAC,CAAC,EAAC,CAAC,CAAC,CAChB,GACD,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,GAChB,CAAC,SAAS,KAAK,GACb,CAAC,SAAS,KAAK,GACb,OAAO,CAAC,CAAC,EAAC,CAAC,CAAC,GACZ,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,GAClB,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC"}
@@ -73,4 +73,5 @@ export * from "./HasCharacters";
73
73
  export * from "./IsIndexable";
74
74
  export * from "./IsReadonlyObject";
75
75
  export * from "./OfSameLength";
76
+ export * from "./HasWideValues";
76
77
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAE5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAE5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
@@ -73,3 +73,4 @@ export * from "./HasCharacters.js";
73
73
  export * from "./IsIndexable.js";
74
74
  export * from "./IsReadonlyObject.js";
75
75
  export * from "./OfSameLength.js";
76
+ export * from "./HasWideValues.js";
@@ -1,4 +1,4 @@
1
- import { Concat, Tuple, Split, Slice, IfEqual, IfStringLiteral } from "../index";
1
+ import { Concat, Tuple, Split, IfStringLiteral } from "../index";
2
2
  type _Pop<TVal extends Tuple> = TVal extends [...(infer Rest), unknown] ? Rest : never;
3
3
  /**
4
4
  * **Pop**`<TList>`
@@ -13,6 +13,6 @@ type _Pop<TVal extends Tuple> = TVal extends [...(infer Rest), unknown] ? Rest :
13
13
  * in a string literal and get back the literal with the last
14
14
  * character removed.
15
15
  */
16
- export type Pop<TList extends Tuple | string> = TList extends string ? IfEqual<TList, "", "", IfStringLiteral<TList, Concat<Slice<Split<TList & string>, 0, -1>>, string>> : _Pop<Exclude<TList, string>>;
16
+ export type Pop<TList extends Tuple | string> = TList extends string ? IfStringLiteral<TList, TList extends string ? TList extends "" ? "" : Split<TList> extends readonly string[] ? Concat<_Pop<Split<TList>>> : never : never, string> : _Pop<Exclude<TList, string>>;
17
17
  export {};
18
18
  //# sourceMappingURL=Pop.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pop.d.ts","sourceRoot":"","sources":["../../../src/types/lists/Pop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,iBAAwB;AAExF,KAAK,IAAI,CACP,IAAI,SAAS,KAAK,IAChB,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,OAAO,CAAC,GACzC,IAAI,GACJ,KAAK,CAAC;AAER;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,GAAG,CACb,KAAK,SAAS,KAAK,GAAG,MAAM,IAE9B,KAAK,SAAS,MAAM,GAChB,OAAO,CACL,KAAK,EAAE,EAAE,EACT,EAAE,EACF,eAAe,CACb,KAAK,EACL,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAC3C,MAAM,CACP,CACF,GACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"Pop.d.ts","sourceRoot":"","sources":["../../../src/types/lists/Pop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,iBAAwB;AAExE,KAAK,IAAI,CACP,IAAI,SAAS,KAAK,IAChB,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,OAAO,CAAC,GACzC,IAAI,GACJ,KAAK,CAAC;AAER;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,GAAG,CACb,KAAK,SAAS,KAAK,GAAG,MAAM,IAC1B,KAAK,SAAS,MAAM,GAClB,eAAe,CACX,KAAK,EACL,KAAK,SAAS,MAAM,GAClB,KAAK,SAAS,EAAE,GACd,EAAE,GACF,KAAK,CAAC,KAAK,CAAC,SAAS,SAAS,MAAM,EAAE,GACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAC1B,KAAK,GACT,KAAK,EACP,MAAM,CACT,GACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { Tuple, IfString, IfStringLiteral, AsString, AfterFirst, Chars, AsArray } from "../index";
2
- type _Shift<TList extends Tuple> = TList extends [unknown, ...(infer Tail)] ? Tail : undefined;
1
+ import { Tuple, AsString, AsArray, Split, Concat, IfStringLiteral } from "../index";
2
+ type _Shift<TList extends Tuple> = TList extends [unknown, ...(infer Tail)] ? Tail : "";
3
3
  /**
4
4
  * **Shift**`<T>`
5
5
  *
@@ -13,6 +13,6 @@ type _Shift<TList extends Tuple> = TList extends [unknown, ...(infer Tail)] ? Ta
13
13
  * in a string literal and get back the literal with the first
14
14
  * character removed.
15
15
  */
16
- export type Shift<T extends string | Tuple> = IfString<T, IfStringLiteral<AsString<T>, T extends "" ? "" : AfterFirst<Chars<AsString<T>>>, never>, _Shift<AsArray<T>>>;
16
+ export type Shift<T extends string | Tuple> = T extends Tuple ? _Shift<AsArray<T>> : IfStringLiteral<T, _Shift<AsArray<Split<AsString<T>>>> extends readonly string[] ? Concat<_Shift<AsArray<Split<AsString<T>>>>> : "", string>;
17
17
  export {};
18
18
  //# sourceMappingURL=Shift.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Shift.d.ts","sourceRoot":"","sources":["../../../src/types/lists/Shift.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,UAAU,EACV,KAAK,EACL,OAAO,EACR,iBAAwB;AAEzB,KAAK,MAAM,CAAC,KAAK,SAAS,KAAK,IAC/B,KAAK,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GACpC,IAAI,GACJ,SAAS,CAAC;AAQd;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,KAAK,CACf,CAAC,SAAS,MAAM,GAAG,KAAK,IACtB,QAAQ,CACV,CAAC,EAED,eAAe,CACb,QAAQ,CAAC,CAAC,CAAC,EACX,CAAC,SAAS,EAAE,GACR,EAAE,GACF,UAAU,CAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EACpC,KAAK,CACN,EAED,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CACnB,CAAC"}
1
+ {"version":3,"file":"Shift.d.ts","sourceRoot":"","sources":["../../../src/types/lists/Shift.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,QAAQ,EACR,OAAO,EACP,KAAK,EACL,MAAM,EACN,eAAe,EAChB,iBAAwB;AAEzB,KAAK,MAAM,CAAC,KAAK,SAAS,KAAK,IAC/B,KAAK,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GACpC,IAAI,GACJ,EAAE,CAAC;AAQP;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,KAAK,CACf,CAAC,SAAS,MAAM,GAAG,KAAK,IACtB,CAAC,SAAS,KAAK,GACjB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAClB,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,GAC9E,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC3C,EAAE,EACJ,MAAM,CACL,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { Concat, Split } from "../string-literals";
2
+ import { Length } from "./Length";
1
3
  type NumberToArr<T extends number, R extends unknown[] = []> = R["length"] extends T ? R : NumberToArr<T, [...R, 0]>;
2
4
  type ToPositiveIndex<Arr extends readonly unknown[], N extends number> = `${N}` extends `-${infer P extends number}` ? NumberToArr<Arr["length"]> extends [...NumberToArr<P>, ...infer Rest] ? Rest["length"] : 0 : N;
3
5
  export type _Slice<TList extends readonly unknown[], TStart extends number = 0, TEnd extends number = TList["length"], Index extends unknown[] = [], R extends unknown[] = [], PStart extends number = ToPositiveIndex<TList, TStart>, PEnd extends number = ToPositiveIndex<TList, TEnd>> = TList extends [infer A, ...infer Rest] ? Index["length"] extends PEnd ? R : Index["length"] extends PStart ? _Slice<Rest, PStart, PEnd, [...Index, 0], [...R, A]> : R["length"] extends 0 ? _Slice<Rest, PStart, PEnd, [...Index, 0], R> : _Slice<Rest, PStart, PEnd, [...Index, 0], [...R, A]> : R;
@@ -10,6 +12,6 @@ export type _Slice<TList extends readonly unknown[], TStart extends number = 0,
10
12
  * - `TStart` defaults to 0
11
13
  * - `TEnd` defaults to the length of `TList`
12
14
  */
13
- export type Slice<TList extends readonly unknown[], TStart extends number = 0, TEnd extends number = TList["length"]> = _Slice<[...TList], TStart, TEnd>;
15
+ export type Slice<TList extends readonly unknown[] | string, TStart extends number = 0, TEnd extends number = Length<TList>> = TList extends readonly unknown[] ? _Slice<[...TList], TStart, TEnd> : TList extends string ? Split<TList> extends readonly string[] ? Concat<_Slice<Split<TList>, TStart, TEnd>> : never : never;
14
16
  export {};
15
17
  //# sourceMappingURL=Slice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Slice.d.ts","sourceRoot":"","sources":["../../../src/types/lists/Slice.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,IAC3D,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACf,CAAC,GACD,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEhC,KAAK,eAAe,CAClB,GAAG,SAAS,SAAS,OAAO,EAAE,EAC9B,CAAC,SAAS,MAAM,IACd,GAAG,CAAC,EAAE,SAAS,IAAI,MAAM,CAAC,SAAS,MAAM,EAAE,GACzC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GACnE,IAAI,CAAC,QAAQ,CAAC,GACd,CAAC,GACH,CAAC,CAAC;AAER,MAAM,MAAM,MAAM,CAChB,KAAK,SAAS,SAAS,OAAO,EAAE,EAChC,MAAM,SAAS,MAAM,GAAG,CAAC,EACzB,IAAI,SAAS,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,EACrC,KAAK,SAAS,OAAO,EAAE,GAAG,EAAE,EAC5B,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,EACxB,MAAM,SAAS,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,EACtD,IAAI,SAAS,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,IAChD,KAAK,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GACxC,KAAK,CAAC,QAAQ,CAAC,SAAS,IAAI,GAC1B,CAAC,GACD,KAAK,CAAC,QAAQ,CAAC,SAAS,MAAM,GAC5B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GACpD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACnB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAC5C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAC1D,CAAC,CAAC;AAGJ;;;;;;;;GAQG;AACH,MAAM,MAAM,KAAK,CACf,KAAK,SAAS,SAAS,OAAO,EAAE,EAChC,MAAM,SAAS,MAAM,GAAG,CAAC,EACzB,IAAI,SAAS,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,IACnC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,EAAC,MAAM,EAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"Slice.d.ts","sourceRoot":"","sources":["../../../src/types/lists/Slice.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,KAAK,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,IAC3D,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACf,CAAC,GACD,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEhC,KAAK,eAAe,CAClB,GAAG,SAAS,SAAS,OAAO,EAAE,EAC9B,CAAC,SAAS,MAAM,IACd,GAAG,CAAC,EAAE,SAAS,IAAI,MAAM,CAAC,SAAS,MAAM,EAAE,GACzC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GACnE,IAAI,CAAC,QAAQ,CAAC,GACd,CAAC,GACH,CAAC,CAAC;AAER,MAAM,MAAM,MAAM,CAChB,KAAK,SAAS,SAAS,OAAO,EAAE,EAChC,MAAM,SAAS,MAAM,GAAG,CAAC,EACzB,IAAI,SAAS,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,EACrC,KAAK,SAAS,OAAO,EAAE,GAAG,EAAE,EAC5B,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,EACxB,MAAM,SAAS,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,EACtD,IAAI,SAAS,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,IAChD,KAAK,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GACxC,KAAK,CAAC,QAAQ,CAAC,SAAS,IAAI,GAC1B,CAAC,GACD,KAAK,CAAC,QAAQ,CAAC,SAAS,MAAM,GAC5B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GACpD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACnB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAC5C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAC1D,CAAC,CAAC;AAGJ;;;;;;;;GAQG;AACH,MAAM,MAAM,KAAK,CACf,KAAK,SAAS,SAAS,OAAO,EAAE,GAAG,MAAM,EACzC,MAAM,SAAS,MAAM,GAAG,CAAC,EACzB,IAAI,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IACjC,KAAK,SAAS,SAAS,OAAO,EAAE,GAClC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,EAAC,MAAM,EAAC,IAAI,CAAC,GAC9B,KAAK,SAAS,MAAM,GAClB,KAAK,CAAC,KAAK,CAAC,SAAS,SAAS,MAAM,EAAE,GACpC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,GAC1C,KAAK,GACP,KAAK,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { IfWide, RemoveNever } from "../../../index";
2
+ /**
3
+ * **RemoveWide**`<T>`
4
+ *
5
+ * Extracts wide/non-literal values from a tuple; retains the rest.
6
+ */
7
+ export type RemoveWide<T extends readonly unknown[]> = RemoveNever<{
8
+ [K in keyof T]: IfWide<T[K], never, T[K]>;
9
+ }>;
10
+ //# sourceMappingURL=RemoveWide.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoveWide.d.ts","sourceRoot":"","sources":["../../../../../src/types/lists/extractors/2nd-order/RemoveWide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAwB;AAEtD;;;;GAIG;AACH,MAAM,MAAM,UAAU,CACpB,CAAC,SAAS,SAAS,OAAO,EAAE,IAC1B,WAAW,CAAC;KACb,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1C,CAAC,CAAA"}
@@ -3,6 +3,7 @@ export * from "./RemoveErrors";
3
3
  export * from "./RemoveExtends";
4
4
  export * from "./RemoveStrings";
5
5
  export * from "./RetainStrings";
6
+ export * from "./RemoveWide";
6
7
  export * from "./RemoveNever";
7
8
  export * from "./RetainExtends";
8
9
  export * from "./RetainEquals";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/types/lists/extractors/2nd-order/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/types/lists/extractors/2nd-order/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
@@ -3,6 +3,7 @@ export * from "./RemoveErrors.js";
3
3
  export * from "./RemoveExtends.js";
4
4
  export * from "./RemoveStrings.js";
5
5
  export * from "./RetainStrings.js";
6
+ export * from "./RemoveWide.js";
6
7
  export * from "./RemoveNever.js";
7
8
  export * from "./RetainExtends.js";
8
9
  export * from "./RetainEquals.js";
@@ -0,0 +1,46 @@
1
+ import { Length } from "../lists/Length";
2
+ import { Shift } from "../lists/Shift";
3
+ import { Increment } from "../numeric-literals/Increment";
4
+ import { AsString } from "../type-conversion";
5
+ import { FirstChar } from "./FirstChar";
6
+ type Process<TStr extends string, TIndexBy extends string, TIndexPos extends number = 0, TResults extends readonly number[] = []> = "" extends TStr ? TResults : Process<Shift<TStr>, TIndexBy, Increment<TIndexPos>, FirstChar<TStr> extends TIndexBy ? [
7
+ ...TResults,
8
+ TIndexPos
9
+ ] : TResults>;
10
+ export type IndexMeta = [name: string, position: number, len: number];
11
+ type ProcessWithMeta<TStr extends string, TIndexBy extends string, TIndexPos extends number = 0, TResults extends readonly IndexMeta[] = []> = "" extends TStr ? TResults : ProcessWithMeta<Shift<TStr>, TIndexBy, Increment<TIndexPos>, FirstChar<TStr> extends TIndexBy ? [
12
+ ...TResults,
13
+ [
14
+ name: AsString<FirstChar<TStr>>,
15
+ position: TIndexPos,
16
+ len: Length<FirstChar<TStr>>
17
+ ]
18
+ ] : TResults>;
19
+ /**
20
+ * **IndexesOfStr**`<TStr,TIndexBy>`
21
+ *
22
+ * Provides a tuple containing the numeric index positions where `TIndexBy`
23
+ * is found in `TStr`.
24
+ *
25
+ * **Note:** you can provide a literal type or a union type for `TIndexBy`
26
+ *
27
+ * **Related:** `IndexesOfStrWithMeta`
28
+ */
29
+ export type IndexesOfStr<TStr extends string, TIndexBy extends string | readonly string[]> = TIndexBy extends string ? Process<TStr, TIndexBy> : never;
30
+ /**
31
+ * **IndexesOfStrWithMeta**`<TStr,TIndexBy>`
32
+ *
33
+ * Provides a list of index points where `TStr` is indexed by `TIndexBy`.
34
+ * Each intersection results in a `NamedIndex` tuple of:
35
+ *
36
+ * `[ name: string, position: number ]`
37
+ *
38
+ * This utility is particularly useful when a union type is passed in
39
+ * for the `TIndexBy` value and allows consumers to map back to the
40
+ * actual literal variant that provided the indexation.
41
+ *
42
+ * **Related:** `IndexesOfStr`
43
+ */
44
+ export type IndexesOfStrWithMeta<TStr extends string, TIndexBy extends string> = ProcessWithMeta<TStr, TIndexBy>;
45
+ export {};
46
+ //# sourceMappingURL=IndexesOfStr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IndexesOfStr.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/IndexesOfStr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,KAAK,OAAO,CACZ,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,MAAM,EACvB,SAAS,SAAS,MAAM,GAAG,CAAC,EAC5B,QAAQ,SAAS,SAAS,MAAM,EAAE,GAAG,EAAE,IACnC,EAAE,SAAS,IAAI,GAChB,QAAQ,GACR,OAAO,CACN,KAAK,CAAC,IAAI,CAAC,EACX,QAAQ,EACR,SAAS,CAAC,SAAS,CAAC,EACpB,SAAS,CAAC,IAAI,CAAC,SAAS,QAAQ,GAC5B;IACA,GAAG,QAAQ;IACX,SAAS;CACV,GACC,QAAQ,CACb,CAAC;AAEJ,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAEtE,KAAK,eAAe,CAClB,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,MAAM,EACvB,SAAS,SAAS,MAAM,GAAG,CAAC,EAC5B,QAAQ,SAAS,SAAS,SAAS,EAAE,GAAG,EAAE,IACxC,EAAE,SAAS,IAAI,GAChB,QAAQ,GACR,eAAe,CACd,KAAK,CAAC,IAAI,CAAC,EACX,QAAQ,EACR,SAAS,CAAC,SAAS,CAAC,EACpB,SAAS,CAAC,IAAI,CAAC,SAAS,QAAQ,GAC5B;IACA,GAAG,QAAQ;IACX;QACE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,QAAQ,EAAE,SAAS;QACnB,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;KAC7B;CACF,GACC,QAAQ,CACb,CAAC;AAEJ;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,CACtB,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,IACzC,QAAQ,SAAS,MAAM,GACzB,OAAO,CAAC,IAAI,EAAC,QAAQ,CAAC,GACtB,KAAK,CAAC;AAGR;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,oBAAoB,CAChC,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,MAAM,IACnB,eAAe,CAAC,IAAI,EAAC,QAAQ,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,7 @@
1
- import { Split, AsArray, AfterFirst, First, Last, IfStringLiteral, AsString, IfString, Chars, IfNever } from "../index";
2
- type Iterate<TInput extends readonly string[], TChars extends readonly string[] = []> = [] extends TInput ? TChars : Iterate<AfterFirst<TInput>, IfStringLiteral<First<TInput>, IfNever<Chars<First<TInput>>, TChars, Last<Chars<First<TInput>>> extends string ? [...TChars, Last<Chars<First<TInput>>>] : never>, TChars>>;
1
+ import { Split, AsArray, Last, AsString, IfString, UnionToTuple } from "../index";
2
+ type Iterate<TInput extends readonly string[]> = UnionToTuple<{
3
+ [K in keyof TInput]: Last<AsArray<Split<AsString<TInput[K]>>>>;
4
+ }[number]>;
3
5
  /**
4
6
  * **LastChar**`<TContent>`
5
7
  *
@@ -12,10 +14,10 @@ type Iterate<TInput extends readonly string[], TChars extends readonly string[]
12
14
  * - when a wide string type is provided it will return the _never_ type.
13
15
  * - **Tuple<string>:**
14
16
  * - when a tuple of strings is received it will process
15
- * each element in the array independently and return each element's first
17
+ * each element in the array independently and return each element's last
16
18
  * character
17
19
  * - any wide strings encountered will be ignored in the returned array
18
20
  */
19
- export type LastChar<TContent extends string | readonly string[]> = IfString<TContent, Last<Split<AsString<TContent>>>, Iterate<AsArray<TContent>>>;
21
+ export type LastChar<TContent extends string | readonly string[]> = IfString<TContent, Last<AsArray<Split<AsString<TContent>>>>, TContent extends readonly string[] ? Iterate<TContent> : never>;
20
22
  export {};
21
23
  //# sourceMappingURL=LastChar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LastChar.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/LastChar.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,OAAO,EACP,UAAU,EACV,KAAK,EACL,IAAI,EACJ,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,OAAO,EACR,iBAAwB;AAEzB,KAAK,OAAO,CACV,MAAM,SAAS,SAAS,MAAM,EAAE,EAChC,MAAM,SAAS,SAAS,MAAM,EAAE,GAAG,EAAE,IACnC,EAAE,SAAS,MAAM,GACjB,MAAM,GACN,OAAO,CACL,UAAU,CAAC,MAAM,CAAC,EAClB,eAAe,CACb,KAAK,CAAC,MAAM,CAAC,EAEb,OAAO,CACL,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EACpB,MAAM,EACN,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,MAAM,GACrC,CAAE,GAAG,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GACxC,KAAK,CACV,EAED,MAAM,CACP,CACF,CAAC;AAEN;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,QAAQ,CAClB,QAAQ,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,IACzC,QAAQ,CACV,QAAQ,EACR,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC/B,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAC3B,CAAC"}
1
+ {"version":3,"file":"LastChar.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/LastChar.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACb,iBAAwB;AAEzB,KAAK,OAAO,CACV,MAAM,SAAS,SAAS,MAAM,EAAE,IAC9B,YAAY,CAAC;KACd,CAAC,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/D,CAAC,MAAM,CAAC,CAAC,CAAA;AAIV;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,QAAQ,CAClB,QAAQ,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,IACzC,QAAQ,CACV,QAAQ,EACR,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACxC,QAAQ,SAAS,SAAS,MAAM,EAAE,GAC9B,OAAO,CAAC,QAAQ,CAAC,GACjB,KAAK,CACV,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { Split, AsArray, AfterFirst, AsString, Concat } from "../index";
2
2
  type Iterate<TInput extends readonly string[]> = {
3
- [K in keyof TInput]: TInput[K] extends string ? Concat<AfterFirst<Split<TInput[K]>>> : never;
3
+ [K in keyof TInput]: TInput[K] extends string ? Concat<AfterFirst<AsArray<Split<TInput[K]>>>> : never;
4
4
  };
5
5
  /**
6
6
  * **RemainingChar**`<TContent>`
@@ -18,6 +18,6 @@ type Iterate<TInput extends readonly string[]> = {
18
18
  * after the first character has been removed
19
19
  * - any wide strings encountered will be ignored in the returned array
20
20
  */
21
- export type RemainingChars<TContent extends string | readonly string[]> = TContent extends readonly string[] ? Iterate<AsArray<TContent>> : Concat<AfterFirst<Split<AsString<TContent>>>>;
21
+ export type RemainingChars<TContent extends string | readonly string[]> = TContent extends readonly string[] ? Iterate<AsArray<TContent>> : Concat<AfterFirst<AsArray<Split<AsString<TContent>>>>>;
22
22
  export {};
23
23
  //# sourceMappingURL=RemainingChars.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemainingChars.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/RemainingChars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAG,MAAM,EAAE,iBAAwB;AAEhF,KAAK,OAAO,CACV,MAAM,SAAS,SAAS,MAAM,EAAE,IAC9B;KACD,CAAC,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,MAAM,GACzC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACpC,KAAK;CACV,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,cAAc,CACxB,QAAQ,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,IACzC,QAAQ,SAAS,SAAS,MAAM,EAAE,GAClC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAC1B,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"RemainingChars.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/RemainingChars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAG,MAAM,EAAE,iBAAwB;AAEhF,KAAK,OAAO,CACV,MAAM,SAAS,SAAS,MAAM,EAAE,IAC9B;KACD,CAAC,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,MAAM,GACzC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC7C,KAAK;CACV,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,cAAc,CACxB,QAAQ,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,IACzC,QAAQ,SAAS,SAAS,MAAM,EAAE,GAClC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAC1B,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -1,12 +1,34 @@
1
- import { AfterFirst, First, IfAllLiteral, IfEqual, IfUnion, Last, Pop, Shift, Slice } from "../index";
2
- type SplitOnce<TRemaining extends string, TSep extends string, TAnswer extends readonly string[] = []> = TRemaining extends `${infer HEAD}${TSep}${infer TAIL}` ? SplitOnce<TAIL, TSep, [
3
- ...TAnswer,
4
- HEAD
5
- ]> : [...TAnswer, TRemaining];
6
- type AppendToLastBlock<TContent extends string, TBlocks extends readonly string[]> = Pop<TBlocks> extends readonly string[] ? Last<TBlocks> extends string ? [...Pop<TBlocks>, `${Last<TBlocks>}${TContent}`] : TBlocks : TBlocks;
7
- type AddNewBlock<TSep extends string, TBlocks extends readonly string[], TUnionPolicy extends "retain" | "omit"> = TUnionPolicy extends "retain" ? [...TBlocks, TSep] : [...TBlocks, ""];
8
- type _SplitOnUnion<TContent extends readonly string[], TSep extends string, TUnionPolicy extends "retain" | "omit", TBlocks extends readonly string[] = [""]> = [] extends TContent ? Shift<TBlocks> : _SplitOnUnion<AfterFirst<TContent>, TSep, TUnionPolicy, First<TContent> extends TSep ? AddNewBlock<First<TContent>, TBlocks, TUnionPolicy> : AppendToLastBlock<First<TContent>, TBlocks>>;
9
- export type Cleanup<T extends readonly string[]> = IfEqual<Last<T>, "", Slice<T, 0, -1>, T>;
1
+ import { AfterFirst, IfEqual, IfLength, IfStringLiteral, IfUnion, IsLiteral, UnionToTuple } from "../index";
2
+ type UnionPolicy = "omit" | "leading" | "trailing";
3
+ type Take<TStr extends string, TSep extends string> = TStr extends `${infer Content}${TSep}${infer Rest}` ? {
4
+ content: Content;
5
+ separator: TSep;
6
+ rest: Rest;
7
+ } : null;
8
+ type SplitOnce<TStr extends string, TSep extends string, TPolicy extends UnionPolicy = "omit", TOutputs extends readonly string[] = []> = Take<TStr, TSep> extends null ? IfEqual<TStr, "", TOutputs, [
9
+ ...TOutputs,
10
+ TStr
11
+ ]> : Take<TStr, TSep> extends {
12
+ content: string;
13
+ separator: string;
14
+ rest: string;
15
+ } ? SplitOnce<Take<TStr, TSep>["rest"], TSep, TPolicy, [
16
+ ...TOutputs,
17
+ Take<TStr, TSep>["content"]
18
+ ]> : never;
19
+ type SplitChars<TStr extends string, TResult extends readonly string[] = []> = IfStringLiteral<TStr, IfLength<TStr, 0, TResult, TStr extends `${infer Char}${infer Rest}` ? SplitChars<Rest, [
20
+ ...TResult,
21
+ Char
22
+ ]> : never>, string>;
23
+ type ProcessEach<TContent extends readonly string[], TIndexBy extends readonly string[], TUnionPolicy extends UnionPolicy> = {
24
+ [KIndex in keyof TIndexBy]: {
25
+ [KOut in keyof TContent]: TContent[KOut] extends string ? TIndexBy[KIndex] extends string ? SplitOnce<TContent[KOut], TIndexBy[KIndex], TUnionPolicy> : never : never;
26
+ }[number];
27
+ }[number];
28
+ type Process<TInputs extends readonly string[], TIndexBy extends readonly string[], TUnionPolicy extends UnionPolicy = "omit", TOutputs extends readonly string[] = []> = [] extends TInputs ? TOutputs : Process<AfterFirst<TInputs>, TIndexBy, TUnionPolicy, [
29
+ ...TOutputs,
30
+ ...(ProcessEach<TOutputs, TIndexBy, TUnionPolicy> extends readonly string[] ? ProcessEach<TOutputs, TIndexBy, TUnionPolicy> : [])
31
+ ]>;
10
32
  /**
11
33
  * **Split**`<TStr, [SEP]>`
12
34
  *
@@ -21,9 +43,6 @@ export type Cleanup<T extends readonly string[]> = IfEqual<Last<T>, "", Slice<T,
21
43
  * **Note:** the `Chars` type utility wraps the functionality of having
22
44
  * no `SEP` character and may be more intuitive to viewers when seen.
23
45
  */
24
- export type Split<TStr extends string, TSep extends string = "", TUnionPolicy extends "retain" | "omit" = "omit"> = IfAllLiteral<[
25
- TStr,
26
- TSep
27
- ], IfUnion<TSep, _SplitOnUnion<SplitOnce<TStr, "">, TSep, TUnionPolicy>, Cleanup<SplitOnce<TStr, TSep>>>, readonly string[]>;
46
+ export type Split<TStr extends string, TSep extends string = "", TUnionPolicy extends UnionPolicy = "omit"> = IfUnion<TSep, UnionToTuple<TSep> extends readonly string[] ? Process<[TStr], UnionToTuple<TSep>, TUnionPolicy> : string, IfEqual<TSep, "", SplitChars<TStr>, IfEqual<TSep, TStr, ["", ""], IsLiteral<TStr> extends true ? IsLiteral<TSep> extends true ? SplitOnce<TStr, TSep, TUnionPolicy> : string[] : string[]>>>;
28
47
  export {};
29
48
  //# sourceMappingURL=Split.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Split.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/Split.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,EACL,YAAY,EACZ,OAAO,EACP,OAAO,EACP,IAAI,EACJ,GAAG,EACH,KAAK,EACL,KAAK,EACN,iBAAwB;AAEzB,KAAK,SAAS,CACZ,UAAU,SAAS,MAAM,EACzB,IAAI,SAAS,MAAM,EACnB,OAAO,SAAS,SAAS,MAAM,EAAE,GAAG,EAAE,IACpC,UAAU,SAAS,GAAG,MAAM,IAAI,GAAG,IAAI,GAAG,MAAM,IAAI,EAAE,GACxD,SAAS,CACP,IAAI,EACJ,IAAI,EACJ;IAAC,GAAG,OAAO;IAAE,IAAI;CAAC,CACnB,GACD,CAAC,GAAG,OAAO,EAAE,UAAU,CAAC,CAAC;AAU3B,KAAK,iBAAiB,CACpB,QAAQ,SAAS,MAAM,EACvB,OAAO,SAAS,SAAS,MAAM,EAAE,IAC/B,GAAG,CAAC,OAAO,CAAC,SAAS,SAAS,MAAM,EAAE,GACtC,IAAI,CAAC,OAAO,CAAC,SAAS,MAAM,GAC1B,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,QAAQ,EAAE,CAAC,GAChD,OAAO,GACT,OAAO,CAAC;AAEZ,KAAK,WAAW,CACd,IAAI,SAAS,MAAM,EACnB,OAAO,SAAS,SAAS,MAAM,EAAE,EACjC,YAAY,SAAS,QAAQ,GAAG,MAAM,IACpC,YAAY,SAAS,QAAQ,GAC7B,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,GAClB,CAAC,GAAG,OAAO,EAAE,EAAE,CAAC,CAAC;AAErB,KAAK,aAAa,CAChB,QAAQ,SAAS,SAAS,MAAM,EAAE,EAClC,IAAI,SAAS,MAAM,EACnB,YAAY,SAAS,QAAQ,GAAG,MAAM,EACtC,OAAO,SAAS,SAAS,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,IACtC,EAAE,SAAS,QAAQ,GACnB,KAAK,CAAC,OAAO,CAAC,GACd,aAAa,CACX,UAAU,CAAC,QAAQ,CAAC,EACpB,IAAI,EACJ,YAAY,EACZ,KAAK,CAAC,QAAQ,CAAC,SAAS,IAAI,GACxB,WAAW,CACT,KAAK,CAAC,QAAQ,CAAC,EACf,OAAO,EACP,YAAY,CACb,GACD,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAC,OAAO,CAAC,CAC/C,CAAC;AAEN,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,IAAI,OAAO,CACxD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EACX,KAAK,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EACb,CAAC,CACF,CAAC;AAIF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,KAAK,CACf,IAAI,SAAS,MAAM,EACnB,IAAI,SAAS,MAAM,GAAG,EAAE,EACxB,YAAY,SAAS,QAAQ,GAAG,MAAM,GAAG,MAAM,IAC7C,YAAY,CACd;IAAE,IAAI;IAAE,IAAI;CAAE,EAEd,OAAO,CACL,IAAI,EAEJ,aAAa,CACX,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EACnB,IAAI,EACJ,YAAY,CACb,EAED,OAAO,CACL,SAAS,CAAC,IAAI,EAAC,IAAI,CAAC,CACrB,CACF,EAED,SAAS,MAAM,EAAE,CAClB,CAAC"}
1
+ {"version":3,"file":"Split.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/Split.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,OAAO,EACP,QAAQ,EACR,eAAe,EACf,OAAO,EACP,SAAS,EACT,YAAY,EACb,iBAAwB;AAEzB,KAAK,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAEnD,KAAK,IAAI,CACP,IAAI,SAAS,MAAM,EACnB,IAAI,SAAS,MAAM,IACjB,IAAI,SAAS,GAAG,MAAM,OAAO,GAAG,IAAI,GAAG,MAAM,IAAI,EAAE,GACrD;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAC,GAChD,IAAI,CAAC;AAEP,KAAK,SAAS,CACZ,IAAI,SAAS,MAAM,EACnB,IAAI,SAAS,MAAM,EACnB,OAAO,SAAS,WAAW,GAAG,MAAM,EACpC,QAAQ,SAAS,SAAS,MAAM,EAAE,GAAG,EAAE,IACrC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,IAAI,GAC/B,OAAO,CACL,IAAI,EAAE,EAAE,EACR,QAAQ,EACR;IAAC,GAAG,QAAQ;IAAE,IAAI;CAAC,CACpB,GACD,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GAC1E,SAAS,CACP,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,EACxB,IAAI,EACJ,OAAO,EACP;IACE,GAAG,QAAQ;IACX,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC;CAC5B,CACF,GACD,KAAK,CAAC;AAGV,KAAK,UAAU,CACb,IAAI,SAAS,MAAM,EACnB,OAAO,SAAS,SAAS,MAAM,EAAE,GAAG,EAAE,IACpC,eAAe,CACjB,IAAI,EACJ,QAAQ,CACN,IAAI,EAAE,CAAC,EACP,OAAO,EACP,IAAI,SAAS,GAAG,MAAM,IAAI,GAAG,MAAM,IAAI,EAAE,GACrC,UAAU,CACR,IAAI,EACN;IAAC,GAAG,OAAO;IAAE,IAAI;CAAC,CACnB,GACC,KAAK,CACV,EACD,MAAM,CACP,CAAC;AAGF,KAAK,WAAW,CACd,QAAQ,SAAS,SAAS,MAAM,EAAE,EAClC,QAAQ,SAAS,SAAS,MAAM,EAAE,EAClC,YAAY,SAAS,WAAW,IAC9B;KACH,MAAM,IAAI,MAAM,QAAQ,GAAG;SACzB,IAAI,IAAI,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,MAAM,GACrD,QAAQ,CAAC,MAAM,CAAC,SAAS,MAAM,GAC7B,SAAS,CACP,QAAQ,CAAC,IAAI,CAAC,EACd,QAAQ,CAAC,MAAM,CAAC,EAChB,YAAY,CACb,GACD,KAAK,GACP,KAAK;KACR,CAAC,MAAM,CAAC;CACR,CAAC,MAAM,CAAC,CAAC;AAGV,KAAK,OAAO,CACV,OAAO,SAAS,SAAS,MAAM,EAAE,EACjC,QAAQ,SAAS,SAAS,MAAM,EAAE,EAClC,YAAY,SAAS,WAAW,GAAG,MAAM,EACzC,QAAQ,SAAS,SAAS,MAAM,EAAE,GAAG,EAAE,IACrC,EAAE,SAAS,OAAO,GACpB,QAAQ,GACR,OAAO,CACL,UAAU,CAAC,OAAO,CAAC,EACnB,QAAQ,EACR,YAAY,EACZ;IACE,GAAG,QAAQ;IACX,GAAG,CACD,WAAW,CAAC,QAAQ,EAAC,QAAQ,EAAC,YAAY,CAAC,SAAS,SAAS,MAAM,EAAE,GACjE,WAAW,CAAC,QAAQ,EAAC,QAAQ,EAAC,YAAY,CAAC,GAC3C,EAAE,CACP;CACF,CACF,CACF;AAGD;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,KAAK,CACf,IAAI,SAAS,MAAM,EACnB,IAAI,SAAS,MAAM,GAAG,EAAE,EACxB,YAAY,SAAS,WAAW,GAAG,MAAM,IACvC,OAAO,CACT,IAAI,EACJ,YAAY,CAAC,IAAI,CAAC,SAAS,SAAS,MAAM,EAAE,GAC1C,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,GACjD,MAAM,EAER,OAAO,CACL,IAAI,EAAE,EAAE,EACR,UAAU,CAAC,IAAI,CAAC,EAChB,OAAO,CACL,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,EAAC,EAAE,CAAC,EACnB,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,GAC1B,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,GAC1B,SAAS,CAAC,IAAI,EAAC,IAAI,EAAE,YAAY,CAAC,GAClC,MAAM,EAAE,GACV,MAAM,EAAE,CACX,CACF,CACF,CAAA"}
@@ -1,4 +1,4 @@
1
- import { AsTuple, First, Split } from "../index";
1
+ import { IfStringLiteral } from "../index";
2
2
  /**
3
3
  * **StripAfter**`<TStr, TBreak>`
4
4
  *
@@ -11,5 +11,5 @@ import { AsTuple, First, Split } from "../index";
11
11
  * type T = StripAfter<"hello world", " ">;
12
12
  * ```
13
13
  */
14
- export type StripAfter<TStr extends string, TBreak extends string> = First<AsTuple<Split<TStr, TBreak>>>;
14
+ export type StripAfter<TStr extends string, TBreak extends string> = IfStringLiteral<TStr, IfStringLiteral<TBreak, TStr extends `${infer Before}${TBreak}${string}` ? Before : TStr, string>, string>;
15
15
  //# sourceMappingURL=StripAfter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StripAfter.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/StripAfter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAG,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAwB;AAEzD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,CACpB,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,MAAM,IACnB,KAAK,CAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC"}
1
+ {"version":3,"file":"StripAfter.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/StripAfter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAG,eAAe,EAAE,iBAAwB;AAEnD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,CACpB,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,MAAM,IACnB,eAAe,CACjB,IAAI,EACJ,eAAe,CACb,MAAM,EACN,IAAI,SAAS,GAAG,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAC5C,MAAM,GACN,IAAI,EACR,MAAM,CACP,EACD,MAAM,CACP,CAAC"}
@@ -1,4 +1,4 @@
1
- import { IfAllLiteral } from "../index";
1
+ import { IfStringLiteral } from "../index";
2
2
  /**
3
3
  * **StripBefore**`<TStr, TBreak>`
4
4
  *
@@ -11,8 +11,5 @@ import { IfAllLiteral } from "../index";
11
11
  * type T = StripBefore<"hello world", " ">;
12
12
  * ```
13
13
  */
14
- export type StripBefore<TStr extends string, TBreak extends string> = IfAllLiteral<[
15
- TStr,
16
- TBreak
17
- ], TStr extends `${string}${TBreak}${infer REST}` ? `${REST}` : TStr, string>;
14
+ export type StripBefore<TStr extends string, TBreak extends string> = IfStringLiteral<TStr, IfStringLiteral<TBreak, TStr extends `${string}${TBreak}${infer REST}` ? `${REST}` : TStr, string>, string>;
18
15
  //# sourceMappingURL=StripBefore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StripBefore.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/StripBefore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAwB;AAE/C;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,CACrB,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,MAAM,IACnB,YAAY,CACd;IAAE,IAAI;IAAE,MAAM;CAAE,EAEhB,IAAI,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,EAAE,GAC5C,GAAG,IAAI,EAAE,GACT,IAAI,EAEN,MAAM,CACP,CAAC"}
1
+ {"version":3,"file":"StripBefore.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/StripBefore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAG,eAAe,EAAE,iBAAwB;AAEnD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,CACrB,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,MAAM,IACnB,eAAe,CACjB,IAAI,EACJ,eAAe,CACb,MAAM,EACN,IAAI,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,EAAE,GAC1C,GAAG,IAAI,EAAE,GACT,IAAI,EACR,MAAM,CACP,EACD,MAAM,CACP,CAAA"}
@@ -1,6 +1,6 @@
1
- import { IfEqual, IfGreaterThan, StrLen, Slice, Split, Concat, Tuple, Length } from "../index";
1
+ import { IfEqual, IfGreaterThan, StrLen, Slice, Split, Concat, Tuple, Length, AsArray } from "../index";
2
2
  type Ellipsis<T extends boolean | string> = T extends string ? T : "...";
3
- type _Truncate<TStr extends string, TMaxLen extends number, TEllipsis extends boolean | string> = TEllipsis extends false ? Concat<Slice<Split<TStr>, 0, TMaxLen>> : Concat<[...Slice<Split<TStr>, 0, TMaxLen>, Ellipsis<TEllipsis>]>;
3
+ type _Truncate<TStr extends string, TMaxLen extends number, TEllipsis extends boolean | string> = TEllipsis extends false ? Concat<AsArray<Slice<Split<TStr>, 0, TMaxLen>>> : Concat<[...AsArray<Slice<Split<TStr>, 0, TMaxLen>>, Ellipsis<TEllipsis>]>;
4
4
  /**
5
5
  * **Truncate**`<TStr,TMaxLen,[TEllipsis]>`
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Truncate.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/Truncate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAG,MAAM,EAAE,iBAAwB;AAEvG,KAAK,QAAQ,CAAC,CAAC,SAAS,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC;AAEzE,KAAK,SAAS,CACZ,IAAI,SAAS,MAAM,EACnB,OAAO,SAAS,MAAM,EACtB,SAAS,SAAS,OAAO,GAAG,MAAM,IAChC,SAAS,SAAS,KAAK,GACvB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,CAAC,EAAC,OAAO,CAAC,CAAC,GACpC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,CAAC,EAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAEnE;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,QAAQ,CAClB,QAAQ,SAAS,MAAM,GAAG,KAAK,EAC/B,OAAO,SAAS,MAAM,EACtB,SAAS,SAAS,OAAO,GAAG,MAAM,GAAG,KAAK,IACxC,QAAQ,SAAS,MAAM,GACzB,OAAO,CACL,OAAO,EAAE,MAAM,EAEf,KAAK,EACL,aAAa,CACX,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAEzB,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAEvC,QAAQ,CACT,CACF,GACD,QAAQ,SAAS,OAAO,EAAE,GACxB,aAAa,CACX,MAAM,CAAC,QAAQ,GAAG,SAAS,OAAO,EAAE,CAAC,EAAC,OAAO,EAC7C,SAAS,SAAS,KAAK,GACnB,KAAK,CAAC,QAAQ,EAAC,CAAC,EAAC,OAAO,CAAC,GACzB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAC,CAAC,EAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,EACvD,QAAQ,CACT,GACD,KAAK,CAAC"}
1
+ {"version":3,"file":"Truncate.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/Truncate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAG,MAAM,EAAE,OAAO,EAAE,iBAAwB;AAEhH,KAAK,QAAQ,CAAC,CAAC,SAAS,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC;AAEzE,KAAK,SAAS,CACZ,IAAI,SAAS,MAAM,EACnB,OAAO,SAAS,MAAM,EACtB,SAAS,SAAS,OAAO,GAAG,MAAM,IAChC,SAAS,SAAS,KAAK,GACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,CAAC,EAAC,OAAO,CAAC,CAAC,CAAC,GAC7C,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,CAAC,EAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAE5E;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,QAAQ,CAClB,QAAQ,SAAS,MAAM,GAAG,KAAK,EAC/B,OAAO,SAAS,MAAM,EACtB,SAAS,SAAS,OAAO,GAAG,MAAM,GAAG,KAAK,IACxC,QAAQ,SAAS,MAAM,GACzB,OAAO,CACL,OAAO,EAAE,MAAM,EAEf,KAAK,EACL,aAAa,CACX,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAEzB,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAEvC,QAAQ,CACT,CACF,GACD,QAAQ,SAAS,OAAO,EAAE,GACxB,aAAa,CACX,MAAM,CAAC,QAAQ,GAAG,SAAS,OAAO,EAAE,CAAC,EAAC,OAAO,EAC7C,SAAS,SAAS,KAAK,GACnB,KAAK,CAAC,QAAQ,EAAC,CAAC,EAAC,OAAO,CAAC,GACzB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAC,CAAC,EAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,EACvD,QAAQ,CACT,GACD,KAAK,CAAC"}
@@ -1,4 +1,4 @@
1
- import { AlphaChar, IfAllExtend, IfStringLiteral, Split } from "../../index";
1
+ import { AlphaChar, AsArray, IfAllExtend, IfStringLiteral, Split } from "../../index";
2
2
  /**
3
3
  * **Alpha**`<T>`
4
4
  *
@@ -8,5 +8,5 @@ import { AlphaChar, IfAllExtend, IfStringLiteral, Split } from "../../index";
8
8
  * - `string` - when T is a wide string type
9
9
  * - `never` - all other types of `T` are converted to never
10
10
  */
11
- export type Alpha<T> = T extends string ? IfStringLiteral<T, IfAllExtend<Split<T>, AlphaChar, T, never>, string> : never;
11
+ export type Alpha<T> = T extends string ? IfStringLiteral<T, IfAllExtend<AsArray<Split<T>>, AlphaChar, T, never>, string> : never;
12
12
  //# sourceMappingURL=Alpha.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Alpha.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/Alpha.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAG,eAAe,EAAE,KAAK,EAAE,oBAAwB;AAElF;;;;;;;;GAQG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACnC,eAAe,CACb,CAAC,EACD,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,EAC1C,MAAM,CACP,GACD,KAAK,CAAC"}
1
+ {"version":3,"file":"Alpha.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/Alpha.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAG,eAAe,EAAE,KAAK,EAAE,oBAAwB;AAE3F;;;;;;;;GAQG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACnC,eAAe,CACb,CAAC,EACD,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,EACnD,MAAM,CACP,GACD,KAAK,CAAC"}
@@ -1,4 +1,4 @@
1
- import { IfAllExtend, IfStringLiteral, LowerAlphaChar, Split } from "../../index";
1
+ import { AsArray, IfAllExtend, IfStringLiteral, LowerAlphaChar, Split } from "../../index";
2
2
  /**
3
3
  * **LowerAlpha**`<T>`
4
4
  *
@@ -8,5 +8,5 @@ import { IfAllExtend, IfStringLiteral, LowerAlphaChar, Split } from "../../index
8
8
  * - `string` - when T is a wide string type
9
9
  * - `never` - all other types of `T` are converted to never
10
10
  */
11
- export type LowerAlpha<T> = T extends string ? IfStringLiteral<T, IfAllExtend<Split<T>, LowerAlphaChar, T, never>, string> : never;
11
+ export type LowerAlpha<T> = T extends string ? IfStringLiteral<T, IfAllExtend<AsArray<Split<T>>, LowerAlphaChar, T, never>, string> : never;
12
12
  //# sourceMappingURL=LowerAlpha.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LowerAlpha.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/LowerAlpha.ts"],"names":[],"mappings":"AAAA,OAAO,EAAG,WAAW,EAAG,eAAe,EAAE,cAAc,EAAE,KAAK,EAAE,oBAAwB;AAExF;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACxC,eAAe,CACb,CAAC,EACD,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,CAAC,EAC/C,MAAM,CACP,GACD,KAAK,CAAC"}
1
+ {"version":3,"file":"LowerAlpha.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/LowerAlpha.ts"],"names":[],"mappings":"AAAA,OAAO,EAAG,OAAO,EAAE,WAAW,EAAG,eAAe,EAAE,cAAc,EAAE,KAAK,EAAE,oBAAwB;AAEjG;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACxC,eAAe,CACb,CAAC,EACD,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,CAAC,EACxD,MAAM,CACP,GACD,KAAK,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { SINGULAR_NOUN_ENDINGS } from "../../../constants/index";
2
- import { AlphaChar, IfAllExtend, Split, TupleToUnion, Mutable } from "../../index";
2
+ import { AlphaChar, IfAllExtend, Split, TupleToUnion, Mutable, AsArray } from "../../index";
3
3
  /**
4
4
  * **SingularNounEnding**
5
5
  *
@@ -25,5 +25,5 @@ export type SingularNounEnding = TupleToUnion<Mutable<typeof SINGULAR_NOUN_ENDIN
25
25
  * type T2 = SingularNoun<"rush">;
26
26
  * ```
27
27
  */
28
- export type SingularNoun<T extends string> = T extends `${infer Prelude}${SingularNounEnding}` ? IfAllExtend<Split<Prelude>, AlphaChar, T, never> : never;
28
+ export type SingularNoun<T extends string> = T extends `${infer Prelude}${SingularNounEnding}` ? IfAllExtend<AsArray<Split<Prelude>>, AlphaChar, T, never> : never;
29
29
  //# sourceMappingURL=SingularNoun.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SingularNoun.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/SingularNoun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,iCAA4B;AAC5D,OAAO,EAAE,SAAS,EAAG,WAAW,EAAE,KAAK,EAAG,YAAY,EAAE,OAAO,EAAE,oBAAwB;AACzF;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC;AAErF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,OAAO,GAAG,kBAAkB,EAAE,GAC1F,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,GAChD,KAAK,CAAC"}
1
+ {"version":3,"file":"SingularNoun.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/SingularNoun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,iCAA4B;AAC5D,OAAO,EAAE,SAAS,EAAG,WAAW,EAAE,KAAK,EAAG,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAwB;AAClG;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC;AAErF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,OAAO,GAAG,kBAAkB,EAAE,GAC1F,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,GACzD,KAAK,CAAC"}