inferred-types 0.45.0 → 0.45.2

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 (253) hide show
  1. package/dist/constants/Characters.d.ts +2 -0
  2. package/dist/constants/Characters.d.ts.map +1 -0
  3. package/dist/constants/Characters.js +5 -0
  4. package/dist/constants/NetworkConstants.d.ts.map +1 -1
  5. package/dist/constants/Phone.d.ts +8 -0
  6. package/dist/constants/Phone.d.ts.map +1 -0
  7. package/dist/constants/Phone.js +262 -0
  8. package/dist/constants/ProxmoxConstants.d.ts +2 -0
  9. package/dist/constants/ProxmoxConstants.d.ts.map +1 -0
  10. package/dist/constants/ProxmoxConstants.js +3 -0
  11. package/dist/constants/index.d.ts +3 -0
  12. package/dist/constants/index.d.ts.map +1 -1
  13. package/dist/constants/index.js +3 -0
  14. package/dist/constants/tsconfig.tsbuildinfo +1 -1
  15. package/dist/inferred-types/index.cjs +1091 -733
  16. package/dist/inferred-types/tsconfig.tsbuildinfo +1 -1
  17. package/dist/runtime/api/defineApi.d.ts +56 -0
  18. package/dist/runtime/api/defineApi.d.ts.map +1 -0
  19. package/dist/runtime/api/defineApi.js +97 -0
  20. package/dist/runtime/api/handleDoneFn.d.ts.map +1 -0
  21. package/dist/runtime/api/index.d.ts +3 -0
  22. package/dist/runtime/api/index.d.ts.map +1 -0
  23. package/dist/runtime/api/index.js +2 -0
  24. package/dist/runtime/boolean-logic/ifArrayPartial.d.ts +1 -1
  25. package/dist/runtime/boolean-logic/ifArrayPartial.d.ts.map +1 -1
  26. package/dist/runtime/boolean-logic/ifArrayPartial.js +1 -1
  27. package/dist/runtime/boolean-logic/ifLength.d.ts.map +1 -1
  28. package/dist/runtime/boolean-logic/ifScalar.d.ts.map +1 -1
  29. package/dist/runtime/boolean-logic/ifScalar.js +1 -1
  30. package/dist/runtime/boolean-logic/index.d.ts +0 -1
  31. package/dist/runtime/boolean-logic/index.d.ts.map +1 -1
  32. package/dist/runtime/boolean-logic/index.js +0 -1
  33. package/dist/runtime/dictionary/defineOptions.d.ts +26 -0
  34. package/dist/runtime/dictionary/defineOptions.d.ts.map +1 -0
  35. package/dist/runtime/dictionary/defineOptions.js +30 -0
  36. package/dist/runtime/dictionary/keysOf.d.ts +1 -1
  37. package/dist/runtime/dictionary/keysOf.d.ts.map +1 -1
  38. package/dist/runtime/errors/KindError.d.ts +2 -2
  39. package/dist/runtime/errors/KindError.d.ts.map +1 -1
  40. package/dist/runtime/functions/index.d.ts +1 -0
  41. package/dist/runtime/functions/index.d.ts.map +1 -1
  42. package/dist/runtime/functions/index.js +1 -0
  43. package/dist/runtime/functions/wrapFn.d.ts +2 -0
  44. package/dist/runtime/functions/wrapFn.d.ts.map +1 -0
  45. package/dist/runtime/functions/wrapFn.js +24 -0
  46. package/dist/runtime/index.d.ts +1 -1
  47. package/dist/runtime/index.d.ts.map +1 -1
  48. package/dist/runtime/index.js +1 -10
  49. package/dist/runtime/lists/find.d.ts +1 -1
  50. package/dist/runtime/lists/find.d.ts.map +1 -1
  51. package/dist/runtime/lists/intersection.d.ts.map +1 -1
  52. package/dist/runtime/lists/intersection.js +2 -1
  53. package/dist/runtime/literals/asPhoneNumber.d.ts +10 -0
  54. package/dist/runtime/literals/asPhoneNumber.d.ts.map +1 -0
  55. package/dist/runtime/literals/asPhoneNumber.js +62 -0
  56. package/dist/runtime/literals/index.d.ts +4 -0
  57. package/dist/runtime/literals/index.d.ts.map +1 -1
  58. package/dist/runtime/literals/index.js +4 -0
  59. package/dist/runtime/literals/retainChars.d.ts +16 -0
  60. package/dist/runtime/literals/retainChars.d.ts.map +1 -0
  61. package/dist/runtime/literals/retainChars.js +17 -0
  62. package/dist/runtime/literals/retainWhile.d.ts +11 -0
  63. package/dist/runtime/literals/retainWhile.d.ts.map +1 -0
  64. package/dist/runtime/literals/retainWhile.js +12 -0
  65. package/dist/runtime/literals/stripChars.d.ts +10 -0
  66. package/dist/runtime/literals/stripChars.d.ts.map +1 -0
  67. package/dist/runtime/literals/stripChars.js +11 -0
  68. package/dist/runtime/literals/stripLeading.d.ts +3 -3
  69. package/dist/runtime/literals/stripLeading.d.ts.map +1 -1
  70. package/dist/runtime/literals/stripLeading.js +5 -5
  71. package/dist/runtime/literals/unset.d.ts +8 -0
  72. package/dist/runtime/literals/unset.d.ts.map +1 -0
  73. package/dist/runtime/literals/unset.js +14 -0
  74. package/dist/runtime/meta/youtube-meta.d.ts +8 -1
  75. package/dist/runtime/meta/youtube-meta.d.ts.map +1 -1
  76. package/dist/runtime/meta/youtube-meta.js +50 -2
  77. package/dist/runtime/runtime-types/dict.d.ts +2 -2
  78. package/dist/runtime/runtime-types/dict.d.ts.map +1 -1
  79. package/dist/runtime/runtime-types/ip6Prefix.d.ts +1 -1
  80. package/dist/runtime/runtime-types/parse.d.ts +1 -1
  81. package/dist/runtime/runtime-types/shape-helpers/getTokenData.d.ts +1 -1
  82. package/dist/runtime/runtime-types/shape-helpers/getTokenName.d.ts +1 -1
  83. package/dist/runtime/runtime-types/shape.d.ts +1 -1
  84. package/dist/runtime/runtime-types/shape.js +1 -1
  85. package/dist/runtime/tsconfig.tsbuildinfo +1 -1
  86. package/dist/runtime/type-guards/api-tg.d.ts +33 -0
  87. package/dist/runtime/type-guards/api-tg.d.ts.map +1 -0
  88. package/dist/runtime/type-guards/api-tg.js +38 -0
  89. package/dist/runtime/type-guards/hasWhitespace.d.ts +7 -0
  90. package/dist/runtime/type-guards/hasWhitespace.d.ts.map +1 -0
  91. package/dist/runtime/type-guards/hasWhitespace.js +11 -0
  92. package/dist/runtime/type-guards/index.d.ts +7 -0
  93. package/dist/runtime/type-guards/index.d.ts.map +1 -1
  94. package/dist/runtime/type-guards/index.js +7 -0
  95. package/dist/runtime/type-guards/isConstant.d.ts +6 -0
  96. package/dist/runtime/type-guards/isConstant.d.ts.map +1 -1
  97. package/dist/runtime/type-guards/isConstant.js +12 -2
  98. package/dist/runtime/type-guards/isEmail.d.ts +7 -0
  99. package/dist/runtime/type-guards/isEmail.d.ts.map +1 -0
  100. package/dist/runtime/type-guards/isEmail.js +11 -0
  101. package/dist/runtime/type-guards/isPhoneNumber.d.ts +14 -0
  102. package/dist/runtime/type-guards/isPhoneNumber.d.ts.map +1 -0
  103. package/dist/runtime/type-guards/isPhoneNumber.js +26 -0
  104. package/dist/runtime/type-guards/isSpecificConstant.js +2 -3
  105. package/dist/runtime/type-guards/isTrimmable.d.ts +7 -0
  106. package/dist/runtime/type-guards/isTrimmable.d.ts.map +1 -0
  107. package/dist/runtime/type-guards/isTrimmable.js +9 -0
  108. package/dist/runtime/type-guards/isUnset.d.ts +18 -0
  109. package/dist/runtime/type-guards/isUnset.d.ts.map +1 -0
  110. package/dist/runtime/type-guards/isUnset.js +23 -0
  111. package/dist/runtime/type-guards/isUrl.d.ts +1 -1
  112. package/dist/runtime/type-guards/network-tg.d.ts +9 -3
  113. package/dist/runtime/type-guards/network-tg.d.ts.map +1 -1
  114. package/dist/runtime/type-guards/network-tg.js +10 -1
  115. package/dist/runtime/type-guards/repos.d.ts +2 -2
  116. package/dist/runtime/type-guards/youtube.d.ts +4 -2
  117. package/dist/runtime/type-guards/youtube.d.ts.map +1 -1
  118. package/dist/runtime/type-guards/youtube.js +13 -3
  119. package/dist/types/api/api.d.ts +96 -37
  120. package/dist/types/api/api.d.ts.map +1 -1
  121. package/dist/types/base-types/fns/EscapeFunction.d.ts +22 -0
  122. package/dist/types/base-types/fns/EscapeFunction.d.ts.map +1 -0
  123. package/dist/types/base-types/fns/OptionalParamFn.d.ts +30 -0
  124. package/dist/types/base-types/fns/OptionalParamFn.d.ts.map +1 -0
  125. package/dist/types/base-types/fns/index.d.ts +2 -0
  126. package/dist/types/base-types/fns/index.d.ts.map +1 -1
  127. package/dist/types/base-types/fns/index.js +2 -0
  128. package/dist/types/boolean-logic/branching/If.d.ts +2 -3
  129. package/dist/types/boolean-logic/branching/If.d.ts.map +1 -1
  130. package/dist/types/boolean-logic/branching/IfUnset.d.ts +12 -0
  131. package/dist/types/boolean-logic/branching/IfUnset.d.ts.map +1 -0
  132. package/dist/types/boolean-logic/branching/OnPass.d.ts +4 -3
  133. package/dist/types/boolean-logic/branching/OnPass.d.ts.map +1 -1
  134. package/dist/types/boolean-logic/branching/WhenNever.d.ts +11 -0
  135. package/dist/types/boolean-logic/branching/WhenNever.d.ts.map +1 -0
  136. package/dist/types/boolean-logic/branching/WhenNever.js +1 -0
  137. package/dist/types/boolean-logic/branching/index.d.ts +2 -0
  138. package/dist/types/boolean-logic/branching/index.d.ts.map +1 -1
  139. package/dist/types/boolean-logic/branching/index.js +2 -0
  140. package/dist/types/boolean-logic/combinators/Compare.d.ts +3 -3
  141. package/dist/types/boolean-logic/combinators/Compare.d.ts.map +1 -1
  142. package/dist/types/boolean-logic/combinators/Some.d.ts +8 -0
  143. package/dist/types/boolean-logic/combinators/Some.d.ts.map +1 -0
  144. package/dist/types/boolean-logic/combinators/Some.js +1 -0
  145. package/dist/types/boolean-logic/combinators/index.d.ts +1 -0
  146. package/dist/types/boolean-logic/combinators/index.d.ts.map +1 -1
  147. package/dist/types/boolean-logic/combinators/index.js +1 -0
  148. package/dist/types/boolean-logic/narrowing/AsDoneFn.d.ts +2 -2
  149. package/dist/types/boolean-logic/narrowing/AsDoneFn.d.ts.map +1 -1
  150. package/dist/types/boolean-logic/operators/ApiOperators.d.ts +11 -0
  151. package/dist/types/boolean-logic/operators/ApiOperators.d.ts.map +1 -0
  152. package/dist/types/boolean-logic/operators/ApiOperators.js +1 -0
  153. package/dist/types/boolean-logic/operators/HasSameValues.d.ts +4 -3
  154. package/dist/types/boolean-logic/operators/HasSameValues.d.ts.map +1 -1
  155. package/dist/types/boolean-logic/operators/IsGreaterThan.d.ts +2 -2
  156. package/dist/types/boolean-logic/operators/IsGreaterThan.d.ts.map +1 -1
  157. package/dist/types/boolean-logic/operators/IsUnset.d.ts +9 -0
  158. package/dist/types/boolean-logic/operators/IsUnset.d.ts.map +1 -0
  159. package/dist/types/boolean-logic/operators/IsUnset.js +1 -0
  160. package/dist/types/boolean-logic/operators/PhoneOperators.d.ts +33 -0
  161. package/dist/types/boolean-logic/operators/PhoneOperators.d.ts.map +1 -0
  162. package/dist/types/boolean-logic/operators/PhoneOperators.js +1 -0
  163. package/dist/types/boolean-logic/operators/index.d.ts +3 -0
  164. package/dist/types/boolean-logic/operators/index.d.ts.map +1 -1
  165. package/dist/types/boolean-logic/operators/index.js +3 -0
  166. package/dist/types/dictionary/Keys.d.ts +58 -4
  167. package/dist/types/dictionary/Keys.d.ts.map +1 -1
  168. package/dist/types/dictionary/KvFn.d.ts +2 -2
  169. package/dist/types/dictionary/KvFn.d.ts.map +1 -1
  170. package/dist/types/dictionary/MakeKeysOptional.d.ts +12 -3
  171. package/dist/types/dictionary/MakeKeysOptional.d.ts.map +1 -1
  172. package/dist/types/dictionary/MakeKeysRequired.d.ts +14 -0
  173. package/dist/types/dictionary/MakeKeysRequired.d.ts.map +1 -0
  174. package/dist/types/dictionary/MakeKeysRequired.js +1 -0
  175. package/dist/types/dictionary/OptionalKeys.d.ts +19 -4
  176. package/dist/types/dictionary/OptionalKeys.d.ts.map +1 -1
  177. package/dist/types/dictionary/OptionalKeys.js +1 -0
  178. package/dist/types/dictionary/RequiredKeys.d.ts +14 -6
  179. package/dist/types/dictionary/RequiredKeys.d.ts.map +1 -1
  180. package/dist/types/dictionary/Values.d.ts +2 -2
  181. package/dist/types/dictionary/Values.d.ts.map +1 -1
  182. package/dist/types/dictionary/index.d.ts +1 -2
  183. package/dist/types/dictionary/index.d.ts.map +1 -1
  184. package/dist/types/dictionary/index.js +1 -2
  185. package/dist/types/errors/KindError.d.ts +1 -1
  186. package/dist/types/errors/KindError.d.ts.map +1 -1
  187. package/dist/types/functions/FnFrom.d.ts +5 -0
  188. package/dist/types/functions/FnFrom.d.ts.map +1 -1
  189. package/dist/types/functions/{Fn.d.ts → FnWithDescription.d.ts} +2 -2
  190. package/dist/types/functions/FnWithDescription.d.ts.map +1 -0
  191. package/dist/types/functions/FnWithDescription.js +1 -0
  192. package/dist/types/functions/WrapperFn.d.ts +23 -0
  193. package/dist/types/functions/WrapperFn.d.ts.map +1 -0
  194. package/dist/types/functions/WrapperFn.js +1 -0
  195. package/dist/types/functions/index.d.ts +2 -1
  196. package/dist/types/functions/index.d.ts.map +1 -1
  197. package/dist/types/functions/index.js +2 -1
  198. package/dist/types/lists/ConvertSet.d.ts +2 -2
  199. package/dist/types/lists/ConvertSet.d.ts.map +1 -1
  200. package/dist/types/lists/Find.d.ts +7 -18
  201. package/dist/types/lists/Find.d.ts.map +1 -1
  202. package/dist/types/literals/DoneFnTuple.d.ts +3 -3
  203. package/dist/types/literals/DoneFnTuple.d.ts.map +1 -1
  204. package/dist/types/literals/Unset.d.ts +13 -0
  205. package/dist/types/literals/Unset.d.ts.map +1 -0
  206. package/dist/types/literals/Unset.js +1 -0
  207. package/dist/types/literals/index.d.ts +1 -0
  208. package/dist/types/literals/index.d.ts.map +1 -1
  209. package/dist/types/literals/index.js +1 -0
  210. package/dist/types/numeric-literals/NumberLike.d.ts +1 -1
  211. package/dist/types/numeric-literals/NumberLike.d.ts.map +1 -1
  212. package/dist/types/string-literals/Proxmox.d.ts +7 -0
  213. package/dist/types/string-literals/Proxmox.d.ts.map +1 -0
  214. package/dist/types/string-literals/Proxmox.js +1 -0
  215. package/dist/types/string-literals/StripLeading.d.ts +2 -2
  216. package/dist/types/string-literals/StripLeading.d.ts.map +1 -1
  217. package/dist/types/string-literals/StripUntil.d.ts +12 -0
  218. package/dist/types/string-literals/StripUntil.d.ts.map +1 -1
  219. package/dist/types/string-literals/character-sets/Whitespace.d.ts +3 -1
  220. package/dist/types/string-literals/character-sets/Whitespace.d.ts.map +1 -1
  221. package/dist/types/string-literals/character-sets/index.d.ts +1 -0
  222. package/dist/types/string-literals/character-sets/index.d.ts.map +1 -1
  223. package/dist/types/string-literals/character-sets/index.js +1 -0
  224. package/dist/types/string-literals/character-sets/phone.d.ts +192 -0
  225. package/dist/types/string-literals/character-sets/phone.d.ts.map +1 -0
  226. package/dist/types/string-literals/character-sets/phone.js +1 -0
  227. package/dist/types/tsconfig.tsbuildinfo +1 -1
  228. package/dist/types/type-conversion/ReduceValues.d.ts +19 -0
  229. package/dist/types/type-conversion/ReduceValues.d.ts.map +1 -0
  230. package/dist/types/type-conversion/ReduceValues.js +1 -0
  231. package/dist/types/type-conversion/ReturnValues.d.ts +10 -6
  232. package/dist/types/type-conversion/ReturnValues.d.ts.map +1 -1
  233. package/dist/types/type-conversion/Trim.d.ts +3 -1
  234. package/dist/types/type-conversion/Trim.d.ts.map +1 -1
  235. package/dist/types/type-conversion/UnionFilter.d.ts +2 -2
  236. package/dist/types/type-conversion/UnionFilter.d.ts.map +1 -1
  237. package/dist/types/type-conversion/form-fields.d.ts +5 -1
  238. package/dist/types/type-conversion/form-fields.d.ts.map +1 -1
  239. package/dist/types/type-conversion/index.d.ts +1 -0
  240. package/dist/types/type-conversion/index.d.ts.map +1 -1
  241. package/dist/types/type-conversion/index.js +1 -0
  242. package/package.json +17 -11
  243. package/dist/runtime/boolean-logic/handleDoneFn.d.ts.map +0 -1
  244. package/dist/types/dictionary/PrivateKeys.d.ts +0 -17
  245. package/dist/types/dictionary/PrivateKeys.d.ts.map +0 -1
  246. package/dist/types/dictionary/PublicKeys.d.ts +0 -10
  247. package/dist/types/dictionary/PublicKeys.d.ts.map +0 -1
  248. package/dist/types/functions/Fn.d.ts.map +0 -1
  249. /package/dist/runtime/{boolean-logic → api}/handleDoneFn.d.ts +0 -0
  250. /package/dist/runtime/{boolean-logic → api}/handleDoneFn.js +0 -0
  251. /package/dist/types/{dictionary/PrivateKeys.js → base-types/fns/EscapeFunction.js} +0 -0
  252. /package/dist/types/{dictionary/PublicKeys.js → base-types/fns/OptionalParamFn.js} +0 -0
  253. /package/dist/types/{functions/Fn.js → boolean-logic/branching/IfUnset.js} +0 -0
@@ -1,7 +1,7 @@
1
- import { IsEqual, If, AfterFirst, First } from "../index";
2
- type FindAcc<TList extends readonly unknown[], TFind, TDeref extends string | number | null> = [] extends TList ? undefined : TDeref extends keyof First<TList> ? If<IsEqual<First<TList>[TDeref], TFind>, First<TList>, FindAcc<AfterFirst<TList>, TFind, TDeref>> : If<IsEqual<First<TList>, TFind>, First<TList>, FindAcc<AfterFirst<TList>, TFind, TDeref>>;
1
+ import { IsEqual, If, AfterFirst, First, Or, NumberLike, Compare } from "../index";
2
+ type FindAcc<TList extends readonly unknown[], TOp extends "extends" | "equals" | "startsWith" | "endsWith" | "lessThan" | "greaterThan", TComparator, TDeref extends string | number | null> = [] extends TList ? undefined : TDeref extends keyof First<TList> ? If<Compare<First<TList>[TDeref], TOp, TComparator>, First<TList>, FindAcc<AfterFirst<TList>, TOp, TComparator, TDeref>> : If<Compare<First<TList>, TOp, TComparator>, First<TList>, FindAcc<AfterFirst<TList>, TOp, TComparator, TDeref>>;
3
3
  /**
4
- * **Find**`<TList,TFind,TIndex>`
4
+ * **Find**`<TList,TOp,TComparator,[TDeref]>`
5
5
  *
6
6
  * Type utility used to find the first value in `TList` which _equals_ `TValue`.
7
7
  * Will return _undefined_ if no matches found.
@@ -18,20 +18,9 @@ type FindAcc<TList extends readonly unknown[], TFind, TDeref extends string | nu
18
18
  *
19
19
  * **Related**: `FindExtends`
20
20
  */
21
- export type Find<TList extends readonly unknown[], TFind, TDeref extends string | number | null = null> = FindAcc<TList, TFind, TDeref>;
22
- type FindExtendsAcc<TList extends readonly unknown[], TFind, TDeref extends string | number | null> = [] extends TList ? undefined : TDeref extends null ? First<TList> extends TFind ? First<TList> : FindExtendsAcc<AfterFirst<TList>, TFind, TDeref> : TDeref extends keyof First<TList> ? First<TList>[TDeref] extends TFind ? First<TList> : FindExtendsAcc<AfterFirst<TList>, TFind, TDeref> : FindExtendsAcc<AfterFirst<TList>, TFind, TDeref>;
23
- /**
24
- * **FindExtends**`<TList, TFind, TIndex>`
25
- *
26
- * Type utility used to find the first value in `TList` which _extends_ `TValue`.
27
- * Will return _undefined_ if no matches found.
28
- *
29
- * - use **Find** if you want a stricter match
30
- * - by default, values in `TList` will be compared directly but you can _dereference_
31
- * array and object properties with `TIndex` if you want to compare on a child property
32
- *
33
- * **Related:** `Find`
34
- */
35
- export type FindExtends<TList extends readonly unknown[], TFind, TDeref extends string | number | null = null> = FindExtendsAcc<TList, TFind, TDeref>;
21
+ export type Find<TList extends readonly unknown[], TOp extends "extends" | "equals" | "startsWith" | "endsWith" | "lessThan" | "greaterThan", TComparator extends Or<[
22
+ IsEqual<TOp, "startsWith">,
23
+ IsEqual<TOp, "endsWith">
24
+ ]> extends true ? string : Or<[IsEqual<TOp, "lessThan">, IsEqual<TOp, "greaterThan">]> extends true ? NumberLike : unknown, TDeref extends string | number | null = null> = FindAcc<TList, TOp, TComparator, TDeref>;
36
25
  export {};
37
26
  //# sourceMappingURL=Find.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Find.d.ts","sourceRoot":"","sources":["../../../src/types/lists/Find.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAwB;AAEjE,KAAK,OAAO,CACV,KAAK,SAAS,SAAS,OAAO,EAAE,EAChC,KAAK,EACL,MAAM,SAAS,MAAM,GAAG,MAAM,GAAG,IAAI,IACnC,EAAE,SAAS,KAAK,GAChB,SAAS,GACT,MAAM,SAAS,MAAM,KAAK,CAAC,KAAK,CAAC,GAC/B,EAAE,CACA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,EACpC,KAAK,CAAC,KAAK,CAAC,EACZ,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAC1C,GACD,EAAE,CACA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,EAC5B,KAAK,CAAC,KAAK,CAAC,EACZ,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAC1C,CAAC;AAER;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,IAAI,CACd,KAAK,SAAS,SAAS,OAAO,EAAE,EAChC,KAAK,EACL,MAAM,SAAS,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,IAC1C,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAElC,KAAK,cAAc,CACjB,KAAK,SAAS,SAAS,OAAO,EAAE,EAChC,KAAK,EACL,MAAM,SAAS,MAAM,GAAG,MAAM,GAAG,IAAI,IACnC,EAAE,SAAS,KAAK,GAChB,SAAS,GACT,MAAM,SAAS,IAAI,GACjB,KAAK,CAAC,KAAK,CAAC,SAAS,KAAK,GACxB,KAAK,CAAC,KAAK,CAAC,GACZ,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAClD,MAAM,SAAS,MAAM,KAAK,CAAC,KAAK,CAAC,GAC/B,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,GAC9B,KAAK,CAAC,KAAK,CAAC,GACZ,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GACpD,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CACnD;AAEL;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,CACrB,KAAK,SAAS,SAAS,OAAO,EAAE,EAChC,KAAK,EACL,MAAM,SAAS,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,IAC1C,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"Find.d.ts","sourceRoot":"","sources":["../../../src/types/lists/Find.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAwB;AAE1F,KAAK,OAAO,CACV,KAAK,SAAS,SAAS,OAAO,EAAE,EAChC,GAAG,SAAS,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,EACzF,WAAW,EACX,MAAM,SAAS,MAAM,GAAG,MAAM,GAAG,IAAI,IACnC,EAAE,SAAS,KAAK,GAChB,SAAS,GACT,MAAM,SAAS,MAAM,KAAK,CAAC,KAAK,CAAC,GAC/B,EAAE,CACA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,EAC/C,KAAK,CAAC,KAAK,CAAC,EACZ,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,EAAC,WAAW,EAAE,MAAM,CAAC,CACpD,GACD,EAAE,CACA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,EACvC,KAAK,CAAC,KAAK,CAAC,EACZ,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,EAAC,WAAW,EAAE,MAAM,CAAC,CACpD,CAAC;AAER;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,IAAI,CACd,KAAK,SAAS,SAAS,OAAO,EAAE,EAChC,GAAG,SAAS,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,EACzF,WAAW,SAAS,EAAE,CAAC;IACrB,OAAO,CAAC,GAAG,EAAC,YAAY,CAAC;IAAE,OAAO,CAAC,GAAG,EAAC,UAAU,CAAC;CACnD,CAAC,SAAS,IAAI,GACb,MAAM,GACN,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAC,UAAU,CAAC,EAAE,OAAO,CAAC,GAAG,EAAC,aAAa,CAAC,CAAC,CAAC,SAAS,IAAI,GACtE,UAAU,GACV,OAAO,EACT,MAAM,SAAS,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,IAC1C,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { IsTrue, If, Fn, FnDefn, TupleToUnion, Narrow } from "../index";
1
+ import { IsTrue, If, FnWithDescription, FnDefn, TupleToUnion, Narrow } from "../index";
2
2
  /**
3
3
  * **DoneFnTuple**`<[TTuple],[TMakeUnion],[TFns]>`
4
4
  *
@@ -16,11 +16,11 @@ export type DoneFnTuple<TFns extends {
16
16
  "add a value to the tuple/union"
17
17
  ];
18
18
  }, TMakeUnion extends boolean = false, TState extends readonly Narrow[] = Narrow[]> = {
19
- [K in keyof TFns]: Fn<TFns[K]>;
19
+ [K in keyof TFns]: FnWithDescription<TFns[K]>;
20
20
  } & {
21
21
  state: TState;
22
22
  type_as_union: TMakeUnion;
23
- done: Fn<[
23
+ done: FnWithDescription<[
24
24
  () => If<IsTrue<TMakeUnion>, TupleToUnion<TState>, TState>,
25
25
  "exits the API surface with the state which has been accumulated so far"
26
26
  ]>;
@@ -1 +1 @@
1
- {"version":3,"file":"DoneFnTuple.d.ts","sourceRoot":"","sources":["../../../src/types/literals/DoneFnTuple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAC,iBAAwB;AAG9E;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,CACvB,IAAI,SAAS;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,GAAG;IACrC,GAAG,EAAE;QACH,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,EAAE,IAAI,KAAK,OAAO;QACzC,gCAAgC;KACjC,CAAC;CACH,EACD,UAAU,SAAS,OAAO,GAAG,KAAK,EAClC,MAAM,SAAS,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,IACvC;KACD,CAAC,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CAC/B,GAAG;IACF,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,UAAU,CAAC;IAC1B,IAAI,EAAE,EAAE,CAAC;QACP,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAC1D,wEAAwE;KACzE,CAAC,CAAC;CACJ,CAAA"}
1
+ {"version":3,"file":"DoneFnTuple.d.ts","sourceRoot":"","sources":["../../../src/types/literals/DoneFnTuple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAC,iBAAwB;AAG7F;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,CACvB,IAAI,SAAS;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,GAAG;IACrC,GAAG,EAAE;QACH,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,EAAE,IAAI,KAAK,OAAO;QACzC,gCAAgC;KACjC,CAAC;CACH,EACD,UAAU,SAAS,OAAO,GAAG,KAAK,EAClC,MAAM,SAAS,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,IACvC;KACD,CAAC,IAAI,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CAC9C,GAAG;IACF,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,UAAU,CAAC;IAC1B,IAAI,EAAE,iBAAiB,CAAC;QACtB,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAC1D,wEAAwE;KACzE,CAAC,CAAC;CACJ,CAAA"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * **Unset**
3
+ *
4
+ * The **Unset** type allows you to specify a _parameter_ which
5
+ * has **not** been set yet but then allows a user to choose any
6
+ * value they like.
7
+ *
8
+ * **Related:** `unset()`
9
+ */
10
+ export type Unset = {
11
+ kind: "Unset";
12
+ };
13
+ //# sourceMappingURL=Unset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Unset.d.ts","sourceRoot":"","sources":["../../../src/types/literals/Unset.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -16,4 +16,5 @@ export * from "./DoneFnTuple";
16
16
  export * from "./Choices";
17
17
  export * from "./FromDefn";
18
18
  export * from "./FromTokenNames";
19
+ export * from "./Unset";
19
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/literals/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/literals/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC"}
@@ -16,3 +16,4 @@ export * from "./DoneFnTuple.js";
16
16
  export * from "./Choices.js";
17
17
  export * from "./FromDefn.js";
18
18
  export * from "./FromTokenNames.js";
19
+ export * from "./Unset.js";
@@ -4,5 +4,5 @@
4
4
  * A type which represents a number whether it be a _number_ or
5
5
  * a string literal shaped as a number (aka, `${string}`).
6
6
  */
7
- export type NumberLike<T extends number | `${number}` = number | `${number}`> = T;
7
+ export type NumberLike = number | `${number}`;
8
8
  //# sourceMappingURL=NumberLike.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NumberLike.d.ts","sourceRoot":"","sources":["../../../src/types/numeric-literals/NumberLike.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,UAAU,CACpB,CAAC,SAAS,MAAM,GAAG,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,GAAG,MAAM,EAAE,IACnD,CAAC,CAAC"}
1
+ {"version":3,"file":"NumberLike.d.ts","sourceRoot":"","sources":["../../../src/types/numeric-literals/NumberLike.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { PROXMOX_CT_STATE } from "../../constants/index";
2
+ import { TupleToUnion } from "../index";
3
+ /**
4
+ * the _states_ a Proxmox LXC container can be in
5
+ */
6
+ export type ProxmoxCtState = TupleToUnion<typeof PROXMOX_CT_STATE>;
7
+ //# sourceMappingURL=Proxmox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Proxmox.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/Proxmox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,8BAA4B;AACvD,OAAO,EAAE,YAAY,EAAE,iBAAwB;AAE/C;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,4 +1,4 @@
1
- import { And, AsNumber, AsString, IsNumber, IsStringLiteral } from "../index";
1
+ import { And, AsNumber, AsString, IsStringLiteral } from "../index";
2
2
  type Process<TContent extends string, TStrip extends string> = And<[IsStringLiteral<TContent>, IsStringLiteral<TStrip>]> extends true ? TContent extends `${TStrip & string}${infer After}` ? After : TContent : string;
3
3
  /**
4
4
  * **StripLeading**`<T, U>`
@@ -16,6 +16,6 @@ type Process<TContent extends string, TStrip extends string> = And<[IsStringLite
16
16
  * - if `T` is a non-string type then no transformation will be done
17
17
  * - same applies to `U`
18
18
  */
19
- export type StripLeading<TContent extends string | number, TStrip extends string | number> = IsNumber<TContent> extends true ? AsNumber<Process<AsString<TContent>, AsString<TStrip>>> : Process<AsString<TContent>, AsString<TStrip>>;
19
+ export type StripLeading<TContent extends string | number, TStrip extends string | number> = TContent extends number ? AsNumber<Process<AsString<TContent>, AsString<TStrip>>> : TContent extends string ? Process<AsString<TContent>, AsString<TStrip>> : never;
20
20
  export {};
21
21
  //# sourceMappingURL=StripLeading.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StripLeading.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/StripLeading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAI,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAwB;AAEvF,KAAK,OAAO,CACV,QAAQ,SAAS,MAAM,EACvB,MAAM,SAAS,MAAM,IACnB,GAAG,CAAC,CAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,GACvE,QAAQ,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,KAAK,EAAE,GACjD,KAAK,GACL,QAAQ,GACV,MAAM,CAAC;AAEX;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,YAAY,CACtB,QAAQ,SAAS,MAAM,GAAC,MAAM,EAC9B,MAAM,SAAS,MAAM,GAAC,MAAM,IAC1B,QAAQ,CAAC,QAAQ,CAAC,SAAS,IAAI,GACjC,QAAQ,CACN,OAAO,CACL,QAAQ,CAAC,QAAQ,CAAC,EAClB,QAAQ,CAAC,MAAM,CAAC,CACjB,CACF,GACD,OAAO,CACL,QAAQ,CAAC,QAAQ,CAAC,EAClB,QAAQ,CAAC,MAAM,CAAC,CACjB,CAAA"}
1
+ {"version":3,"file":"StripLeading.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/StripLeading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAI,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAwB;AAE7E,KAAK,OAAO,CACV,QAAQ,SAAS,MAAM,EACvB,MAAM,SAAS,MAAM,IACnB,GAAG,CAAC,CAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,GACvE,QAAQ,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,KAAK,EAAE,GACjD,KAAK,GACL,QAAQ,GACV,MAAM,CAAC;AAEX;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,YAAY,CACtB,QAAQ,SAAS,MAAM,GAAC,MAAM,EAC9B,MAAM,SAAS,MAAM,GAAC,MAAM,IAC1B,QAAQ,SAAS,MAAM,GACzB,QAAQ,CACN,OAAO,CACL,QAAQ,CAAC,QAAQ,CAAC,EAClB,QAAQ,CAAC,MAAM,CAAC,CACjB,CACF,GACD,QAAQ,SAAS,MAAM,GACrB,OAAO,CACP,QAAQ,CAAC,QAAQ,CAAC,EAClB,QAAQ,CAAC,MAAM,CAAC,CACjB,GACC,KAAK,CAAA"}
@@ -1,6 +1,18 @@
1
1
  import { AfterFirst, First, Shift, Chars } from "../index";
2
2
  type Process<TChars extends readonly string[], TOp extends "is" | "not", TComparator extends string, TResult extends string> = [] extends TChars ? TResult : First<TChars> extends TComparator ? TOp extends "is" ? Process<AfterFirst<TChars>, TOp, TComparator, Shift<TResult>> : TResult : TOp extends "is" ? TResult : Process<AfterFirst<TChars>, TOp, TComparator, Shift<TResult>>;
3
+ /**
4
+ * **StripUntil**`<TContent,TComparator>`
5
+ *
6
+ * Strip characters from the start of `TContent` _until_ a
7
+ * character extends `TComparator`.
8
+ */
3
9
  export type StripUntil<TContent extends string, TComparator extends string> = Process<Chars<TContent>, "not", TComparator, TContent>;
10
+ /**
11
+ * **StripWhile**`<TContent,TComparator>`
12
+ *
13
+ * Strip characters from the start of `TContent` _while_ those
14
+ * characters extend `TComparator`.
15
+ */
4
16
  export type StripWhile<TContent extends string, TComparator extends string> = Process<Chars<TContent>, "is", TComparator, TContent>;
5
17
  export {};
6
18
  //# sourceMappingURL=StripUntil.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StripUntil.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/StripUntil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAC,KAAK,EAAE,iBAAwB;AAGjE,KAAK,OAAO,CACV,MAAM,SAAS,SAAS,MAAM,EAAE,EAChC,GAAG,SAAS,IAAI,GAAG,KAAK,EACxB,WAAW,SAAS,MAAM,EAC1B,OAAO,SAAS,MAAM,IACpB,EAAE,SAAS,MAAM,GACnB,OAAO,GACP,KAAK,CAAC,MAAM,CAAC,SAAS,WAAW,GAC/B,GAAG,SAAS,IAAI,GACd,OAAO,CACL,UAAU,CAAC,MAAM,CAAC,EAClB,GAAG,EACH,WAAW,EACX,KAAK,CAAC,OAAO,CAAC,CACf,GACD,OAAO,GACT,GAAG,SAAS,IAAI,GACd,OAAO,GACP,OAAO,CACL,UAAU,CAAC,MAAM,CAAC,EAClB,GAAG,EACH,WAAW,EACX,KAAK,CAAC,OAAO,CAAC,CACf,CAAC;AAIR,MAAM,MAAM,UAAU,CACpB,QAAQ,SAAS,MAAM,EACvB,WAAW,SAAS,MAAM,IACxB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAC,KAAK,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAKzD,MAAM,MAAM,UAAU,CACpB,QAAQ,SAAS,MAAM,EACvB,WAAW,SAAS,MAAM,IACxB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"StripUntil.d.ts","sourceRoot":"","sources":["../../../src/types/string-literals/StripUntil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAC,KAAK,EAAE,iBAAwB;AAGjE,KAAK,OAAO,CACV,MAAM,SAAS,SAAS,MAAM,EAAE,EAChC,GAAG,SAAS,IAAI,GAAG,KAAK,EACxB,WAAW,SAAS,MAAM,EAC1B,OAAO,SAAS,MAAM,IACpB,EAAE,SAAS,MAAM,GACnB,OAAO,GACP,KAAK,CAAC,MAAM,CAAC,SAAS,WAAW,GAC/B,GAAG,SAAS,IAAI,GACd,OAAO,CACL,UAAU,CAAC,MAAM,CAAC,EAClB,GAAG,EACH,WAAW,EACX,KAAK,CAAC,OAAO,CAAC,CACf,GACD,OAAO,GACT,GAAG,SAAS,IAAI,GACd,OAAO,GACP,OAAO,CACL,UAAU,CAAC,MAAM,CAAC,EAClB,GAAG,EACH,WAAW,EACX,KAAK,CAAC,OAAO,CAAC,CACf,CAAC;AAGR;;;;;GAKG;AACH,MAAM,MAAM,UAAU,CACpB,QAAQ,SAAS,MAAM,EACvB,WAAW,SAAS,MAAM,IACxB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAC,KAAK,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAIzD;;;;;GAKG;AACH,MAAM,MAAM,UAAU,CACpB,QAAQ,SAAS,MAAM,EACvB,WAAW,SAAS,MAAM,IACxB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAC"}
@@ -1,7 +1,9 @@
1
+ import { WHITESPACE_CHARS } from "../../../constants/index";
2
+ import { Mutable, TupleToUnion } from "../../index";
1
3
  /**
2
4
  * **Whitespace**
3
5
  *
4
6
  * Characters typically representing "white space"
5
7
  */
6
- export type Whitespace = " " | "\n" | "\t";
8
+ export type Whitespace = TupleToUnion<Mutable<typeof WHITESPACE_CHARS>>;
7
9
  //# sourceMappingURL=Whitespace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Whitespace.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/Whitespace.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"Whitespace.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/Whitespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,iCAA4B;AACvD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,oBAAwB;AAExD;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC"}
@@ -27,6 +27,7 @@ export * from "./Repos";
27
27
  export * from "./Variable";
28
28
  export * from "./Optional";
29
29
  export * from "./YouTube";
30
+ export * from "./phone";
30
31
  export * from "./brackets/index";
31
32
  export * from "./quotation-marks/index";
32
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAE1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AAExB,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC"}
@@ -27,5 +27,6 @@ export * from "./Repos.js";
27
27
  export * from "./Variable.js";
28
28
  export * from "./Optional.js";
29
29
  export * from "./YouTube.js";
30
+ export * from "./phone.js";
30
31
  export * from "./brackets/index.js";
31
32
  export * from "./quotation-marks/index.js";
@@ -0,0 +1,192 @@
1
+ import { PHONE_COUNTRY_CODES, PHONE_FORMAT } from "../../../constants/index";
2
+ import { AsString, FirstOfEach, IsLessThan, IsStringLiteral, Length, NumericChar, RetainChars, StartsWith, StripChars, Trim, TupleToUnion, Whitespace, Mutable, HasPhoneCountryCode, Optional, RetainUntil, Not, And, Throw, IsGreaterThan, HasCharacters, Extends, Or, OnPass, ErrorCondition, Unset, If, IsLength, Contains } from "../../index";
3
+ /**
4
+ * delimiter characters commonly used to separate digits in phone numbers
5
+ */
6
+ export type PhoneNumberDelimiter = " " | "-" | ".";
7
+ /**
8
+ * **PhoneFormat**
9
+ *
10
+ * A union type of _formats_ used for telephone numbers
11
+ */
12
+ export type PhoneFormat = TupleToUnion<typeof PHONE_FORMAT>;
13
+ /**
14
+ * **PhoneCountryCode**
15
+ *
16
+ * The official list of _phone_ country codes
17
+ *
18
+ * **Related:** `DialCountryCode`
19
+ */
20
+ export type PhoneCountryCode = FirstOfEach<Mutable<typeof PHONE_COUNTRY_CODES>>;
21
+ /**
22
+ * **DialCountryCode**
23
+ *
24
+ * A simplified representation of `PhoneCountryCode` so as to not make other
25
+ * phone patterns too complex.
26
+ */
27
+ export type DialCountryCode = `${"+" | "00"}${`1-${number}` | `${Exclude<NumericChar, "0">}`}${Optional<`${number}`>}`;
28
+ /**
29
+ * **LocalPhoneNumber**`<[TDelimiter]>`
30
+ *
31
+ * Provides a shape for phone numbers local a region of country that do
32
+ * not have a _country code_ designation nor what is referred to as the
33
+ * "area code" in the USA.
34
+ *
35
+ * **Related:** `CountryPhoneNumber`, `InternationalPhoneNumber`, `PhoneNumber`
36
+ */
37
+ export type LocalPhoneNumber<TDelimiter extends PhoneNumberDelimiter = PhoneNumberDelimiter> = `${NumericChar}${number}${TDelimiter}${number}`;
38
+ /**
39
+ * **PhoneAreaCode**
40
+ */
41
+ export type PhoneAreaCode = `(${number})` | `${NumericChar}${number}`;
42
+ /**
43
+ * **PhoneShortCode**`<[T]>`
44
+ *
45
+ * A [phone short code](https://en.wikipedia.org/wiki/Short_code) is a short numeric
46
+ * phone number typically used for SMS/MMS purposes but can be call based too.
47
+ *
48
+ * There are regional variances but typically are always _less_ digits than a regional
49
+ * phone number of 7 digits.
50
+ *
51
+ * This utility -- when used without a generic `T` -- will just give a basic shape
52
+ * for the short code but not really validate it.
53
+ *
54
+ * If you want validation, pass it the value you're testing in as `T`. If `T` is a
55
+ * valid short code then it will be proxied through "as is" but if it is not, it
56
+ * will be converted to an `ErrorCondition<"invalid-short-code">`
57
+ */
58
+ export type PhoneShortCode<T extends string | null = null> = T extends null ? `${NumericChar}${number}${NumericChar}` : T extends string ? IsStringLiteral<T> extends true ? T extends `${number}` ? IsGreaterThan<Length<T>, 6> extends true ? Throw<"invalid-short-code", `Short codes must be less than 7 digits [${Length<T>}]`> : T : Throw<"invalid-short-code", `Short codes may vary from region to region but they must always contain only numbers: ${T}!`> : string : never;
59
+ /**
60
+ * **CountryPhoneNumber**`<[TDelimiter]>`
61
+ *
62
+ * Provides a shape phone number meant for use within a country. It includes
63
+ * the local number plus what would be referred to as the "area code" in the
64
+ * USA.
65
+ *
66
+ * **Related:** `InternationalPhoneNumber`, `LocalPhoneNumber`, `PhoneNumber`
67
+ */
68
+ export type CountryPhoneNumber<TDelimiter extends PhoneNumberDelimiter = PhoneNumberDelimiter> = `${PhoneAreaCode}${TDelimiter}${LocalPhoneNumber<TDelimiter>}`;
69
+ /**
70
+ * **InternationalPhoneNumber**`<[TDelimiter]>`
71
+ *
72
+ * A phone number which explicitly leads by expressing the _country_ that the number belongs to.
73
+ *
74
+ * - uses `+` or `00` prefix to mark as a country code
75
+ *
76
+ * **Related:** `CountryPhoneNumber`, `LocalPhoneNumber`, `PhoneNumber`
77
+ */
78
+ export type InternationalPhoneNumber<TDelimiter extends PhoneNumberDelimiter = PhoneNumberDelimiter> = `${DialCountryCode}${TDelimiter}${CountryPhoneNumber<TDelimiter>}`;
79
+ type _RightLength<T extends string> = If<StartsWith<T, "+">, If<Contains<T, "1-">, // using 1- for country code nomenclature
80
+ If<IsLength<T, 16>, T, ErrorCondition<"invalid-raw-phone-number", `Wrong number of characters for international number: ${T}`>>, If<IsLength<T, 15>, T, ErrorCondition<"invalid-raw-phone-number", `Wrong number of characters for international number: ${T}`>>>, If<StartsWith<T, "00">, If<Contains<T, "1-">, // using 1- for country code nomenclature
81
+ If<IsLength<T, 15>, T, ErrorCondition<"invalid-raw-phone-number", `Wrong number of characters for international number: ${T}`>>, If<IsLength<T, 14>, T, ErrorCondition<"invalid-raw-phone-number", `Wrong number of characters for international number: ${T}`>>>, If<Or<[IsLength<T, 10>, IsLength<T, 12>]>, T, If<And<[IsGreaterThan<Length<T>, 2>, IsLessThan<Length<T>, 8>]>, T, ErrorCondition<"invalid-raw-phone-number">>>>>;
82
+ type _RightChars<T extends string> = StripChars<T, NumericChar | "+" | "-"> extends "" ? T : ErrorCondition<"invalid-raw-phone-number", `The only valid characters in a raw phone number is numeric characters with the rare exception of a "+" or "-" when used in the right manner`>;
83
+ /**
84
+ * **RawPhoneNumber**`<[T]>`
85
+ *
86
+ * This is the most compact form of phone number storage as it has no delimiters
87
+ * but still can contain a number representing an international,
88
+ * country or regional phone number and even a `PhoneShortCode`.
89
+ *
90
+ * **Generic Use**
91
+ *
92
+ * - without using the generic, you'll get a very basic shape that can be used as in input
93
+ * type but it will by no means ensure this _is_ a RawPhone number
94
+ * - to get real validation that a type is a `RawPhoneNumber` pass it in as `T`
95
+ * - valid values are:
96
+ * - numeric only characters with the exception of:
97
+ * - possible start of `+`
98
+ * - possible inclusion of `1-${number}` in country code area
99
+ * - length of 3-7, 10, 12 digits
100
+ * - 14 digits if it leads with `00` or `+`
101
+ */
102
+ export type RawPhoneNumber<T extends string | Unset = Unset> = T extends Unset ? `${Optional<"+">}${number}${NumericChar}${NumericChar}` : T extends string ? IsStringLiteral<T> extends true ? OnPass<[
103
+ _RightChars<T>,
104
+ _RightLength<T>
105
+ ], T> : T | ErrorCondition<"invalid-raw-phone-number"> : never;
106
+ /** T or ErrorCondition */
107
+ type _AppropriateNumerics<T extends string> = HasPhoneCountryCode<T> extends true ? IsLessThan<Length<RetainChars<RemovePhoneCountryCode<T>, NumericChar>>, 10> extends true ? Throw<"invalid-phone-number", `Invalid international phone number; international numbers require at least 10 numeric digits beyond the country code: ${T}`, `PhoneNumber`> : T : HasCharacters<Trim<T>, PhoneNumberDelimiter> extends true ? Not<Or<[
108
+ Extends<Length<RetainChars<RemovePhoneCountryCode<T>, NumericChar>>, 10>,
109
+ Extends<Length<RetainChars<RemovePhoneCountryCode<T>, NumericChar>>, 7>
110
+ ]>> extends true ? Throw<"invalid-phone-number", `Phone numbers which have " ", "-", or "." delimiters can not be short codes and therefore must have a length of 7 or 10 digits not ${Length<RetainChars<RemovePhoneCountryCode<T>, NumericChar>>}!`> : T : Trim<T> extends "" ? Throw<"invalid-phone-number", "No numeric characters found!"> : T;
111
+ /** T or ErrorCondition */
112
+ type _ValidChars<T extends string> = StripChars<T, IsGreaterThan<Length<T>, 6> extends true ? NumericChar | "(" | ")" | Whitespace | "-" | "." : NumericChar> extends "" ? true : Throw<"invalid-phone-number", IsGreaterThan<Length<T>, 6> extends true ? `Excluding any country code references, the only valid characters in a phone number are numeric characters and '-', '.', and parenthesis but other characters were found: ${Trim<T>}` : `The phone number passed in has less than 7 numeric digits which means that it is either a short code or this is an invalid number ... short codes can only accept numeric digits though and we found more than that: ${Trim<T>}`>;
113
+ type _InvalidCountryCode<T extends string> = And<[
114
+ HasPhoneCountryCode<T, false>,
115
+ Not<HasPhoneCountryCode<T, true>>
116
+ ]> extends true ? Throw<"invalid-phone-number", `This looked like an international number but the country code ${GetPhoneCountryCode<T>} is not a valid country code!`> : true;
117
+ /**
118
+ * **PhoneNumber**`<[T]>`
119
+ *
120
+ * Without use of the generic `T`, provides a basic shape for phone
121
+ * numbers which should keep people on good behavior when
122
+ * accepting phone numbers.
123
+ *
124
+ * When passing a string into `T`, this utility will do a lot more
125
+ * validity checking on the value.
126
+ *
127
+ * - Only valid characters (numeric, whitespace, `+`, `-`, `.`, and parenthesis)
128
+ * - all _leading_ and _trailing_ whitespace removed for remaining comparisons
129
+ * - at least 7 numeric characters
130
+ * - 8 if `+` character used as leading character (after whitespace)
131
+ * - 10 if `00` are leading characters
132
+ * - leading character (after whitespace) must be numeric, `(` or `+`
133
+ */
134
+ export type PhoneNumber<T extends string | null = null, TDelimiter extends PhoneNumberDelimiter = PhoneNumberDelimiter> = T extends null ? LocalPhoneNumber<TDelimiter> | CountryPhoneNumber<TDelimiter> | InternationalPhoneNumber<TDelimiter> : T extends string ? IsStringLiteral<T> extends true ? OnPass<[
135
+ _ValidChars<RemovePhoneCountryCode<T>>,
136
+ _InvalidCountryCode<T>,
137
+ _AppropriateNumerics<T>
138
+ ], T> : string : never;
139
+ /**
140
+ * GetPhoneCountryCode`<T>`
141
+ *
142
+ * Attempts to find a country code signature in a phone number.
143
+ *
144
+ * - it returns the country code without the leading `+` or `00` prefix
145
+ * - if there is no delimiter or prefix for the country code then, then it
146
+ * will use a _real_ list of country codes to try to extract this value
147
+ * - if not found it returns an empty string (`""`)
148
+ * - if `T` is a _wide_ string string then this will return `string` back
149
+ */
150
+ export type GetPhoneCountryCode<T> = T extends string ? [IsStringLiteral<T>] extends [true] ? StartsWith<Trim<T>, "+" | "00"> extends true ? [Trim<T>] extends [`${"+" | "00"}${infer CC}${PhoneNumberDelimiter}${string}`] ? RetainUntil<CC, " "> : "" : "" : string : never;
151
+ /**
152
+ * **RemoveCountryCode**`<T,[TExplicitCountryCode]>`
153
+ *
154
+ * Removes the country code -- where present -- to reveal
155
+ * just a country-based number.
156
+ *
157
+ * **Note:** there are two approaches this utility can take toward
158
+ * removal of the country code:
159
+ *
160
+ * - the default relies on a space delimiter being present between
161
+ * the country code and the remaining phone number; use this if
162
+ * this is a reasonable assumption as it is more type performant.
163
+ * - if you might have a string of numbers -- even possibly without
164
+ * the `+` or `00` prefixes -- then you can set `TExplicitCountryCode`
165
+ * to `true`
166
+ * - when set to true, it will still be able to extract _real_ country codes
167
+ * from the string but if an _imagined_ country code has been entered it will
168
+ * fail.
169
+ * - if it is an _imagined_ country code which does have a `+` or `00` prefix
170
+ * then the type will be `ErrorCondition<"invalid-country-code">`
171
+ * - if no country code prefix then you'll likely get a
172
+ * `ErrorCondition<"too-many-digits">` error (unless of course your have _other_
173
+ * problems).
174
+ */
175
+ export type RemovePhoneCountryCode<T> = T extends string ? IsStringLiteral<T> extends true ? GetPhoneCountryCode<Trim<T>> extends "" ? T : Trim<T> extends `+${GetPhoneCountryCode<Trim<T>>} ${infer Rest}` ? Rest : T : string : never;
176
+ export type PhoneNumberType = "international" | "country" | "regional" | "short-code";
177
+ /**
178
+ * **GetPhoneNumberType**`<T>`
179
+ *
180
+ * Indicates whether the phone number is "international", "country", or "regional"
181
+ * based on the shape and number of digits
182
+ */
183
+ export type GetPhoneNumberType<T> = T extends string ? IsStringLiteral<T> extends true ? HasPhoneCountryCode<T, false> extends true ? "international" : IsLessThan<Length<RetainChars<Trim<AsString<T>>, NumericChar>>, 8> extends true ? Length<RetainChars<Trim<AsString<T>>, NumericChar>> extends 7 ? "regional" : "short-code" : "country" : string : never;
184
+ type FormatLookup<T extends string> = {
185
+ "Dashed (e.g., 456-555-1212)": HasPhoneCountryCode<T> extends true ? `+${GetPhoneCountryCode<T>} ${number}-${number}-${number}` : GetPhoneNumberType<T> extends "regional" ? `${number}-${number}` : `${number}-${number}-${number}`;
186
+ "Dotted (e.g., 456.555.1212)": HasPhoneCountryCode<T> extends true ? `+${GetPhoneCountryCode<T>} ${number}.${number}.${number}` : GetPhoneNumberType<T> extends "regional" ? `${number}.${number}` : `${number}.${number}-${number}`;
187
+ "ParaSpaced (e.g., (456) 555 1212)": "";
188
+ "ParaDashed (e.g., (456) 555-1212)": "";
189
+ } & Record<PhoneFormat, any>;
190
+ export type ToPhoneFormat<TPhone extends string, TFormat extends PhoneFormat> = IsStringLiteral<TPhone> extends true ? PhoneNumber<TPhone> extends string ? Trim<TPhone> & FormatLookup<TPhone>[TFormat] : PhoneNumber<TPhone> : FormatLookup<TPhone>[TFormat] | ErrorCondition<"invalid-phone-number">;
191
+ export {};
192
+ //# sourceMappingURL=phone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone.d.ts","sourceRoot":"","sources":["../../../../src/types/string-literals/character-sets/phone.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};