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,4 +1,4 @@
1
- import { AsNumber } from "../../index";
1
+ import { AsNumber, If, IsEqual, Or } from "../../index";
2
2
  type Calc<A extends number, B extends number, Count extends 1[] = []> = Count["length"] extends A ? false : Count["length"] extends B ? true : Calc<A, B, [...Count, 1]>;
3
3
  /**
4
4
  * **IsGreaterThan**`<A,B>`
@@ -8,6 +8,6 @@ type Calc<A extends number, B extends number, Count extends 1[] = []> = Count["l
8
8
  *
9
9
  * **Note:** does not take negative numbers into account
10
10
  */
11
- export type IsGreaterThan<A extends number | `${number}`, B extends number | `${number}`> = Calc<AsNumber<A>, AsNumber<B>>;
11
+ export type IsGreaterThan<A extends number | `${number}`, B extends number | `${number}`> = If<Or<[IsEqual<A, number>, IsEqual<B, number>, IsEqual<A, `${number}`>, IsEqual<B, `${number}`>]>, boolean, Calc<AsNumber<A>, AsNumber<B>>>;
12
12
  export {};
13
13
  //# sourceMappingURL=IsGreaterThan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IsGreaterThan.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsGreaterThan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,oBAAwB;AAE3C,KAAK,IAAI,CACP,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,EAChB,KAAK,SAAS,CAAC,EAAE,GAAG,EAAE,IAExB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GACrB,KAAK,GACL,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GACvB,IAAI,GACJ,IAAI,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AAE/B;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,CACvB,CAAC,SAAS,MAAM,GAAG,GAAG,MAAM,EAAE,EAC9B,CAAC,SAAS,MAAM,GAAG,GAAG,MAAM,EAAE,IAC5B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"IsGreaterThan.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsGreaterThan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,oBAAwB;AAE5D,KAAK,IAAI,CACP,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,EAChB,KAAK,SAAS,CAAC,EAAE,GAAG,EAAE,IAExB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GACrB,KAAK,GACL,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GACvB,IAAI,GACJ,IAAI,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AAE/B;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,CACvB,CAAC,SAAS,MAAM,GAAG,GAAG,MAAM,EAAE,EAC9B,CAAC,SAAS,MAAM,GAAG,GAAG,MAAM,EAAE,IAC5B,EAAE,CACJ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,EAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,EAAC,GAAG,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,EAC1F,OAAO,EACP,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC/B,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Unset, IsEqual } from "../../index";
2
+ /**
3
+ * **IsUnset**`<T>`
4
+ *
5
+ * Boolean operator which reports true/false on whether
6
+ * `T` is the value `Unset`.
7
+ */
8
+ export type IsUnset<T> = IsEqual<T, Unset>;
9
+ //# sourceMappingURL=IsUnset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IsUnset.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsUnset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,oBAAwB;AAGjD;;;;;GAKG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAC,KAAK,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,33 @@
1
+ import { GetPhoneCountryCode, IsNever, IsTrue, PhoneCountryCode, PhoneNumber } from "../..";
2
+ import { IsStringLiteral } from "./IsStringLiteral";
3
+ /**
4
+ * **IsPhoneNumber**`<T>`
5
+ *
6
+ * Boolean operator which tests whether `T` has a
7
+ * type that supports it being a phone number.
8
+ *
9
+ * **Note:**
10
+ *
11
+ * - this utility relies on the using the `PhoneNumber<T>` validation
12
+ * technique to determine that whether it is a phone number but whereas
13
+ * this utility returns `T` _or_ and `ErrorCode` this produces a boolean
14
+ * outcome.
15
+ *
16
+ * **Related:** `PhoneNumber`, `HasPhoneCountryCode`
17
+ */
18
+ export type IsPhoneNumber<T> = T extends string ? IsStringLiteral<T> extends true ? IsNever<PhoneNumber<T>> extends true ? false : true : boolean : false;
19
+ /**
20
+ * **HasPhoneCountryCode**`<T>`
21
+ *
22
+ * Boolean operator which validates whether the passed in `T` has a country code leading it (ignoring any leading
23
+ * whitespace):
24
+ *
25
+ * - by default, the country code is not only parsed out of the phone number but also validated against an world
26
+ * wide index of valid country codes
27
+ * - if you want to just validate that user _attempted_ to express a country code then you can change the check by
28
+ * setting `TExplicit` to **false**.
29
+ *
30
+ * **Related:** `IsPhoneNumber`, `PhoneNumber`
31
+ */
32
+ export type HasPhoneCountryCode<TPhone, TExplicit extends boolean = true> = TPhone extends string ? IsStringLiteral<TPhone> extends true ? IsTrue<TExplicit> extends true ? GetPhoneCountryCode<TPhone> extends PhoneCountryCode ? true : false : GetPhoneCountryCode<TPhone> extends "" ? false : true : boolean : false;
33
+ //# sourceMappingURL=PhoneOperators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PhoneOperators.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/PhoneOperators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAC7C,eAAe,CAAC,CAAC,CAAC,SAAS,IAAI,GAC7B,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAClC,KAAK,GACL,IAAI,GACR,OAAO,GACP,KAAK,CAAC;AAGR;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,mBAAmB,CAC7B,MAAM,EACN,SAAS,SAAS,OAAO,GAAG,IAAI,IAC9B,MAAM,SAAS,MAAM,GACvB,eAAe,CAAC,MAAM,CAAC,SAAS,IAAI,GAChC,MAAM,CAAC,SAAS,CAAC,SAAS,IAAI,GAC5B,mBAAmB,CAAC,MAAM,CAAC,SAAS,gBAAgB,GAClD,IAAI,GACJ,KAAK,GACP,mBAAmB,CAAC,MAAM,CAAC,SAAS,EAAE,GACpC,KAAK,GACL,IAAI,GACZ,OAAO,GACP,KAAK,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from "./ApiOperators";
1
2
  export * from "./AllExtend";
2
3
  export * from "./AllLiteral";
3
4
  export * from "./AreSameType";
@@ -90,4 +91,6 @@ export * from "./IsFloat";
90
91
  export * from "./IsInteger";
91
92
  export * from "./IsUrl";
92
93
  export * from "./Network-operators";
94
+ export * from "./PhoneOperators";
95
+ export * from "./IsUnset";
93
96
  //# 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":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export * from "./ApiOperators.js";
1
2
  export * from "./AllExtend.js";
2
3
  export * from "./AllLiteral.js";
3
4
  export * from "./AreSameType.js";
@@ -90,3 +91,5 @@ export * from "./IsFloat.js";
90
91
  export * from "./IsInteger.js";
91
92
  export * from "./IsUrl.js";
92
93
  export * from "./Network-operators.js";
94
+ export * from "./PhoneOperators.js";
95
+ export * from "./IsUnset.js";
@@ -1,9 +1,9 @@
1
- import type { Container, ObjectKey, UnionToTuple, NumericKeys, RemoveIndexKeys, IsVueRef, IsTuple, IsObjectLiteral } from "../index";
1
+ import type { Container, ObjectKey, UnionToTuple, NumericKeys, RemoveIndexKeys, IsVueRef, IsTuple, IsObjectLiteral, AfterFirst, StartsWith, First, TupleToUnion, As, Tuple, IsWideUnion } from "../index";
2
2
  type _Keys<T extends object> = UnionToTuple<keyof RemoveIndexKeys<T>>;
3
3
  type GetKeys<T extends object> = IsVueRef<T> extends true ? ["value"] : _Keys<T> extends [symbol] ? ObjectKey[] : _Keys<T> extends [] ? UnionToTuple<keyof T> extends [ObjectKey] ? (keyof T)[] : ObjectKey[] : _Keys<T>;
4
4
  type ProcessObj<TContainer extends object> = GetKeys<TContainer>;
5
5
  type ProcessTuple<TContainer extends readonly unknown[]> = NumericKeys<TContainer> extends readonly number[] ? NumericKeys<TContainer> : never;
6
- type Process<TContainer extends Container> = TContainer extends readonly unknown[] ? IsTuple<TContainer> extends true ? ProcessTuple<TContainer> : number[] : TContainer extends object ? [IsObjectLiteral<RemoveIndexKeys<TContainer>>] extends [true] ? ProcessObj<RemoveIndexKeys<TContainer>> extends readonly (keyof TContainer)[] ? ProcessObj<RemoveIndexKeys<TContainer>> : ProcessObj<RemoveIndexKeys<TContainer>> : ObjectKey[] : never[];
6
+ type Process<TContainer extends Container> = TContainer extends readonly unknown[] ? IsTuple<TContainer> extends true ? ProcessTuple<TContainer> extends readonly number[] ? ProcessTuple<TContainer> : never : number[] : TContainer extends object ? [IsObjectLiteral<RemoveIndexKeys<TContainer>>] extends [true] ? ProcessObj<RemoveIndexKeys<TContainer>> extends readonly (keyof TContainer & ObjectKey)[] ? As<ProcessObj<RemoveIndexKeys<TContainer>>, readonly ObjectKey[]> : never : ObjectKey[] : never[];
7
7
  /**
8
8
  * **Keys**`<TContainer>`
9
9
  *
@@ -18,8 +18,62 @@ type Process<TContainer extends Container> = TContainer extends readonly unknown
18
18
  * type K2 = Keys<Arr>;
19
19
  * ```
20
20
  *
21
- * **Related:** `ValidKey`
21
+ * **Related:** `ValidKey`, `PublicKeys`
22
22
  */
23
- export type Keys<TContainer extends Container> = Process<TContainer>;
23
+ export type Keys<TContainer extends Container> = TContainer extends Tuple ? As<Process<TContainer>, readonly number[]> : As<Process<TContainer>, readonly ObjectKey[]>;
24
+ type _Public<TInput extends readonly PropertyKey[], TOutput extends readonly PropertyKey[] = []> = [] extends TInput ? TOutput : _Public<AfterFirst<TInput>, First<TInput> extends string ? StartsWith<First<TInput>, "_"> extends true ? TOutput : [...TOutput, First<TInput>] : TOutput>;
25
+ /**
26
+ * **PublicKeys**`<TContainer>`
27
+ *
28
+ * Provides a tuple of _keys_ for `TContainer` but unlike `Keys<T>` it removes any
29
+ * keys which start with an underscore character.
30
+ */
31
+ export type PublicKeys<TContainer extends Container> = _Public<Keys<TContainer>>;
32
+ /**
33
+ * **PrivateKey**
34
+ *
35
+ * A `PrivateKey` is an object key that is preceded with a `_` character to indicate
36
+ * that it is a _private_ property.
37
+ */
38
+ export type PrivateKey = `_${string}`;
39
+ /**
40
+ * **PrivateKeys**`<T>`
41
+ *
42
+ * Keys on an object which have a `_` character as first part of the
43
+ * name are considered private and this utility will create a union
44
+ * of all the keys in this category.
45
+ *
46
+ * **Related:** `PublicKeys`, `Keys`, `PrivateKeyOf`
47
+ */
48
+ export type PrivateKeys<T extends object> = {
49
+ [K in keyof T]: K extends `_${string}` ? K : never;
50
+ }[keyof T];
51
+ type _KeyOf<TContainer extends Container> = TupleToUnion<Keys<TContainer>> extends PropertyKey ? TupleToUnion<Keys<TContainer>> extends keyof TContainer ? TupleToUnion<Keys<TContainer>> : never : never;
52
+ /**
53
+ * **KeyOf**`<TContainer>`
54
+ *
55
+ * Provides a **union type** of keys for the passed in container.
56
+ *
57
+ * **Related:** `Keys`,`PublicKeys`,`PublicKeyOf`
58
+ */
59
+ export type KeyOf<TContainer extends Container> = IsWideUnion<_KeyOf<TContainer>> extends true ? "" : As<_KeyOf<TContainer>, string | symbol>;
60
+ /**
61
+ * **PublicKeyOf**`<TContainer>`
62
+ *
63
+ * Provides a **union type** of _public_ keys (aka, keys not starting with
64
+ * underscore character) for the passed in container.
65
+ *
66
+ * **Related:** `Keys`,`PublicKeys`,`KeyOf`
67
+ */
68
+ export type PublicKeyOf<TContainer extends Container> = TupleToUnion<PublicKeys<TContainer>> extends PropertyKey ? TupleToUnion<PublicKeys<TContainer>> extends keyof TContainer ? TupleToUnion<PublicKeys<TContainer>> : never : never;
69
+ /**
70
+ * **PrivateKeyOf**`<TContainer>`
71
+ *
72
+ * Provides a **union type** of _private_ keys (aka, keys starting with
73
+ * underscore character) for the passed in container.
74
+ *
75
+ * **Related:** `Keys`,`PrivateKeys`,`KeyOf`
76
+ */
77
+ export type PrivateKeyOf<TContainer extends Container> = TupleToUnion<PrivateKeys<TContainer>> extends PropertyKey ? TupleToUnion<PublicKeys<TContainer>> extends keyof TContainer ? TupleToUnion<PublicKeys<TContainer>> : never : never;
24
78
  export {};
25
79
  //# sourceMappingURL=Keys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Keys.d.ts","sourceRoot":"","sources":["../../../src/types/dictionary/Keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,YAAY,EACZ,WAAW,EACX,eAAe,EACf,QAAQ,EACR,OAAO,EACP,eAAe,EAChB,iBAAwB;AAEzB,KAAK,KAAK,CACV,CAAC,SAAS,MAAM,IACZ,YAAY,CAAC,MAAM,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAG3C,KAAK,OAAO,CACV,CAAC,SAAS,MAAM,IACd,QAAQ,CAAC,CAAC,CAAC,SAAS,IAAI,GAC1B,CAAC,OAAO,CAAC,GACT,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GACvB,SAAS,EAAE,GACX,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,GACjB,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,GACvC,CAAC,MAAM,CAAC,CAAC,EAAE,GACX,SAAS,EAAE,GACb,KAAK,CAAC,CAAC,CAAC,CAAC;AAEf,KAAK,UAAU,CACb,UAAU,SAAS,MAAM,IACvB,OAAO,CAAC,UAAU,CAAC,CAAA;AAEvB,KAAK,YAAY,CACf,UAAU,SAAS,SAAS,OAAO,EAAE,IACnC,WAAW,CAAC,UAAU,CAAC,SAAS,SAAS,MAAM,EAAE,GACnD,WAAW,CAAC,UAAU,CAAC,GACvB,KAAK,CAAC;AAER,KAAK,OAAO,CACZ,UAAU,SAAS,SAAS,IACxB,UAAU,SAAS,SAAS,OAAO,EAAE,GACvC,OAAO,CAAC,UAAU,CAAC,SAAS,IAAI,GAC9B,YAAY,CAAC,UAAU,CAAC,GACxB,MAAM,EAAE,GACV,UAAU,SAAS,MAAM,GACvB,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAC3D,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,UAAU,CAAC,EAAE,GAC3E,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,GACvC,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,GACzC,SAAS,EAAE,GACb,KAAK,EAAE,CAAC;AAEZ;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,IAAI,CACd,UAAU,SAAS,SAAS,IAC1B,OAAO,CAAC,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"Keys.d.ts","sourceRoot":"","sources":["../../../src/types/dictionary/Keys.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Fn, FnDefn } from "../functions/Fn";
1
+ import { FnWithDescription, FnDefn } from "../functions/FnWithDescription";
2
2
  /**
3
3
  * **KvFnDefn**
4
4
  *
@@ -11,5 +11,5 @@ export type KvFnDefn = [key: string, fn: FnDefn];
11
11
  * A succinct and strong type definition for a KV value pair where the
12
12
  * _value_ is a function.
13
13
  */
14
- export type KvFn<T extends KvFnDefn = KvFnDefn> = Record<T[0], Fn<T[1]>>;
14
+ export type KvFn<T extends KvFnDefn = KvFnDefn> = Record<T[0], FnWithDescription<T[1]>>;
15
15
  //# sourceMappingURL=KvFn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KvFn.d.ts","sourceRoot":"","sources":["../../../src/types/dictionary/KvFn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,MAAM,IAAI,CACd,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAC3B,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"KvFn.d.ts","sourceRoot":"","sources":["../../../src/types/dictionary/KvFn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,MAAM,IAAI,CACd,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAC3B,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -1,15 +1,24 @@
1
+ import { ObjectKey } from "../base-types";
1
2
  import { Dictionary } from "../base-types/Dictionary";
3
+ import { IsWideUnion } from "../boolean-logic";
2
4
  import { ExpandDictionary } from "../literals";
3
5
  import { WithKeys } from "./WithKeys";
4
6
  import { WithoutKeys } from "./WithoutKeys";
7
+ type ProcessTupleKeys<TObj extends Dictionary, TKeys extends readonly ObjectKey[]> = ExpandDictionary<WithoutKeys<TObj, TKeys> & {
8
+ [K in keyof WithKeys<TObj, TKeys>]?: K extends keyof TObj ? TObj[K] : never;
9
+ }>;
10
+ type ProcessUnionKeys<TObj extends Dictionary, TKeys extends (string | symbol)> = ExpandDictionary<WithoutKeys<TObj, TKeys> & {
11
+ [K in keyof WithKeys<TObj, TKeys>]?: K extends keyof TObj ? TObj[K] : never;
12
+ }>;
5
13
  /**
6
14
  * **MakeKeysOptional**`<TObj, TKeys>`
7
15
  *
8
16
  * Makes a set of keys on a known object `TObj` become
9
17
  * _optional_ parameters while leaving the other properties
10
18
  * "as is".
19
+ *
20
+ * **Related:** `MakeKeysRequired`
11
21
  */
12
- export type MakeKeysOptional<TObj extends Dictionary, TKeys extends readonly string[]> = ExpandDictionary<WithoutKeys<TObj, TKeys> & {
13
- [K in keyof WithKeys<TObj, TKeys>]?: K extends keyof TObj ? TObj[K] : never;
14
- }>;
22
+ export type MakeKeysOptional<TObj extends Dictionary, TKeys extends (string | symbol) | readonly ObjectKey[]> = TKeys extends readonly ObjectKey[] ? ProcessTupleKeys<TObj, TKeys> : TKeys extends (string | symbol) ? IsWideUnion<TKeys> extends true ? never : ProcessUnionKeys<TObj, TKeys> : never;
23
+ export {};
15
24
  //# sourceMappingURL=MakeKeysOptional.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MakeKeysOptional.d.ts","sourceRoot":"","sources":["../../../src/types/dictionary/MakeKeysOptional.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,CAC1B,IAAI,SAAS,UAAU,EACvB,KAAK,SAAS,SAAS,MAAM,EAAE,IAC7B,gBAAgB,CAClB,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG;KACxB,CAAC,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,GACpD,IAAI,CAAC,CAAC,CAAC,GACP,KAAK;CACV,CACF,CAAA"}
1
+ {"version":3,"file":"MakeKeysOptional.d.ts","sourceRoot":"","sources":["../../../src/types/dictionary/MakeKeysOptional.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAG,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,KAAK,gBAAgB,CACnB,IAAI,SAAS,UAAU,EACvB,KAAK,SAAS,SAAS,SAAS,EAAE,IAChC,gBAAgB,CACpB,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG;KACxB,CAAC,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,GACpD,IAAI,CAAC,CAAC,CAAC,GACP,KAAK;CACV,CACA,CAAA;AAED,KAAK,gBAAgB,CACnB,IAAI,SAAS,UAAU,EACvB,KAAK,SAAS,CAAC,MAAM,GAAC,MAAM,CAAC,IAC3B,gBAAgB,CACpB,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG;KACxB,CAAC,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,GACpD,IAAI,CAAC,CAAC,CAAC,GACP,KAAK;CACV,CACA,CAAA;AAGD;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,CAC1B,IAAI,SAAS,UAAU,EACvB,KAAK,SAAS,CAAC,MAAM,GAAC,MAAM,CAAC,GAAG,SAAS,SAAS,EAAE,IAClD,KAAK,SAAS,SAAS,SAAS,EAAE,GACpC,gBAAgB,CAAC,IAAI,EAAC,KAAK,CAAC,GAC5B,KAAK,SAAS,CAAC,MAAM,GAAC,MAAM,CAAC,GAC3B,WAAW,CAAC,KAAK,CAAC,SAAS,IAAI,GAC7B,KAAK,GACL,gBAAgB,CAAC,IAAI,EAAC,KAAK,CAAC,GAChC,KAAK,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { Dictionary, ExpandDictionary, ObjectKey, WithKeys, WithoutKeys } from "../index";
2
+ /**
3
+ * **MakeKeysRequired**`<TObj, TKeys>`
4
+ *
5
+ * Makes a set of keys on a known object `TObj` become
6
+ * _optional_ parameters while leaving the other properties
7
+ * "as is".
8
+ *
9
+ * **Related:** `MakeKeysOptional`
10
+ */
11
+ export type MakeKeysRequired<TObj extends Dictionary, TKeys extends (string | symbol) | readonly ObjectKey[]> = ExpandDictionary<WithoutKeys<TObj, TKeys> & {
12
+ [K in keyof WithKeys<TObj, TKeys>]: K extends keyof TObj ? TObj[K] : never;
13
+ }>;
14
+ //# sourceMappingURL=MakeKeysRequired.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MakeKeysRequired.d.ts","sourceRoot":"","sources":["../../../src/types/dictionary/MakeKeysRequired.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAwB;AAGjG;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,CAC1B,IAAI,SAAS,UAAU,EACvB,KAAK,SAAS,CAAC,MAAM,GAAC,MAAM,CAAC,GAAG,SAAS,SAAS,EAAE,IAClD,gBAAgB,CAClB,WAAW,CAAC,IAAI,EAAC,KAAK,CAAC,GACvB;KACG,CAAC,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAC,KAAK,CAAC,GAAG,CAAC,SAAS,MAAM,IAAI,GACnD,IAAI,CAAC,CAAC,CAAC,GACP,KAAK;CACV,CACF,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,11 +1,26 @@
1
+ import { AnyObject, If, IsEqual, Unset } from "../index";
1
2
  /**
2
- * **OptionalKeys**`<T>`
3
+ * **OptionalKeys**`<T,[V]>`
3
4
  *
4
- * Extracts the _optional_ keys in the object's type.
5
+ * Provides a union type of the _keys_ in `T` which are
6
+ * **optional** properties.
7
+ *
8
+ * **Note:** you also may optionally filter further by specifying a value
9
+ * by the _value_ of the key and then only keys which are required AND
10
+ * who extend `V` will be included in the union.
11
+ *
12
+ * **Related:** `OptionalKeys`, `RequiredProps` * Provides a union type of the _keys_ in `T` which are
13
+ * **required** properties.
14
+ *
15
+ * **Note:** you also may optionally filter further by specifying a value
16
+ * by the _value_ of the key and then only keys which are required AND
17
+ * who extend `V` will be included in the union.
18
+ *
19
+ * **Related:** `RequiredKeys`, `RequiredProps`
5
20
  */
6
- export type OptionalKeys<T extends object> = {
21
+ export type OptionalKeys<T extends AnyObject, V = Unset> = {
7
22
  [K in keyof T]-?: {} extends {
8
23
  [P in K]: T[K];
9
- } ? K : never;
24
+ } ? If<IsEqual<V, Unset>, K, K extends V ? K : never> : never;
10
25
  }[keyof T];
11
26
  //# sourceMappingURL=OptionalKeys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OptionalKeys.d.ts","sourceRoot":"","sources":["../../../src/types/dictionary/OptionalKeys.ts"],"names":[],"mappings":"AACA;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI;KAC1C,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS;SAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KAAE,GAC3C,CAAC,GACD,KAAK;CACV,CAAC,MAAM,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"OptionalKeys.d.ts","sourceRoot":"","sources":["../../../src/types/dictionary/OptionalKeys.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,SAAS,EACT,EAAE,EACF,OAAO,EACP,KAAK,EACL,iBAAwB;AAE1B;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,YAAY,CACtB,CAAC,SAAS,SAAS,EACnB,CAAC,GAAG,KAAK,IACP;KACD,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS;SAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KAAE,GAC3C,EAAE,CAAC,OAAO,CAAC,CAAC,EAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAChD,KAAK;CACV,CAAC,MAAM,CAAC,CAAC,CAAC"}
@@ -1 +1,2 @@
1
+ /* eslint-disable @typescript-eslint/ban-types */
1
2
  export {};
@@ -1,11 +1,19 @@
1
- import { AnyObject } from "../index";
1
+ import { As, Dictionary, IfUnset, ObjectKey, Unset } from "../index";
2
2
  /**
3
- * Extracts the _required_ keys in the object's type. You also may
4
- * optionally filter by the _value_ of the key.
3
+ * **RequiredKeys**`<T,[V]>`
4
+ *
5
+ * Provides a union type of the _keys_ in `T` which are
6
+ * **required** properties.
7
+ *
8
+ * **Note:** you also may optionally filter further by specifying a value
9
+ * by the _value_ of the key and then only keys which are required AND
10
+ * who extend `V` will be included in the union.
11
+ *
12
+ * **Related:** `OptionalKeys`, `RequiredProps`
5
13
  */
6
- export type RequiredKeys<T extends AnyObject, V = unknown> = {
14
+ export type RequiredKeys<T extends Dictionary, V = Unset> = As<{
7
15
  [K in keyof T]-?: {} extends {
8
16
  [P in K]: T[K];
9
- } ? never : T[K] extends V ? K : never;
10
- }[keyof T];
17
+ } ? never : IfUnset<V, K, T[K] extends V ? K : never>;
18
+ }[keyof T], ObjectKey>;
11
19
  //# sourceMappingURL=RequiredKeys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RequiredKeys.d.ts","sourceRoot":"","sources":["../../../src/types/dictionary/RequiredKeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,iBAAwB;AAE5C;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,GAAG,OAAO,IAAI;KAE1D,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS;SAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KAAE,GAC3C,KAAK,GACL,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GACd,CAAC,GACD,KAAK;CACV,CAAC,MAAM,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"RequiredKeys.d.ts","sourceRoot":"","sources":["../../../src/types/dictionary/RequiredKeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAG,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAwB;AAE7E;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,YAAY,CACtB,CAAC,SAAS,UAAU,EACpB,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;KAEf,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS;SAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KAAE,GAC3C,KAAK,GACL,OAAO,CACL,CAAC,EACD,CAAC,EACD,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GACV,CAAC,GACD,KAAK,CACV;CACN,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Container, Dictionary, ObjectKey, Tuple } from "../base-types";
1
+ import { Container, Dictionary, ObjectKey, Tuple, TypedFunction } from "../base-types";
2
2
  import { AfterFirst, First } from "../lists";
3
3
  import { Keys } from "./Keys";
4
4
  type Process<TKeys extends readonly ObjectKey[], TObj extends Record<ObjectKey, unknown>, TResult extends readonly unknown[] = []> = [] extends TKeys ? TResult : Process<AfterFirst<TKeys>, TObj, [
@@ -13,6 +13,6 @@ type Process<TKeys extends readonly ObjectKey[], TObj extends Record<ObjectKey,
13
13
  * - for **tuples** this is just a _proxy_ of the type
14
14
  * - for _wide_ types like `string[]`
15
15
  */
16
- export type Values<T extends Container> = T extends Tuple ? T : T extends Dictionary ? Process<Keys<T> extends readonly ObjectKey[] ? Keys<T> : never, T> : [];
16
+ export type Values<T extends Container> = T extends Tuple ? T : T extends Dictionary ? Process<Keys<T> extends readonly ObjectKey[] ? Keys<T> : never, T> : T extends TypedFunction ? [T] : [];
17
17
  export {};
18
18
  //# sourceMappingURL=Values.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Values.d.ts","sourceRoot":"","sources":["../../../src/types/dictionary/Values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,KAAK,OAAO,CACV,KAAK,SAAS,SAAS,SAAS,EAAE,EAClC,IAAI,SAAS,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EACvC,OAAO,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,IACrC,EAAE,SAAS,KAAK,GAClB,OAAO,GACP,OAAO,CACL,UAAU,CAAC,KAAK,CAAC,EACjB,IAAI,EACJ;IACE,GAAG,OAAO;IACV,KAAK,CAAC,KAAK,CAAC,SAAS,MAAM,IAAI,GAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAClB,KAAK;CACV,CACF,CAAA;AAGH;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,CAChB,CAAC,SAAS,SAAS,IACjB,CAAC,SAAS,KAAK,GACjB,CAAC,GACD,CAAC,SAAS,UAAU,GAClB,OAAO,CACL,IAAI,CAAC,CAAC,CAAC,SAAS,SAAS,SAAS,EAAE,GAChC,IAAI,CAAC,CAAC,CAAC,GACP,KAAK,EACT,CAAC,CACF,GACD,EAAE,CAAC"}
1
+ {"version":3,"file":"Values.d.ts","sourceRoot":"","sources":["../../../src/types/dictionary/Values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,KAAK,OAAO,CACV,KAAK,SAAS,SAAS,SAAS,EAAE,EAClC,IAAI,SAAS,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EACvC,OAAO,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,IACrC,EAAE,SAAS,KAAK,GAClB,OAAO,GACP,OAAO,CACL,UAAU,CAAC,KAAK,CAAC,EACjB,IAAI,EACJ;IACE,GAAG,OAAO;IACV,KAAK,CAAC,KAAK,CAAC,SAAS,MAAM,IAAI,GAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAClB,KAAK;CACV,CACF,CAAA;AAGH;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,CAChB,CAAC,SAAS,SAAS,IACjB,CAAC,SAAS,KAAK,GACjB,CAAC,GACD,CAAC,SAAS,UAAU,GAClB,OAAO,CACL,IAAI,CAAC,CAAC,CAAC,SAAS,SAAS,SAAS,EAAE,GAChC,IAAI,CAAC,CAAC,CAAC,GACP,KAAK,EACT,CAAC,CACF,GACD,CAAC,SAAS,aAAa,GACrB,CAAC,CAAC,CAAC,GAEL,EAAE,CAAC"}
@@ -10,8 +10,6 @@ export * from "./MaybeRef";
10
10
  export * from "./FromMaybeRef";
11
11
  export * from "./RequiredProps";
12
12
  export * from "./OptionalProps";
13
- export * from "./PrivateKeys";
14
- export * from "./PublicKeys";
15
13
  export * from "./StringKeys";
16
14
  export * from "./NonStringKeys";
17
15
  export * from "./KeysWithValue";
@@ -45,4 +43,5 @@ export * from "./CreateLookup";
45
43
  export * from "./MergeKVs";
46
44
  export * from "./TakeProp";
47
45
  export * from "./MakeKeysOptional";
46
+ export * from "./MakeKeysRequired";
48
47
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/dictionary/index.ts"],"names":[],"mappings":"AAMA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/dictionary/index.ts"],"names":[],"mappings":"AAMA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
@@ -15,8 +15,6 @@ export * from "./MaybeRef.js";
15
15
  export * from "./FromMaybeRef.js";
16
16
  export * from "./RequiredProps.js";
17
17
  export * from "./OptionalProps.js";
18
- export * from "./PrivateKeys.js";
19
- export * from "./PublicKeys.js";
20
18
  export * from "./StringKeys.js";
21
19
  export * from "./NonStringKeys.js";
22
20
  export * from "./KeysWithValue.js";
@@ -50,6 +48,7 @@ export * from "./CreateLookup.js";
50
48
  export * from "./MergeKVs.js";
51
49
  export * from "./TakeProp.js";
52
50
  export * from "./MakeKeysOptional.js";
51
+ export * from "./MakeKeysRequired.js";
53
52
  // #endregion auto-indexed files
54
53
  // see https://github.com/inocan-group/do-devops/docs/autoindex.md
55
54
  // for more info
@@ -23,7 +23,7 @@ import { PascalCase, KebabCase } from "../index";
23
23
  * BadJuju("oh my god!", { flavor: "strawberry"})
24
24
  * ```
25
25
  */
26
- export interface KindError<K extends string, C extends Record<string, unknown> = NonNullable<unknown>> extends Error {
26
+ export interface KindError<K extends string, C extends Record<string, unknown> | undefined> extends Error {
27
27
  __kind: "KindError";
28
28
  name: PascalCase<K>;
29
29
  kind: KebabCase<K>;
@@ -1 +1 @@
1
- {"version":3,"file":"KindError.d.ts","sourceRoot":"","sources":["../../../src/types/errors/KindError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,SAAS,EAAC,iBAAwB;AAEtD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,SAAS,CACxB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CACxD,SAAQ,KAAK;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACnB,OAAO,EAAE,CAAC,CAAC;CACZ;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,CACvB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,IACtD,CACF,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,CAAC,KACR,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"KindError.d.ts","sourceRoot":"","sources":["../../../src/types/errors/KindError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,SAAS,EAAC,iBAAwB;AAEtD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,SAAS,CACxB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAC7C,SAAQ,KAAK;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACnB,OAAO,EAAE,CAAC,CAAC;CACZ;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,CACvB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,IACtD,CACF,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,CAAC,KACR,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC"}
@@ -1,3 +1,8 @@
1
1
  import { Dictionary, EmptyObject, Tuple } from "../base-types";
2
+ /**
3
+ * **FnFrom**`<TParams,[TReturn],[TProps]>`
4
+ *
5
+ * Type utility to build a type from it's constituent parts.
6
+ */
2
7
  export type FnFrom<TParams extends Tuple, TReturn = unknown, TProps extends Dictionary = EmptyObject> = TProps extends EmptyObject ? <T extends TParams>(...args: T) => TReturn : (<T extends TParams>(...args: T) => TReturn) & TProps;
3
8
  //# sourceMappingURL=FnFrom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FnFrom.d.ts","sourceRoot":"","sources":["../../../src/types/functions/FnFrom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAG/D,MAAM,MAAM,MAAM,CAChB,OAAO,SAAS,KAAK,EACrB,OAAO,GAAG,OAAO,EACjB,MAAM,SAAS,UAAU,GAAG,WAAW,IACrC,MAAM,SAAS,WAAW,GAC5B,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,GAC1C,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,MAAM,CAAA"}
1
+ {"version":3,"file":"FnFrom.d.ts","sourceRoot":"","sources":["../../../src/types/functions/FnFrom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE/D;;;;GAIG;AACH,MAAM,MAAM,MAAM,CAChB,OAAO,SAAS,KAAK,EACrB,OAAO,GAAG,OAAO,EACjB,MAAM,SAAS,UAAU,GAAG,WAAW,IACrC,MAAM,SAAS,WAAW,GAC5B,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,GAC1C,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,MAAM,CAAA"}
@@ -3,7 +3,7 @@ export type FnDefn = [fn: AnyFunction] | [fn: AnyFunction, desc: string] | [fn:
3
3
  /**
4
4
  * **Fn**`<TArgs,TReturn>`
5
5
  */
6
- export type Fn<TFn extends FnDefn = FnDefn> = TFn extends [fn: AnyFunction] ? TFn[0] : TFn extends [fn: AnyFunction, desc: string] ? TFn[0] & {
6
+ export type FnWithDescription<TFn extends FnDefn = FnDefn> = TFn extends [fn: AnyFunction] ? TFn[0] : TFn extends [fn: AnyFunction, desc: string] ? TFn[0] & {
7
7
  desc: TFn[1];
8
8
  } : TFn extends [fn: AnyFunction, props: Record<ObjectKey, unknown>] ? TFn[0] & TFn[1] : never;
9
- //# sourceMappingURL=Fn.d.ts.map
9
+ //# sourceMappingURL=FnWithDescription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FnWithDescription.d.ts","sourceRoot":"","sources":["../../../src/types/functions/FnWithDescription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,MAAM,MAAM,GAAG,CAAC,EAAE,EAAE,WAAW,CAAE,GACrC,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,GAC/B,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAE,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAC3B,GAAG,SAAS,MAAM,GAAG,MAAM,IACzB,GAAG,SAAS,CAAE,EAAE,EAAE,WAAW,CAAE,GACjC,GAAG,CAAC,CAAC,CAAC,GACN,GAAG,SAAS,CAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,GAC1C,GAAG,CAAC,CAAC,CAAC,GAAG;IAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;CAAE,GACzB,GAAG,SAAS,CAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAE,GAChE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GACf,KAAK,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ import { Container, TypedFunction } from "../base-types";
2
+ import { If, IsUnset } from "../boolean-logic";
3
+ import { Unset } from "../literals";
4
+ import { FnFrom } from "./FnFrom";
5
+ import { AsNarrowingFn } from "./NarrowingFn";
6
+ /**
7
+ * **WrapperFn**`<TFn,TTransform,[TState]>`
8
+ *
9
+ * A function which consumes a known function `TFn` and exposes the
10
+ * same parameters externally while allowing it to _transform_ the
11
+ * original functions return value before completing.
12
+ *
13
+ * Optionally, you can express some amount of _state_ which will be available
14
+ * to the `TTransform` function to do it's work.
15
+ *
16
+ * ```ts
17
+ * type Fn = (name: string) => `Hello ${string}`;
18
+ * // (name: string) => `Hello ${name}!`;
19
+ * type Wrapped = WrapperFn<Fn, v => `${v}!`>
20
+ * ```
21
+ */
22
+ export type WrapperFn<TFn extends TypedFunction, TTransform extends <TRtn extends ReturnType<TFn>>(rtn: TRtn) => unknown, TState extends Container | Unset = Unset> = If<IsUnset<TState>, FnFrom<Parameters<TFn>, ReturnType<AsNarrowingFn<TTransform>>>, <T extends TState>(state: T) => FnFrom<Parameters<TFn>, ReturnType<AsNarrowingFn<TTransform>>>>;
23
+ //# sourceMappingURL=WrapperFn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WrapperFn.d.ts","sourceRoot":"","sources":["../../../src/types/functions/WrapperFn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG9C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,SAAS,CACnB,GAAG,SAAS,aAAa,EACzB,UAAU,SAAS,CAAC,IAAI,SAAS,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,KAAK,OAAO,EACvE,MAAM,SAAS,SAAS,GAAG,KAAK,GAAG,KAAK,IACtC,EAAE,CACJ,OAAO,CAAC,MAAM,CAAC,EACf,MAAM,CACJ,UAAU,CAAC,GAAG,CAAC,EACf,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CACtC,EACD,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,MAAM,CACpC,UAAU,CAAC,GAAG,CAAC,EACf,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CACtC,CACF,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -7,9 +7,10 @@ export * from "./FnMeta";
7
7
  export * from "./FnFrom";
8
8
  export * from "./PromiseAll";
9
9
  export * from "./FnProps";
10
- export * from "./Fn";
10
+ export * from "./FnWithDescription";
11
11
  export * from "./HandleDoneFn";
12
12
  export * from "./NarrowingFn";
13
13
  export * from "./LiteralFn";
14
14
  export * from "./IdentityFn";
15
+ export * from "./WrapperFn";
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/functions/index.ts"],"names":[],"mappings":"AAMA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,MAAM,CAAC;AACrB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/functions/index.ts"],"names":[],"mappings":"AAMA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
@@ -12,11 +12,12 @@ export * from "./FnMeta.js";
12
12
  export * from "./FnFrom.js";
13
13
  export * from "./PromiseAll.js";
14
14
  export * from "./FnProps.js";
15
- export * from "./Fn.js";
15
+ export * from "./FnWithDescription.js";
16
16
  export * from "./HandleDoneFn.js";
17
17
  export * from "./NarrowingFn.js";
18
18
  export * from "./LiteralFn.js";
19
19
  export * from "./IdentityFn.js";
20
+ export * from "./WrapperFn.js";
20
21
  // export * from "src/types/index";
21
22
  // #endregion auto-indexed files
22
23
  // see https://github.com/inocan-group/do-devops/docs/autoindex.md
@@ -1,6 +1,6 @@
1
- import { Narrowable, AfterFirst, FindExtends, First } from "../index";
1
+ import { Narrowable, AfterFirst, First, Find } from "../index";
2
2
  export type ConversionTuple = [from: Narrowable, to: Narrowable];
3
- type Convert<TValue, TConversions extends readonly ConversionTuple[]> = FindExtends<TConversions, TValue, 0> extends ConversionTuple ? FindExtends<TConversions, TValue, 0>[1] : TValue;
3
+ type Convert<TValue, TConversions extends readonly ConversionTuple[]> = Find<TConversions, "extends", TValue, 0> extends ConversionTuple ? Find<TConversions, "extends", TValue, 0>[1] : TValue;
4
4
  type ConvertAcc<TSet extends readonly unknown[], TConversions extends readonly ConversionTuple[], TResults extends readonly unknown[] = []> = [] extends TSet ? TResults : ConvertAcc<AfterFirst<TSet>, TConversions, [
5
5
  ...TResults,
6
6
  Convert<First<TSet>, TConversions>
@@ -1 +1 @@
1
- {"version":3,"file":"ConvertSet.d.ts","sourceRoot":"","sources":["../../../src/types/lists/ConvertSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAG,UAAU,EAAG,WAAW,EAAG,KAAK,EAAE,iBAAwB;AAEhF,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;AAEjE,KAAK,OAAO,CACV,MAAM,EACN,YAAY,SAAS,SAAS,eAAe,EAAE,IAC7C,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,eAAe,GAC5D,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GACvC,MAAM,CAAC;AAEX,KAAK,UAAU,CACb,IAAI,SAAS,SAAS,OAAO,EAAE,EAC/B,YAAY,SAAS,SAAS,eAAe,EAAE,EAC/C,QAAQ,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,IACtC,EAAE,SAAS,IAAI,GACf,QAAQ,GACR,UAAU,CACR,UAAU,CAAC,IAAI,CAAC,EAChB,YAAY,EACZ;IAAE,GAAG,QAAQ;IAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;CAAE,CACpD,CAAC;AAEN;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,CACpB,IAAI,SAAS,SAAS,OAAO,EAAE,EAC/B,YAAY,SAAS,eAAe,GAAG,SAAS,eAAe,EAAE,IAC/D,YAAY,SAAS,SAAS,eAAe,EAAE,GAC/C,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,GAC9B,YAAY,SAAS,eAAe,GAClC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,GACzC,KAAK,CAAC"}
1
+ {"version":3,"file":"ConvertSet.d.ts","sourceRoot":"","sources":["../../../src/types/lists/ConvertSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAG,UAAU,EAAI,KAAK,EAAE,IAAI,EAAE,iBAAwB;AAEzE,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;AAEjE,KAAK,OAAO,CACV,MAAM,EACN,YAAY,SAAS,SAAS,eAAe,EAAE,IAC7C,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,eAAe,GAChE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAC3C,MAAM,CAAC;AAEX,KAAK,UAAU,CACb,IAAI,SAAS,SAAS,OAAO,EAAE,EAC/B,YAAY,SAAS,SAAS,eAAe,EAAE,EAC/C,QAAQ,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,IACtC,EAAE,SAAS,IAAI,GACf,QAAQ,GACR,UAAU,CACR,UAAU,CAAC,IAAI,CAAC,EAChB,YAAY,EACZ;IAAE,GAAG,QAAQ;IAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;CAAE,CACpD,CAAC;AAEN;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,CACpB,IAAI,SAAS,SAAS,OAAO,EAAE,EAC/B,YAAY,SAAS,eAAe,GAAG,SAAS,eAAe,EAAE,IAC/D,YAAY,SAAS,SAAS,eAAe,EAAE,GAC/C,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,GAC9B,YAAY,SAAS,eAAe,GAClC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,GACzC,KAAK,CAAC"}