inferred-types 0.44.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 (345) 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 +29 -0
  5. package/dist/constants/NetworkConstants.d.ts.map +1 -0
  6. package/dist/constants/NetworkConstants.js +83 -0
  7. package/dist/constants/Phone.d.ts +8 -0
  8. package/dist/constants/Phone.d.ts.map +1 -0
  9. package/dist/constants/Phone.js +262 -0
  10. package/dist/constants/ProxmoxConstants.d.ts +2 -0
  11. package/dist/constants/ProxmoxConstants.d.ts.map +1 -0
  12. package/dist/constants/ProxmoxConstants.js +3 -0
  13. package/dist/constants/index.d.ts +4 -1
  14. package/dist/constants/index.d.ts.map +1 -1
  15. package/dist/constants/index.js +4 -1
  16. package/dist/constants/tsconfig.tsbuildinfo +1 -1
  17. package/dist/inferred-types/index.cjs +1657 -1029
  18. package/dist/inferred-types/tsconfig.tsbuildinfo +1 -1
  19. package/dist/runtime/api/defineApi.d.ts +56 -0
  20. package/dist/runtime/api/defineApi.d.ts.map +1 -0
  21. package/dist/runtime/api/defineApi.js +97 -0
  22. package/dist/runtime/api/handleDoneFn.d.ts.map +1 -0
  23. package/dist/runtime/api/index.d.ts +3 -0
  24. package/dist/runtime/api/index.d.ts.map +1 -0
  25. package/dist/runtime/api/index.js +2 -0
  26. package/dist/runtime/boolean-logic/ifArrayPartial.d.ts +1 -1
  27. package/dist/runtime/boolean-logic/ifArrayPartial.d.ts.map +1 -1
  28. package/dist/runtime/boolean-logic/ifArrayPartial.js +1 -1
  29. package/dist/runtime/boolean-logic/ifLength.d.ts.map +1 -1
  30. package/dist/runtime/boolean-logic/ifScalar.d.ts.map +1 -1
  31. package/dist/runtime/boolean-logic/ifScalar.js +1 -1
  32. package/dist/runtime/boolean-logic/index.d.ts +0 -1
  33. package/dist/runtime/boolean-logic/index.d.ts.map +1 -1
  34. package/dist/runtime/boolean-logic/index.js +0 -1
  35. package/dist/runtime/dictionary/defineOptions.d.ts +26 -0
  36. package/dist/runtime/dictionary/defineOptions.d.ts.map +1 -0
  37. package/dist/runtime/dictionary/defineOptions.js +30 -0
  38. package/dist/runtime/dictionary/keysOf.d.ts +1 -1
  39. package/dist/runtime/dictionary/keysOf.d.ts.map +1 -1
  40. package/dist/runtime/dictionary/withKeys.d.ts +1 -1
  41. package/dist/runtime/errors/KindError.d.ts +2 -2
  42. package/dist/runtime/errors/KindError.d.ts.map +1 -1
  43. package/dist/runtime/functions/index.d.ts +1 -0
  44. package/dist/runtime/functions/index.d.ts.map +1 -1
  45. package/dist/runtime/functions/index.js +1 -0
  46. package/dist/runtime/functions/wrapFn.d.ts +2 -0
  47. package/dist/runtime/functions/wrapFn.d.ts.map +1 -0
  48. package/dist/runtime/functions/wrapFn.js +24 -0
  49. package/dist/runtime/index.d.ts +2 -1
  50. package/dist/runtime/index.d.ts.map +1 -1
  51. package/dist/runtime/index.js +2 -10
  52. package/dist/runtime/lists/find.d.ts +1 -1
  53. package/dist/runtime/lists/find.d.ts.map +1 -1
  54. package/dist/runtime/lists/intersection.d.ts.map +1 -1
  55. package/dist/runtime/lists/intersection.js +2 -1
  56. package/dist/runtime/literals/asPhoneNumber.d.ts +10 -0
  57. package/dist/runtime/literals/asPhoneNumber.d.ts.map +1 -0
  58. package/dist/runtime/literals/asPhoneNumber.js +62 -0
  59. package/dist/runtime/literals/index.d.ts +5 -0
  60. package/dist/runtime/literals/index.d.ts.map +1 -1
  61. package/dist/runtime/literals/index.js +5 -0
  62. package/dist/runtime/literals/retainChars.d.ts +16 -0
  63. package/dist/runtime/literals/retainChars.d.ts.map +1 -0
  64. package/dist/runtime/literals/retainChars.js +17 -0
  65. package/dist/runtime/literals/retainWhile.d.ts +11 -0
  66. package/dist/runtime/literals/retainWhile.d.ts.map +1 -0
  67. package/dist/runtime/literals/retainWhile.js +12 -0
  68. package/dist/runtime/literals/stripChars.d.ts +10 -0
  69. package/dist/runtime/literals/stripChars.d.ts.map +1 -0
  70. package/dist/runtime/literals/stripChars.js +11 -0
  71. package/dist/runtime/literals/stripLeading.d.ts +3 -3
  72. package/dist/runtime/literals/stripLeading.d.ts.map +1 -1
  73. package/dist/runtime/literals/stripLeading.js +5 -5
  74. package/dist/runtime/literals/takeNumericCharacters.d.ts +9 -0
  75. package/dist/runtime/literals/takeNumericCharacters.d.ts.map +1 -0
  76. package/dist/runtime/literals/takeNumericCharacters.js +12 -0
  77. package/dist/runtime/literals/unset.d.ts +8 -0
  78. package/dist/runtime/literals/unset.d.ts.map +1 -0
  79. package/dist/runtime/literals/unset.js +14 -0
  80. package/dist/runtime/meta/index.d.ts +3 -0
  81. package/dist/runtime/meta/index.d.ts.map +1 -0
  82. package/dist/runtime/meta/index.js +2 -0
  83. package/dist/runtime/meta/urlMeta.d.ts +52 -0
  84. package/dist/runtime/meta/urlMeta.d.ts.map +1 -0
  85. package/dist/runtime/meta/urlMeta.js +57 -0
  86. package/dist/runtime/meta/youtube-meta.d.ts +38 -0
  87. package/dist/runtime/meta/youtube-meta.d.ts.map +1 -0
  88. package/dist/runtime/meta/youtube-meta.js +67 -0
  89. package/dist/runtime/runtime-types/dict.d.ts +2 -2
  90. package/dist/runtime/runtime-types/dict.d.ts.map +1 -1
  91. package/dist/runtime/runtime-types/ip6Prefix.d.ts +1 -1
  92. package/dist/runtime/runtime-types/parse.d.ts +1 -1
  93. package/dist/runtime/runtime-types/shape-helpers/getTokenData.d.ts +1 -1
  94. package/dist/runtime/runtime-types/shape-helpers/getTokenName.d.ts +1 -1
  95. package/dist/runtime/runtime-types/shape-helpers/singletons.d.ts.map +1 -1
  96. package/dist/runtime/runtime-types/shape-helpers/singletons.js +1 -1
  97. package/dist/runtime/runtime-types/shape.d.ts +1 -1
  98. package/dist/runtime/runtime-types/shape.js +1 -1
  99. package/dist/runtime/tsconfig.tsbuildinfo +1 -1
  100. package/dist/runtime/type-conversion/asChars.d.ts +8 -0
  101. package/dist/runtime/type-conversion/asChars.d.ts.map +1 -0
  102. package/dist/runtime/type-conversion/asChars.js +8 -0
  103. package/dist/runtime/type-conversion/index.d.ts +2 -0
  104. package/dist/runtime/type-conversion/index.d.ts.map +1 -1
  105. package/dist/runtime/type-conversion/index.js +2 -0
  106. package/dist/runtime/type-conversion/ip6GroupExpansion.d.ts +14 -0
  107. package/dist/runtime/type-conversion/ip6GroupExpansion.d.ts.map +1 -0
  108. package/dist/runtime/type-conversion/ip6GroupExpansion.js +15 -0
  109. package/dist/runtime/type-guards/api-tg.d.ts +33 -0
  110. package/dist/runtime/type-guards/api-tg.d.ts.map +1 -0
  111. package/dist/runtime/type-guards/api-tg.js +38 -0
  112. package/dist/runtime/type-guards/hasWhitespace.d.ts +7 -0
  113. package/dist/runtime/type-guards/hasWhitespace.d.ts.map +1 -0
  114. package/dist/runtime/type-guards/hasWhitespace.js +11 -0
  115. package/dist/runtime/type-guards/index.d.ts +11 -0
  116. package/dist/runtime/type-guards/index.d.ts.map +1 -1
  117. package/dist/runtime/type-guards/index.js +11 -0
  118. package/dist/runtime/type-guards/isConstant.d.ts +6 -0
  119. package/dist/runtime/type-guards/isConstant.d.ts.map +1 -1
  120. package/dist/runtime/type-guards/isConstant.js +12 -2
  121. package/dist/runtime/type-guards/isEmail.d.ts +7 -0
  122. package/dist/runtime/type-guards/isEmail.d.ts.map +1 -0
  123. package/dist/runtime/type-guards/isEmail.js +11 -0
  124. package/dist/runtime/type-guards/isHexadecimal.d.ts +8 -0
  125. package/dist/runtime/type-guards/isHexadecimal.d.ts.map +1 -0
  126. package/dist/runtime/type-guards/isHexadecimal.js +13 -0
  127. package/dist/runtime/type-guards/isPhoneNumber.d.ts +14 -0
  128. package/dist/runtime/type-guards/isPhoneNumber.d.ts.map +1 -0
  129. package/dist/runtime/type-guards/isPhoneNumber.js +26 -0
  130. package/dist/runtime/type-guards/isSpecificConstant.js +2 -3
  131. package/dist/runtime/type-guards/isTrimmable.d.ts +7 -0
  132. package/dist/runtime/type-guards/isTrimmable.d.ts.map +1 -0
  133. package/dist/runtime/type-guards/isTrimmable.js +9 -0
  134. package/dist/runtime/type-guards/isUnset.d.ts +18 -0
  135. package/dist/runtime/type-guards/isUnset.d.ts.map +1 -0
  136. package/dist/runtime/type-guards/isUnset.js +23 -0
  137. package/dist/runtime/type-guards/isUrl.d.ts +2 -4
  138. package/dist/runtime/type-guards/isUrl.d.ts.map +1 -1
  139. package/dist/runtime/type-guards/isUrl.js +2 -3
  140. package/dist/runtime/type-guards/network-tg.d.ts +54 -0
  141. package/dist/runtime/type-guards/network-tg.d.ts.map +1 -0
  142. package/dist/runtime/type-guards/network-tg.js +94 -0
  143. package/dist/runtime/type-guards/repos.d.ts +6 -6
  144. package/dist/runtime/type-guards/repos.d.ts.map +1 -1
  145. package/dist/runtime/type-guards/youtube.d.ts +44 -0
  146. package/dist/runtime/type-guards/youtube.d.ts.map +1 -0
  147. package/dist/runtime/type-guards/youtube.js +84 -0
  148. package/dist/types/api/api.d.ts +96 -37
  149. package/dist/types/api/api.d.ts.map +1 -1
  150. package/dist/types/base-types/fns/EscapeFunction.d.ts +22 -0
  151. package/dist/types/base-types/fns/EscapeFunction.d.ts.map +1 -0
  152. package/dist/types/base-types/fns/OptionalParamFn.d.ts +30 -0
  153. package/dist/types/base-types/fns/OptionalParamFn.d.ts.map +1 -0
  154. package/dist/types/base-types/fns/index.d.ts +2 -0
  155. package/dist/types/base-types/fns/index.d.ts.map +1 -1
  156. package/dist/types/base-types/fns/index.js +2 -0
  157. package/dist/types/boolean-logic/branching/If.d.ts +2 -3
  158. package/dist/types/boolean-logic/branching/If.d.ts.map +1 -1
  159. package/dist/types/boolean-logic/branching/IfUnset.d.ts +12 -0
  160. package/dist/types/boolean-logic/branching/IfUnset.d.ts.map +1 -0
  161. package/dist/types/boolean-logic/branching/OnPass.d.ts +4 -3
  162. package/dist/types/boolean-logic/branching/OnPass.d.ts.map +1 -1
  163. package/dist/types/boolean-logic/branching/WhenNever.d.ts +11 -0
  164. package/dist/types/boolean-logic/branching/WhenNever.d.ts.map +1 -0
  165. package/dist/types/boolean-logic/branching/index.d.ts +2 -0
  166. package/dist/types/boolean-logic/branching/index.d.ts.map +1 -1
  167. package/dist/types/boolean-logic/branching/index.js +2 -0
  168. package/dist/types/boolean-logic/combinators/And.d.ts +1 -1
  169. package/dist/types/boolean-logic/combinators/And.d.ts.map +1 -1
  170. package/dist/types/boolean-logic/combinators/Compare.d.ts +3 -3
  171. package/dist/types/boolean-logic/combinators/Compare.d.ts.map +1 -1
  172. package/dist/types/boolean-logic/combinators/Not.d.ts +5 -6
  173. package/dist/types/boolean-logic/combinators/Not.d.ts.map +1 -1
  174. package/dist/types/boolean-logic/combinators/Some.d.ts +8 -0
  175. package/dist/types/boolean-logic/combinators/Some.d.ts.map +1 -0
  176. package/dist/types/boolean-logic/combinators/Some.js +1 -0
  177. package/dist/types/boolean-logic/combinators/index.d.ts +1 -0
  178. package/dist/types/boolean-logic/combinators/index.d.ts.map +1 -1
  179. package/dist/types/boolean-logic/combinators/index.js +1 -0
  180. package/dist/types/boolean-logic/narrowing/AsDoneFn.d.ts +2 -2
  181. package/dist/types/boolean-logic/narrowing/AsDoneFn.d.ts.map +1 -1
  182. package/dist/types/boolean-logic/operators/ApiOperators.d.ts +11 -0
  183. package/dist/types/boolean-logic/operators/ApiOperators.d.ts.map +1 -0
  184. package/dist/types/boolean-logic/operators/ApiOperators.js +1 -0
  185. package/dist/types/boolean-logic/operators/Extends.d.ts +2 -1
  186. package/dist/types/boolean-logic/operators/Extends.d.ts.map +1 -1
  187. package/dist/types/boolean-logic/operators/HasSameValues.d.ts +4 -3
  188. package/dist/types/boolean-logic/operators/HasSameValues.d.ts.map +1 -1
  189. package/dist/types/boolean-logic/operators/IsBoolean.d.ts +2 -1
  190. package/dist/types/boolean-logic/operators/IsBoolean.d.ts.map +1 -1
  191. package/dist/types/boolean-logic/operators/IsCssHexadecimal.d.ts +9 -0
  192. package/dist/types/boolean-logic/operators/IsCssHexadecimal.d.ts.map +1 -0
  193. package/dist/types/boolean-logic/operators/IsCssHexadecimal.js +1 -0
  194. package/dist/types/boolean-logic/operators/IsEqual.d.ts +7 -1
  195. package/dist/types/boolean-logic/operators/IsEqual.d.ts.map +1 -1
  196. package/dist/types/boolean-logic/operators/IsGreaterThan.d.ts +2 -2
  197. package/dist/types/boolean-logic/operators/IsGreaterThan.d.ts.map +1 -1
  198. package/dist/types/boolean-logic/operators/IsLessThan.d.ts +13 -0
  199. package/dist/types/boolean-logic/operators/IsLessThan.d.ts.map +1 -0
  200. package/dist/types/boolean-logic/operators/IsLessThan.js +1 -0
  201. package/dist/types/boolean-logic/operators/IsNever.d.ts +2 -1
  202. package/dist/types/boolean-logic/operators/IsNever.d.ts.map +1 -1
  203. package/dist/types/boolean-logic/operators/IsNumber.d.ts +2 -2
  204. package/dist/types/boolean-logic/operators/IsNumber.d.ts.map +1 -1
  205. package/dist/types/boolean-logic/operators/IsString.d.ts +2 -2
  206. package/dist/types/boolean-logic/operators/IsString.d.ts.map +1 -1
  207. package/dist/types/boolean-logic/operators/IsUnset.d.ts +9 -0
  208. package/dist/types/boolean-logic/operators/IsUnset.d.ts.map +1 -0
  209. package/dist/types/boolean-logic/operators/IsUnset.js +1 -0
  210. package/dist/types/boolean-logic/operators/IsUrl.d.ts +35 -0
  211. package/dist/types/boolean-logic/operators/IsUrl.d.ts.map +1 -0
  212. package/dist/types/boolean-logic/operators/IsUrl.js +1 -0
  213. package/dist/types/boolean-logic/operators/Network-operators.d.ts +71 -0
  214. package/dist/types/boolean-logic/operators/Network-operators.d.ts.map +1 -0
  215. package/dist/types/boolean-logic/operators/Network-operators.js +1 -0
  216. package/dist/types/boolean-logic/operators/PhoneOperators.d.ts +33 -0
  217. package/dist/types/boolean-logic/operators/PhoneOperators.d.ts.map +1 -0
  218. package/dist/types/boolean-logic/operators/PhoneOperators.js +1 -0
  219. package/dist/types/boolean-logic/operators/YouTube-operators.d.ts +32 -0
  220. package/dist/types/boolean-logic/operators/YouTube-operators.d.ts.map +1 -0
  221. package/dist/types/boolean-logic/operators/YouTube-operators.js +1 -0
  222. package/dist/types/boolean-logic/operators/index.d.ts +7 -1
  223. package/dist/types/boolean-logic/operators/index.d.ts.map +1 -1
  224. package/dist/types/boolean-logic/operators/index.js +7 -1
  225. package/dist/types/dictionary/Keys.d.ts +58 -4
  226. package/dist/types/dictionary/Keys.d.ts.map +1 -1
  227. package/dist/types/dictionary/KvFn.d.ts +2 -2
  228. package/dist/types/dictionary/KvFn.d.ts.map +1 -1
  229. package/dist/types/dictionary/MakeKeysOptional.d.ts +12 -3
  230. package/dist/types/dictionary/MakeKeysOptional.d.ts.map +1 -1
  231. package/dist/types/dictionary/MakeKeysRequired.d.ts +14 -0
  232. package/dist/types/dictionary/MakeKeysRequired.d.ts.map +1 -0
  233. package/dist/types/dictionary/MakeKeysRequired.js +1 -0
  234. package/dist/types/dictionary/OptionalKeys.d.ts +19 -4
  235. package/dist/types/dictionary/OptionalKeys.d.ts.map +1 -1
  236. package/dist/types/dictionary/OptionalKeys.js +1 -0
  237. package/dist/types/dictionary/RequiredKeys.d.ts +14 -6
  238. package/dist/types/dictionary/RequiredKeys.d.ts.map +1 -1
  239. package/dist/types/dictionary/Values.d.ts +2 -2
  240. package/dist/types/dictionary/Values.d.ts.map +1 -1
  241. package/dist/types/dictionary/index.d.ts +1 -2
  242. package/dist/types/dictionary/index.d.ts.map +1 -1
  243. package/dist/types/dictionary/index.js +1 -2
  244. package/dist/types/errors/KindError.d.ts +1 -1
  245. package/dist/types/errors/KindError.d.ts.map +1 -1
  246. package/dist/types/functions/FnFrom.d.ts +5 -0
  247. package/dist/types/functions/FnFrom.d.ts.map +1 -1
  248. package/dist/types/functions/{Fn.d.ts → FnWithDescription.d.ts} +2 -2
  249. package/dist/types/functions/FnWithDescription.d.ts.map +1 -0
  250. package/dist/types/functions/FnWithDescription.js +1 -0
  251. package/dist/types/functions/WrapperFn.d.ts +23 -0
  252. package/dist/types/functions/WrapperFn.d.ts.map +1 -0
  253. package/dist/types/functions/WrapperFn.js +1 -0
  254. package/dist/types/functions/index.d.ts +2 -1
  255. package/dist/types/functions/index.d.ts.map +1 -1
  256. package/dist/types/functions/index.js +2 -1
  257. package/dist/types/lists/ConvertSet.d.ts +2 -2
  258. package/dist/types/lists/ConvertSet.d.ts.map +1 -1
  259. package/dist/types/lists/Find.d.ts +7 -18
  260. package/dist/types/lists/Find.d.ts.map +1 -1
  261. package/dist/types/literals/DoneFnTuple.d.ts +3 -3
  262. package/dist/types/literals/DoneFnTuple.d.ts.map +1 -1
  263. package/dist/types/literals/Unset.d.ts +13 -0
  264. package/dist/types/literals/Unset.d.ts.map +1 -0
  265. package/dist/types/literals/Unset.js +1 -0
  266. package/dist/types/literals/index.d.ts +1 -0
  267. package/dist/types/literals/index.d.ts.map +1 -1
  268. package/dist/types/literals/index.js +1 -0
  269. package/dist/types/numeric-literals/NumberLike.d.ts +1 -1
  270. package/dist/types/numeric-literals/NumberLike.d.ts.map +1 -1
  271. package/dist/types/string-literals/Proxmox.d.ts +7 -0
  272. package/dist/types/string-literals/Proxmox.d.ts.map +1 -0
  273. package/dist/types/string-literals/Proxmox.js +1 -0
  274. package/dist/types/string-literals/RetainUntil.d.ts +33 -0
  275. package/dist/types/string-literals/RetainUntil.d.ts.map +1 -0
  276. package/dist/types/string-literals/RetainUntil.js +1 -0
  277. package/dist/types/string-literals/Split.d.ts +3 -3
  278. package/dist/types/string-literals/Split.d.ts.map +1 -1
  279. package/dist/types/string-literals/StripAfter.d.ts +2 -2
  280. package/dist/types/string-literals/StripAfter.d.ts.map +1 -1
  281. package/dist/types/string-literals/StripBefore.d.ts +2 -2
  282. package/dist/types/string-literals/StripBefore.d.ts.map +1 -1
  283. package/dist/types/string-literals/StripLeading.d.ts +2 -2
  284. package/dist/types/string-literals/StripLeading.d.ts.map +1 -1
  285. package/dist/types/string-literals/StripUntil.d.ts +18 -0
  286. package/dist/types/string-literals/StripUntil.d.ts.map +1 -0
  287. package/dist/types/string-literals/StripUntil.js +1 -0
  288. package/dist/types/string-literals/character-sets/DomainName.d.ts +17 -18
  289. package/dist/types/string-literals/character-sets/DomainName.d.ts.map +1 -1
  290. package/dist/types/string-literals/character-sets/IpAddress.d.ts +28 -4
  291. package/dist/types/string-literals/character-sets/IpAddress.d.ts.map +1 -1
  292. package/dist/types/string-literals/character-sets/Optional.d.ts +14 -0
  293. package/dist/types/string-literals/character-sets/Optional.d.ts.map +1 -0
  294. package/dist/types/string-literals/character-sets/Optional.js +1 -0
  295. package/dist/types/string-literals/character-sets/Repos.d.ts.map +1 -1
  296. package/dist/types/string-literals/character-sets/Url.d.ts +85 -37
  297. package/dist/types/string-literals/character-sets/Url.d.ts.map +1 -1
  298. package/dist/types/string-literals/character-sets/Url.js +1 -0
  299. package/dist/types/string-literals/character-sets/Whitespace.d.ts +3 -1
  300. package/dist/types/string-literals/character-sets/Whitespace.d.ts.map +1 -1
  301. package/dist/types/string-literals/character-sets/YouTube.d.ts +127 -0
  302. package/dist/types/string-literals/character-sets/YouTube.d.ts.map +1 -0
  303. package/dist/types/string-literals/character-sets/YouTube.js +1 -0
  304. package/dist/types/string-literals/character-sets/index.d.ts +3 -0
  305. package/dist/types/string-literals/character-sets/index.d.ts.map +1 -1
  306. package/dist/types/string-literals/character-sets/index.js +3 -0
  307. package/dist/types/string-literals/character-sets/phone.d.ts +192 -0
  308. package/dist/types/string-literals/character-sets/phone.d.ts.map +1 -0
  309. package/dist/types/string-literals/character-sets/phone.js +1 -0
  310. package/dist/types/string-literals/index.d.ts +2 -0
  311. package/dist/types/string-literals/index.d.ts.map +1 -1
  312. package/dist/types/string-literals/index.js +2 -0
  313. package/dist/types/tsconfig.tsbuildinfo +1 -1
  314. package/dist/types/type-conversion/ReduceValues.d.ts +19 -0
  315. package/dist/types/type-conversion/ReduceValues.d.ts.map +1 -0
  316. package/dist/types/type-conversion/ReduceValues.js +1 -0
  317. package/dist/types/type-conversion/ReturnValues.d.ts +10 -6
  318. package/dist/types/type-conversion/ReturnValues.d.ts.map +1 -1
  319. package/dist/types/type-conversion/Trim.d.ts +3 -1
  320. package/dist/types/type-conversion/Trim.d.ts.map +1 -1
  321. package/dist/types/type-conversion/UnionFilter.d.ts +2 -2
  322. package/dist/types/type-conversion/UnionFilter.d.ts.map +1 -1
  323. package/dist/types/type-conversion/form-fields.d.ts +5 -1
  324. package/dist/types/type-conversion/form-fields.d.ts.map +1 -1
  325. package/dist/types/type-conversion/index.d.ts +1 -0
  326. package/dist/types/type-conversion/index.d.ts.map +1 -1
  327. package/dist/types/type-conversion/index.js +1 -0
  328. package/package.json +17 -11
  329. package/dist/constants/Network.d.ts +0 -22
  330. package/dist/constants/Network.d.ts.map +0 -1
  331. package/dist/constants/Network.js +0 -21
  332. package/dist/runtime/boolean-logic/handleDoneFn.d.ts.map +0 -1
  333. package/dist/types/boolean-logic/operators/IsHexadecimal.d.ts +0 -9
  334. package/dist/types/boolean-logic/operators/IsHexadecimal.d.ts.map +0 -1
  335. package/dist/types/dictionary/PrivateKeys.d.ts +0 -17
  336. package/dist/types/dictionary/PrivateKeys.d.ts.map +0 -1
  337. package/dist/types/dictionary/PublicKeys.d.ts +0 -10
  338. package/dist/types/dictionary/PublicKeys.d.ts.map +0 -1
  339. package/dist/types/functions/Fn.d.ts.map +0 -1
  340. /package/dist/runtime/{boolean-logic → api}/handleDoneFn.d.ts +0 -0
  341. /package/dist/runtime/{boolean-logic → api}/handleDoneFn.js +0 -0
  342. /package/dist/types/{boolean-logic/operators/IsHexadecimal.js → base-types/fns/EscapeFunction.js} +0 -0
  343. /package/dist/types/{dictionary/PrivateKeys.js → base-types/fns/OptionalParamFn.js} +0 -0
  344. /package/dist/types/{dictionary/PublicKeys.js → boolean-logic/branching/IfUnset.js} +0 -0
  345. /package/dist/types/{functions/Fn.js → boolean-logic/branching/WhenNever.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/branching/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,MAAM,CAAC;AACrB,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/branching/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,MAAM,CAAC;AACrB,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA"}
@@ -11,3 +11,5 @@ export * from "./Default.js";
11
11
  export * from "./Iff.js";
12
12
  export * from "./Fail.js";
13
13
  export * from "./OnPass.js";
14
+ export * from "./IfUnset.js";
15
+ export * from "./WhenNever.js";
@@ -6,6 +6,6 @@ type Process<TConditions extends readonly boolean[], TBooleanSeen extends boolea
6
6
  * Allows an array of conditions which are either ARE a boolean value or a
7
7
  * function which evaluates to a boolean value to be logically AND'd together.
8
8
  */
9
- export type And<TConditions extends readonly (boolean | LogicFunction)[], TEmpty extends boolean = false> = IsEqual<TConditions, []> extends true ? TEmpty : LogicalReturns<TConditions> extends readonly boolean[] ? Process<LogicalReturns<TConditions>, NarrowlyContains<LogicalReturns<TConditions>, boolean>> : never;
9
+ export type And<TConditions, TEmpty extends boolean = false> = TConditions extends readonly (boolean | LogicFunction)[] ? IsEqual<TConditions, []> extends true ? TEmpty : LogicalReturns<TConditions> extends readonly boolean[] ? Process<LogicalReturns<TConditions>, NarrowlyContains<LogicalReturns<TConditions>, boolean>> : never : never;
10
10
  export {};
11
11
  //# sourceMappingURL=And.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"And.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/combinators/And.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,aAAa,EACb,cAAc,EACd,gBAAgB,EACjB,oBAAwB;AAEzB,KAAK,OAAO,CACV,WAAW,SAAS,SAAS,OAAO,EAAE,EACtC,YAAY,SAAS,OAAO,IAC1B,EAAE,SAAS,WAAW,GACxB,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAC1C,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAClC,KAAK,GACL,OAAO,CACL,UAAU,CAAC,WAAW,CAAC,EACvB,YAAY,CACb,CAAC;AAGN;;;;;GAKG;AACH,MAAM,MAAM,GAAG,CACb,WAAW,SAAS,SAAS,CAAC,OAAO,GAAG,aAAa,CAAC,EAAE,EACxD,MAAM,SAAS,OAAO,GAAG,KAAK,IAC5B,OAAO,CAAC,WAAW,EAAC,EAAE,CAAC,SAAS,IAAI,GACtC,MAAM,GACN,cAAc,CAAC,WAAW,CAAC,SAAS,SAAS,OAAO,EAAE,GACpD,OAAO,CACL,cAAc,CAAC,WAAW,CAAC,EAC3B,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,EAAC,OAAO,CAAC,CACtD,GACD,KAAK,CAAC"}
1
+ {"version":3,"file":"And.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/combinators/And.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,aAAa,EACb,cAAc,EACd,gBAAgB,EACjB,oBAAwB;AAEzB,KAAK,OAAO,CACV,WAAW,SAAS,SAAS,OAAO,EAAE,EACtC,YAAY,SAAS,OAAO,IAC1B,EAAE,SAAS,WAAW,GACxB,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAC1C,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAClC,KAAK,GACL,OAAO,CACL,UAAU,CAAC,WAAW,CAAC,EACvB,YAAY,CACb,CAAC;AAGN;;;;;GAKG;AACH,MAAM,MAAM,GAAG,CACb,WAAW,EACX,MAAM,SAAS,OAAO,GAAG,KAAK,IAC5B,WAAW,SAAS,SAAS,CAAC,OAAO,GAAG,aAAa,CAAC,EAAE,GAE1D,OAAO,CAAC,WAAW,EAAC,EAAE,CAAC,SAAS,IAAI,GACpC,MAAM,GACN,cAAc,CAAC,WAAW,CAAC,SAAS,SAAS,OAAO,EAAE,GACpD,OAAO,CACL,cAAc,CAAC,WAAW,CAAC,EAC3B,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,EAAC,OAAO,CAAC,CACtD,GACD,KAAK,GACP,KAAK,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Contains, DoesExtend, IsEqual, StartsWith, TupleToUnion, EndsWith, Tuple, ErrorCondition, Extends, NumberLike, TypedFunction } from "../../index";
1
+ import { Contains, DoesExtend, IsEqual, StartsWith, TupleToUnion, EndsWith, Tuple, ErrorCondition, Extends, NumberLike, TypedFunction, IsGreaterThan, As, IsLessThan, WhenNever, And } from "../../index";
2
2
  /**
3
3
  * **ComparatorOperation**
4
4
  *
@@ -35,13 +35,13 @@ export type Comparison<TOp extends ComparatorOperation = ComparatorOperation, TA
35
35
  fn: TFn;
36
36
  } : ErrorCondition<"invalid-comparison">;
37
37
  type Unionize<T> = T extends readonly unknown[] ? TupleToUnion<T> : T;
38
- type Process<TVal, TOp extends ComparatorOperation, TComparator> = TOp extends "extends" ? DoesExtend<TVal, Unionize<TComparator>> : TOp extends "equals" ? IsEqual<TVal, Unionize<TComparator>> : TOp extends "contains" ? [TVal] extends [string | number | Tuple] ? Contains<TVal, TComparator> : never : TOp extends "containsAll" ? [TVal] extends [Tuple] ? [TComparator] extends [string | number | readonly string[]] ? Contains<TVal, TComparator> : never : never : TOp extends "startsWith" ? [TVal] extends [string | number] ? [TComparator] extends [string | number | readonly string[]] ? StartsWith<TVal, TComparator> : never : never : TOp extends "endsWith" ? [TVal] extends [string | number] ? [TComparator] extends [string | number | readonly string[]] ? EndsWith<TVal, TComparator> : never : never : TOp extends "returnEquals" ? TVal extends ((...args: any[]) => any) ? IsEqual<ReturnType<TVal>, TComparator> : false : TOp extends "returnExtends" ? TVal extends ((...args: any[]) => any) ? IsEqual<ReturnType<TVal>, TComparator> : false : never;
38
+ type Process<TVal, TOp extends ComparatorOperation, TComparator> = TOp extends "extends" ? DoesExtend<TVal, Unionize<TComparator>> : TOp extends "equals" ? IsEqual<TVal, Unionize<TComparator>> : TOp extends "contains" ? [TVal] extends [string | number | Tuple] ? Contains<TVal, TComparator> : never : TOp extends "containsAll" ? [TVal] extends [Tuple] ? [TComparator] extends [string | number | readonly string[]] ? Contains<TVal, TComparator> : never : never : TOp extends "startsWith" ? [TVal] extends [string | number] ? [TComparator] extends [string | number | readonly string[]] ? StartsWith<TVal, TComparator> : never : never : TOp extends "greaterThan" ? And<[Extends<TComparator, NumberLike>, Extends<TVal, NumberLike>]> extends true ? IsGreaterThan<As<TVal, NumberLike>, As<TComparator, NumberLike>> : never : TOp extends "lessThan" ? And<[Extends<TComparator, NumberLike>, Extends<TVal, NumberLike>]> extends true ? IsLessThan<As<TVal, NumberLike>, As<TComparator, NumberLike>> : never : TOp extends "endsWith" ? [TVal] extends [string | number] ? [TComparator] extends [string | number | readonly string[]] ? EndsWith<TVal, TComparator> : never : never : TOp extends "returnEquals" ? TVal extends ((...args: any[]) => any) ? IsEqual<ReturnType<TVal>, TComparator> : false : TOp extends "returnExtends" ? TVal extends ((...args: any[]) => any) ? IsEqual<ReturnType<TVal>, TComparator> : false : never;
39
39
  /**
40
40
  * **Compare**`<TVal,TOp,TComparator>`
41
41
  *
42
42
  * Compares the value `TVal` with `TComparator` using
43
43
  * the `TOp` _operator_.
44
44
  */
45
- export type Compare<TVal, TOp extends ComparatorOperation, TComparator> = Process<TVal, TOp, TComparator>;
45
+ export type Compare<TVal, TOp extends ComparatorOperation, TComparator> = WhenNever<Process<TVal, TOp, TComparator>>;
46
46
  export {};
47
47
  //# sourceMappingURL=Compare.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Compare.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/combinators/Compare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Compare.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/combinators/Compare.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,14 @@
1
- import { LogicFunction, IsFalse, IsTrue, IsErrorCondition, AfterFirst, First, IsEqual, IsNever } from "../../index";
2
- type Negate<TVal> = IsNever<TVal> extends true ? never : [TVal] extends [boolean] ? IsTrue<TVal> extends true ? false : IsFalse<TVal> extends true ? true : boolean : [TVal] extends [LogicFunction] ? ReturnType<LogicFunction> : never;
1
+ import { LogicFunction, IsFalse, IsTrue, AfterFirst, First, IsEqual, IsNever, As } from "../../index";
2
+ type Negate<TVal> = IsNever<TVal> extends true ? never : [TVal] extends [boolean] ? IsTrue<TVal> extends true ? false : IsFalse<TVal> extends true ? true : boolean : [TVal] extends [LogicFunction] ? Negate<ReturnType<LogicFunction>> : never;
3
3
  type NegateTuple<TTuple extends readonly (boolean | LogicFunction)[], TResults extends readonly (boolean | LogicFunction)[] = []> = [] extends TTuple ? IsEqual<TResults, [], false, TResults> : NegateTuple<AfterFirst<TTuple>, [
4
4
  ...TResults,
5
- Negate<First<TTuple>>
5
+ First<TTuple> extends LogicFunction ? Negate<ReturnType<First<TTuple>>> : Negate<First<TTuple>>
6
6
  ]>;
7
- type Process<TVal, TError = never> = IsErrorCondition<TVal> extends true ? TError : [IsNever<TVal>] extends [true] ? never : [TVal] extends [boolean] ? Negate<TVal> : TVal extends readonly (boolean | LogicFunction)[] ? NegateTuple<TVal> : never;
8
7
  /**
9
8
  * **Not**`<T,[TError]>`
10
9
  *
11
10
  * A boolean negation that can work on both a single value or an
12
- * array of values.
11
+ * tuple of values.
13
12
  *
14
13
  * ```ts
15
14
  * // false
@@ -18,6 +17,6 @@ type Process<TVal, TError = never> = IsErrorCondition<TVal> extends true ? TErro
18
17
  * type Multi = Not<[true,false,boolean]>;
19
18
  * ```
20
19
  */
21
- export type Not<TVal, TError = never> = Process<TVal, TError> extends boolean | readonly unknown[] ? Process<TVal, TError> : never;
20
+ export type Not<TVal, TNotBoolean extends boolean = false> = [TVal] extends [boolean] ? Exclude<As<Negate<TVal>, boolean>, any[]> : [TVal] extends [LogicFunction] ? As<Negate<ReturnType<TVal>>, boolean> : [TVal] extends [readonly (LogicFunction | boolean)[]] ? As<NegateTuple<TVal>, readonly boolean[]> : TNotBoolean;
22
21
  export {};
23
22
  //# sourceMappingURL=Not.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Not.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/combinators/Not.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,UAAU,EACV,KAAK,EACL,OAAO,EACP,OAAO,EACR,oBAAwB;AAIzB,KAAK,MAAM,CACT,IAAI,IACF,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,GAC5B,KAAK,GACL,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GACtB,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,GACvB,KAAK,GACL,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,GAAI,IAAI,GAAG,OAAO,GAC9C,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAC5B,UAAU,CAAC,aAAa,CAAC,GACzB,KAAK,CAAC;AAEZ,KAAK,WAAW,CACd,MAAM,SAAS,SAAS,CAAC,OAAO,GAAG,aAAa,CAAC,EAAE,EACnD,QAAQ,SAAS,SAAS,CAAC,OAAO,GAAG,aAAa,CAAC,EAAE,GAAG,EAAE,IACxD,EAAE,SAAS,MAAM,GACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,GACtC,WAAW,CACT,UAAU,CAAC,MAAM,CAAC,EAClB;IAAC,GAAG,QAAQ;IAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;CAAE,CACtC,CAAC;AAEJ,KAAK,OAAO,CACZ,IAAI,EACJ,MAAM,GAAG,KAAK,IACV,gBAAgB,CAAC,IAAI,CAAC,SAAS,IAAI,GACrC,MAAM,GACN,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAC5B,KAAK,GACL,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GACtB,MAAM,CAAC,IAAI,CAAC,GACb,IAAI,SAAS,SAAS,CAAC,OAAO,GAAG,aAAa,CAAC,EAAE,GAC9C,WAAW,CAAC,IAAI,CAAC,GACjB,KAAK,CAAC;AAEd;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,GAAG,CACb,IAAI,EACJ,MAAM,GAAG,KAAK,IACZ,OAAO,CAAC,IAAI,EAAC,MAAM,CAAC,SAAS,OAAO,GAAG,SAAS,OAAO,EAAE,GAC3D,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,GACrB,KAAK,CAAC"}
1
+ {"version":3,"file":"Not.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/combinators/Not.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,OAAO,EACP,MAAM,EACN,UAAU,EACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,EAAE,EACH,oBAAwB;AAIzB,KAAK,MAAM,CACT,IAAI,IACF,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,GAC5B,KAAK,GACL,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GACtB,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,GACvB,KAAK,GACL,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,GAAI,IAAI,GAAG,OAAO,GAC9C,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAC5B,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,GACjC,KAAK,CAAC;AAEZ,KAAK,WAAW,CACd,MAAM,SAAS,SAAS,CAAC,OAAO,GAAG,aAAa,CAAC,EAAE,EACnD,QAAQ,SAAS,SAAS,CAAC,OAAO,GAAG,aAAa,CAAC,EAAE,GAAG,EAAE,IACxD,EAAE,SAAS,MAAM,GACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,GACtC,WAAW,CACT,UAAU,CAAC,MAAM,CAAC,EAClB;IACE,GAAG,QAAQ;IACT,KAAK,CAAC,MAAM,CAAC,SAAS,aAAa,GAClC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GACjC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;CACzB,CACF,CAAC;AAIJ;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,GAAG,CACb,IAAI,EACJ,WAAW,SAAS,OAAO,GAAG,KAAK,IACjC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAC1B,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GACzC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAC9B,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,GACrC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,EAAE,CAAC,GACrD,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC,GACzC,WAAW,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { AfterFirst, ComparatorOperation, Compare, Container, Dictionary, First, IsEqual, NumberLike, Or, Values, WhenNever } from "../../index";
2
+ type Process<TElements extends readonly unknown[], TOp extends ComparatorOperation, TComparator> = [] extends TElements ? false : [WhenNever<Compare<First<TElements>, TOp, TComparator>>] extends [true] ? true : Process<AfterFirst<TElements>, TOp, TComparator>;
3
+ export type Some<TContainer extends Container, TOp extends "extends" | "equals" | "startsWith" | "endsWith" | "lessThan" | "greaterThan", TComparator extends Or<[
4
+ IsEqual<TOp, "startsWith">,
5
+ IsEqual<TOp, "endsWith">
6
+ ]> extends true ? string : Or<[IsEqual<TOp, "lessThan">, IsEqual<TOp, "greaterThan">]> extends true ? NumberLike : unknown> = TContainer extends readonly unknown[] ? Process<TContainer, TOp, TComparator> : TContainer extends Dictionary ? Process<Values<TContainer>, TOp, TComparator> : never;
7
+ export {};
8
+ //# sourceMappingURL=Some.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Some.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/combinators/Some.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,OAAO,EACP,SAAS,EACT,UAAU,EACV,KAAK,EACL,OAAO,EACP,UAAU,EACV,EAAE,EACF,MAAM,EACN,SAAS,EACV,oBAAwB;AAEzB,KAAK,OAAO,CACZ,SAAS,SAAS,SAAS,OAAO,EAAE,EACpC,GAAG,SAAS,mBAAmB,EAC/B,WAAW,IACP,EAAE,SAAS,SAAS,GACtB,KAAK,GACL,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GACrE,IAAI,GACJ,OAAO,CACL,UAAU,CAAC,SAAS,CAAC,EACrB,GAAG,EACH,WAAW,CACZ,CAAC;AAGN,MAAM,MAAM,IAAI,CACd,UAAU,SAAS,SAAS,EAC5B,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,IACP,UAAU,SAAS,SAAS,OAAO,EAAE,GACvC,OAAO,CAAC,UAAU,EAAC,GAAG,EAAC,WAAW,CAAC,GACnC,UAAU,SAAS,UAAU,GAC7B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,GAC7C,KAAK,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -2,4 +2,5 @@ export * from "./And";
2
2
  export * from "./Or";
3
3
  export * from "./Not";
4
4
  export * from "./Compare";
5
+ export * from "./Some";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/combinators/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,MAAM,CAAC;AACrB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/combinators/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,MAAM,CAAC;AACrB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC"}
@@ -2,3 +2,4 @@ export * from "./And.js";
2
2
  export * from "./Or.js";
3
3
  export * from "./Not.js";
4
4
  export * from "./Compare.js";
5
+ export * from "./Some.js";
@@ -1,11 +1,11 @@
1
- import { Fn } from "../../functions/Fn";
1
+ import { FnWithDescription } from "../../index";
2
2
  /**
3
3
  * **AsDoneFn**`<T>`
4
4
  *
5
5
  * Narrows
6
6
  */
7
7
  export type AsDoneFn<T> = T extends {
8
- done: Fn;
8
+ done: FnWithDescription;
9
9
  } ? T & {
10
10
  done: () => unknown;
11
11
  } : never;
@@ -1 +1 @@
1
- {"version":3,"file":"AsDoneFn.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/narrowing/AsDoneFn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,2BAA+B;AAI5C;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,IAAI,EAAE,EAAE,CAAA;CAAE,GAC5C,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,OAAO,CAAA;CAAE,GAC3B,KAAK,CAAC"}
1
+ {"version":3,"file":"AsDoneFn.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/narrowing/AsDoneFn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,oBAAwB;AAIpD;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3D,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,OAAO,CAAA;CAAE,GAC3B,KAAK,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Api, Dictionary, ErrorCondition, EscapeFunction, FnProps, GetEscapeFunction, TypedFunction } from "../../index";
2
+ /**
3
+ * **HasEscapeFunction**`<T>`
4
+ *
5
+ * Checks whether the API surface passed in has an escape function defined.
6
+ */
7
+ export type HasEscapeFunction<T extends Dictionary | TypedFunction | Api> = GetEscapeFunction<T> extends ErrorCondition ? false : true;
8
+ export type IsEscapeFunction<T> = T extends TypedFunction ? T extends EscapeFunction ? FnProps<T> extends {
9
+ escape: true;
10
+ } ? true : false : false : false;
11
+ //# sourceMappingURL=ApiOperators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiOperators.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/ApiOperators.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EACH,UAAU,EACV,cAAc,EACd,cAAc,EACd,OAAO,EACP,iBAAiB,EACjB,aAAa,EACd,oBAAwB;AAEzB;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SAAS,UAAU,GAAG,aAAa,GAAG,GAAG,IACxC,iBAAiB,CAAC,CAAC,CAAC,SAAS,cAAc,GAC7C,KAAK,GACL,IAAI,CAAC;AAIP,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,aAAa,GACvD,CAAC,SAAS,cAAc,GACtB,OAAO,CAAC,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GACjC,IAAI,GACJ,KAAK,GACP,KAAK,GACP,KAAK,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,9 +1,10 @@
1
1
  import { DoesExtend } from "./DoesExtend";
2
+ import { IsNever } from "./IsNever";
2
3
  /**
3
4
  * **Extends**`<T,U>`
4
5
  *
5
6
  * A boolean operator which checks whether `T` extends `U` and returns
6
7
  * **true** or **false**. This is an _alias_ for `DoesExtend`.
7
8
  */
8
- export type Extends<T, U> = DoesExtend<T, U>;
9
+ export type Extends<T, U> = IsNever<T> extends true ? IsNever<U> extends true ? true : false : DoesExtend<T, U>;
9
10
  //# sourceMappingURL=Extends.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Extends.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/Extends.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,EAAC,CAAC,IAAI,UAAU,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"Extends.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/Extends.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,EAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,GAChD,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,GACrB,IAAI,GACJ,KAAK,GACP,UAAU,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC"}
@@ -1,17 +1,18 @@
1
- import { And, Or } from "../../index";
1
+ import { And, Dictionary, Or, Values } from "../../index";
2
2
  type Find<TList extends readonly unknown[], TComparator> = Or<{
3
3
  [K in keyof TList]: [TList[K]] extends [TComparator] ? true : false;
4
4
  }>;
5
5
  type Compare<TList extends readonly unknown[], TComparator extends readonly unknown[]> = And<{
6
6
  [K in keyof TList]: Find<TComparator, TList[K]> extends boolean ? Find<TComparator, TList[K]> : never;
7
7
  }, true>;
8
+ type Process<TList extends readonly unknown[], TComparator extends readonly unknown[]> = TList["length"] extends TComparator["length"] ? Compare<TList, TComparator> : false;
8
9
  /**
9
- * **HasSameValues**`<TList,TComparator>`
10
+ * **HasSameValues**`<TContainer,TComparator>`
10
11
  *
11
12
  * Boolean type utility which determines if the values in
12
13
  * `TList` and `TComparator` are the same (even if the order
13
14
  * is different).
14
15
  */
15
- export type HasSameValues<TList extends readonly unknown[], TComparator extends readonly unknown[]> = TList["length"] extends TComparator["length"] ? Compare<TList, TComparator> : false;
16
+ export type HasSameValues<TContainer extends readonly unknown[], TComparator extends readonly unknown[]> = TContainer extends readonly unknown[] ? Process<TContainer, TComparator> : TContainer extends Dictionary ? Process<Values<TContainer>, TComparator> : never;
16
17
  export {};
17
18
  //# sourceMappingURL=HasSameValues.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HasSameValues.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/HasSameValues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,oBAAwB;AAE1C,KAAK,IAAI,CACP,KAAK,SAAS,SAAS,OAAO,EAAE,EAChC,WAAW,IACT,EAAE,CAAC;KACJ,CAAC,IAAI,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,KAAK;CACpE,CAAC,CAAC;AAEH,KAAK,OAAO,CACV,KAAK,SAAS,SAAS,OAAO,EAAE,EAChC,WAAW,SAAS,SAAS,OAAO,EAAE,IACpC,GAAG,CAAC;KACL,CAAC,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,GAC3D,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAC3B,KAAK;CACV,EAAE,IAAI,CAAC,CAAA;AAER;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,CACvB,KAAK,SAAS,SAAS,OAAO,EAAE,EAChC,WAAW,SAAS,SAAS,OAAO,EAAE,IACpC,KAAK,CAAC,QAAQ,CAAC,SAAS,WAAW,CAAC,QAAQ,CAAC,GAC/C,OAAO,CACL,KAAK,EACL,WAAW,CACZ,GACD,KAAK,CAAC"}
1
+ {"version":3,"file":"HasSameValues.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/HasSameValues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,oBAAwB;AAE9D,KAAK,IAAI,CACP,KAAK,SAAS,SAAS,OAAO,EAAE,EAChC,WAAW,IACT,EAAE,CAAC;KACJ,CAAC,IAAI,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,KAAK;CACpE,CAAC,CAAC;AAEH,KAAK,OAAO,CACV,KAAK,SAAS,SAAS,OAAO,EAAE,EAChC,WAAW,SAAS,SAAS,OAAO,EAAE,IACpC,GAAG,CAAC;KACL,CAAC,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,GAC3D,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAC3B,KAAK;CACV,EAAE,IAAI,CAAC,CAAA;AAER,KAAK,OAAO,CACZ,KAAK,SAAS,SAAS,OAAO,EAAE,EAChC,WAAW,SAAS,SAAS,OAAO,EAAE,IAClC,KAAK,CAAC,QAAQ,CAAC,SAAS,WAAW,CAAC,QAAQ,CAAC,GAC/C,OAAO,CACP,KAAK,EACL,WAAW,CACZ,GACC,KAAK,CAAC;AAGR;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,CACvB,UAAU,SAAS,SAAS,OAAO,EAAE,EACrC,WAAW,SAAS,SAAS,OAAO,EAAE,IACpC,UAAU,SAAS,SAAS,OAAO,EAAE,GACvC,OAAO,CAAC,UAAU,EAAC,WAAW,CAAC,GAC/B,UAAU,SAAS,UAAU,GAC3B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAC,WAAW,CAAC,GACvC,KAAK,CAAC"}
@@ -1,7 +1,8 @@
1
+ import { WidenUnion, IsUnion } from "../../index";
1
2
  /**
2
3
  * **IsBoolean**
3
4
  *
4
5
  * Boolean type utility which detects literal or wide boolean type.
5
6
  */
6
- export type IsBoolean<T> = [T] extends [boolean] ? true : false;
7
+ export type IsBoolean<T> = [IsUnion<T>] extends [true] ? [WidenUnion<T>] extends [boolean] ? true : [string] extends [WidenUnion<T>] ? boolean : false : [T] extends [boolean] ? true : false;
7
8
  //# sourceMappingURL=IsBoolean.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IsBoolean.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsBoolean.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"IsBoolean.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsBoolean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAG,UAAU,EAAE,OAAO,EAAE,oBAAwB;AACvD;;;;GAIG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GACpD,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GAC/B,IAAI,GACJ,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAC9B,OAAO,GACP,KAAK,GACT,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { IsHexadecimal, IsStringLiteral } from "../../index";
2
+ /**
3
+ * **IsHexadecimal**`<T>`
4
+ *
5
+ * Ensures that `T` is a valid hexadecimal and converts to **never**
6
+ * otherwise.
7
+ */
8
+ export type IsCssHexadecimal<T> = T extends string ? IsStringLiteral<T> extends true ? T extends `#${infer Rest}` ? IsHexadecimal<Rest> : false : boolean : false;
9
+ //# sourceMappingURL=IsCssHexadecimal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IsCssHexadecimal.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsCssHexadecimal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAuB;AAEhE;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAChD,eAAe,CAAC,CAAC,CAAC,SAAS,IAAI,GAC7B,CAAC,SAAS,IAAI,MAAM,IAAI,EAAE,GACxB,aAAa,CAAC,IAAI,CAAC,GACnB,KAAK,GACP,OAAO,GACT,KAAK,CAAC"}
@@ -1,7 +1,13 @@
1
1
  /**
2
- * **Equal**`<X,Y>`
2
+ * **IsEqual**`<X,Y>`
3
3
  *
4
4
  * Type utility which tests whether two types -- `X` and `Y` -- are exactly the same type
5
5
  */
6
6
  export type IsEqual<X, Y, TRUE = true, FALSE = false> = (<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2 ? TRUE : FALSE;
7
+ /**
8
+ * **Equals**`<X,Y>`
9
+ *
10
+ * Type utility which tests whether two types -- `X` and `Y` -- are exactly the same type
11
+ */
12
+ export type Equals<X, Y, TTrue = true, TFalse = false> = IsEqual<X, Y, TTrue, TFalse>;
7
13
  //# sourceMappingURL=IsEqual.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IsEqual.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsEqual.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,OAAO,CACjB,CAAC,EACD,CAAC,EACD,IAAI,GAAG,IAAI,EACX,KAAK,GAAG,KAAK,IACX,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GACnE,IAAI,GACJ,KAAK,CAAC"}
1
+ {"version":3,"file":"IsEqual.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsEqual.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,MAAM,OAAO,CACjB,CAAC,EACD,CAAC,EACD,IAAI,GAAG,IAAI,EACX,KAAK,GAAG,KAAK,IACX,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GACnE,IAAI,GACJ,KAAK,CAAC;AAEV;;;;GAIG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAC,CAAC,EAAC,KAAK,GAAG,IAAI,EAAC,MAAM,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,EAAC,CAAC,EAAC,KAAK,EAAC,MAAM,CAAC,CAAC"}
@@ -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,13 @@
1
+ import { AsNumber } from "../../index";
2
+ type Calc<A extends number, B extends number, Count extends 1[] = []> = Count["length"] extends B ? false : Count["length"] extends A ? true : Calc<A, B, [...Count, 1]>;
3
+ /**
4
+ * **IsLessThan**`<A,B>`
5
+ *
6
+ * Boolean type operator which determines whether `A`
7
+ * is _less than_ `B`.
8
+ *
9
+ * **Note:** does not take negative numbers into account
10
+ */
11
+ export type IsLessThan<A extends number | `${number}`, B extends number | `${number}`> = Calc<AsNumber<A>, AsNumber<B>>;
12
+ export {};
13
+ //# sourceMappingURL=IsLessThan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IsLessThan.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsLessThan.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,UAAU,CACpB,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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,7 +1,8 @@
1
+ import { As } from "../narrowing/As";
1
2
  /**
2
3
  * **IsNever**`<T>`
3
4
  *
4
5
  * Boolean type utility which check whether `T` is of type _never_.
5
6
  */
6
- export type IsNever<T> = [T] extends never[] ? true : false;
7
+ export type IsNever<T> = As<[T] extends [never] ? true : false, boolean>;
7
8
  //# sourceMappingURL=IsNever.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IsNever.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsNever.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,GAAG,IAAI,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"IsNever.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsNever.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC;;;;GAIG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC"}
@@ -1,8 +1,8 @@
1
- import { IsUnion } from "./IsUnion";
1
+ import { IsUnion, WidenUnion } from "../../index";
2
2
  /**
3
3
  * **IsNumber**`<T>`
4
4
  *
5
5
  * Boolean type utility testing whether `T` is a numeric type.
6
6
  */
7
- export type IsNumber<T> = IsUnion<T> extends true ? [number] extends [T] ? boolean : false : [T] extends [number] ? true : false;
7
+ export type IsNumber<T> = [IsUnion<T>] extends [true] ? WidenUnion<T> extends number ? true : number extends WidenUnion<T> ? boolean : false : [T] extends [number] ? true : false;
8
8
  //# sourceMappingURL=IsNumber.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IsNumber.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsNumber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,GAC/C,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAClB,OAAO,GACP,KAAK,GACP,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"IsNumber.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsNumber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,oBAAwB;AAEtD;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GACnD,UAAU,CAAC,CAAC,CAAC,SAAS,MAAM,GAC1B,IAAI,GACJ,MAAM,SAAS,UAAU,CAAC,CAAC,CAAC,GAC1B,OAAO,GACP,KAAK,GACT,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC"}
@@ -1,9 +1,9 @@
1
- import { IsUnion } from "./IsUnion";
1
+ import { WidenUnion, IsUnion } from "../../index";
2
2
  /**
3
3
  * **IsString**
4
4
  *
5
5
  * Type utility which returns true/false based on whether `T` is a
6
6
  * string (wide or narrow).
7
7
  */
8
- export type IsString<T> = IsUnion<T> extends true ? [string] extends [T] ? boolean : false : [T] extends [string] ? true : false;
8
+ export type IsString<T> = [IsUnion<T>] extends [true] ? WidenUnion<T> extends string ? true : string extends WidenUnion<T> ? boolean : false : [T] extends [string] ? true : false;
9
9
  //# sourceMappingURL=IsString.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IsString.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,GAC/C,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAClB,OAAO,GACP,KAAK,GACP,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"IsString.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAG,UAAU,EAAE,OAAO,EAAE,oBAAwB;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GACnD,UAAU,CAAC,CAAC,CAAC,SAAS,MAAM,GAC1B,IAAI,GACJ,MAAM,SAAS,UAAU,CAAC,CAAC,CAAC,GAC1B,OAAO,GACP,KAAK,GACT,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,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,35 @@
1
+ import { And, As, AsString, Equals, Extends, GetUrlPath, GetUrlSource, IsNever, IsString, IsStringLiteral, NetworkProtocol, NetworkProtocolPrefix, Not, Or } from "../../index";
2
+ export type HasUrlPath<T extends string> = And<[
3
+ IsString<T>,
4
+ Not<IsNever<GetUrlPath<T>>>,
5
+ Or<[
6
+ Extends<GetUrlPath<T>, "">,
7
+ Extends<GetUrlPath<T>, `/${string}`>,
8
+ Equals<GetUrlPath<T>, string>
9
+ ]>
10
+ ]>;
11
+ export type HasUrlSource<T> = Not<IsNever<GetUrlSource<AsString<T>>>>;
12
+ export type HasNetworkProtocolReference<TTest extends string, TProto extends NetworkProtocol> = Extends<TTest, `${NetworkProtocolPrefix<TProto>}${string}`>;
13
+ /**
14
+ * **IsUrl**`<TTest,[TProtocol]>`
15
+ *
16
+ * Boolean operator which tests whether the passed in `TTest`
17
+ * is a valid URL.
18
+ *
19
+ * **Note:** by default it will only check the `https` protocol
20
+ * but you can choose any set `TProtocol` with anything from `NetworkProtocol`
21
+ * if you like.
22
+ *
23
+ * **Note:** you can add **optional** as a part of the protocol union
24
+ * type and it will then accept the protocols you've selected or a URL
25
+ * without a protocol.
26
+ */
27
+ export type IsUrl<TTest, TProtocol extends NetworkProtocol | "optional" = "https"> = IsString<TTest> extends true ? IsStringLiteral<TTest> extends true ? And<[
28
+ Or<[
29
+ HasNetworkProtocolReference<AsString<TTest>, As<TProtocol, NetworkProtocol>>,
30
+ Extends<"optional", TProtocol>
31
+ ]>,
32
+ HasUrlPath<AsString<TTest>>,
33
+ HasUrlSource<AsString<TTest>>
34
+ ]> : boolean : false;
35
+ //# sourceMappingURL=IsUrl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IsUrl.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/IsUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EACH,EAAE,EACF,QAAQ,EACR,MAAM,EACN,OAAO,EACP,UAAU,EACV,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,GAAG,EACH,EAAE,EACH,oBAAwB;AAGzB,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI,GAAG,CAAC;IAC7C,QAAQ,CAAC,CAAC,CAAC;IACX,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,EAAE,CAAC;QACD,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAC,EAAE,CAAC;QACzB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAC,IAAI,MAAM,EAAE,CAAC;QACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtE,MAAM,MAAM,2BAA2B,CACrC,KAAK,SAAS,MAAM,EACpB,MAAM,SAAS,eAAe,IAC5B,OAAO,CAAC,KAAK,EAAE,GAAG,qBAAqB,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;AAEhE;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,KAAK,CACf,KAAK,EACL,SAAS,SAAS,eAAe,GAAG,UAAU,GAAG,OAAO,IACtD,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,GAC9B,eAAe,CAAC,KAAK,CAAC,SAAS,IAAI,GACjC,GAAG,CAAC;IACF,EAAE,CAAC;QACD,2BAA2B,CACzB,QAAQ,CAAC,KAAK,CAAC,EACf,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,CAC/B;QACD,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC;KAC/B,CAAC;IACF,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3B,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;CAC9B,CAAC,GACF,OAAO,GACV,KAAK,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,71 @@
1
+ import { AfterFirst, And, BeforeLast, First, GetUrlQueryParams, HasOtherCharacters, Ip4Address, Ip4Octet, Ip6AddressFull, Ip6AddressLoose, Ip6GroupExpansion, IsGreaterThan, IsLessThan, IsStringLiteral, Last, Length, LowerAlphaChar, NumericChar, Split } from "../../index";
2
+ /**
3
+ * **IsIp4Octet**`<T>`
4
+ *
5
+ * Checks whether `T` is a valid IPv4Octet.
6
+ */
7
+ export type IsIp4Octet<T> = T extends number ? IsIp4Octet<`${T}`> : T extends string ? IsStringLiteral<T> extends true ? T extends Ip4Octet ? true : false : boolean : false;
8
+ /**
9
+ * **IsHexadecimal**`<T>`
10
+ *
11
+ * Boolean operator which tests the string `T` to ensure
12
+ * all characters are valid hexadecimal digits/chars.
13
+ */
14
+ export type IsHexadecimal<T> = T extends string ? IsStringLiteral<T> extends true ? HasOtherCharacters<Lowercase<T>, NumericChar | "a" | "b" | "c" | "d" | "e" | "f"> extends true ? false : true : boolean : false;
15
+ /**
16
+ * **IsIp6HexGroup**`<T>`
17
+ *
18
+ * Tests whether `T` is a valid hexadecimal group for an IP6
19
+ * Group. To be valid means:
20
+ *
21
+ * - each digit must be a hexadecimal digit
22
+ * - There will be between 1 and 4 digits
23
+ */
24
+ export type IsIp6HexGroup<T> = T extends string ? IsStringLiteral<T> extends true ? IsLessThan<Length<T>, 5> extends true ? IsGreaterThan<Length<T>, 0> extends true ? IsHexadecimal<T> : false : false : boolean : false;
25
+ type DeepOctetCheck<T extends readonly string[]> = [] extends T ? true : IsIp4Octet<First<T>> extends true ? DeepOctetCheck<AfterFirst<T>> : false;
26
+ /**
27
+ * **IsIp4Address**`<T>`
28
+ *
29
+ * Validates that `T` is a _valid_ IPv4 address by:
30
+ *
31
+ * - making sure the basic `${number}.${number}.${number}.${number}`
32
+ * - and then that each octet is a valid number between 0 and 255
33
+ */
34
+ export type IsIp4Address<T> = T extends string ? IsStringLiteral<T> extends true ? T extends Ip4Address ? Split<T, ".">["length"] extends 4 ? DeepOctetCheck<Split<T, ".">> : false : false : boolean : never;
35
+ type _EachGroup<T extends readonly string[]> = {
36
+ [K in keyof T]: IsIp6HexGroup<T[K]>;
37
+ };
38
+ export type IsIp6Address<T> = T extends string ? IsStringLiteral<T> extends true ? T extends Ip6AddressFull ? And<_EachGroup<Split<T, ":">>> : Ip6GroupExpansion<T> extends Ip6AddressFull ? And<_EachGroup<Split<Ip6GroupExpansion<T>, ":">>> : false : boolean : false;
39
+ /**
40
+ * **IsIpAddress**`<T>`
41
+ *
42
+ * A boolean operator which validates that `T` is either a V4 or V6 IP
43
+ * Address.
44
+ */
45
+ export type IsIpAddress<T> = T extends string ? IsStringLiteral<T> extends true ? IsIp4Address<T> extends true ? true : IsIp6Address<T> extends true ? true : false : boolean : false;
46
+ /**
47
+ * **HasIpAddress**`<T>`
48
+ *
49
+ * a boolean operator which tests whether a string literal `T` has an IP address
50
+ * in it.
51
+ */
52
+ export type HasIpAddress<T> = T extends string ? IsStringLiteral<T> extends true ? T extends `${string}${infer IpAddress extends Ip4Address | Ip6AddressLoose}${string}` ? IsIp4Address<IpAddress> : false : boolean : never;
53
+ type _TLD<T extends string> = Length<T> extends 0 ? false : Length<T> extends 1 ? false : HasOtherCharacters<Lowercase<T>, LowerAlphaChar> extends true ? false : true;
54
+ type _BeforeTLD<T extends readonly string[]> = [] extends T ? true : HasOtherCharacters<Lowercase<First<T>>, LowerAlphaChar | NumericChar | "-" | "_"> extends true ? false : _BeforeTLD<AfterFirst<T>>;
55
+ /**
56
+ * **IsDomainName**`<T>`
57
+ *
58
+ * Checks whether `T` is a valid DNS domain name.
59
+ */
60
+ export type IsDomainName<T> = T extends string ? IsStringLiteral<T> extends true ? T extends `${string}.${string}` ? _TLD<Last<Split<T, ".">>> extends true ? _BeforeTLD<BeforeLast<Split<T, ".">>> extends true ? true : false : false : false : boolean : never;
61
+ /**
62
+ * **HasQueryParameter**`<T,P>`
63
+ *
64
+ * Checks whether the URL in `T` has a query parameter with the key of `P`.
65
+ */
66
+ export type HasQueryParameter<T extends string, P extends string> = And<[
67
+ IsStringLiteral<T>,
68
+ IsStringLiteral<P>
69
+ ]> extends true ? GetUrlQueryParams<T> extends `${string}${P}=${string}` ? true : false : boolean;
70
+ export {};
71
+ //# sourceMappingURL=Network-operators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Network-operators.d.ts","sourceRoot":"","sources":["../../../../src/types/boolean-logic/operators/Network-operators.ts"],"names":[],"mappings":"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"}
@@ -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