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
@@ -55,8 +55,11 @@ __export(inferred_types_exports, {
55
55
  NUMERIC_DIGIT: () => NUMERIC_DIGIT,
56
56
  Never: () => Never,
57
57
  OPTION: () => OPTION,
58
+ PHONE_COUNTRY_CODES: () => PHONE_COUNTRY_CODES,
59
+ PHONE_FORMAT: () => PHONE_FORMAT,
58
60
  PLURAL_EXCEPTIONS: () => PLURAL_EXCEPTIONS,
59
61
  PLURAL_EXCEPTIONS_OLD: () => PLURAL_EXCEPTIONS_OLD,
62
+ PROXMOX_CT_STATE: () => PROXMOX_CT_STATE,
60
63
  REPO_PAGE_TYPES: () => REPO_PAGE_TYPES,
61
64
  REPO_SOURCES: () => REPO_SOURCES,
62
65
  REPO_SOURCE_LOOKUP: () => REPO_SOURCE_LOOKUP,
@@ -65,6 +68,7 @@ __export(inferred_types_exports, {
65
68
  SHAPE_PREFIXES: () => SHAPE_PREFIXES,
66
69
  SINGULAR_NOUN_ENDINGS: () => SINGULAR_NOUN_ENDINGS,
67
70
  ShapeApiImplementation: () => ShapeApiImplementation,
71
+ TOP_LEVEL_DOMAINS: () => TOP_LEVEL_DOMAINS,
68
72
  TT_Atomics: () => TT_Atomics,
69
73
  TT_Containers: () => TT_Containers,
70
74
  TT_Functions: () => TT_Functions,
@@ -88,6 +92,7 @@ __export(inferred_types_exports, {
88
92
  US_STATE_LOOKUP: () => US_STATE_LOOKUP,
89
93
  US_STATE_LOOKUP_PROVINCES: () => US_STATE_LOOKUP_PROVINCES,
90
94
  US_STATE_LOOKUP_STRICT: () => US_STATE_LOOKUP_STRICT,
95
+ WHITESPACE_CHARS: () => WHITESPACE_CHARS,
91
96
  WIDE_CONTAINER_TYPE_KINDS: () => WIDE_CONTAINER_TYPE_KINDS,
92
97
  WIDE_TYPE_KINDS: () => WIDE_TYPE_KINDS,
93
98
  WideAssignment: () => WideAssignment,
@@ -95,7 +100,15 @@ __export(inferred_types_exports, {
95
100
  addFnToProps: () => addFnToProps,
96
101
  addPropsToFn: () => addPropsToFn,
97
102
  and: () => and,
103
+ asApi: () => asApi,
104
+ asApiCallback: () => asApiCallback,
98
105
  asArray: () => asArray,
106
+ asCallbackProp: () => asCallbackProp,
107
+ asChars: () => asChars,
108
+ asEscapeFunction: () => asEscapeFunction,
109
+ asHandledApiCallback: () => asHandledApiCallback,
110
+ asOptionalParamFunction: () => asOptionalParamFunction,
111
+ asPhoneNumber: () => asPhoneNumber,
99
112
  asRecord: () => asRecord,
100
113
  asString: () => asString,
101
114
  asVueRef: () => asVueRef,
@@ -119,54 +132,60 @@ __export(inferred_types_exports, {
119
132
  fnMeta: () => fnMeta,
120
133
  get: () => get,
121
134
  getEach: () => getEach,
135
+ getEscapeFunction: () => getEscapeFunction,
136
+ getPhoneCountryCode: () => getPhoneCountryCode,
137
+ getUrlPath: () => getUrlPath,
138
+ getUrlPort: () => getUrlPort,
139
+ getUrlProtocol: () => getUrlProtocol,
140
+ getUrlQueryParams: () => getUrlQueryParams,
141
+ getUrlSource: () => getUrlSource,
142
+ getYouTubePageType: () => getYouTubePageType,
122
143
  handleDoneFn: () => handleDoneFn,
123
144
  hasDefaultValue: () => hasDefaultValue,
124
145
  hasIndexOf: () => hasIndexOf,
125
146
  hasKeys: () => hasKeys,
147
+ hasUrlPort: () => hasUrlPort,
148
+ hasUrlQueryParameter: () => hasUrlQueryParameter,
149
+ hasWhiteSpace: () => hasWhiteSpace,
126
150
  idLiteral: () => idLiteral,
127
151
  idTypeGuard: () => idTypeGuard,
128
152
  identity: () => identity,
129
- ifArray: () => ifArray,
130
- ifArrayPartial: () => ifArrayPartial,
131
- ifBoolean: () => ifBoolean,
132
- ifChar: () => ifChar,
133
- ifContainer: () => ifContainer,
134
- ifDefined: () => ifDefined,
135
- ifFalse: () => ifFalse,
136
- ifFunction: () => ifFunction,
137
- ifHasKey: () => ifHasKey,
138
- ifLength: () => ifLength,
139
153
  ifLowercaseChar: () => ifLowercaseChar,
140
- ifNotNull: () => ifNotNull,
141
- ifNull: () => ifNull,
142
- ifNumber: () => ifNumber,
143
- ifObject: () => ifObject,
144
- ifSameType: () => ifSameType,
145
- ifScalar: () => ifScalar,
146
- ifString: () => ifString,
147
- ifTrue: () => ifTrue,
148
- ifUndefined: () => ifUndefined,
149
154
  ifUppercaseChar: () => ifUppercaseChar,
150
155
  indexOf: () => indexOf,
151
156
  intersect: () => intersect,
152
157
  intersection: () => intersection,
158
+ ip6GroupExpansion: () => ip6GroupExpansion,
153
159
  ip6Prefix: () => ip6Prefix,
160
+ isApi: () => isApi,
161
+ isApiSurface: () => isApiSurface,
154
162
  isArray: () => isArray,
163
+ isBitbucketUrl: () => isBitbucketUrl,
155
164
  isBoolean: () => isBoolean,
156
165
  isBox: () => isBox,
166
+ isCodeCommitUrl: () => isCodeCommitUrl,
157
167
  isConstant: () => isConstant,
158
168
  isContainer: () => isContainer,
159
169
  isCssAspectRatio: () => isCssAspectRatio,
160
170
  isDefined: () => isDefined,
171
+ isDomainName: () => isDomainName,
161
172
  isDoneFn: () => isDoneFn,
173
+ isEmail: () => isEmail,
162
174
  isEqual: () => isEqual,
163
175
  isErrorCondition: () => isErrorCondition,
176
+ isEscapeFunction: () => isEscapeFunction,
164
177
  isFalse: () => isFalse,
165
178
  isFalsy: () => isFalsy,
166
179
  isFnWithParams: () => isFnWithParams,
167
180
  isFunction: () => isFunction,
181
+ isGithubRepoUrl: () => isGithubRepoUrl,
182
+ isGithubUrl: () => isGithubUrl,
183
+ isHexadecimal: () => isHexadecimal,
168
184
  isIndexable: () => isIndexable,
169
185
  isInlineSvg: () => isInlineSvg,
186
+ isIp4Address: () => isIp4Address,
187
+ isIp6Address: () => isIp6Address,
188
+ isIpAddress: () => isIpAddress,
170
189
  isLength: () => isLength,
171
190
  isNever: () => isNever,
172
191
  isNotNull: () => isNotNull,
@@ -175,14 +194,21 @@ __export(inferred_types_exports, {
175
194
  isNumber: () => isNumber,
176
195
  isNumericString: () => isNumericString,
177
196
  isObject: () => isObject,
197
+ isOptionalParamFunction: () => isOptionalParamFunction,
198
+ isPhoneNumber: () => isPhoneNumber,
178
199
  isReadonlyArray: () => isReadonlyArray,
179
200
  isRef: () => isRef,
201
+ isRepoSource: () => isRepoSource,
202
+ isRepoUrl: () => isRepoUrl,
180
203
  isSameTypeOf: () => isSameTypeOf,
181
204
  isScalar: () => isScalar,
205
+ isSemanticVersion: () => isSemanticVersion,
206
+ isSet: () => isSet,
182
207
  isShape: () => isShape,
183
208
  isSpecificConstant: () => isSpecificConstant,
184
209
  isString: () => isString,
185
210
  isSymbol: () => isSymbol,
211
+ isTrimable: () => isTrimable,
186
212
  isTrue: () => isTrue,
187
213
  isTruthy: () => isTruthy,
188
214
  isTuple: () => isTuple,
@@ -190,8 +216,18 @@ __export(inferred_types_exports, {
190
216
  isTypeToken: () => isTypeToken,
191
217
  isTypeTuple: () => isTypeTuple,
192
218
  isUndefined: () => isUndefined,
219
+ isUnset: () => isUnset,
193
220
  isUri: () => isUri,
194
221
  isUrl: () => isUrl,
222
+ isUrlPath: () => isUrlPath,
223
+ isUrlSource: () => isUrlSource,
224
+ isYouTubeCreatorUrl: () => isYouTubeCreatorUrl,
225
+ isYouTubeFeedUrl: () => isYouTubeFeedUrl,
226
+ isYouTubePlaylistUrl: () => isYouTubePlaylistUrl,
227
+ isYouTubeShareUrl: () => isYouTubeShareUrl,
228
+ isYouTubeUrl: () => isYouTubeUrl,
229
+ isYouTubeVideoUrl: () => isYouTubeVideoUrl,
230
+ isYouTubeVideosInPlaylist: () => isYouTubeVideosInPlaylist,
195
231
  join: () => join,
196
232
  keysOf: () => keysOf,
197
233
  kindError: () => kindError,
@@ -214,9 +250,13 @@ __export(inferred_types_exports, {
214
250
  pathJoin: () => pathJoin,
215
251
  pluralize: () => pluralize,
216
252
  pop: () => pop,
253
+ removePhoneCountryCode: () => removePhoneCountryCode,
254
+ removeUrlProtocol: () => removeUrlProtocol,
217
255
  result: () => result,
218
256
  retain: () => retain,
219
257
  retainAfter: () => retainAfter,
258
+ retainChars: () => retainChars,
259
+ retainWhile: () => retainWhile,
220
260
  reverse: () => reverse,
221
261
  shape: () => shape,
222
262
  sharedKeys: () => sharedKeys,
@@ -226,9 +266,11 @@ __export(inferred_types_exports, {
226
266
  startsWith: () => startsWith,
227
267
  stripAfter: () => stripAfter,
228
268
  stripBefore: () => stripBefore,
269
+ stripChars: () => stripChars,
229
270
  stripLeading: () => stripLeading,
230
271
  stripTrailing: () => stripTrailing,
231
272
  surround: () => surround,
273
+ takeNumericCharacters: () => takeNumericCharacters,
232
274
  takeProp: () => takeProp,
233
275
  toCamelCase: () => toCamelCase,
234
276
  toKebabCase: () => toKebabCase,
@@ -247,17 +289,20 @@ __export(inferred_types_exports, {
247
289
  tuple: () => tuple,
248
290
  unbox: () => unbox,
249
291
  uncapitalize: () => uncapitalize,
250
- union: () => union2,
292
+ union: () => union,
251
293
  unionize: () => unionize,
252
294
  unique: () => unique,
253
295
  uniqueKeys: () => uniqueKeys,
254
296
  uppercase: () => uppercase,
297
+ urlMeta: () => urlMeta,
255
298
  valuesOf: () => valuesOf,
256
299
  widen: () => widen,
257
300
  withDefaults: () => withDefaults,
258
301
  withKeys: () => withKeys,
259
302
  withoutKeys: () => withoutKeys,
260
- withoutValue: () => withoutValue
303
+ withoutValue: () => withoutValue,
304
+ wrapFn: () => wrapFn,
305
+ youtubeMeta: () => youtubeMeta
261
306
  });
262
307
  module.exports = __toCommonJS(inferred_types_exports);
263
308
 
@@ -953,26 +998,6 @@ var HASH_TABLE_CHAR = {
953
998
  };
954
999
  var HASH_TABLE_OTHER = "999";
955
1000
 
956
- // dist/constants/Network.js
957
- var IPv6 = {
958
- "Loopback": "::1/128",
959
- "Multicast": "ff00::/8",
960
- "IPv4MappedAddresses": "::FFFF:0:0/96",
961
- "Unicast": "fe80::/10",
962
- "DocumentationAddresses": "2001:db8::/32"
963
- };
964
- var IPv4 = {
965
- "Loopback": "127.0.0.1"
966
- };
967
- var NETWORK_PROTOCOL_LOOKUP = {
968
- http: ["http", "https"],
969
- ftp: ["ftp", "sftp"],
970
- file: ["", "file"],
971
- ws: ["ws", "wss"],
972
- ssh: ["", "ssh"],
973
- "scp": ["", "scp"]
974
- };
975
-
976
1001
  // dist/constants/Geo.js
977
1002
  var US_STATE_LOOKUP_STRICT = [
978
1003
  { name: "Alabama", abbrev: "AL" },
@@ -1098,6 +1123,357 @@ var GITHUB_INSIGHT_CATEGORY_LOOKUP = {
1098
1123
  people: "people"
1099
1124
  };
1100
1125
 
1126
+ // dist/constants/NetworkConstants.js
1127
+ var IPv6 = {
1128
+ "Loopback": "::1/128",
1129
+ "Multicast": "ff00::/8",
1130
+ "IPv4MappedAddresses": "::FFFF:0:0/96",
1131
+ "Unicast": "fe80::/10",
1132
+ "DocumentationAddresses": "2001:db8::/32"
1133
+ };
1134
+ var IPv4 = {
1135
+ "Loopback": "127.0.0.1"
1136
+ };
1137
+ var NETWORK_PROTOCOL_LOOKUP = {
1138
+ http: ["http", "https"],
1139
+ ftp: ["ftp", "sftp"],
1140
+ file: ["", "file"],
1141
+ ws: ["ws", "wss"],
1142
+ ssh: ["", "ssh"],
1143
+ "scp": ["", "scp"]
1144
+ };
1145
+ var TOP_LEVEL_DOMAINS = [
1146
+ "com",
1147
+ "org",
1148
+ "net",
1149
+ "int",
1150
+ "edu",
1151
+ "gov",
1152
+ "io",
1153
+ "mil",
1154
+ "arpa",
1155
+ "academy",
1156
+ "agency",
1157
+ "analytics",
1158
+ "app",
1159
+ "art",
1160
+ "bet",
1161
+ "beer",
1162
+ "book",
1163
+ "coffee",
1164
+ "dot",
1165
+ "doctor",
1166
+ "dog",
1167
+ "family",
1168
+ "game",
1169
+ "guide",
1170
+ "guru",
1171
+ "info",
1172
+ "inc",
1173
+ "news",
1174
+ "new",
1175
+ "ninja",
1176
+ "now",
1177
+ "online",
1178
+ "page",
1179
+ "photos",
1180
+ "place",
1181
+ "pub",
1182
+ "room",
1183
+ "show",
1184
+ "technology",
1185
+ "tel",
1186
+ "tech",
1187
+ "team",
1188
+ "talk",
1189
+ "travel",
1190
+ "website",
1191
+ "work",
1192
+ "works",
1193
+ "wow",
1194
+ "uk",
1195
+ "us",
1196
+ "fr",
1197
+ "de",
1198
+ "eu",
1199
+ "london"
1200
+ ];
1201
+
1202
+ // dist/constants/Characters.js
1203
+ var WHITESPACE_CHARS = [
1204
+ " ",
1205
+ "\n",
1206
+ " "
1207
+ ];
1208
+
1209
+ // dist/constants/Phone.js
1210
+ var PHONE_FORMAT = [
1211
+ "Dashed (e.g., 456-555-1212)",
1212
+ "Dotted (e.g., 456.555.1212)",
1213
+ "ParaSpaced (e.g., (456) 555 1212)",
1214
+ "ParaDashed (e.g., (456) 555-1212)"
1215
+ ];
1216
+ var PHONE_COUNTRY_CODES = [
1217
+ ["886", "TWN", "TW"],
1218
+ ["93", "AFG", "AF"],
1219
+ ["355", "ALB", "AL"],
1220
+ ["213", "DZA", "DZ"],
1221
+ ["1-684", "ASM", "AS"],
1222
+ ["376", "AND", "AD"],
1223
+ ["244", "AGO", "AO"],
1224
+ ["1-264", "AIA", "AI"],
1225
+ ["672", "ATA", "AQ"],
1226
+ ["1-268", "ATG", "AG"],
1227
+ ["54", "ARG", "AR"],
1228
+ ["374", "ARM", "AM"],
1229
+ ["297", "ABW", "AW"],
1230
+ ["61", "AUS", "AU"],
1231
+ ["43", "AUT", "AT"],
1232
+ ["994", "AZE", "AZ"],
1233
+ ["1-242", "BHS", "BS"],
1234
+ ["973", "BHR", "BH"],
1235
+ ["880", "BGD", "BD"],
1236
+ ["1-246", "BRB", "BB"],
1237
+ ["375", "BLR", "BY"],
1238
+ ["32", "BEL", "BE"],
1239
+ ["501", "BLZ", "BZ"],
1240
+ ["229", "BEN", "BJ"],
1241
+ ["1-441", "BMU", "BM"],
1242
+ ["975", "BTN", "BT"],
1243
+ ["591", "BOL", "BO"],
1244
+ ["599", "BES", "BQ"],
1245
+ ["387", "BIH", "BA"],
1246
+ ["267", "BWA", "BW"],
1247
+ ["47", "BVT", "BV"],
1248
+ ["55", "BRA", "BR"],
1249
+ ["246", "IOT", "IO"],
1250
+ ["1-284", "VGB", "VG"],
1251
+ ["673", "BRN", "BN"],
1252
+ ["359", "BGR", "BG"],
1253
+ ["226", "BFA", "BF"],
1254
+ ["257", "BDI", "BI"],
1255
+ ["238", "CPV", "CV"],
1256
+ ["855", "KHM", "KH"],
1257
+ ["237", "CMR", "CM"],
1258
+ ["1", "CAN", "CA"],
1259
+ ["1-345", "CYM", "KY"],
1260
+ ["236", "CAF", "CF"],
1261
+ ["235", "TCD", "TD"],
1262
+ ["56", "CHL", "CL"],
1263
+ ["86", "CHN", "CN"],
1264
+ ["852", "HKG", "HK"],
1265
+ ["853", "MAC", "MO"],
1266
+ ["61", "CXR", "CX"],
1267
+ ["61", "CCK", "CC"],
1268
+ ["57", "COL", "CO"],
1269
+ ["269", "COM", "KM"],
1270
+ ["242", "COG", "CG"],
1271
+ ["682", "COK", "CK"],
1272
+ ["506", "CRI", "CR"],
1273
+ ["385", "HRV", "HR"],
1274
+ ["53", "CUB", "CU"],
1275
+ ["599", "CUW", "CW"],
1276
+ ["357", "CYP", "CY"],
1277
+ ["420", "CZE", "CZ"],
1278
+ ["225", "CIV", "CI"],
1279
+ ["850", "PRK", "KP"],
1280
+ ["243", "COD", "CD"],
1281
+ ["45", "DNK", "DK"],
1282
+ ["253", "DJI", "DJ"],
1283
+ ["1-767", "DMA", "DM"],
1284
+ ["1-809", "DOM", "DO"],
1285
+ ["1-829", "DOM", "DO"],
1286
+ ["1-849", "DOM", "DO"],
1287
+ ["593", "ECU", "EC"],
1288
+ ["20", "EGY", "EG"],
1289
+ ["503", "SLV", "SV"],
1290
+ ["240", "GNQ", "GQ"],
1291
+ ["291", "ERI", "ER"],
1292
+ ["372", "EST", "EE"],
1293
+ ["268", "SWZ", "SZ"],
1294
+ ["251", "ETH", "ET"],
1295
+ ["500", "FLK", "FK"],
1296
+ ["298", "FRO", "FO"],
1297
+ ["679", "FJI", "FJ"],
1298
+ ["358", "FIN", "FI"],
1299
+ ["33", "FRA", "FR"],
1300
+ ["594", "GUF", "GF"],
1301
+ ["689", "PYF", "PF"],
1302
+ ["262", "ATF", "TF"],
1303
+ ["241", "GAB", "GA"],
1304
+ ["220", "GMB", "GM"],
1305
+ ["995", "GEO", "GE"],
1306
+ ["49", "DEU", "DE"],
1307
+ ["233", "GHA", "GH"],
1308
+ ["350", "GIB", "GI"],
1309
+ ["30", "GRC", "GR"],
1310
+ ["299", "GRL", "GL"],
1311
+ ["1-473", "GRD", "GD"],
1312
+ ["590", "GLP", "GP"],
1313
+ ["1-671", "GUM", "GU"],
1314
+ ["502", "GTM", "GT"],
1315
+ ["44", "GGY", "GG"],
1316
+ ["224", "GIN", "GN"],
1317
+ ["245", "GNB", "GW"],
1318
+ ["592", "GUY", "GY"],
1319
+ ["509", "HTI", "HT"],
1320
+ ["672", "HMD", "HM"],
1321
+ ["39-06", "VAT", "VA"],
1322
+ ["504", "HND", "HN"],
1323
+ ["36", "HUN", "HU"],
1324
+ ["354", "ISL", "IS"],
1325
+ ["91", "IND", "IN"],
1326
+ ["62", "IDN", "ID"],
1327
+ ["98", "IRN", "IR"],
1328
+ ["964", "IRQ", "IQ"],
1329
+ ["353", "IRL", "IE"],
1330
+ ["44", "IMN", "IM"],
1331
+ ["972", "ISR", "IL"],
1332
+ ["39", "ITA", "IT"],
1333
+ ["1-876", "JAM", "JM"],
1334
+ ["81", "JPN", "JP"],
1335
+ ["44", "JEY", "JE"],
1336
+ ["962", "JOR", "JO"],
1337
+ ["7", "KAZ", "KZ"],
1338
+ ["254", "KEN", "KE"],
1339
+ ["686", "KIR", "KI"],
1340
+ ["965", "KWT", "KW"],
1341
+ ["996", "KGZ", "KG"],
1342
+ ["856", "LAO", "LA"],
1343
+ ["371", "LVA", "LV"],
1344
+ ["961", "LBN", "LB"],
1345
+ ["266", "LSO", "LS"],
1346
+ ["231", "LBR", "LR"],
1347
+ ["218", "LBY", "LY"],
1348
+ ["423", "LIE", "LI"],
1349
+ ["370", "LTU", "LT"],
1350
+ ["352", "LUX", "LU"],
1351
+ ["261", "MDG", "MG"],
1352
+ ["265", "MWI", "MW"],
1353
+ ["60", "MYS", "MY"],
1354
+ ["960", "MDV", "MV"],
1355
+ ["223", "MLI", "ML"],
1356
+ ["356", "MLT", "MT"],
1357
+ ["692", "MHL", "MH"],
1358
+ ["596", "MTQ", "MQ"],
1359
+ ["222", "MRT", "MR"],
1360
+ ["230", "MUS", "MU"],
1361
+ ["262", "MYT", "YT"],
1362
+ ["52", "MEX", "MX"],
1363
+ ["691", "FSM", "FM"],
1364
+ ["377", "MCO", "MC"],
1365
+ ["976", "MNG", "MN"],
1366
+ ["382", "MNE", "ME"],
1367
+ ["1-664", "MSR", "MS"],
1368
+ ["212", "MAR", "MA"],
1369
+ ["258", "MOZ", "MZ"],
1370
+ ["95", "MMR", "MM"],
1371
+ ["264", "NAM", "NA"],
1372
+ ["674", "NRU", "NR"],
1373
+ ["977", "NPL", "NP"],
1374
+ ["31", "NLD", "NL"],
1375
+ ["687", "NCL", "NC"],
1376
+ ["64", "NZL", "NZ"],
1377
+ ["505", "NIC", "NI"],
1378
+ ["227", "NER", "NE"],
1379
+ ["234", "NGA", "NG"],
1380
+ ["683", "NIU", "NU"],
1381
+ ["672", "NFK", "NF"],
1382
+ ["1-670", "MNP", "MP"],
1383
+ ["47", "NOR", "NO"],
1384
+ ["968", "OMN", "OM"],
1385
+ ["92", "PAK", "PK"],
1386
+ ["680", "PLW", "PW"],
1387
+ ["507", "PAN", "PA"],
1388
+ ["675", "PNG", "PG"],
1389
+ ["595", "PRY", "PY"],
1390
+ ["51", "PER", "PE"],
1391
+ ["63", "PHL", "PH"],
1392
+ ["870", "PCN", "PN"],
1393
+ ["48", "POL", "PL"],
1394
+ ["351", "PRT", "PT"],
1395
+ ["974", "QAT", "QA"],
1396
+ ["82", "KOR", "KR"],
1397
+ ["373", "MDA", "MD"],
1398
+ ["40", "ROU", "RO"],
1399
+ ["7", "RUS", "RU"],
1400
+ ["250", "RWA", "RW"],
1401
+ ["262", "REU", "RE"],
1402
+ ["590", "BLM", "BL"],
1403
+ ["290", "SHN", "SH"],
1404
+ ["1-869", "KNA", "KN"],
1405
+ ["1-758", "LCA", "LC"],
1406
+ ["590", "MAF", "MF"],
1407
+ ["508", "SPM", "PM"],
1408
+ ["1-784", "VCT", "VC"],
1409
+ ["685", "WSM", "WS"],
1410
+ ["378", "SMR", "SM"],
1411
+ ["239", "STP", "ST"],
1412
+ ["966", "SAU", "SA"],
1413
+ ["221", "SEN", "SN"],
1414
+ ["381", "SRB", "RS"],
1415
+ ["248", "SYC", "SC"],
1416
+ ["232", "SLE", "SL"],
1417
+ ["65", "SGP", "SG"],
1418
+ ["1-721", "SXM", "SX"],
1419
+ ["421", "SVK", "SK"],
1420
+ ["386", "SVN", "SI"],
1421
+ ["677", "SLB", "SB"],
1422
+ ["252", "SOM", "SO"],
1423
+ ["27", "ZAF", "ZA"],
1424
+ ["500", "SGS", "GS"],
1425
+ ["211", "SSD", "SS"],
1426
+ ["34", "ESP", "ES"],
1427
+ ["94", "LKA", "LK"],
1428
+ ["970", "PSE", "PS"],
1429
+ ["249", "SDN", "SD"],
1430
+ ["597", "SUR", "SR"],
1431
+ ["47", "SJM", "SJ"],
1432
+ ["46", "SWE", "SE"],
1433
+ ["41", "CHE", "CH"],
1434
+ ["963", "SYR", "SY"],
1435
+ ["992", "TJK", "TJ"],
1436
+ ["66", "THA", "TH"],
1437
+ ["389", "MKD", "MK"],
1438
+ ["670", "TLS", "TL"],
1439
+ ["228", "TGO", "TG"],
1440
+ ["690", "TKL", "TK"],
1441
+ ["676", "TON", "TO"],
1442
+ ["1-868", "TTO", "TT"],
1443
+ ["216", "TUN", "TN"],
1444
+ ["90", "TUR", "TR"],
1445
+ ["993", "TKM", "TM"],
1446
+ ["1-649", "TCA", "TC"],
1447
+ ["688", "TUV", "TV"],
1448
+ ["256", "UGA", "UG"],
1449
+ ["380", "UKR", "UA"],
1450
+ ["971", "ARE", "AE"],
1451
+ ["44", "GBR", "GB"],
1452
+ ["255", "TZA", "TZ"],
1453
+ ["1-340", "VIR", "VI"],
1454
+ ["1", "USA", "US"],
1455
+ ["598", "URY", "UY"],
1456
+ ["998", "UZB", "UZ"],
1457
+ ["678", "VUT", "VU"],
1458
+ ["58", "VEN", "VE"],
1459
+ ["84", "VNM", "VN"],
1460
+ ["681", "WLF", "WF"],
1461
+ ["212", "ESH", "EH"],
1462
+ ["967", "YEM", "YE"],
1463
+ ["260", "ZMB", "ZM"],
1464
+ ["263", "ZWE", "ZW"],
1465
+ ["358", "ALA", "AX"]
1466
+ ];
1467
+
1468
+ // dist/constants/ProxmoxConstants.js
1469
+ var PROXMOX_CT_STATE = [
1470
+ "started",
1471
+ "stopped",
1472
+ "enabled",
1473
+ "disabled",
1474
+ "ignored"
1475
+ ];
1476
+
1101
1477
  // dist/types/dictionary/MapTo.js
1102
1478
  var toFinalizedConfig = (config) => {
1103
1479
  return { ...config, finalized: true };
@@ -1124,213 +1500,268 @@ var MapCardinality;
1124
1500
  MapCardinality2["ManyToOne"] = "I[] -> O";
1125
1501
  })(MapCardinality || (MapCardinality = {}));
1126
1502
 
1127
- // dist/runtime/boolean-logic/ifArray.js
1128
- function ifArray(val, isAnArray, isNotAnArray) {
1129
- return Array.isArray(val) ? isAnArray(val) : isNotAnArray(val);
1130
- }
1503
+ // dist/runtime/api/defineApi.js
1504
+ var asEscapeFunction = (fn2) => createFnWithProps(fn2, { escape: true });
1505
+ var asOptionalParamFunction = (fn2) => createFnWithProps(fn2, { optionalParams: true });
1506
+ var asApi = (api) => isApi(api) ? api : isApiSurface(api) ? { _kind: "api", surface: api } : createErrorCondition("invalid-api");
1507
+ var asCallbackProp = (...args) => args;
1508
+ var getEscapeFunction = (api) => {
1509
+ const surface = api.surface;
1510
+ return isFunction(surface) && "escape" in surface && surface.escape === true ? surface : isObject(surface) ? surface[Object.keys(surface).find((k) => isEscapeFunction(surface[k]))] : Never;
1511
+ };
1512
+ var defaultApiHandler = (_api) => {
1513
+ return (_result) => {
1514
+ };
1515
+ };
1516
+ var cb = (api) => (cb2) => {
1517
+ try {
1518
+ return cb2(api.surface);
1519
+ } catch (e) {
1520
+ throw new Error("oops");
1521
+ }
1522
+ };
1523
+ var asApiCallback = (api) => cb(api);
1524
+ var asHandledApiCallback = (api, handler) => {
1525
+ let _h = handler ? handler : defaultApiHandler;
1526
+ let _cb = asApiCallback(api);
1527
+ };
1131
1528
 
1132
- // dist/runtime/boolean-logic/ifBoolean.js
1133
- function ifBoolean(val, ifBoolean2, notBoolean) {
1134
- return isBoolean(val) ? ifBoolean2(val) : notBoolean(val);
1135
- }
1529
+ // dist/runtime/api/handleDoneFn.js
1530
+ var handleDoneFn = (val, call_bare_fn = false) => {
1531
+ return isObject(val) || isFunction(val) ? isDoneFn(val) ? val.done() : isFunction(val) ? call_bare_fn ? val() : val : val : isFunction(val) ? call_bare_fn ? val() : val : val;
1532
+ };
1136
1533
 
1137
- // dist/runtime/boolean-logic/ifNumber.js
1138
- function ifNumber(val, ifVal, elseVal) {
1139
- return isNumber(val) ? ifVal(val) : elseVal(val);
1140
- }
1534
+ // dist/runtime/combinators/and.js
1535
+ var and = (...values) => {
1536
+ return values.every((i) => i === true);
1537
+ };
1141
1538
 
1142
- // dist/runtime/boolean-logic/ifString.js
1143
- function ifString(val, ifVal, elseVal) {
1144
- return isString(val) ? ifVal(val) : elseVal(val);
1539
+ // dist/runtime/combinators/or.js
1540
+ function or(...conditions) {
1541
+ const values = conditions.some((v) => v === true ? true : false);
1542
+ return values;
1145
1543
  }
1146
1544
 
1147
- // dist/runtime/boolean-logic/ifNotNull.js
1148
- function ifNotNull(val, ifVal, elseVal) {
1149
- return isNull(val) ? elseVal() : ifVal(val);
1545
+ // dist/runtime/dictionary/keysOf.js
1546
+ function keysOf(container) {
1547
+ const keys = Array.isArray(container) ? Object.keys(container).map((i) => Number(i)) : isObject(container) ? isRef(container) ? ["value"] : Object.keys(container) : [];
1548
+ return keys;
1150
1549
  }
1151
1550
 
1152
- // dist/runtime/boolean-logic/ifSameType.js
1153
- function ifSameType(value, comparator, same, notSame) {
1154
- return (
1155
- // runtime values match
1156
- typeof value === typeof comparator ? same(value) : notSame(value)
1157
- );
1551
+ // dist/runtime/dictionary/entries.js
1552
+ function entries(obj) {
1553
+ const iterable = {
1554
+ *[Symbol.iterator]() {
1555
+ for (const k of keysOf(obj)) {
1556
+ yield [k, obj[k]];
1557
+ }
1558
+ }
1559
+ };
1560
+ return iterable;
1158
1561
  }
1159
1562
 
1160
- // dist/runtime/boolean-logic/ifFunction.js
1161
- function ifFunction(value, isFnCallback, notFnCallback) {
1162
- return isFunction(value) ? isFnCallback(value) : notFnCallback(value);
1563
+ // dist/runtime/dictionary/get.js
1564
+ function updatedDotPath(value, dotpath, segment) {
1565
+ return isRef(value) ? dotpath.replace(segment, `Ref(${segment})`) : dotpath;
1163
1566
  }
1164
-
1165
- // dist/runtime/boolean-logic/ifContainer.js
1166
- function ifContainer(value, ifContainer2, notContainer) {
1167
- return isObject(value) || isArray(value) ? ifContainer2(value) : notContainer(value);
1567
+ function getValue(value, dotPath, defaultValue, handleInvalid, fullDotPath) {
1568
+ const pathSegments = isTruthy(dotPath) ? dotPath.split(".") : [];
1569
+ const idx = pathSegments[0];
1570
+ const hasMoreSegments = pathSegments.length > 1;
1571
+ const valueIsIndexable = isContainer(value) && hasIndexOf(value, idx);
1572
+ const hasHandler = !isSpecificConstant("not-defined")(handleInvalid);
1573
+ const invalidDotPath = createErrorCondition("invalid-dot-path", `The segment "${idx}" in the dotpath "${fullDotPath}" was not indexable and no default value existed on: ${JSON.stringify(value)}`);
1574
+ const current = hasMoreSegments ? isContainer(value) && idx in value ? getValue(indexOf(value, idx), pathSegments.join(".").replace(`${idx}.`, ""), defaultValue, handleInvalid, updatedDotPath(value, fullDotPath, idx)) : hasHandler ? handleInvalid : invalidDotPath : valueIsIndexable ? hasDefaultValue(hasDefaultValue) ? indexOf(value, idx) || defaultValue : indexOf(value, idx) : hasHandler ? handleInvalid : invalidDotPath;
1575
+ return current;
1168
1576
  }
1169
-
1170
- // dist/runtime/boolean-logic/ifHasKey.js
1171
- var ifHasKey = (container, key, hasKey, doesNotHaveKey) => hasIndexOf(container, key) ? hasKey(container) : doesNotHaveKey(container);
1172
-
1173
- // dist/runtime/boolean-logic/ifLength.js
1174
- function ifLength(value, length, ifVal, elseVal) {
1175
- return Array.isArray(value) && value.length === length ? ifVal(value) : elseVal(value);
1577
+ function get(value, dotPath, options = {
1578
+ defaultValue: NO_DEFAULT_VALUE,
1579
+ handleInvalidDotpath: NOT_DEFINED
1580
+ }) {
1581
+ const outcome = dotPath === null || dotPath === "" ? value : getValue(value, dotPath, (options == null ? void 0 : options.defaultValue) || NO_DEFAULT_VALUE, (options == null ? void 0 : options.handleInvalidDotpath) || NOT_DEFINED, String(dotPath));
1582
+ return outcome;
1176
1583
  }
1177
1584
 
1178
- // dist/runtime/boolean-logic/ifScalar.js
1179
- function ifScalar(value, ifCallback, notCallback) {
1180
- const result2 = isScalar(value) ? ifCallback(value) : notCallback(value);
1181
- return result2;
1585
+ // dist/runtime/dictionary/omit.js
1586
+ function omit(obj, ...removeKeys) {
1587
+ const keys = Object.keys(obj);
1588
+ return keys.reduce((acc, key) => removeKeys.includes(key) ? acc : {
1589
+ ...acc,
1590
+ [key]: obj[key]
1591
+ }, {});
1182
1592
  }
1183
1593
 
1184
- // dist/runtime/boolean-logic/ifNull.js
1185
- function ifNull(val, ifVal, elseVal) {
1186
- return isNull(val) ? ifVal() : elseVal(val);
1187
- }
1594
+ // dist/runtime/dictionary/retain.js
1595
+ var retain = (dict2, ...keys) => {
1596
+ let output = {};
1597
+ for (const k of keys) {
1598
+ output = {
1599
+ ...output,
1600
+ [k]: dict2[k]
1601
+ };
1602
+ }
1603
+ return output;
1604
+ };
1188
1605
 
1189
- // dist/runtime/boolean-logic/ifObject.js
1190
- function ifObject(val, ifObj, notObj) {
1191
- return isObject(val) ? ifObj : notObj;
1192
- }
1606
+ // dist/runtime/dictionary/sharedKeys.js
1607
+ var sharedKeys = (a, b) => {
1608
+ const ka = Object.keys(a);
1609
+ const kb = Object.keys(b);
1610
+ return ka.filter((k) => kb.includes(k));
1611
+ };
1193
1612
 
1194
- // dist/runtime/boolean-logic/ifTrue.js
1195
- function ifTrue(val, ifVal, elseVal) {
1196
- return (
1197
- //
1198
- isTrue(val) ? ifVal(val) : elseVal(val)
1199
- );
1200
- }
1613
+ // dist/runtime/dictionary/takeProp.js
1614
+ var takeProp = (val, prop, otherwise) => {
1615
+ return (isObject(val) || isArray(val)) && prop in val ? val[prop] : otherwise;
1616
+ };
1201
1617
 
1202
- // dist/runtime/boolean-logic/ifFalse.js
1203
- function ifFalse(val, ifVal, elseVal) {
1204
- return isFalse(val) ? ifVal : elseVal;
1205
- }
1618
+ // dist/runtime/dictionary/withKeys.js
1619
+ var withKeys = (dict2, ...keys) => retain(dict2, ...keys);
1206
1620
 
1207
- // dist/runtime/boolean-logic/ifChar.js
1208
- var def_if = (v) => v;
1209
- var def_else = () => Never;
1210
- function ifChar(ch, callback_if_match = def_if, callback_not_match = def_else) {
1211
- return ch.length === 1 ? callback_if_match(ch) : callback_not_match(ch);
1212
- }
1621
+ // dist/runtime/dictionary/withoutKeys.js
1622
+ var withoutKeys = (dict2, ...exclude) => omit(dict2, ...exclude);
1213
1623
 
1214
- // dist/runtime/type-guards/isDefined.js
1215
- function isDefined(value) {
1216
- return typeof value === "undefined" ? false : true;
1624
+ // dist/runtime/dictionary/withoutValue.js
1625
+ function withoutValue(val) {
1626
+ return (obj) => {
1627
+ return Object.keys(obj).reduce((acc, key) => val === obj[key] ? acc : { ...acc, [key]: obj[key] }, {});
1628
+ };
1217
1629
  }
1218
1630
 
1219
- // dist/runtime/type-guards/isFalsy.js
1220
- var isFalsy = (val) => {
1221
- return FALSY_VALUES.includes(val);
1631
+ // dist/runtime/dictionary/withDefaults.js
1632
+ var withDefaults = (with_defaults) => (obj) => {
1633
+ const merged = {
1634
+ ...with_defaults,
1635
+ ...obj
1636
+ };
1637
+ return merged;
1222
1638
  };
1223
1639
 
1224
- // dist/runtime/type-guards/isNull.js
1225
- function isNull(value) {
1226
- return value === null ? true : false;
1227
- }
1228
-
1229
- // dist/runtime/type-guards/isNotNull.js
1230
- function isNotNull(value) {
1231
- return value === null ? true : false;
1232
- }
1640
+ // dist/runtime/dictionary/valuesOf.js
1641
+ var valuesOf = (obj) => {
1642
+ const values = [];
1643
+ for (const k of Object.keys(obj)) {
1644
+ values.push(obj[k]);
1645
+ }
1646
+ return values;
1647
+ };
1233
1648
 
1234
- // dist/runtime/type-guards/isTruthy.js
1235
- var isTruthy = (val) => {
1236
- return !FALSY_VALUES.includes(val);
1649
+ // dist/runtime/errors/createErrorCondition.js
1650
+ var createErrorCondition = (kind, msg = "", utility = "") => {
1651
+ return {
1652
+ __kind: "ErrorCondition",
1653
+ kind,
1654
+ msg,
1655
+ utility
1656
+ };
1237
1657
  };
1238
1658
 
1239
- // dist/runtime/type-guards/isTypeTuple.js
1240
- function isTypeTuple(value) {
1241
- return Array.isArray(value) && value.length === 3 && typeof value[1] === "function";
1659
+ // dist/runtime/literals/box.js
1660
+ function box(value) {
1661
+ const rtn = {
1662
+ __type: "box",
1663
+ value,
1664
+ unbox: (...p) => {
1665
+ return typeof value === "function" ? value(...p) : value;
1666
+ }
1667
+ };
1668
+ return rtn;
1242
1669
  }
1243
-
1244
- // dist/runtime/type-guards/isUndefined.js
1245
- function isUndefined(value) {
1246
- return typeof value === "undefined" ? true : false;
1670
+ function isBox(thing) {
1671
+ return typeof thing === "object" && "__type" in thing && thing.__type === "box";
1247
1672
  }
1248
-
1249
- // dist/runtime/type-guards/isBoolean.js
1250
- function isBoolean(value) {
1251
- return typeof value === "boolean";
1673
+ function boxDictionaryValues(dict2) {
1674
+ const keys = Object.keys(dict2);
1675
+ return keys.reduce((acc, key) => ({ ...acc, [key]: box(dict2[key]) }), {});
1252
1676
  }
1253
-
1254
- // dist/runtime/type-guards/isString.js
1255
- function isString(value) {
1256
- return typeof value === "string";
1677
+ function unbox(val) {
1678
+ return isBox(val) ? val.value : val;
1257
1679
  }
1258
1680
 
1259
- // dist/runtime/type-guards/isIndexable.js
1260
- function isIndexable(value) {
1261
- return Array.isArray(value) || typeof value === "object" && keysOf(value).length > 0 ? true : false;
1262
- }
1681
+ // dist/runtime/literals/identity.js
1682
+ var identity = (v) => v;
1263
1683
 
1264
- // dist/runtime/type-guards/isObject.js
1265
- function isObject(value) {
1266
- return typeof value === "object" && value !== null && Array.isArray(value) === false;
1684
+ // dist/runtime/literals/literal.js
1685
+ function idLiteral(o) {
1686
+ return { ...o, id: o.id };
1267
1687
  }
1268
-
1269
- // dist/runtime/type-guards/isTrue.js
1270
- function isTrue(value) {
1271
- return value === true;
1688
+ function nameLiteral(o) {
1689
+ return o;
1272
1690
  }
1273
-
1274
- // dist/runtime/type-guards/isArray.js
1275
- function isArray(value) {
1276
- return Array.isArray(value) === true;
1691
+ function kindLiteral(o) {
1692
+ return o;
1277
1693
  }
1278
-
1279
- // dist/runtime/type-guards/isConstant.js
1280
- function isConstant(value) {
1281
- return isObject(value) && "_type" in value && isTypeOf("string")(value._type) && isEqual(value._type)("Constant") ? true : false;
1694
+ function idTypeGuard(_o) {
1695
+ return true;
1282
1696
  }
1283
-
1284
- // dist/runtime/type-guards/isNever.js
1285
- var isNever = (val) => {
1286
- return isConstant(val) && val.kind === "never";
1287
- };
1288
-
1289
- // dist/runtime/type-guards/isContainer.js
1290
- function isContainer(value) {
1291
- return Array.isArray(value) || isObject(value) ? true : false;
1697
+ function literal(obj) {
1698
+ return obj;
1292
1699
  }
1293
1700
 
1294
- // dist/runtime/type-guards/higher-order/isSameTypeOf.js
1295
- var isSameTypeOf = (base) => (compare) => {
1296
- return typeof base === typeof compare;
1701
+ // dist/runtime/literals/stripTrailing.js
1702
+ var switchType = (content) => (val) => {
1703
+ return typeof content === "number" ? Number(val) : val;
1297
1704
  };
1705
+ function stripTrailing(content, strip) {
1706
+ var _a;
1707
+ const re = new RegExp(`(.*)${strip}$`);
1708
+ return ((_a = String(content)) == null ? void 0 : _a.endsWith(String(strip))) ? switchType(content)(String(content).replace(re, "$1")) : switchType(content)(String(content));
1709
+ }
1298
1710
 
1299
- // dist/runtime/type-guards/higher-order/isEqual.js
1300
- var isEqual = (base) => (value) => isSameTypeOf(base)(value) ? value === base ? true : false : false;
1711
+ // dist/runtime/literals/stripLeading.js
1712
+ function stripLeading(content, ...strip) {
1713
+ const stripper = strip.find((i) => content.startsWith(i));
1714
+ return stripper ? (
1715
+ // starts with
1716
+ content.slice(stripper.length)
1717
+ ) : (
1718
+ // does not
1719
+ content
1720
+ );
1721
+ }
1301
1722
 
1302
- // dist/runtime/type-guards/isSpecificConstant.js
1303
- function isSpecificConstant(kind) {
1304
- return (value) => {
1305
- return isConstant(value) && isEqual(value.kind)(kind) ? true : false;
1306
- };
1723
+ // dist/runtime/literals/ensureTrailing.js
1724
+ function ensureTrailing(content, ensure) {
1725
+ return (
1726
+ //
1727
+ content.endsWith(ensure) ? content : `${content}${ensure}`
1728
+ );
1307
1729
  }
1308
1730
 
1309
- // dist/runtime/type-guards/isReadonlyArray.js
1310
- function isReadonlyArray(value) {
1311
- return Array.isArray(value) === true;
1731
+ // dist/runtime/literals/ensureLeading.js
1732
+ function ensureLeading(content, ensure) {
1733
+ return String(content).startsWith(ensure) ? content : `${ensure}${content}`;
1312
1734
  }
1313
1735
 
1314
- // dist/runtime/type-guards/hasIndexOf.js
1315
- var hasIndexOf = (value, idx) => {
1316
- const result2 = isObject(value) ? String(idx) in value : Array.isArray(value) ? Number(idx) in value : false;
1317
- return isErrorCondition(result2, "invalid-index") ? false : result2;
1318
- };
1736
+ // dist/runtime/literals/ensureSurround.js
1737
+ function ensureSurround(prefix, postfix) {
1738
+ const fn2 = (input) => {
1739
+ const result2 = ensureTrailing(ensureLeading(input, prefix), postfix);
1740
+ return result2;
1741
+ };
1742
+ return fn2;
1743
+ }
1319
1744
 
1320
- // dist/runtime/type-guards/isRef.js
1321
- function isRef(value) {
1322
- return isObject(value) && "value" in value && Array.from(Object.keys(value)).includes("_value");
1745
+ // dist/runtime/literals/ifUppercase.js
1746
+ function ifUppercaseChar(ch, callbackForMatch, callbackForNoMatch) {
1747
+ if (ch.length !== 1) {
1748
+ throw new Error(`Invalid string length passed to ifUppercaseChar(ch); this function requires a single character but ${ch.length} were received`);
1749
+ }
1750
+ return LOWER_ALPHA_CHARS.includes(ch) ? callbackForMatch(ch) : callbackForNoMatch(ch);
1323
1751
  }
1324
1752
 
1325
- // dist/runtime/type-guards/isFalse.js
1326
- function isFalse(i) {
1327
- return typeof i === "boolean" && !i;
1753
+ // dist/runtime/literals/pathJoin.js
1754
+ function pathJoin(...segments) {
1755
+ const clean_path = segments.map((i) => stripTrailing(stripLeading(i, "/"), "/")).join("/");
1756
+ const original_path = segments.join("/");
1757
+ const pre = original_path.startsWith("/") ? "/" : "";
1758
+ const post = original_path.endsWith("/") ? "/" : "";
1759
+ return `${pre}${clean_path}${post}`;
1328
1760
  }
1329
1761
 
1330
- // dist/runtime/type-guards/hasDefaultValue.js
1331
- function hasDefaultValue(value) {
1332
- const noDefault = isSpecificConstant("no-default-value");
1333
- return noDefault(value) ? false : true;
1762
+ // dist/runtime/literals/narrow.js
1763
+ function narrow(...values) {
1764
+ return values.length === 1 ? values[0] : values;
1334
1765
  }
1335
1766
 
1336
1767
  // dist/runtime/literals/split.js
@@ -1338,1022 +1769,1174 @@ function split(str, sep = "") {
1338
1769
  return str.split(sep);
1339
1770
  }
1340
1771
 
1341
- // dist/runtime/type-guards/isNumericString.js
1342
- function isNumericString(value) {
1343
- const validChars = [...NUMERIC_CHAR, "x", "E"];
1344
- return typeof value === "string" && split(value).every((i) => validChars.includes(i));
1772
+ // dist/runtime/literals/tuple.js
1773
+ var tuple = (...values) => {
1774
+ const arr = values.length === 1 ? values[0] : values;
1775
+ return asArray(arr);
1776
+ };
1777
+
1778
+ // dist/runtime/literals/capitalize.js
1779
+ function capitalize(str) {
1780
+ return `${str == null ? void 0 : str.slice(0, 1).toUpperCase()}${str == null ? void 0 : str.slice(1)}`;
1345
1781
  }
1346
1782
 
1347
- // dist/runtime/type-guards/isFnWithParams.js
1348
- function isFnWithParams(input) {
1349
- var _a;
1350
- return typeof input === "function" && ((_a = Object.keys(input)) == null ? void 0 : _a.length) > 0;
1783
+ // dist/runtime/literals/uncapitalize.js
1784
+ function uncapitalize(str) {
1785
+ return `${str == null ? void 0 : str.slice(0, 1).toLowerCase()}${str == null ? void 0 : str.slice(1)}`;
1351
1786
  }
1352
1787
 
1353
- // dist/runtime/type-guards/isFunction.js
1354
- function isFunction(value) {
1355
- return typeof value === "function" ? true : false;
1788
+ // dist/runtime/literals/uppercase.js
1789
+ function uppercase(str) {
1790
+ return str.toUpperCase();
1356
1791
  }
1357
1792
 
1358
- // dist/runtime/type-guards/isNumber.js
1359
- function isNumber(value) {
1360
- return typeof value === "number";
1793
+ // dist/runtime/literals/lowercase.js
1794
+ function lowercase(str) {
1795
+ return str.toLowerCase();
1361
1796
  }
1362
1797
 
1363
- // dist/runtime/type-guards/isNothing.js
1364
- function isNothing(val) {
1365
- return val === null || val === void 0 ? true : false;
1798
+ // dist/runtime/literals/widen.js
1799
+ function widen(value) {
1800
+ return value;
1366
1801
  }
1367
1802
 
1368
- // dist/runtime/type-guards/isSymbol.js
1369
- function isSymbol(value) {
1370
- return typeof value === "symbol";
1803
+ // dist/runtime/literals/toCamelCase.js
1804
+ function toCamelCase(input, preserveWhitespace) {
1805
+ const pascal = preserveWhitespace ? toPascalCase(input, preserveWhitespace) : toPascalCase(input);
1806
+ const [_, preWhite, focus, postWhite] = /^(\s*)(.*?)(\s*)$/.exec(pascal);
1807
+ const camel = (preserveWhitespace ? preWhite : "") + focus.replace(/^.*?([0-9]*?[a-z|A-Z]{1})/s, (_2, p1) => p1.toLowerCase()) + (preserveWhitespace ? postWhite : "");
1808
+ return camel;
1371
1809
  }
1372
1810
 
1373
- // dist/runtime/type-guards/isScalar.js
1374
- function isScalar(value) {
1375
- return isString(value) || isNumber(value) || isSymbol(value) || isNull(value);
1811
+ // dist/runtime/literals/toKebabCase.js
1812
+ function toKebabCase(input, _preserveWhitespace) {
1813
+ const [_, preWhite, focus, postWhite] = /^(\s*)(.*?)(\s*)$/.exec(input);
1814
+ const replaceWhitespace = (i) => i.replace(/\s/gs, "-");
1815
+ const replaceUppercase = (i) => i.replace(/[A-Z]/g, (c) => `-${c[0].toLowerCase()}`);
1816
+ const replaceLeadingDash = (i) => i.replace(/^-/s, "");
1817
+ const replaceTrailingDash = (i) => i.replace(/-$/s, "");
1818
+ const replaceUnderscore = (i) => i.replace(/_/g, "-");
1819
+ const removeDupDashes = (i) => i.replace(/-+/g, "-");
1820
+ return removeDupDashes(`${preWhite}${replaceUnderscore(replaceTrailingDash(replaceLeadingDash(removeDupDashes(replaceWhitespace(replaceUppercase(focus))))))}${postWhite}`);
1376
1821
  }
1377
1822
 
1378
- // dist/runtime/type-guards/isTypeToken.js
1379
- function isTypeToken(val) {
1380
- if (isString(val) && startsWith("<<")(val) && endsWith(">>")(val)) {
1381
- return true;
1382
- } else {
1383
- return false;
1823
+ // dist/runtime/literals/ifLowercase.js
1824
+ function ifLowercaseChar(ch, callbackForMatch, callbackForNoMatch) {
1825
+ if (ch.length !== 1) {
1826
+ throw new Error(`call to ifUppercaseChar received ${ch.length} characters but is only valid when one character is passed in!`);
1384
1827
  }
1828
+ return LOWER_ALPHA_CHARS.includes(ch) ? callbackForMatch(ch) : callbackForNoMatch(ch);
1385
1829
  }
1386
1830
 
1387
- // dist/runtime/type-guards/isErrorCondition.js
1388
- function isErrorCondition(value, kind = null) {
1389
- return isObject(value) && "__kind" in value && value.__kind === "ErrorCondition" && "kind" in value ? kind !== null ? value["kind"] === kind : true : false;
1831
+ // dist/runtime/literals/toSnakeCase.js
1832
+ function toSnakeCase(input, preserveWhitespace = false) {
1833
+ const [_, preWhite, focus, postWhite] = /^(\s*)(.*?)(\s*)$/.exec(input);
1834
+ const convertInteriorSpace = (input2) => input2.replace(/\s+/gs, "_");
1835
+ const convertDashes = (input2) => input2.replace(/-/gs, "_");
1836
+ const injectUnderscoreBeforeCaps = (input2) => input2.replace(/([A-Z])/gs, "_$1");
1837
+ const removeLeadingUnderscore = (input2) => input2.startsWith("_") ? input2.slice(1) : input2;
1838
+ return ((preserveWhitespace ? preWhite : "") + removeLeadingUnderscore(injectUnderscoreBeforeCaps(convertDashes(convertInteriorSpace(focus)))).toLowerCase() + (preserveWhitespace ? postWhite : "")).replace(/__/g, "_");
1390
1839
  }
1391
1840
 
1392
- // dist/runtime/type-guards/hasKeys.js
1393
- var hasKeys = (...props) => (
1394
- /**
1395
- * Type guard which validates whether the configured properties
1396
- * exist on a given `Record<ObjectKey, unknown` and if they do at
1397
- * runtime will provide the type support for them.
1398
- */
1399
- (val) => {
1400
- const keys = Array.isArray(props) ? props : Object.keys(props).filter((i) => typeof i === "string");
1401
- return (isFunction(val) || isObject(val)) && keys.every((k) => k in val) ? true : false;
1402
- }
1403
- );
1404
-
1405
- // dist/runtime/type-guards/isDoneFn.js
1406
- var isDoneFn = (val) => {
1407
- return hasKeys("done")(val) && typeof val.done === "function";
1408
- };
1841
+ // dist/runtime/literals/toString.js
1842
+ function toString(val) {
1843
+ return String(val);
1844
+ }
1409
1845
 
1410
- // dist/runtime/dictionary/valuesOf.js
1411
- var valuesOf = (obj) => {
1412
- const values = [];
1413
- for (const k of Object.keys(obj)) {
1414
- values.push(obj[k]);
1846
+ // dist/runtime/literals/pluralize.js
1847
+ var isException = (word) => Object.keys(PLURAL_EXCEPTIONS).includes(word);
1848
+ var endingIn = (word, postfix) => {
1849
+ switch (postfix) {
1850
+ case "is":
1851
+ return word.endsWith(postfix) ? `${word}es` : void 0;
1852
+ case "singular-noun":
1853
+ return SINGULAR_NOUN_ENDINGS.some((i) => word.endsWith(i)) ? split(word).every((i) => [...ALPHA_CHARS].includes(i)) ? `${word}es` : void 0 : void 0;
1854
+ case "f":
1855
+ return word.endsWith("f") ? stripTrailing(word, "f") + "ves" : word.endsWith("fe") ? stripTrailing(word, "fe") + "ves" : void 0;
1856
+ case "y":
1857
+ return word.endsWith("y") ? CONSONANTS.includes(word.slice(-2, 1)) ? stripTrailing(word, "y") + "ies" : void 0 : void 0;
1858
+ default:
1859
+ throw new Error(`endingIn received "${postfix}" as a postfix but this ending is not known!`);
1415
1860
  }
1416
- return values;
1417
- };
1418
-
1419
- // dist/runtime/type-guards/isUrl.js
1420
- var isUri = (val, ...protocols) => {
1421
- const p = protocols.length === 0 ? valuesOf(NETWORK_PROTOCOL_LOOKUP).flat().filter((i) => i) : protocols;
1422
- return isString(val) && p.some((i) => val.startsWith(`${i}://`));
1423
1861
  };
1424
- var isUrl = (val, ...protocols) => {
1425
- const p = protocols.length === 0 ? ["http", "https"] : protocols;
1426
- return isString(val) && p.some((i) => val.startsWith(`${i}://`));
1862
+ var pluralize = (word) => {
1863
+ const result2 = isException(word) ? PLURAL_EXCEPTIONS[word] : endingIn(word, "is") || endingIn(word, "singular-noun") || endingIn(word, "f") || endingIn(word, "y") || `${word}s`;
1864
+ return result2;
1427
1865
  };
1428
1866
 
1429
- // dist/runtime/type-guards/isCssAspectRatio.js
1430
- var tokens = [
1431
- "1",
1432
- "inherit",
1433
- "initial",
1434
- "revert",
1435
- "revert-layer",
1436
- "unset",
1437
- "auto"
1438
- ];
1439
- var isRatio = (val) => /[0-9]{1,4}\s*\/\s*[0-9]{1,4}/.test(val);
1440
- var isCssAspectRatio = (val) => {
1441
- return isString(val) && val.split(/\s+/).every((i) => tokens.includes(i) || isRatio(i));
1442
- };
1867
+ // dist/runtime/literals/retainAfter.js
1868
+ function retainAfter(content, find2) {
1869
+ const parts = content.split(find2);
1870
+ parts.shift();
1871
+ return parts.join(find2);
1872
+ }
1443
1873
 
1444
- // dist/runtime/type-guards/isInlineSvg.js
1445
- var isInlineSvg = (v) => {
1446
- return isString(v) && v.trim().startsWith(`<svg`) && v.trim().endsWith(`</svg>`);
1447
- };
1874
+ // dist/runtime/literals/surround.js
1875
+ function surround(prefix, postfix) {
1876
+ return (input) => `${prefix}${input}${postfix}`;
1877
+ }
1448
1878
 
1449
- // dist/runtime/type-guards/higher-order/endsWith.js
1450
- var endsWith = (endingIn2) => (val) => {
1451
- return ifString(val, (v) => v.endsWith(endingIn2) ? true : false, (v) => ifNumber(v, (n) => String(n).endsWith(endingIn2) ? true : false, () => false));
1452
- };
1879
+ // dist/runtime/literals/stripAfter.js
1880
+ function stripAfter(content, find2) {
1881
+ return content.split(find2).shift();
1882
+ }
1453
1883
 
1454
- // dist/runtime/type-guards/higher-order/startsWith.js
1455
- var startsWith = (startingWith) => (val) => {
1456
- return isString(val) ? val.startsWith(startingWith) ? true : false : isNumber(val) ? String(val).startsWith(startingWith) ? true : false : false;
1457
- };
1884
+ // dist/runtime/literals/stripBefore.js
1885
+ function stripBefore(content, find2) {
1886
+ return content.split(find2).slice(1).join(find2);
1887
+ }
1458
1888
 
1459
- // dist/runtime/type-guards/higher-order/isLength.js
1460
- function isLength(value, len) {
1461
- return isArray(value) ? isEqual(value.length)(len) ? true : false : isString(value) ? isEqual(value.length)(len) ? true : false : isObject(value) ? isEqual(keysOf(value))(len) ? true : false : false;
1889
+ // dist/runtime/literals/trim.js
1890
+ function trim(input) {
1891
+ return input.trim();
1892
+ }
1893
+ function trimLeft(input) {
1894
+ return input.trimStart();
1895
+ }
1896
+ function trimStart(input) {
1897
+ return input.trimStart();
1898
+ }
1899
+ function trimRight(input) {
1900
+ return input.trimEnd();
1901
+ }
1902
+ function trimEnd(input) {
1903
+ return input.trimEnd();
1462
1904
  }
1463
1905
 
1464
- // dist/runtime/type-guards/higher-order/isTypeOf.js
1465
- var isTypeOf = (type) => (value) => {
1466
- return typeof value === type;
1906
+ // dist/runtime/literals/toPascalCase.js
1907
+ function toPascalCase(input, preserveWhitespace = void 0) {
1908
+ const [_, preWhite, focus, postWhite] = /^(\s*)(.*?)(\s*)$/.exec(input);
1909
+ const convertInteriorToCap = (i) => i.replace(/[ |_|-]+([0-9]*?[a-z|A-Z]{1})/gs, (_2, p1) => p1.toUpperCase());
1910
+ const startingToCap = (i) => i.replace(/^[_|-]*?([0-9]*?[a-z]{1})/gs, (_2, p1) => p1.toUpperCase());
1911
+ const replaceLeadingTrash = (i) => i.replace(/^[-_]/s, "");
1912
+ const replaceTrailingTrash = (i) => i.replace(/[-_]$/s, "");
1913
+ const pascal = `${preserveWhitespace ? preWhite : ""}${capitalize(replaceTrailingTrash(replaceLeadingTrash(convertInteriorToCap(startingToCap(focus)))))}${preserveWhitespace ? postWhite : ""}`;
1914
+ return pascal;
1915
+ }
1916
+
1917
+ // dist/runtime/literals/toUppercase.js
1918
+ function toUppercase(str) {
1919
+ return str.split("").map((i) => ifLowercaseChar(i, (v) => capitalize(v), (v) => v)).join("");
1920
+ }
1921
+
1922
+ // dist/runtime/literals/toNumericArray.js
1923
+ var toNumericArray = (arr) => {
1924
+ return arr.map((i) => Number(i));
1467
1925
  };
1468
1926
 
1469
- // dist/runtime/type-guards/higher-order/isTuple.js
1470
- var isTuple = (...tuple3) => {
1471
- const results = tuple3.map((i) => i(ShapeApiImplementation)).map((i) => isDoneFn(i) ? i.done() : i);
1472
- return (v) => {
1473
- return isArray(v) && v.length === results.length && results.every(isShape) && v.every((item, idx) => isSameTypeOf(results[idx])(item));
1474
- };
1927
+ // dist/runtime/literals/truncate.js
1928
+ var truncate = (content, maxLength, ellipsis = false) => {
1929
+ const overLimit = content.length > maxLength;
1930
+ return overLimit ? ellipsis ? `${content.slice(0, maxLength)}${typeof ellipsis === "string" ? ellipsis : "..."}` : content.slice(0, maxLength) : content;
1475
1931
  };
1476
1932
 
1477
- // dist/runtime/boolean-logic/ifUndefined.js
1478
- function ifUndefined(val, ifUndefined2, ifDefined2) {
1479
- return isUndefined(val) ? ifUndefined2() : ifDefined2(val);
1480
- }
1481
- function ifDefined(val, ifVal, elseVal) {
1482
- return isDefined(val) ? ifVal : elseVal;
1483
- }
1933
+ // dist/runtime/literals/takeNumericCharacters.js
1934
+ var takeNumericCharacters = (content) => {
1935
+ let nonNumericIdx = asChars(content).findIndex((i) => !NUMERIC_CHAR.includes(i));
1936
+ return content.slice(0, nonNumericIdx);
1937
+ };
1484
1938
 
1485
- // dist/runtime/boolean-logic/ifArrayPartial.js
1486
- function ifArrayPartial() {
1487
- return (isAnArray, isNotAnArray) => {
1488
- return (val) => ifArray(val, isAnArray, isNotAnArray);
1489
- };
1490
- }
1939
+ // dist/runtime/type-conversion/asChars.js
1940
+ var asChars = (str) => {
1941
+ return str.split("");
1942
+ };
1491
1943
 
1492
- // dist/runtime/boolean-logic/handleDoneFn.js
1493
- var handleDoneFn = (val, call_bare_fn = false) => {
1494
- return isObject(val) || isFunction(val) ? isDoneFn(val) ? val.done() : isFunction(val) ? call_bare_fn ? val() : val : val : isFunction(val) ? call_bare_fn ? val() : val : val;
1944
+ // dist/runtime/literals/retainChars.js
1945
+ var retainChars = (content, ...retain2) => {
1946
+ return asChars(content).filter((c) => retain2.includes(c)).join("");
1495
1947
  };
1496
1948
 
1497
- // dist/runtime/combinators/and.js
1498
- var and = (...values) => {
1499
- return values.every((i) => i === true);
1949
+ // dist/runtime/literals/stripChars.js
1950
+ var stripChars = (content, ...strip) => {
1951
+ return asChars(content).filter((c) => !strip.includes(c)).join("");
1500
1952
  };
1501
1953
 
1502
- // dist/runtime/combinators/or.js
1503
- function or(...conditions) {
1504
- const values = conditions.some((v) => v === true ? true : false);
1505
- return values;
1954
+ // dist/runtime/type-conversion/mergeObjects.js
1955
+ function mergeObjects(defVal, override) {
1956
+ const intersectingKeys = sharedKeys(defVal, override);
1957
+ const defUnique = withoutKeys(defVal, ...intersectingKeys);
1958
+ const overrideUnique = withoutKeys(defVal, ...intersectingKeys);
1959
+ const merged = {
1960
+ ...intersectingKeys.reduce((acc, key) => typeof override[key] === "undefined" ? { ...acc, [key]: defVal[key] } : { ...acc, [key]: override[key] }, {}),
1961
+ ...defUnique,
1962
+ ...overrideUnique
1963
+ };
1964
+ return merged;
1506
1965
  }
1507
1966
 
1508
- // dist/runtime/dictionary/keysOf.js
1509
- function keysOf(container) {
1510
- const keys = Array.isArray(container) ? Object.keys(container).map((i) => Number(i)) : isObject(container) ? isRef(container) ? ["value"] : Object.keys(container) : [];
1511
- return keys;
1967
+ // dist/runtime/type-conversion/optional.js
1968
+ function optional(...values) {
1969
+ return values.length === 1 ? values[0] : values;
1512
1970
  }
1513
1971
 
1514
- // dist/runtime/dictionary/entries.js
1515
- function entries(obj) {
1516
- const iterable = {
1517
- *[Symbol.iterator]() {
1518
- for (const k of keysOf(obj)) {
1519
- yield [k, obj[k]];
1520
- }
1521
- }
1522
- };
1523
- return iterable;
1972
+ // dist/runtime/type-guards/isUndefined.js
1973
+ function isUndefined(value) {
1974
+ return typeof value === "undefined" ? true : false;
1524
1975
  }
1525
1976
 
1526
- // dist/runtime/dictionary/get.js
1527
- function updatedDotPath(value, dotpath, segment) {
1528
- return isRef(value) ? dotpath.replace(segment, `Ref(${segment})`) : dotpath;
1977
+ // dist/runtime/type-conversion/mergeScalars.js
1978
+ function mergeScalars(a, b) {
1979
+ return isUndefined(b) ? a : b;
1529
1980
  }
1530
- function getValue(value, dotPath, defaultValue, handleInvalid, fullDotPath) {
1531
- const pathSegments = isTruthy(dotPath) ? dotPath.split(".") : [];
1532
- const idx = pathSegments[0];
1533
- const hasMoreSegments = pathSegments.length > 1;
1534
- const valueIsIndexable = isContainer(value) && hasIndexOf(value, idx);
1535
- const hasHandler = !isSpecificConstant("not-defined")(handleInvalid);
1536
- const invalidDotPath = createErrorCondition("invalid-dot-path", `The segment "${idx}" in the dotpath "${fullDotPath}" was not indexable and no default value existed on: ${JSON.stringify(value)}`);
1537
- const current = hasMoreSegments ? isContainer(value) && idx in value ? getValue(indexOf(value, idx), pathSegments.join(".").replace(`${idx}.`, ""), defaultValue, handleInvalid, updatedDotPath(value, fullDotPath, idx)) : hasHandler ? handleInvalid : invalidDotPath : valueIsIndexable ? hasDefaultValue(hasDefaultValue) ? indexOf(value, idx) || defaultValue : indexOf(value, idx) : hasHandler ? handleInvalid : invalidDotPath;
1538
- return current;
1981
+
1982
+ // dist/runtime/type-conversion/mergeTuples.js
1983
+ function mergeTuples(a, b) {
1984
+ return b.length > a.length ? b.map((v, idx) => v !== void 0 ? v : a[idx]) : [...b, ...a.slice(b.length)].map((v, idx) => v !== void 0 ? v : a[idx]);
1539
1985
  }
1540
- function get(value, dotPath, options = {
1541
- defaultValue: NO_DEFAULT_VALUE,
1542
- handleInvalidDotpath: NOT_DEFINED
1543
- }) {
1544
- const outcome = dotPath === null || dotPath === "" ? value : getValue(value, dotPath, (options == null ? void 0 : options.defaultValue) || NO_DEFAULT_VALUE, (options == null ? void 0 : options.handleInvalidDotpath) || NOT_DEFINED, String(dotPath));
1545
- return outcome;
1986
+
1987
+ // dist/runtime/type-conversion/unionize.js
1988
+ function unionize(value, inUnionWith) {
1989
+ return value;
1546
1990
  }
1547
1991
 
1548
- // dist/runtime/dictionary/omit.js
1549
- function omit(obj, ...removeKeys) {
1550
- const keys = Object.keys(obj);
1551
- return keys.reduce((acc, key) => removeKeys.includes(key) ? acc : {
1552
- ...acc,
1553
- [key]: obj[key]
1554
- }, {});
1992
+ // dist/runtime/type-conversion/intersect.js
1993
+ function intersect(value, intersectedWith) {
1994
+ return value;
1555
1995
  }
1556
1996
 
1557
- // dist/runtime/dictionary/retain.js
1558
- var retain = (dict2, ...keys) => {
1559
- let output = {};
1560
- for (const k of keys) {
1561
- output = {
1562
- ...output,
1563
- [k]: dict2[k]
1564
- };
1997
+ // dist/runtime/type-conversion/never.js
1998
+ function never(val) {
1999
+ return val;
2000
+ }
2001
+
2002
+ // dist/runtime/type-conversion/union.js
2003
+ var union = (...options) => (value) => value;
2004
+
2005
+ // dist/runtime/type-conversion/toNumber.js
2006
+ var convertScalar = (val) => {
2007
+ switch (typeof val) {
2008
+ case "number":
2009
+ return val;
2010
+ case "string":
2011
+ return Number(val);
2012
+ case "boolean":
2013
+ return val ? 1 : 0;
2014
+ default:
2015
+ throw Error(`${typeof val} is an invalid scalar type to convert to a number!`);
1565
2016
  }
1566
- return output;
1567
2017
  };
2018
+ var convertList = (val) => val.map((i) => convertScalar(i));
2019
+ function toNumber(value) {
2020
+ return Array.isArray(value) ? convertList(value) : convertScalar(value);
2021
+ }
1568
2022
 
1569
- // dist/runtime/dictionary/sharedKeys.js
1570
- var sharedKeys = (a, b) => {
1571
- const ka = Object.keys(a);
1572
- const kb = Object.keys(b);
1573
- return ka.filter((k) => kb.includes(k));
2023
+ // dist/runtime/type-conversion/asRecord.js
2024
+ var asRecord = (obj) => {
2025
+ return obj;
1574
2026
  };
1575
2027
 
1576
- // dist/runtime/dictionary/takeProp.js
1577
- var takeProp = (val, prop, otherwise) => {
1578
- return (isObject(val) || isArray(val)) && prop in val ? val[prop] : otherwise;
2028
+ // dist/runtime/type-conversion/asString.js
2029
+ var asString = (value) => {
2030
+ return isString(value) ? value : isNumber(value) ? `${value}` : isBoolean(value) ? `${value}` : String(value);
1579
2031
  };
1580
2032
 
1581
- // dist/runtime/dictionary/withKeys.js
1582
- var withKeys = (dict2, ...keys) => retain(dict2, ...keys);
2033
+ // dist/runtime/type-conversion/ip6GroupExpansion.js
2034
+ var ip6GroupExpansion = (ip) => {
2035
+ return stripTrailing(ip.replaceAll("::", ":0000:"), ":");
2036
+ };
1583
2037
 
1584
- // dist/runtime/dictionary/withoutKeys.js
1585
- var withoutKeys = (dict2, ...exclude) => omit(dict2, ...exclude);
2038
+ // dist/runtime/literals/retainWhile.js
2039
+ var retainWhile = (content, ...retain2) => {
2040
+ const stopIdx = asChars(content).findIndex((c) => !retain2.includes(c));
2041
+ return content.slice(0, stopIdx);
2042
+ };
1586
2043
 
1587
- // dist/runtime/dictionary/withoutValue.js
1588
- function withoutValue(val) {
1589
- return (obj) => {
1590
- return Object.keys(obj).reduce((acc, key) => val === obj[key] ? acc : { ...acc, [key]: obj[key] }, {});
1591
- };
1592
- }
2044
+ // dist/runtime/literals/asPhoneNumber.js
2045
+ var getPhoneCountryCode = (phone) => {
2046
+ return phone.trim().startsWith("+") || phone.trim().startsWith("00") ? retainWhile(stripLeading(stripLeading(phone.trim(), "+"), "00"), ...NUMERIC_CHAR) : "";
2047
+ };
2048
+ var removePhoneCountryCode = (phone) => {
2049
+ const countryCode = getPhoneCountryCode(phone);
2050
+ return countryCode !== "" ? stripLeading(stripLeading(phone.trim(), "+", "00"), countryCode).trim() : phone.trim();
2051
+ };
2052
+ var convert = (countryCode, phone, delimiter, para) => {
2053
+ const parts = stripChars(phone, "(", ")").trim().split(/[-. ]/);
2054
+ const isRegional = parts.length === 2 ? true : false;
2055
+ const isCountry = parts.length === 3 ? true : false;
2056
+ const isShortCode = parts.length === 1 && asChars(phone).length < 7 ? true : false;
2057
+ const replacement = isShortCode ? phone : isRegional ? parts.join(delimiter) : isCountry && para ? `(${parts[0]}) ${parts.slice(1).join(delimiter)}` : isCountry ? parts.join(delimiter) : void 0;
2058
+ if (!replacement) {
2059
+ throw new Error(`invalid phone number: ${phone}. Unable to parse!`);
2060
+ }
2061
+ return countryCode === "" ? replacement : `+${countryCode} ${replacement}`;
2062
+ };
2063
+ var asPhoneNumber = (phone, format = "Dotted (e.g., 456.555.1212)") => {
2064
+ if (!isPhoneNumber(phone)) {
2065
+ throw new Error(`Invalid phone number presented to asPhoneNumber(phone,format)!`);
2066
+ }
2067
+ const countryCode = getPhoneCountryCode(phone);
2068
+ const remaining = removePhoneCountryCode(phone);
2069
+ let result2;
2070
+ switch (format) {
2071
+ case "Dashed (e.g., 456-555-1212)":
2072
+ result2 = convert(countryCode, remaining, "-", false);
2073
+ break;
2074
+ case "Dotted (e.g., 456.555.1212)":
2075
+ result2 = convert(countryCode, remaining, ".", false);
2076
+ break;
2077
+ case "ParaDashed (e.g., (456) 555-1212)":
2078
+ result2 = convert(countryCode, remaining, "-", true);
2079
+ break;
2080
+ case "ParaSpaced (e.g., (456) 555 1212)":
2081
+ result2 = convert(countryCode, remaining, " ", true);
2082
+ break;
2083
+ }
2084
+ return result2;
2085
+ };
1593
2086
 
1594
- // dist/runtime/dictionary/withDefaults.js
1595
- var withDefaults = (with_defaults) => (obj) => {
1596
- const merged = {
1597
- ...with_defaults,
1598
- ...obj
1599
- };
1600
- return merged;
2087
+ // dist/runtime/errors/kindedError.js
2088
+ var kindError = (kind, _defineContext) => (msg, context) => {
2089
+ const err = new Error(msg);
2090
+ err.name = toPascalCase(kind);
2091
+ err.kind = toKebabCase(kind);
2092
+ err.__kind = "KindError";
2093
+ err.context = context;
2094
+ return err;
1601
2095
  };
1602
2096
 
1603
- // dist/runtime/errors/createErrorCondition.js
1604
- var createErrorCondition = (kind, msg = "", utility = "") => {
2097
+ // dist/runtime/functional/result.js
2098
+ var result = "NOT READY";
2099
+
2100
+ // dist/runtime/functions/fnMeta.js
2101
+ var fnMeta = (func) => {
2102
+ const fn2 = (...args) => func(...args);
2103
+ const props = Object.keys(fn2).reduce((acc, key) => ({ ...acc, [key]: fn2[key] }), {});
1605
2104
  return {
1606
- __kind: "ErrorCondition",
1607
- kind,
1608
- msg,
1609
- utility
2105
+ fn: fn2,
2106
+ props
1610
2107
  };
1611
2108
  };
1612
2109
 
1613
- // dist/runtime/literals/box.js
1614
- function box(value) {
1615
- const rtn = {
1616
- __type: "box",
1617
- value,
1618
- unbox: (...p) => {
1619
- return typeof value === "function" ? value(...p) : value;
1620
- }
1621
- };
1622
- return rtn;
1623
- }
1624
- function isBox(thing) {
1625
- return typeof thing === "object" && "__type" in thing && thing.__type === "box";
1626
- }
1627
- function boxDictionaryValues(dict2) {
1628
- const keys = Object.keys(dict2);
1629
- return keys.reduce((acc, key) => ({ ...acc, [key]: box(dict2[key]) }), {});
1630
- }
1631
- function unbox(val) {
1632
- return isBox(val) ? val.value : val;
1633
- }
2110
+ // dist/runtime/functions/wrapFn.js
2111
+ var wrapFn = "NOT IMPLEMENTED";
1634
2112
 
1635
- // dist/runtime/literals/identity.js
1636
- var identity = (v) => v;
2113
+ // dist/runtime/initializers/addFnToProps.js
2114
+ var addPropsToFn = (fn2, clone_fn) => {
2115
+ const localFn = clone_fn ? (...args) => fn2(args) : fn2;
2116
+ return (obj) => {
2117
+ for (const k in obj) {
2118
+ localFn[k] = obj[k];
2119
+ }
2120
+ return localFn;
2121
+ };
2122
+ };
1637
2123
 
1638
- // dist/runtime/literals/literal.js
1639
- function idLiteral(o) {
1640
- return { ...o, id: o.id };
1641
- }
1642
- function nameLiteral(o) {
1643
- return o;
1644
- }
1645
- function kindLiteral(o) {
1646
- return o;
1647
- }
1648
- function idTypeGuard(_o) {
1649
- return true;
1650
- }
1651
- function literal(obj) {
1652
- return obj;
1653
- }
2124
+ // dist/runtime/initializers/addPropsToFn.js
2125
+ var addFnToProps = (props, _clone_fn) => (fn2) => {
2126
+ const localFn = (...args) => fn2(args);
2127
+ for (const k in props) {
2128
+ localFn[k] = props[k];
2129
+ }
2130
+ return localFn;
2131
+ };
1654
2132
 
1655
- // dist/runtime/literals/stripTrailing.js
1656
- var switchType = (content) => (val) => {
1657
- return typeof content === "number" ? Number(val) : val;
2133
+ // dist/runtime/initializers/createFnWithProps.js
2134
+ var createFnWithProps = (fn2, props, narrowing = false) => {
2135
+ const fnWithProps = fn2;
2136
+ for (const prop of keysOf(props)) {
2137
+ fnWithProps[prop] = props[prop];
2138
+ }
2139
+ return isTrue(narrowing) ? fnWithProps : fnWithProps;
1658
2140
  };
1659
- function stripTrailing(content, strip) {
1660
- var _a;
1661
- const re = new RegExp(`(.*)${strip}$`);
1662
- return ((_a = String(content)) == null ? void 0 : _a.endsWith(String(strip))) ? switchType(content)(String(content).replace(re, "$1")) : switchType(content)(String(content));
1663
- }
1664
2141
 
1665
- // dist/runtime/literals/stripLeading.js
1666
- function stripLeading(content, strip) {
1667
- const re = new RegExp(`^${strip}(.*)`);
1668
- return content.startsWith(strip) ? (
1669
- // starts with
1670
- content.replace(re, "$1")
1671
- ) : (
1672
- // does not
1673
- content
1674
- );
2142
+ // dist/runtime/initializers/defineObj.js
2143
+ function defineObj(literal2 = {}) {
2144
+ return (wide2 = {}) => {
2145
+ const obj = literal2 ? { ...literal2, ...wide2 } : wide2;
2146
+ return obj;
2147
+ };
1675
2148
  }
1676
2149
 
1677
- // dist/runtime/literals/ensureTrailing.js
1678
- function ensureTrailing(content, ensure) {
1679
- return (
1680
- //
1681
- content.endsWith(ensure) ? content : `${content}${ensure}`
1682
- );
1683
- }
2150
+ // dist/runtime/initializers/defineTuple.js
2151
+ var defineTuple = (...values) => {
2152
+ return values.map((i) => isFunction(i) ? handleDoneFn(i(ShapeApiImplementation)) : i);
2153
+ };
1684
2154
 
1685
- // dist/runtime/literals/ensureLeading.js
1686
- function ensureLeading(content, ensure) {
1687
- return String(content).startsWith(ensure) ? content : `${ensure}${content}`;
1688
- }
2155
+ // dist/runtime/lists/asArray.js
2156
+ var asArray = (thing) => {
2157
+ return Array.isArray(thing) === true ? (
2158
+ // proxy thing back as it's already an array
2159
+ thing
2160
+ ) : typeof thing === "undefined" ? [] : [thing];
2161
+ };
1689
2162
 
1690
- // dist/runtime/literals/ensureSurround.js
1691
- function ensureSurround(prefix, postfix) {
1692
- const fn2 = (input) => {
1693
- const result2 = ensureTrailing(ensureLeading(input, prefix), postfix);
1694
- return result2;
1695
- };
1696
- return fn2;
2163
+ // dist/runtime/lists/getEach.js
2164
+ function getEach(list2, dotPath) {
2165
+ const result2 = list2.map((i) => isNull(dotPath) ? i : isContainer(i) ? get(i, dotPath) : Never).filter((i) => !isErrorCondition(i));
2166
+ return result2;
1697
2167
  }
1698
2168
 
1699
- // dist/runtime/literals/ifUppercase.js
1700
- function ifUppercaseChar(ch, callbackForMatch, callbackForNoMatch) {
1701
- if (ch.length !== 1) {
1702
- throw new Error(`Invalid string length passed to ifUppercaseChar(ch); this function requires a single character but ${ch.length} were received`);
2169
+ // dist/runtime/lists/indexOf.js
2170
+ function indexOf(val, index) {
2171
+ const isNegative = isNumber(index) && index < 0;
2172
+ if (isNegative && !Array.isArray(val)) {
2173
+ throw new Error(`The indexOf(val,idx) utility received a negative index value [${index}] but the value being de-references is not an array [${typeof val}]!`);
1703
2174
  }
1704
- return LOWER_ALPHA_CHARS.includes(ch) ? callbackForMatch(ch) : callbackForNoMatch(ch);
2175
+ if (isNegative && Array.isArray(val) && val.length < Math.abs(index)) {
2176
+ throw new Error(`The indexOf(val,idx) utility received a negative index of ${index} but the length of the array passed in is only ${val.length}! This is not allowed.`);
2177
+ }
2178
+ const idx = isNegative && Array.isArray(val) ? val.length + 1 - Math.abs(index) : index;
2179
+ return index === null ? val : isNull(idx) ? val : isArray(val) ? Number(idx) in val ? val[Number(idx)] : Never : isObject(val) ? String(idx) in val ? val[String(idx)] : Never : Never;
1705
2180
  }
1706
2181
 
1707
- // dist/runtime/literals/pathJoin.js
1708
- function pathJoin(...segments) {
1709
- const clean_path = segments.map((i) => stripTrailing(stripLeading(i, "/"), "/")).join("/");
1710
- const original_path = segments.join("/");
1711
- const pre = original_path.startsWith("/") ? "/" : "";
1712
- const post = original_path.endsWith("/") ? "/" : "";
1713
- return `${pre}${clean_path}${post}`;
2182
+ // dist/runtime/boolean-logic/ifNotNull.js
2183
+ function ifNotNull(val, ifVal, elseVal) {
2184
+ return isNull(val) ? elseVal() : ifVal(val);
1714
2185
  }
1715
2186
 
1716
- // dist/runtime/literals/narrow.js
1717
- function narrow(...values) {
1718
- return values.length === 1 ? values[0] : values;
2187
+ // dist/runtime/lists/intersection.js
2188
+ function intersectWithOffset(a, b, deref) {
2189
+ const aIndexable = a.every((i) => isIndexable(i));
2190
+ const bIndexable = b.every((i) => isIndexable(i));
2191
+ if (!aIndexable || !bIndexable) {
2192
+ if (!aIndexable) {
2193
+ throw new Error(`The "a" array passed into intersect(a,b) was not fully composed of indexable properties: ${a.map((i) => typeof i).join(", ")}`);
2194
+ } else {
2195
+ throw new Error(`The "b" array passed into intersect(a,b) was not fully composed of indexable properties: ${b.map((i) => typeof i).join(", ")}`);
2196
+ }
2197
+ }
2198
+ const aMatches = getEach(a, deref);
2199
+ const bMatches = getEach(b, deref);
2200
+ const sharedKeys2 = ifNotNull(deref, (v) => [
2201
+ a.filter((i) => Array.from(bMatches).includes(get(i, v))),
2202
+ b.filter((i) => Array.from(aMatches).includes(get(i, v)))
2203
+ ], () => a.filter((k) => b.includes(k)));
2204
+ return sharedKeys2;
2205
+ }
2206
+ function intersectNoOffset(a, b) {
2207
+ return a.length < b.length ? a.filter((val) => b.includes(val)) : b.filter((val) => a.includes(val));
1719
2208
  }
2209
+ var intersection = (a, b, deref = null) => {
2210
+ return deref === null ? intersectNoOffset(a, b) : intersectWithOffset(a, b, deref);
2211
+ };
1720
2212
 
1721
- // dist/runtime/literals/tuple.js
1722
- var tuple = (...values) => {
1723
- const arr = values.length === 1 ? values[0] : values;
1724
- return asArray(arr);
2213
+ // dist/runtime/lists/unique.js
2214
+ var unique = (...values) => {
2215
+ const u = [];
2216
+ for (const i of values.flat()) {
2217
+ if (!u.includes(i)) {
2218
+ u.push(i);
2219
+ }
2220
+ }
2221
+ return u;
1725
2222
  };
1726
2223
 
1727
- // dist/runtime/literals/capitalize.js
1728
- function capitalize(str) {
1729
- return `${str == null ? void 0 : str.slice(0, 1).toUpperCase()}${str == null ? void 0 : str.slice(1)}`;
2224
+ // dist/runtime/lists/logicalReturns.js
2225
+ function logicalReturns(conditions) {
2226
+ return conditions.map((c) => isBoolean(c) ? c : isFunction(c) ? c() : Never);
1730
2227
  }
1731
2228
 
1732
- // dist/runtime/literals/uncapitalize.js
1733
- function uncapitalize(str) {
1734
- return `${str == null ? void 0 : str.slice(0, 1).toLowerCase()}${str == null ? void 0 : str.slice(1)}`;
1735
- }
2229
+ // dist/runtime/lists/find.js
2230
+ var find = (list2, deref = null) => (comparator) => {
2231
+ return list2.find((i) => {
2232
+ const val = deref ? isContainer(i) ? deref in i ? i[deref] : void 0 : i : i;
2233
+ return val === comparator;
2234
+ });
2235
+ };
1736
2236
 
1737
- // dist/runtime/literals/uppercase.js
1738
- function uppercase(str) {
1739
- return str.toUpperCase();
1740
- }
2237
+ // dist/runtime/lists/filter.js
2238
+ var FILTER = "NOT READY";
1741
2239
 
1742
- // dist/runtime/literals/lowercase.js
1743
- function lowercase(str) {
1744
- return str.toLowerCase();
2240
+ // dist/runtime/lists/createConverter.js
2241
+ function createConverter(mapper) {
2242
+ return (input) => {
2243
+ let result2;
2244
+ if (isNothing(input)) {
2245
+ result2 = mapper.nothing ? mapper.nothing(input) : Never;
2246
+ } else if (isObject(input)) {
2247
+ result2 = mapper.object ? mapper.object(input) : Never;
2248
+ } else {
2249
+ switch (typeof input) {
2250
+ case "string":
2251
+ result2 = mapper.string ? mapper.string(input) : Never;
2252
+ break;
2253
+ case "number":
2254
+ case "bigint":
2255
+ result2 = mapper.number ? mapper.number(input) : Never;
2256
+ break;
2257
+ case "boolean":
2258
+ result2 = mapper.boolean ? mapper.boolean(input) : Never;
2259
+ break;
2260
+ default:
2261
+ throw new Error(`Unhandled type: ${typeof input}`);
2262
+ }
2263
+ }
2264
+ return result2;
2265
+ };
1745
2266
  }
1746
2267
 
1747
- // dist/runtime/literals/widen.js
1748
- function widen(value) {
1749
- return value;
1750
- }
2268
+ // dist/runtime/lists/slice.js
2269
+ var slice = (list2, start, end) => {
2270
+ return list2.slice(start, end);
2271
+ };
1751
2272
 
1752
- // dist/runtime/literals/toCamelCase.js
1753
- function toCamelCase(input, preserveWhitespace) {
1754
- const pascal = preserveWhitespace ? toPascalCase(input, preserveWhitespace) : toPascalCase(input);
1755
- const [_, preWhite, focus, postWhite] = /^(\s*)(.*?)(\s*)$/.exec(pascal);
1756
- const camel = (preserveWhitespace ? preWhite : "") + focus.replace(/^.*?([0-9]*?[a-z|A-Z]{1})/s, (_2, p1) => p1.toLowerCase()) + (preserveWhitespace ? postWhite : "");
1757
- return camel;
1758
- }
2273
+ // dist/runtime/lists/last.js
2274
+ var last = (list2) => {
2275
+ return [...list2].pop();
2276
+ };
1759
2277
 
1760
- // dist/runtime/literals/toKebabCase.js
1761
- function toKebabCase(input, _preserveWhitespace) {
1762
- const [_, preWhite, focus, postWhite] = /^(\s*)(.*?)(\s*)$/.exec(input);
1763
- const replaceWhitespace = (i) => i.replace(/\s/gs, "-");
1764
- const replaceUppercase = (i) => i.replace(/[A-Z]/g, (c) => `-${c[0].toLowerCase()}`);
1765
- const replaceLeadingDash = (i) => i.replace(/^-/s, "");
1766
- const replaceTrailingDash = (i) => i.replace(/-$/s, "");
1767
- const replaceUnderscore = (i) => i.replace(/_/g, "-");
1768
- const removeDupDashes = (i) => i.replace(/-+/g, "-");
1769
- return removeDupDashes(`${preWhite}${replaceUnderscore(replaceTrailingDash(replaceLeadingDash(removeDupDashes(replaceWhitespace(replaceUppercase(focus))))))}${postWhite}`);
1770
- }
2278
+ // dist/runtime/lists/reverse.js
2279
+ var reverse = (list2) => {
2280
+ return [...list2].reverse();
2281
+ };
1771
2282
 
1772
- // dist/runtime/literals/ifLowercase.js
1773
- function ifLowercaseChar(ch, callbackForMatch, callbackForNoMatch) {
1774
- if (ch.length !== 1) {
1775
- throw new Error(`call to ifUppercaseChar received ${ch.length} characters but is only valid when one character is passed in!`);
1776
- }
1777
- return LOWER_ALPHA_CHARS.includes(ch) ? callbackForMatch(ch) : callbackForNoMatch(ch);
1778
- }
2283
+ // dist/runtime/lists/pop.js
2284
+ var pop = (list2) => {
2285
+ return list2.length > 0 ? [last(list2), slice(list2, 0, -1)] : void 0;
2286
+ };
1779
2287
 
1780
- // dist/runtime/literals/toSnakeCase.js
1781
- function toSnakeCase(input, preserveWhitespace = false) {
1782
- const [_, preWhite, focus, postWhite] = /^(\s*)(.*?)(\s*)$/.exec(input);
1783
- const convertInteriorSpace = (input2) => input2.replace(/\s+/gs, "_");
1784
- const convertDashes = (input2) => input2.replace(/-/gs, "_");
1785
- const injectUnderscoreBeforeCaps = (input2) => input2.replace(/([A-Z])/gs, "_$1");
1786
- const removeLeadingUnderscore = (input2) => input2.startsWith("_") ? input2.slice(1) : input2;
1787
- return ((preserveWhitespace ? preWhite : "") + removeLeadingUnderscore(injectUnderscoreBeforeCaps(convertDashes(convertInteriorSpace(focus)))).toLowerCase() + (preserveWhitespace ? postWhite : "")).replace(/__/g, "_");
2288
+ // dist/runtime/lists/join.js
2289
+ function join(joinWith) {
2290
+ return (...tuple3) => {
2291
+ return tuple3.join(joinWith);
2292
+ };
1788
2293
  }
1789
2294
 
1790
- // dist/runtime/literals/toString.js
1791
- function toString(val) {
1792
- return String(val);
1793
- }
2295
+ // dist/runtime/lists/shift.js
2296
+ var shift = (list2) => {
2297
+ return list2.length > 0 ? [list2[0], list2.slice(1)] : void 0;
2298
+ };
1794
2299
 
1795
- // dist/runtime/literals/pluralize.js
1796
- var isException = (word) => Object.keys(PLURAL_EXCEPTIONS).includes(word);
1797
- var endingIn = (word, postfix) => {
1798
- switch (postfix) {
1799
- case "is":
1800
- return word.endsWith(postfix) ? `${word}es` : void 0;
1801
- case "singular-noun":
1802
- return SINGULAR_NOUN_ENDINGS.some((i) => word.endsWith(i)) ? split(word).every((i) => [...ALPHA_CHARS].includes(i)) ? `${word}es` : void 0 : void 0;
1803
- case "f":
1804
- return word.endsWith("f") ? stripTrailing(word, "f") + "ves" : word.endsWith("fe") ? stripTrailing(word, "fe") + "ves" : void 0;
1805
- case "y":
1806
- return word.endsWith("y") ? CONSONANTS.includes(word.slice(-2, 1)) ? stripTrailing(word, "y") + "ies" : void 0 : void 0;
1807
- default:
1808
- throw new Error(`endingIn received "${postfix}" as a postfix but this ending is not known!`);
1809
- }
2300
+ // dist/runtime/meta/youtube-meta.js
2301
+ var getYouTubePageType = (url) => {
2302
+ return isYouTubeUrl(url) ? isYouTubeVideoUrl(url) && (hasUrlQueryParameter(url, "v") || isYouTubeShareUrl(url)) ? hasUrlQueryParameter(url, "list") ? isYouTubeShareUrl(url) ? hasUrlQueryParameter(url, "t") ? `play::video::in-list::share-link::with-timestamp` : `play::video::in-list::share-link` : `play::video::in-list` : isYouTubeShareUrl(url) ? hasUrlQueryParameter(url, "t") ? `play::video::solo::share-link::with-timestamp` : `play::video::solo::share-link` : `play::video::solo` : isYouTubeCreatorUrl(url) ? getUrlPath(url).includes("/videos") ? "creator::videos" : getUrlPath(url).includes("/playlists") ? "creator::playlists" : last(getUrlPath(url).split("/")).startsWith("@") || getUrlPath(url).includes("/featured") ? "creator::featured" : "creator::other" : isYouTubeFeedUrl(url) ? isYouTubeFeedUrl(url, "history") ? "feed::history" : isYouTubeFeedUrl(url, "playlists") ? "feed::playlists" : isYouTubeFeedUrl(url, "liked") ? "feed::liked" : isYouTubeFeedUrl(url, "subscriptions") ? "feed::subscriptions" : isYouTubeFeedUrl(url, "trending") ? "feed::trending" : "feed::other" : isYouTubeVideosInPlaylist(url) ? "playlist::show" : "other" : Never;
1810
2303
  };
1811
- var pluralize = (word) => {
1812
- const result2 = isException(word) ? PLURAL_EXCEPTIONS[word] : endingIn(word, "is") || endingIn(word, "singular-noun") || endingIn(word, "f") || endingIn(word, "y") || `${word}s`;
1813
- return result2;
2304
+ var youtubeMeta = (url) => {
2305
+ return isYouTubeUrl(url) ? {
2306
+ url,
2307
+ isYouTubeUrl: true,
2308
+ isShareUrl: isYouTubeShareUrl(url),
2309
+ pageType: getYouTubePageType(url)
2310
+ } : {
2311
+ url,
2312
+ isYouTubeUrl: false
2313
+ };
1814
2314
  };
1815
2315
 
1816
- // dist/runtime/literals/retainAfter.js
1817
- function retainAfter(content, find2) {
1818
- const parts = content.split(find2);
1819
- parts.shift();
1820
- return parts.join(find2);
1821
- }
2316
+ // dist/runtime/meta/urlMeta.js
2317
+ var PROTOCOLS = Object.values(NETWORK_PROTOCOL_LOOKUP).flat().filter((i) => i !== "");
2318
+ var getUrlProtocol = (url) => {
2319
+ const proto = PROTOCOLS.find((p) => url.startsWith(`${p}://`));
2320
+ return proto;
2321
+ };
2322
+ var removeUrlProtocol = (url) => {
2323
+ return stripBefore(url, "://");
2324
+ };
2325
+ var ensurePath = (val) => val === "" ? "" : stripTrailing(ensureLeading(val, "/"), "/");
2326
+ var getUrlPath = (url) => {
2327
+ return isUrl(url) ? ensurePath(stripAfter(stripBefore(removeUrlProtocol(url), "/"), "?")) : Never;
2328
+ };
2329
+ var getUrlQueryParams = (url) => {
2330
+ const qp = stripBefore(url, "?");
2331
+ return qp === "" ? qp : `?${qp}`;
2332
+ };
2333
+ var getUrlPort = (url) => {
2334
+ const candidate = takeNumericCharacters(stripBefore(removeUrlProtocol(url), ":"));
2335
+ return candidate === "" ? "default" : Number(candidate);
2336
+ };
2337
+ var getUrlSource = (url) => {
2338
+ const candidate = stripAfter(stripAfter(stripAfter(removeUrlProtocol(url), "/"), "?"), ":");
2339
+ return isIpAddress(candidate) || isDomainName(candidate) ? candidate : Never;
2340
+ };
2341
+ var urlMeta = (url) => {
2342
+ return {
2343
+ url,
2344
+ isUrl: isUrl(url),
2345
+ protocol: getUrlProtocol(url),
2346
+ path: getUrlPath(url),
2347
+ queryParameters: getUrlQueryParams(url),
2348
+ port: getUrlPort(url),
2349
+ source: getUrlSource(url),
2350
+ isIpAddress: isIpAddress(getUrlSource(url)),
2351
+ isIp4Address: isIp4Address(getUrlSource(url)),
2352
+ isIp6Address: isIp6Address(getUrlSource(url))
2353
+ };
2354
+ };
1822
2355
 
1823
- // dist/runtime/literals/surround.js
1824
- function surround(prefix, postfix) {
1825
- return (input) => `${prefix}${input}${postfix}`;
1826
- }
2356
+ // dist/runtime/runtime-types/shape-helpers/addToken.js
2357
+ var addToken = (token, ...params) => `<<${token}${params.length > 0 ? `::${params.join("::")}` : ""}>>`;
1827
2358
 
1828
- // dist/runtime/literals/stripAfter.js
1829
- function stripAfter(content, find2) {
1830
- return content.split(find2).shift();
1831
- }
2359
+ // dist/runtime/runtime-types/shape-helpers/atomics.js
2360
+ var boolean = (literal2) => isDefined(literal2) ? isTrue(literal2) ? addToken("true") : isFalse(literal2) ? addToken("false") : addToken("boolean") : addToken("boolean");
2361
+ var unknown = () => "<<unknown>>";
2362
+ var undefinedType = () => "<<undefined>>";
2363
+ var nullType = () => "<<null>>";
1832
2364
 
1833
- // dist/runtime/literals/stripBefore.js
1834
- function stripBefore(content, find2) {
1835
- return content.split(find2).slice(1).join(find2);
1836
- }
2365
+ // dist/runtime/runtime-types/shape-helpers/singletons.js
2366
+ var addSingleton = (token, api) => (...literals) => {
2367
+ return literals.length === 0 ? api ? api : addToken(token) : literals.length === 1 ? addToken(token, literals[0]) : addToken("union", literals.map((l) => addToken(token, `${l}`)).join(","));
2368
+ };
2369
+ var stringApi = {
2370
+ zip: () => addToken("string-set", "Zip5"),
2371
+ zipPlus4: () => addToken("string-set", "Zip5_4"),
2372
+ zipCode: () => addToken("string-set", "ZipCode"),
2373
+ militaryTime: (resolution) => {
2374
+ return addToken("string-set", "militaryTime", resolution || "HH:MM");
2375
+ },
2376
+ civilianTime: (resolution) => {
2377
+ return addToken("string-set", "militaryTime", resolution || "HH:MM");
2378
+ },
2379
+ numericString: () => addToken("string-set", "numeric"),
2380
+ ipv4Address: () => addToken("string-set", "ipv4Address"),
2381
+ ipv6Address: () => addToken("string-set", "ipv6Address"),
2382
+ done: () => addToken("string")
2383
+ };
2384
+ var string = addSingleton("string", stringApi);
2385
+ var number = addSingleton("number");
1837
2386
 
1838
- // dist/runtime/literals/trim.js
1839
- function trim(input) {
1840
- return input.trim();
1841
- }
1842
- function trimLeft(input) {
1843
- return input.trimStart();
1844
- }
1845
- function trimStart(input) {
1846
- return input.trimStart();
1847
- }
1848
- function trimRight(input) {
1849
- return input.trimEnd();
1850
- }
1851
- function trimEnd(input) {
1852
- return input.trimEnd();
1853
- }
2387
+ // dist/runtime/runtime-types/shape-helpers/functions.js
2388
+ var fn = (..._args) => ({
2389
+ returns: (_rtn) => ({
2390
+ addProperties: (_kv) => {
2391
+ return null;
2392
+ },
2393
+ done: () => {
2394
+ return null;
2395
+ }
2396
+ }),
2397
+ done: () => {
2398
+ const result2 = null;
2399
+ return result2;
2400
+ }
2401
+ });
1854
2402
 
1855
- // dist/runtime/literals/toPascalCase.js
1856
- function toPascalCase(input, preserveWhitespace = void 0) {
1857
- const [_, preWhite, focus, postWhite] = /^(\s*)(.*?)(\s*)$/.exec(input);
1858
- const convertInteriorToCap = (i) => i.replace(/[ |_|-]+([0-9]*?[a-z|A-Z]{1})/gs, (_2, p1) => p1.toUpperCase());
1859
- const startingToCap = (i) => i.replace(/^[_|-]*?([0-9]*?[a-z]{1})/gs, (_2, p1) => p1.toUpperCase());
1860
- const replaceLeadingTrash = (i) => i.replace(/^[-_]/s, "");
1861
- const replaceTrailingTrash = (i) => i.replace(/[-_]$/s, "");
1862
- const pascal = `${preserveWhitespace ? preWhite : ""}${capitalize(replaceTrailingTrash(replaceLeadingTrash(convertInteriorToCap(startingToCap(focus)))))}${preserveWhitespace ? postWhite : ""}`;
1863
- return pascal;
1864
- }
2403
+ // dist/runtime/runtime-types/shape-helpers/literal-containers.js
2404
+ var dictionary = (_obj) => {
2405
+ return null;
2406
+ };
2407
+ var tuple2 = (..._elements) => {
2408
+ return null;
2409
+ };
1865
2410
 
1866
- // dist/runtime/literals/toUppercase.js
1867
- function toUppercase(str) {
1868
- return str.split("").map((i) => ifLowercaseChar(i, (v) => capitalize(v), (v) => v)).join("");
1869
- }
2411
+ // dist/runtime/runtime-types/shape-helpers/wide-containers.js
2412
+ var record = (_key, _value) => {
2413
+ return null;
2414
+ };
2415
+ var array = (_type) => {
2416
+ return null;
2417
+ };
2418
+ var set = (_type) => {
2419
+ return null;
2420
+ };
2421
+ var map = (_key, _value) => {
2422
+ return null;
2423
+ };
2424
+ var weakMap = (_key, _value) => {
2425
+ return null;
2426
+ };
1870
2427
 
1871
- // dist/runtime/literals/toNumericArray.js
1872
- var toNumericArray = (arr) => {
1873
- return arr.map((i) => Number(i));
2428
+ // dist/runtime/runtime-types/shape-helpers/union.js
2429
+ var union2 = (...elements) => {
2430
+ const result2 = elements.map((_el) => {
2431
+ });
2432
+ return result2;
1874
2433
  };
1875
2434
 
1876
- // dist/runtime/literals/truncate.js
1877
- var truncate = (content, maxLength, ellipsis = false) => {
1878
- const overLimit = content.length > maxLength;
1879
- return overLimit ? ellipsis ? `${content.slice(0, maxLength)}${typeof ellipsis === "string" ? ellipsis : "..."}` : content.slice(0, maxLength) : content;
2435
+ // dist/runtime/runtime-types/shape.js
2436
+ var isAddOrDone = (val) => {
2437
+ return isObject(val) && hasKeys("add", "done") && typeof val.done === "function" && typeof val.add === "function";
2438
+ };
2439
+ var ShapeApiImplementation = {
2440
+ string,
2441
+ number,
2442
+ boolean,
2443
+ unknown,
2444
+ undefined: undefinedType,
2445
+ null: nullType,
2446
+ union: union2,
2447
+ fn,
2448
+ record,
2449
+ array,
2450
+ set,
2451
+ map,
2452
+ weakMap,
2453
+ dictionary,
2454
+ tuple: tuple2
2455
+ };
2456
+ var shape = (cb2) => {
2457
+ const rtn = cb2(ShapeApiImplementation);
2458
+ return handleDoneFn(isAddOrDone(rtn) ? rtn.done() : rtn);
2459
+ };
2460
+ var isShape = (v) => {
2461
+ return isString(v) && v.startsWith("<<") && v.endsWith(">>") && SHAPE_PREFIXES.some((i) => v.startsWith(`<<${i}`)) ? true : false;
1880
2462
  };
1881
2463
 
1882
- // dist/runtime/errors/kindedError.js
1883
- var kindError = (kind, _defineContext) => (msg, context) => {
1884
- const err = new Error(msg);
1885
- err.name = toPascalCase(kind);
1886
- err.kind = toKebabCase(kind);
1887
- err.__kind = "KindError";
1888
- err.context = context;
1889
- return err;
2464
+ // dist/runtime/runtime-types/choices.js
2465
+ var choices = "NOT READY";
2466
+
2467
+ // dist/runtime/runtime-types/list.js
2468
+ var createProxy = (...initialize) => {
2469
+ const state = initialize;
2470
+ state.id = null;
2471
+ const proxy = new Proxy(state, {});
2472
+ Object.defineProperty(proxy, "id", {
2473
+ enumerable: false
2474
+ });
2475
+ return proxy;
2476
+ };
2477
+ var list = (...init) => {
2478
+ return init.length === 1 && isArray(init[0]) ? createProxy(...init[0]) : createProxy(...init);
1890
2479
  };
1891
2480
 
1892
- // dist/runtime/functional/result.js
1893
- var result = "NOT READY";
2481
+ // dist/runtime/runtime-types/dict.js
2482
+ var process = (obj, _narrow, _opt) => {
2483
+ return Object.defineProperty(obj, "__id", { enumerable: false });
2484
+ };
2485
+ var dict = (obj, ...props) => process(obj, (props || []).filter((i) => !i.startsWith("opt:")), (props || []).filter((i) => i.startsWith("opt:")));
1894
2486
 
1895
- // dist/runtime/functions/fnMeta.js
1896
- var fnMeta = (func) => {
1897
- const fn2 = (...args) => func(...args);
1898
- const props = Object.keys(fn2).reduce((acc, key) => ({ ...acc, [key]: fn2[key] }), {});
2487
+ // dist/runtime/runtime-types/ip6Prefix.js
2488
+ var ip6Prefix = (...groups) => {
2489
+ const empty = addToken("string");
2490
+ let count = 4 - groups.length;
2491
+ let fillIn = [];
2492
+ for (let index = 0; index < count; index++) {
2493
+ fillIn.push(empty);
2494
+ }
2495
+ return [
2496
+ "<<string::",
2497
+ [
2498
+ groups.join(":"),
2499
+ fillIn.join(":")
2500
+ ].join(":"),
2501
+ ">>"
2502
+ ].join("");
2503
+ };
2504
+
2505
+ // dist/runtime/runtime-types/shape-helpers/getTokenName.js
2506
+ var getTokenName = (token) => {
2507
+ const [name, ..._rest] = stripLeading(token, "<<").split("::");
2508
+ return name;
2509
+ };
2510
+
2511
+ // dist/runtime/runtime-types/shape-helpers/getTokenData.js
2512
+ var getTokenData = (token) => {
2513
+ const [_name, ...rest] = stripTrailing(token, ">>").split("::");
2514
+ return rest;
2515
+ };
2516
+
2517
+ // dist/runtime/runtime-types/parse.js
2518
+ var handleTypeToken = (token) => () => {
1899
2519
  return {
1900
- fn: fn2,
1901
- props
2520
+ isToken: true,
2521
+ type: null,
2522
+ token,
2523
+ tokenName: getTokenName(token),
2524
+ tokenData: getTokenData(token)
1902
2525
  };
1903
2526
  };
1904
-
1905
- // dist/runtime/initializers/addFnToProps.js
1906
- var addPropsToFn = (fn2, clone_fn) => {
1907
- const localFn = clone_fn ? (...args) => fn2(args) : fn2;
1908
- return (obj) => {
1909
- for (const k in obj) {
1910
- localFn[k] = obj[k];
1911
- }
1912
- return localFn;
2527
+ var parse = (value) => {
2528
+ return isShape(value) ? handleTypeToken(value)() : {
2529
+ isToken: false,
2530
+ type: value
1913
2531
  };
1914
2532
  };
1915
2533
 
1916
- // dist/runtime/initializers/addPropsToFn.js
1917
- var addFnToProps = (props, _clone_fn) => (fn2) => {
1918
- const localFn = (...args) => fn2(args);
1919
- for (const k in props) {
1920
- localFn[k] = props[k];
2534
+ // dist/runtime/type-guards/isArray.js
2535
+ function isArray(value) {
2536
+ return Array.isArray(value) === true;
2537
+ }
2538
+
2539
+ // dist/runtime/sets/uniqueKeys.js
2540
+ var uniqueKeys = (left, right) => {
2541
+ const isNumeric = isArray(left) && isArray(right) ? true : false;
2542
+ if (isArray(left) && !isArray(right) || isArray(right) && !isArray(left)) {
2543
+ throw new Error("uniqueKeys(l,r) given invalid comparison; both left and right values should be an object or an array but not one of each!");
1921
2544
  }
1922
- return localFn;
2545
+ const l = isNumeric ? Object.keys(left).map((i) => Number(i)) : Object.keys(left);
2546
+ const r = isNumeric ? Object.keys(right).map((i) => Number(i)) : Object.keys(right);
2547
+ if (isNumeric) {
2548
+ throw new Error("uniqueKeys does not yet work with tuples");
2549
+ }
2550
+ const leftKeys = l.filter((i) => !r.includes(i));
2551
+ const rightKeys = r.filter((i) => !l.includes(i));
2552
+ return [
2553
+ "LeftRight",
2554
+ leftKeys,
2555
+ rightKeys
2556
+ ];
1923
2557
  };
1924
2558
 
1925
- // dist/runtime/initializers/createFnWithProps.js
1926
- var createFnWithProps = (fn2, props, narrowing = false) => {
1927
- const fnWithProps = fn2;
1928
- for (const prop of keysOf(props)) {
1929
- fnWithProps[prop] = props[prop];
1930
- }
1931
- return isTrue(narrowing) ? fnWithProps : fnWithProps;
2559
+ // dist/runtime/type-guards/isDefined.js
2560
+ function isDefined(value) {
2561
+ return typeof value === "undefined" ? false : true;
2562
+ }
2563
+
2564
+ // dist/runtime/type-guards/isFalsy.js
2565
+ var isFalsy = (val) => {
2566
+ return FALSY_VALUES.includes(val);
2567
+ };
2568
+
2569
+ // dist/runtime/type-guards/isNull.js
2570
+ function isNull(value) {
2571
+ return value === null ? true : false;
2572
+ }
2573
+
2574
+ // dist/runtime/type-guards/isNotNull.js
2575
+ function isNotNull(value) {
2576
+ return value === null ? true : false;
2577
+ }
2578
+
2579
+ // dist/runtime/type-guards/isTruthy.js
2580
+ var isTruthy = (val) => {
2581
+ return !FALSY_VALUES.includes(val);
1932
2582
  };
1933
2583
 
1934
- // dist/runtime/initializers/defineObj.js
1935
- function defineObj(literal2 = {}) {
1936
- return (wide2 = {}) => {
1937
- const obj = literal2 ? { ...literal2, ...wide2 } : wide2;
1938
- return obj;
1939
- };
2584
+ // dist/runtime/type-guards/isTypeTuple.js
2585
+ function isTypeTuple(value) {
2586
+ return Array.isArray(value) && value.length === 3 && typeof value[1] === "function";
2587
+ }
2588
+
2589
+ // dist/runtime/type-guards/isBoolean.js
2590
+ function isBoolean(value) {
2591
+ return typeof value === "boolean";
2592
+ }
2593
+
2594
+ // dist/runtime/type-guards/isString.js
2595
+ function isString(value) {
2596
+ return typeof value === "string";
2597
+ }
2598
+
2599
+ // dist/runtime/type-guards/isIndexable.js
2600
+ function isIndexable(value) {
2601
+ return Array.isArray(value) || typeof value === "object" && keysOf(value).length > 0 ? true : false;
2602
+ }
2603
+
2604
+ // dist/runtime/type-guards/isObject.js
2605
+ function isObject(value) {
2606
+ return typeof value === "object" && value !== null && Array.isArray(value) === false;
2607
+ }
2608
+
2609
+ // dist/runtime/type-guards/isTrue.js
2610
+ function isTrue(value) {
2611
+ return value === true;
1940
2612
  }
1941
2613
 
1942
- // dist/runtime/initializers/defineTuple.js
1943
- var defineTuple = (...values) => {
1944
- return values.map((i) => isFunction(i) ? handleDoneFn(i(ShapeApiImplementation)) : i);
1945
- };
2614
+ // dist/runtime/type-guards/isConstant.js
2615
+ function isConstant(value) {
2616
+ return isObject(value) && "_type" in value && "kind" in value && value._type === "Constant" ? true : false;
2617
+ }
1946
2618
 
1947
- // dist/runtime/lists/asArray.js
1948
- var asArray = (thing) => {
1949
- return Array.isArray(thing) === true ? (
1950
- // proxy thing back as it's already an array
1951
- thing
1952
- ) : typeof thing === "undefined" ? [] : [thing];
2619
+ // dist/runtime/type-guards/isNever.js
2620
+ var isNever = (val) => {
2621
+ return isConstant(val) && val.kind === "never";
1953
2622
  };
1954
2623
 
1955
- // dist/runtime/lists/getEach.js
1956
- function getEach(list2, dotPath) {
1957
- const result2 = list2.map((i) => isNull(dotPath) ? i : isContainer(i) ? get(i, dotPath) : Never).filter((i) => !isErrorCondition(i));
1958
- return result2;
2624
+ // dist/runtime/type-guards/isContainer.js
2625
+ function isContainer(value) {
2626
+ return Array.isArray(value) || isObject(value) ? true : false;
1959
2627
  }
1960
2628
 
1961
- // dist/runtime/lists/indexOf.js
1962
- function indexOf(val, index) {
1963
- const isNegative = isNumber(index) && index < 0;
1964
- if (isNegative && !Array.isArray(val)) {
1965
- throw new Error(`The indexOf(val,idx) utility received a negative index value [${index}] but the value being de-references is not an array [${typeof val}]!`);
1966
- }
1967
- if (isNegative && Array.isArray(val) && val.length < Math.abs(index)) {
1968
- throw new Error(`The indexOf(val,idx) utility received a negative index of ${index} but the length of the array passed in is only ${val.length}! This is not allowed.`);
1969
- }
1970
- const idx = isNegative && Array.isArray(val) ? val.length + 1 - Math.abs(index) : index;
1971
- return index === null ? val : isNull(idx) ? val : isArray(val) ? Number(idx) in val ? val[Number(idx)] : Never : isObject(val) ? String(idx) in val ? val[String(idx)] : Never : Never;
2629
+ // dist/runtime/type-guards/isSpecificConstant.js
2630
+ function isSpecificConstant(kind) {
2631
+ return (value) => {
2632
+ return isConstant(value) && value.kind === kind ? true : false;
2633
+ };
1972
2634
  }
1973
2635
 
1974
- // dist/runtime/lists/intersection.js
1975
- function intersectWithOffset(a, b, deref) {
1976
- const aIndexable = a.every((i) => isIndexable(i));
1977
- const bIndexable = b.every((i) => isIndexable(i));
1978
- if (!aIndexable || !bIndexable) {
1979
- if (!aIndexable) {
1980
- throw new Error(`The "a" array passed into intersect(a,b) was not fully composed of indexable properties: ${a.map((i) => typeof i).join(", ")}`);
1981
- } else {
1982
- throw new Error(`The "b" array passed into intersect(a,b) was not fully composed of indexable properties: ${b.map((i) => typeof i).join(", ")}`);
1983
- }
1984
- }
1985
- const aMatches = getEach(a, deref);
1986
- const bMatches = getEach(b, deref);
1987
- const sharedKeys2 = ifNotNull(deref, (v) => [
1988
- a.filter((i) => Array.from(bMatches).includes(get(i, v))),
1989
- b.filter((i) => Array.from(aMatches).includes(get(i, v)))
1990
- ], () => a.filter((k) => b.includes(k)));
1991
- return sharedKeys2;
1992
- }
1993
- function intersectNoOffset(a, b) {
1994
- return a.length < b.length ? a.filter((val) => b.includes(val)) : b.filter((val) => a.includes(val));
2636
+ // dist/runtime/type-guards/isReadonlyArray.js
2637
+ function isReadonlyArray(value) {
2638
+ return Array.isArray(value) === true;
1995
2639
  }
1996
- var intersection = (a, b, deref = null) => {
1997
- return deref === null ? intersectNoOffset(a, b) : intersectWithOffset(a, b, deref);
1998
- };
1999
2640
 
2000
- // dist/runtime/lists/unique.js
2001
- var unique = (...values) => {
2002
- const u = [];
2003
- for (const i of values.flat()) {
2004
- if (!u.includes(i)) {
2005
- u.push(i);
2006
- }
2007
- }
2008
- return u;
2641
+ // dist/runtime/type-guards/hasIndexOf.js
2642
+ var hasIndexOf = (value, idx) => {
2643
+ const result2 = isObject(value) ? String(idx) in value : Array.isArray(value) ? Number(idx) in value : false;
2644
+ return isErrorCondition(result2, "invalid-index") ? false : result2;
2009
2645
  };
2010
2646
 
2011
- // dist/runtime/lists/logicalReturns.js
2012
- function logicalReturns(conditions) {
2013
- return conditions.map((c) => isBoolean(c) ? c : isFunction(c) ? c() : Never);
2647
+ // dist/runtime/type-guards/isRef.js
2648
+ function isRef(value) {
2649
+ return isObject(value) && "value" in value && Array.from(Object.keys(value)).includes("_value");
2014
2650
  }
2015
2651
 
2016
- // dist/runtime/lists/find.js
2017
- var find = (list2, deref = null) => (comparator) => {
2018
- return list2.find((i) => {
2019
- const val = deref ? isContainer(i) ? deref in i ? i[deref] : void 0 : i : i;
2020
- return val === comparator;
2021
- });
2022
- };
2652
+ // dist/runtime/type-guards/isFalse.js
2653
+ function isFalse(i) {
2654
+ return typeof i === "boolean" && !i;
2655
+ }
2023
2656
 
2024
- // dist/runtime/lists/filter.js
2025
- var FILTER = "NOT READY";
2657
+ // dist/runtime/type-guards/hasDefaultValue.js
2658
+ function hasDefaultValue(value) {
2659
+ const noDefault = isSpecificConstant("no-default-value");
2660
+ return noDefault(value) ? false : true;
2661
+ }
2026
2662
 
2027
- // dist/runtime/lists/createConverter.js
2028
- function createConverter(mapper) {
2029
- return (input) => {
2030
- let result2;
2031
- if (isNothing(input)) {
2032
- result2 = mapper.nothing ? mapper.nothing(input) : Never;
2033
- } else if (isObject(input)) {
2034
- result2 = mapper.object ? mapper.object(input) : Never;
2035
- } else {
2036
- switch (typeof input) {
2037
- case "string":
2038
- result2 = mapper.string ? mapper.string(input) : Never;
2039
- break;
2040
- case "number":
2041
- case "bigint":
2042
- result2 = mapper.number ? mapper.number(input) : Never;
2043
- break;
2044
- case "boolean":
2045
- result2 = mapper.boolean ? mapper.boolean(input) : Never;
2046
- break;
2047
- default:
2048
- throw new Error(`Unhandled type: ${typeof input}`);
2049
- }
2050
- }
2051
- return result2;
2052
- };
2663
+ // dist/runtime/type-guards/isNumericString.js
2664
+ function isNumericString(value) {
2665
+ const validChars = [...NUMERIC_CHAR, "x", "E"];
2666
+ return typeof value === "string" && split(value).every((i) => validChars.includes(i));
2053
2667
  }
2054
2668
 
2055
- // dist/runtime/lists/slice.js
2056
- var slice = (list2, start, end) => {
2057
- return list2.slice(start, end);
2058
- };
2669
+ // dist/runtime/type-guards/isFnWithParams.js
2670
+ function isFnWithParams(input) {
2671
+ var _a;
2672
+ return typeof input === "function" && ((_a = Object.keys(input)) == null ? void 0 : _a.length) > 0;
2673
+ }
2059
2674
 
2060
- // dist/runtime/lists/last.js
2061
- var last = (list2) => {
2062
- return [...list2].pop();
2063
- };
2675
+ // dist/runtime/type-guards/isFunction.js
2676
+ function isFunction(value) {
2677
+ return typeof value === "function" ? true : false;
2678
+ }
2064
2679
 
2065
- // dist/runtime/lists/reverse.js
2066
- var reverse = (list2) => {
2067
- return [...list2].reverse();
2068
- };
2680
+ // dist/runtime/type-guards/isNumber.js
2681
+ function isNumber(value) {
2682
+ return typeof value === "number";
2683
+ }
2069
2684
 
2070
- // dist/runtime/lists/pop.js
2071
- var pop = (list2) => {
2072
- return list2.length > 0 ? [last(list2), slice(list2, 0, -1)] : void 0;
2073
- };
2685
+ // dist/runtime/type-guards/isNothing.js
2686
+ function isNothing(val) {
2687
+ return val === null || val === void 0 ? true : false;
2688
+ }
2074
2689
 
2075
- // dist/runtime/lists/join.js
2076
- function join(joinWith) {
2077
- return (...tuple3) => {
2078
- return tuple3.join(joinWith);
2079
- };
2690
+ // dist/runtime/type-guards/isSymbol.js
2691
+ function isSymbol(value) {
2692
+ return typeof value === "symbol";
2080
2693
  }
2081
2694
 
2082
- // dist/runtime/lists/shift.js
2083
- var shift = (list2) => {
2084
- return list2.length > 0 ? [list2[0], list2.slice(1)] : void 0;
2085
- };
2695
+ // dist/runtime/type-guards/isScalar.js
2696
+ function isScalar(value) {
2697
+ return isString(value) || isNumber(value) || isSymbol(value) || isNull(value);
2698
+ }
2086
2699
 
2087
- // dist/runtime/runtime-types/shape-helpers/addToken.js
2088
- var addToken = (token, ...params) => `<<${token}${params.length > 0 ? `::${params.join("::")}` : ""}>>`;
2700
+ // dist/runtime/type-guards/isTypeToken.js
2701
+ function isTypeToken(val) {
2702
+ if (isString(val) && startsWith("<<")(val) && endsWith(">>")(val)) {
2703
+ return true;
2704
+ } else {
2705
+ return false;
2706
+ }
2707
+ }
2089
2708
 
2090
- // dist/runtime/runtime-types/shape-helpers/atomics.js
2091
- var boolean = (literal2) => isDefined(literal2) ? isTrue(literal2) ? addToken("true") : isFalse(literal2) ? addToken("false") : addToken("boolean") : addToken("boolean");
2092
- var unknown = () => "<<unknown>>";
2093
- var undefinedType = () => "<<undefined>>";
2094
- var nullType = () => "<<null>>";
2709
+ // dist/runtime/type-guards/isErrorCondition.js
2710
+ function isErrorCondition(value, kind = null) {
2711
+ return isObject(value) && "__kind" in value && value.__kind === "ErrorCondition" && "kind" in value ? kind !== null ? value["kind"] === kind : true : false;
2712
+ }
2095
2713
 
2096
- // dist/runtime/runtime-types/shape-helpers/singletons.js
2097
- var addSingleton = (token, api) => (...literals) => {
2098
- return literals.length === 0 ? api ? api : addToken(token) : literals.length === 1 ? addToken(token, literals[0]) : addToken("union", literals.map((l) => addToken(token, `${l}`)).join(","));
2714
+ // dist/runtime/type-guards/hasKeys.js
2715
+ var hasKeys = (...props) => (
2716
+ /**
2717
+ * Type guard which validates whether the configured properties
2718
+ * exist on a given `Record<ObjectKey, unknown` and if they do at
2719
+ * runtime will provide the type support for them.
2720
+ */
2721
+ (val) => {
2722
+ const keys = Array.isArray(props) ? props : Object.keys(props).filter((i) => typeof i === "string");
2723
+ return (isFunction(val) || isObject(val)) && keys.every((k) => k in val) ? true : false;
2724
+ }
2725
+ );
2726
+
2727
+ // dist/runtime/type-guards/isDoneFn.js
2728
+ var isDoneFn = (val) => {
2729
+ return hasKeys("done")(val) && typeof val.done === "function";
2099
2730
  };
2100
- var stringApi = {
2101
- zip: () => addToken("string-set", "Zip5"),
2102
- zipPlus4: () => addToken("string-set", "Zip5_4"),
2103
- zipCode: () => addToken("string-set", "ZipCode"),
2104
- militaryTime: (resolution) => {
2105
- return addToken("string-set", "militaryTime", resolution || "HH:MM");
2106
- },
2107
- civilianTime: (resolution) => {
2108
- return addToken("string-set", "militaryTime", resolution || "HH:MM");
2109
- },
2110
- numericString: () => addToken("string-set", "numeric"),
2111
- ipv4Address: () => addToken("string-set", "ipv4Address"),
2112
- ipv6Address: () => addToken("string-set", "ipv6Address"),
2113
- done: () => addToken("string")
2731
+
2732
+ // dist/runtime/type-guards/isUrl.js
2733
+ var isUri = (val, ...protocols) => {
2734
+ const p = protocols.length === 0 ? valuesOf(NETWORK_PROTOCOL_LOOKUP).flat().filter((i) => i) : protocols;
2735
+ return isString(val) && p.some((i) => val.startsWith(`${i}://`));
2736
+ };
2737
+ var isUrl = (val, ...protocols) => {
2738
+ const p = protocols.length === 0 ? ["http", "https"] : protocols;
2739
+ return isString(val) && p.some((i) => val.startsWith(`${i}://`));
2740
+ };
2741
+
2742
+ // dist/runtime/type-guards/isCssAspectRatio.js
2743
+ var tokens = [
2744
+ "1",
2745
+ "inherit",
2746
+ "initial",
2747
+ "revert",
2748
+ "revert-layer",
2749
+ "unset",
2750
+ "auto"
2751
+ ];
2752
+ var isRatio = (val) => /[0-9]{1,4}\s*\/\s*[0-9]{1,4}/.test(val);
2753
+ var isCssAspectRatio = (val) => {
2754
+ return isString(val) && val.split(/\s+/).every((i) => tokens.includes(i) || isRatio(i));
2114
2755
  };
2115
- var string = addSingleton("string", stringApi);
2116
- var number = addSingleton("number");
2117
2756
 
2118
- // dist/runtime/runtime-types/shape-helpers/functions.js
2119
- var fn = (..._args) => ({
2120
- returns: (_rtn) => ({
2121
- addProperties: (_kv) => {
2122
- return null;
2123
- },
2124
- done: () => {
2125
- return null;
2126
- }
2127
- }),
2128
- done: () => {
2129
- const result2 = null;
2130
- return result2;
2131
- }
2132
- });
2757
+ // dist/runtime/type-guards/isInlineSvg.js
2758
+ var isInlineSvg = (v) => {
2759
+ return isString(v) && v.trim().startsWith(`<svg`) && v.trim().endsWith(`</svg>`);
2760
+ };
2133
2761
 
2134
- // dist/runtime/runtime-types/shape-helpers/literal-containers.js
2135
- var dictionary = (_obj) => {
2136
- return null;
2762
+ // dist/runtime/type-guards/isAlpha.js
2763
+ var isAlpha = (value) => {
2764
+ return isString(value) && split(value).every((v) => ALPHA_CHARS.includes(v));
2137
2765
  };
2138
- var tuple2 = (..._elements) => {
2139
- return null;
2766
+
2767
+ // dist/runtime/type-guards/isHexadecimal.js
2768
+ var isHexadecimal = (val) => {
2769
+ return isString(val) && asChars(val).every((i) => isNumericString(i) || ["a", "b", "c", "d", "e", "f"].includes(i.toLowerCase()));
2140
2770
  };
2141
2771
 
2142
- // dist/runtime/runtime-types/shape-helpers/wide-containers.js
2143
- var record = (_key, _value) => {
2144
- return null;
2772
+ // dist/runtime/type-guards/network-tg.js
2773
+ var isIp4Address = (val) => {
2774
+ return isString(val) && val.split(".").length === 4 && val.split(".").every((i) => isNumericString(i)) && val.split(".").every((i) => Number(i) >= 0 && Number(i) <= 255);
2145
2775
  };
2146
- var array = (_type) => {
2147
- return null;
2776
+ var isIp6Address = (val) => {
2777
+ const expanded = isString(val) ? ip6GroupExpansion(val) : "";
2778
+ return isString(val) && isString(expanded) && expanded.split(":").every((i) => asChars(i).length >= 1 && asChars(i).length <= 4) && expanded.split(":").every((i) => isHexadecimal(i));
2148
2779
  };
2149
- var set = (_type) => {
2150
- return null;
2780
+ var isIpAddress = (val) => {
2781
+ return isIp4Address(val) || isIp6Address(val);
2151
2782
  };
2152
- var map = (_key, _value) => {
2153
- return null;
2783
+ var hasUrlPort = (val) => {
2784
+ return isString(val) && asChars(removeUrlProtocol(val)).some((i) => i === ":");
2154
2785
  };
2155
- var weakMap = (_key, _value) => {
2156
- return null;
2786
+ var isUrlPath = (val) => {
2787
+ return isString(val) && (val === "" || val.startsWith("/")) && asChars(val).every((c) => isAlpha(c) || isNumericString(c) || c === "_" || c === "@" || c === "." || c === "-");
2157
2788
  };
2158
-
2159
- // dist/runtime/runtime-types/shape-helpers/union.js
2160
- var union = (...elements) => {
2161
- const result2 = elements.map((_el) => {
2162
- });
2163
- return result2;
2789
+ var isDomainName = (val) => {
2790
+ return isString(val) && val.split(".").filter((i) => i).length > 1 && isString(val.split(".").filter((i) => i).pop()) && asChars(val.split(".").filter((i) => i).pop()).length > 1 && val.split(".").filter((i) => i).every((i) => isAlpha(i) || isNumericString(i) || i === "-" || i === "_");
2791
+ };
2792
+ var isUrlSource = (val) => {
2793
+ return isDomainName(val) || isIpAddress(val);
2794
+ };
2795
+ var hasUrlQueryParameter = (val, prop) => {
2796
+ const re = new RegExp(`${prop}=`);
2797
+ return isString(val) && re.test(getUrlQueryParams(val));
2164
2798
  };
2165
2799
 
2166
- // dist/runtime/runtime-types/shape.js
2167
- var isAddOrDone = (val) => {
2168
- return isObject(val) && hasKeys("add", "done") && typeof val.done === "function" && typeof val.add === "function";
2800
+ // dist/runtime/type-guards/youtube.js
2801
+ var isYouTubeUrl = (val) => {
2802
+ return isString(val) && (val.startsWith("https://www.youtube.com") || val.startsWith("https://youtube.com") || val.startsWith("https://youtu.be"));
2169
2803
  };
2170
- var ShapeApiImplementation = {
2171
- string,
2172
- number,
2173
- boolean,
2174
- unknown,
2175
- undefined: undefinedType,
2176
- null: nullType,
2177
- union,
2178
- fn,
2179
- record,
2180
- array,
2181
- set,
2182
- map,
2183
- weakMap,
2184
- dictionary,
2185
- tuple: tuple2
2804
+ var isYouTubeShareUrl = (val) => {
2805
+ return isString(val) && val.startsWith(`https://youtu.be`);
2186
2806
  };
2187
- var shape = (cb) => {
2188
- const rtn = cb(ShapeApiImplementation);
2189
- return handleDoneFn(isAddOrDone(rtn) ? rtn.done() : rtn);
2807
+ var isYouTubeVideoUrl = (val) => {
2808
+ return isString(val) && (val.startsWith("https://www.youtube.com") || val.startsWith("https://youtube.com") || val.startsWith("https://youtu.be"));
2190
2809
  };
2191
- var isShape = (v) => {
2192
- return isString(v) && v.startsWith("<<") && v.endsWith(">>") && SHAPE_PREFIXES.some((i) => v.startsWith(`<<${i}`)) ? true : false;
2810
+ var isYouTubePlaylistUrl = (val) => {
2811
+ return isString(val) && (val === `https://www.youtube.com/feed/playlists` || val === `https://youtube.com/feed/playlists` || val === `https://www.youtube.com/channel/playlists` || val === `https://youtube.com/channel/playlists` || val.startsWith(`https://www.youtube.com/@`) && val.endsWith(`/playlists`) || val.startsWith(`https://youtube.com/@`) && val.endsWith(`/playlists`));
2812
+ };
2813
+ var feed_map = (type) => {
2814
+ return isUndefined(type) ? `/feed` : type === "liked" ? `/playlist?list=LL` : ["history", "playlists", "trending", "subscriptions"].includes(type) ? `/feed/${type}` : `/feed/`;
2815
+ };
2816
+ var isYouTubeFeedUrl = (val, type = void 0) => {
2817
+ return isString(val) && (val.startsWith(`https://www.youtube.com${feed_map(type)}`) || val.startsWith(`https://youtube.com${feed_map(type)}`));
2818
+ };
2819
+ var isYouTubeCreatorUrl = (url) => {
2820
+ return isString(url) && (url.startsWith(`https://www.youtube.com/@`) || url.startsWith(`https://youtube.com/@`) || url.startsWith(`https://www.youtube.com/channel/`));
2821
+ };
2822
+ var isYouTubeVideosInPlaylist = (val) => {
2823
+ return isString(val) && (val.startsWith(`https://www.youtube.com/playlist?`) || val.startsWith(`https://youtube.com/playlist?`)) && hasUrlQueryParameter(val, "list");
2193
2824
  };
2194
2825
 
2195
- // dist/runtime/runtime-types/choices.js
2196
- var choices = "NOT READY";
2197
-
2198
- // dist/runtime/runtime-types/list.js
2199
- var createProxy = (...initialize) => {
2200
- const state = initialize;
2201
- state.id = null;
2202
- const proxy = new Proxy(state, {});
2203
- Object.defineProperty(proxy, "id", {
2204
- enumerable: false
2205
- });
2206
- return proxy;
2826
+ // dist/runtime/type-guards/repos.js
2827
+ var isRepoSource = (v) => {
2828
+ return isString(v) && REPO_SOURCES.includes(v);
2207
2829
  };
2208
- var list = (...init) => {
2209
- return init.length === 1 && isArray(init[0]) ? createProxy(...init[0]) : createProxy(...init);
2830
+ var isSemanticVersion = (v, allowPrefix = false) => {
2831
+ return isString(v) && v.split(".").length === 3 && !Number.isNaN(Number(v.split(".")[1])) && !Number.isNaN(Number(v.split(".")[2])) && (!Number.isNaN(Number(v.split(".")[0])) || allowPrefix && !Number.isNaN(Number(stripLeading(v.split(".")[0], "v").trim())));
2832
+ };
2833
+ var isRepoUrl = (val) => {
2834
+ const baseUrls = valuesOf(REPO_SOURCE_LOOKUP).flat();
2835
+ return isString(val) && baseUrls.every((u) => val === u || val.startsWith(`${u}/`));
2836
+ };
2837
+ var isGithubUrl = (val) => {
2838
+ const baseUrls = REPO_SOURCE_LOOKUP["github"];
2839
+ return isString(val) && baseUrls.every((u) => val === u || val.startsWith(`${u}/`));
2840
+ };
2841
+ var isGithubRepoUrl = (val) => {
2842
+ const baseUrls = [""];
2843
+ return isString(val) && baseUrls.every((u) => val === u || val.startsWith(`${u}/`));
2844
+ };
2845
+ var isBitbucketUrl = (val) => {
2846
+ const baseUrls = REPO_SOURCE_LOOKUP["bitbucket"];
2847
+ return isString(val) && baseUrls.every((u) => val === u || val.startsWith(`${u}/`));
2848
+ };
2849
+ var isCodeCommitUrl = (val) => {
2850
+ const baseUrls = REPO_SOURCE_LOOKUP["codecommit"];
2851
+ return isString(val) && baseUrls.every((u) => val === u || val.startsWith(`${u}/`));
2210
2852
  };
2211
2853
 
2212
- // dist/runtime/runtime-types/dict.js
2213
- var process = (obj, _narrow, _opt) => {
2214
- return Object.defineProperty(obj, "__id", { enumerable: false });
2854
+ // dist/runtime/type-guards/isTrimmable.js
2855
+ var isTrimable = (val) => {
2856
+ return isString(val) && val !== val.trim();
2215
2857
  };
2216
- var dict = (obj, ...props) => process(obj, (props || []).filter((i) => !i.startsWith("opt:")), (props || []).filter((i) => i.startsWith("opt:")));
2217
2858
 
2218
- // dist/runtime/runtime-types/ip6Prefix.js
2219
- var ip6Prefix = (...groups) => {
2220
- const empty = addToken("string");
2221
- let count = 4 - groups.length;
2222
- let fillIn = [];
2223
- for (let index = 0; index < count; index++) {
2224
- fillIn.push(empty);
2225
- }
2226
- return [
2227
- "<<string::",
2228
- [
2229
- groups.join(":"),
2230
- fillIn.join(":")
2231
- ].join(":"),
2232
- ">>"
2233
- ].join("");
2859
+ // dist/runtime/type-guards/hasWhitespace.js
2860
+ var hasWhiteSpace = (val) => {
2861
+ return isString(val) && asChars(val).some((c) => WHITESPACE_CHARS.includes(c));
2234
2862
  };
2235
2863
 
2236
- // dist/runtime/runtime-types/shape-helpers/getTokenName.js
2237
- var getTokenName = (token) => {
2238
- const [name, ..._rest] = stripLeading(token, "<<").split("::");
2239
- return name;
2864
+ // dist/runtime/type-guards/isEmail.js
2865
+ var isEmail = (val) => {
2866
+ return isString(val) && (val.split("@").length === 2 && val.split("@")[1].split(".").length > 1 && asChars(last(val.split("@")[1].split("."))).length > 1);
2240
2867
  };
2241
2868
 
2242
- // dist/runtime/runtime-types/shape-helpers/getTokenData.js
2243
- var getTokenData = (token) => {
2244
- const [_name, ...rest] = stripTrailing(token, ">>").split("::");
2245
- return rest;
2869
+ // dist/runtime/type-guards/isPhoneNumber.js
2870
+ var isPhoneNumber = (val) => {
2871
+ return isString(val) && ["+", "(", ...NUMERIC_CHAR].includes(asChars(val.trim())[0]) && [...NUMERIC_CHAR].includes([...asChars(val.trim())].pop()) && (val.trim().startsWith(`+`) ? asChars(retainChars(val, ...NUMERIC_CHAR)).length >= 8 : val.trim().startsWith("00") ? asChars(retainChars(val, ...NUMERIC_CHAR)).length >= 10 : asChars(retainChars(val, ...NUMERIC_CHAR)).length >= 7) && stripChars(val, ...NUMERIC_CHAR, ...WHITESPACE_CHARS, "(", ")", "+", ".", "-") === "";
2246
2872
  };
2247
2873
 
2248
- // dist/runtime/runtime-types/parse.js
2249
- var handleTypeToken = (token) => () => {
2250
- return {
2251
- isToken: true,
2252
- type: null,
2253
- token,
2254
- tokenName: getTokenName(token),
2255
- tokenData: getTokenData(token)
2256
- };
2874
+ // dist/runtime/type-guards/isUnset.js
2875
+ var isUnset = (val) => {
2876
+ return isObject(val) && val.kind === "Unset";
2257
2877
  };
2258
- var parse = (value) => {
2259
- return isShape(value) ? handleTypeToken(value)() : {
2260
- isToken: false,
2261
- type: value
2262
- };
2878
+ var isSet = (val) => {
2879
+ return isObject(val) ? val.kind !== "Unset" ? true : false : true;
2263
2880
  };
2264
2881
 
2265
- // dist/runtime/sets/uniqueKeys.js
2266
- var uniqueKeys = (left, right) => {
2267
- const isNumeric = isArray(left) && isArray(right) ? true : false;
2268
- if (isArray(left) && !isArray(right) || isArray(right) && !isArray(left)) {
2269
- throw new Error("uniqueKeys(l,r) given invalid comparison; both left and right values should be an object or an array but not one of each!");
2270
- }
2271
- const l = isNumeric ? Object.keys(left).map((i) => Number(i)) : Object.keys(left);
2272
- const r = isNumeric ? Object.keys(right).map((i) => Number(i)) : Object.keys(right);
2273
- if (isNumeric) {
2274
- throw new Error("uniqueKeys does not yet work with tuples");
2275
- }
2276
- const leftKeys = l.filter((i) => !r.includes(i));
2277
- const rightKeys = r.filter((i) => !l.includes(i));
2278
- return [
2279
- "LeftRight",
2280
- leftKeys,
2281
- rightKeys
2282
- ];
2882
+ // dist/runtime/type-guards/api-tg.js
2883
+ var isEscapeFunction = (val) => {
2884
+ return isFunction(val) && "escape" in val && val.escape === true;
2885
+ };
2886
+ var isOptionalParamFunction = (val) => {
2887
+ return isFunction(val) && "optionalParams" in val && val.optionalParams === true;
2888
+ };
2889
+ var isApi = (api) => {
2890
+ return isObject(api) && "surface" in api && "_kind" in api && api._kind === "api";
2891
+ };
2892
+ var isApiSurface = (val) => {
2893
+ return isObject(val) && Object.keys(val).some((k) => isEscapeFunction(val[k]));
2283
2894
  };
2284
2895
 
2285
- // dist/runtime/type-conversion/mergeObjects.js
2286
- function mergeObjects(defVal, override) {
2287
- const intersectingKeys = sharedKeys(defVal, override);
2288
- const defUnique = withoutKeys(defVal, ...intersectingKeys);
2289
- const overrideUnique = withoutKeys(defVal, ...intersectingKeys);
2290
- const merged = {
2291
- ...intersectingKeys.reduce((acc, key) => typeof override[key] === "undefined" ? { ...acc, [key]: defVal[key] } : { ...acc, [key]: override[key] }, {}),
2292
- ...defUnique,
2293
- ...overrideUnique
2294
- };
2295
- return merged;
2296
- }
2297
-
2298
- // dist/runtime/type-conversion/optional.js
2299
- function optional(...values) {
2300
- return values.length === 1 ? values[0] : values;
2301
- }
2302
-
2303
- // dist/runtime/type-conversion/mergeScalars.js
2304
- function mergeScalars(a, b) {
2305
- return isUndefined(b) ? a : b;
2896
+ // dist/runtime/boolean-logic/ifString.js
2897
+ function ifString(val, ifVal, elseVal) {
2898
+ return isString(val) ? ifVal(val) : elseVal(val);
2306
2899
  }
2307
2900
 
2308
- // dist/runtime/type-conversion/mergeTuples.js
2309
- function mergeTuples(a, b) {
2310
- return b.length > a.length ? b.map((v, idx) => v !== void 0 ? v : a[idx]) : [...b, ...a.slice(b.length)].map((v, idx) => v !== void 0 ? v : a[idx]);
2901
+ // dist/runtime/boolean-logic/ifNumber.js
2902
+ function ifNumber(val, ifVal, elseVal) {
2903
+ return isNumber(val) ? ifVal(val) : elseVal(val);
2311
2904
  }
2312
2905
 
2313
- // dist/runtime/type-conversion/unionize.js
2314
- function unionize(value, inUnionWith) {
2315
- return value;
2316
- }
2906
+ // dist/runtime/type-guards/higher-order/endsWith.js
2907
+ var endsWith = (endingIn2) => (val) => {
2908
+ return ifString(val, (v) => v.endsWith(endingIn2) ? true : false, (v) => ifNumber(v, (n) => String(n).endsWith(endingIn2) ? true : false, () => false));
2909
+ };
2317
2910
 
2318
- // dist/runtime/type-conversion/intersect.js
2319
- function intersect(value, intersectedWith) {
2320
- return value;
2321
- }
2911
+ // dist/runtime/type-guards/higher-order/startsWith.js
2912
+ var startsWith = (startingWith) => (val) => {
2913
+ return isString(val) ? val.startsWith(startingWith) ? true : false : isNumber(val) ? String(val).startsWith(startingWith) ? true : false : false;
2914
+ };
2322
2915
 
2323
- // dist/runtime/type-conversion/never.js
2324
- function never(val) {
2325
- return val;
2326
- }
2916
+ // dist/runtime/type-guards/higher-order/isSameTypeOf.js
2917
+ var isSameTypeOf = (base) => (compare) => {
2918
+ return typeof base === typeof compare;
2919
+ };
2327
2920
 
2328
- // dist/runtime/type-conversion/union.js
2329
- var union2 = (...options) => (value) => value;
2921
+ // dist/runtime/type-guards/higher-order/isEqual.js
2922
+ var isEqual = (base) => (value) => isSameTypeOf(base)(value) ? value === base ? true : false : false;
2330
2923
 
2331
- // dist/runtime/type-conversion/toNumber.js
2332
- var convertScalar = (val) => {
2333
- switch (typeof val) {
2334
- case "number":
2335
- return val;
2336
- case "string":
2337
- return Number(val);
2338
- case "boolean":
2339
- return val ? 1 : 0;
2340
- default:
2341
- throw Error(`${typeof val} is an invalid scalar type to convert to a number!`);
2342
- }
2343
- };
2344
- var convertList = (val) => val.map((i) => convertScalar(i));
2345
- function toNumber(value) {
2346
- return Array.isArray(value) ? convertList(value) : convertScalar(value);
2924
+ // dist/runtime/type-guards/higher-order/isLength.js
2925
+ function isLength(value, len) {
2926
+ return isArray(value) ? isEqual(value.length)(len) ? true : false : isString(value) ? isEqual(value.length)(len) ? true : false : isObject(value) ? isEqual(keysOf(value))(len) ? true : false : false;
2347
2927
  }
2348
2928
 
2349
- // dist/runtime/type-conversion/asRecord.js
2350
- var asRecord = (obj) => {
2351
- return obj;
2929
+ // dist/runtime/type-guards/higher-order/isTypeOf.js
2930
+ var isTypeOf = (type) => (value) => {
2931
+ return typeof value === type;
2352
2932
  };
2353
2933
 
2354
- // dist/runtime/type-conversion/asString.js
2355
- var asString = (value) => {
2356
- return isString(value) ? value : isNumber(value) ? `${value}` : isBoolean(value) ? `${value}` : String(value);
2934
+ // dist/runtime/type-guards/higher-order/isTuple.js
2935
+ var isTuple = (...tuple3) => {
2936
+ const results = tuple3.map((i) => i(ShapeApiImplementation)).map((i) => isDoneFn(i) ? i.done() : i);
2937
+ return (v) => {
2938
+ return isArray(v) && v.length === results.length && results.every(isShape) && v.every((item, idx) => isSameTypeOf(results[idx])(item));
2939
+ };
2357
2940
  };
2358
2941
 
2359
2942
  // dist/runtime/vuejs/asVueRef.js
@@ -2399,8 +2982,11 @@ var asVueRef = (value) => ({
2399
2982
  NUMERIC_DIGIT,
2400
2983
  Never,
2401
2984
  OPTION,
2985
+ PHONE_COUNTRY_CODES,
2986
+ PHONE_FORMAT,
2402
2987
  PLURAL_EXCEPTIONS,
2403
2988
  PLURAL_EXCEPTIONS_OLD,
2989
+ PROXMOX_CT_STATE,
2404
2990
  REPO_PAGE_TYPES,
2405
2991
  REPO_SOURCES,
2406
2992
  REPO_SOURCE_LOOKUP,
@@ -2409,6 +2995,7 @@ var asVueRef = (value) => ({
2409
2995
  SHAPE_PREFIXES,
2410
2996
  SINGULAR_NOUN_ENDINGS,
2411
2997
  ShapeApiImplementation,
2998
+ TOP_LEVEL_DOMAINS,
2412
2999
  TT_Atomics,
2413
3000
  TT_Containers,
2414
3001
  TT_Functions,
@@ -2432,6 +3019,7 @@ var asVueRef = (value) => ({
2432
3019
  US_STATE_LOOKUP,
2433
3020
  US_STATE_LOOKUP_PROVINCES,
2434
3021
  US_STATE_LOOKUP_STRICT,
3022
+ WHITESPACE_CHARS,
2435
3023
  WIDE_CONTAINER_TYPE_KINDS,
2436
3024
  WIDE_TYPE_KINDS,
2437
3025
  WideAssignment,
@@ -2439,7 +3027,15 @@ var asVueRef = (value) => ({
2439
3027
  addFnToProps,
2440
3028
  addPropsToFn,
2441
3029
  and,
3030
+ asApi,
3031
+ asApiCallback,
2442
3032
  asArray,
3033
+ asCallbackProp,
3034
+ asChars,
3035
+ asEscapeFunction,
3036
+ asHandledApiCallback,
3037
+ asOptionalParamFunction,
3038
+ asPhoneNumber,
2443
3039
  asRecord,
2444
3040
  asString,
2445
3041
  asVueRef,
@@ -2463,54 +3059,60 @@ var asVueRef = (value) => ({
2463
3059
  fnMeta,
2464
3060
  get,
2465
3061
  getEach,
3062
+ getEscapeFunction,
3063
+ getPhoneCountryCode,
3064
+ getUrlPath,
3065
+ getUrlPort,
3066
+ getUrlProtocol,
3067
+ getUrlQueryParams,
3068
+ getUrlSource,
3069
+ getYouTubePageType,
2466
3070
  handleDoneFn,
2467
3071
  hasDefaultValue,
2468
3072
  hasIndexOf,
2469
3073
  hasKeys,
3074
+ hasUrlPort,
3075
+ hasUrlQueryParameter,
3076
+ hasWhiteSpace,
2470
3077
  idLiteral,
2471
3078
  idTypeGuard,
2472
3079
  identity,
2473
- ifArray,
2474
- ifArrayPartial,
2475
- ifBoolean,
2476
- ifChar,
2477
- ifContainer,
2478
- ifDefined,
2479
- ifFalse,
2480
- ifFunction,
2481
- ifHasKey,
2482
- ifLength,
2483
3080
  ifLowercaseChar,
2484
- ifNotNull,
2485
- ifNull,
2486
- ifNumber,
2487
- ifObject,
2488
- ifSameType,
2489
- ifScalar,
2490
- ifString,
2491
- ifTrue,
2492
- ifUndefined,
2493
3081
  ifUppercaseChar,
2494
3082
  indexOf,
2495
3083
  intersect,
2496
3084
  intersection,
3085
+ ip6GroupExpansion,
2497
3086
  ip6Prefix,
3087
+ isApi,
3088
+ isApiSurface,
2498
3089
  isArray,
3090
+ isBitbucketUrl,
2499
3091
  isBoolean,
2500
3092
  isBox,
3093
+ isCodeCommitUrl,
2501
3094
  isConstant,
2502
3095
  isContainer,
2503
3096
  isCssAspectRatio,
2504
3097
  isDefined,
3098
+ isDomainName,
2505
3099
  isDoneFn,
3100
+ isEmail,
2506
3101
  isEqual,
2507
3102
  isErrorCondition,
3103
+ isEscapeFunction,
2508
3104
  isFalse,
2509
3105
  isFalsy,
2510
3106
  isFnWithParams,
2511
3107
  isFunction,
3108
+ isGithubRepoUrl,
3109
+ isGithubUrl,
3110
+ isHexadecimal,
2512
3111
  isIndexable,
2513
3112
  isInlineSvg,
3113
+ isIp4Address,
3114
+ isIp6Address,
3115
+ isIpAddress,
2514
3116
  isLength,
2515
3117
  isNever,
2516
3118
  isNotNull,
@@ -2519,14 +3121,21 @@ var asVueRef = (value) => ({
2519
3121
  isNumber,
2520
3122
  isNumericString,
2521
3123
  isObject,
3124
+ isOptionalParamFunction,
3125
+ isPhoneNumber,
2522
3126
  isReadonlyArray,
2523
3127
  isRef,
3128
+ isRepoSource,
3129
+ isRepoUrl,
2524
3130
  isSameTypeOf,
2525
3131
  isScalar,
3132
+ isSemanticVersion,
3133
+ isSet,
2526
3134
  isShape,
2527
3135
  isSpecificConstant,
2528
3136
  isString,
2529
3137
  isSymbol,
3138
+ isTrimable,
2530
3139
  isTrue,
2531
3140
  isTruthy,
2532
3141
  isTuple,
@@ -2534,8 +3143,18 @@ var asVueRef = (value) => ({
2534
3143
  isTypeToken,
2535
3144
  isTypeTuple,
2536
3145
  isUndefined,
3146
+ isUnset,
2537
3147
  isUri,
2538
3148
  isUrl,
3149
+ isUrlPath,
3150
+ isUrlSource,
3151
+ isYouTubeCreatorUrl,
3152
+ isYouTubeFeedUrl,
3153
+ isYouTubePlaylistUrl,
3154
+ isYouTubeShareUrl,
3155
+ isYouTubeUrl,
3156
+ isYouTubeVideoUrl,
3157
+ isYouTubeVideosInPlaylist,
2539
3158
  join,
2540
3159
  keysOf,
2541
3160
  kindError,
@@ -2558,9 +3177,13 @@ var asVueRef = (value) => ({
2558
3177
  pathJoin,
2559
3178
  pluralize,
2560
3179
  pop,
3180
+ removePhoneCountryCode,
3181
+ removeUrlProtocol,
2561
3182
  result,
2562
3183
  retain,
2563
3184
  retainAfter,
3185
+ retainChars,
3186
+ retainWhile,
2564
3187
  reverse,
2565
3188
  shape,
2566
3189
  sharedKeys,
@@ -2570,9 +3193,11 @@ var asVueRef = (value) => ({
2570
3193
  startsWith,
2571
3194
  stripAfter,
2572
3195
  stripBefore,
3196
+ stripChars,
2573
3197
  stripLeading,
2574
3198
  stripTrailing,
2575
3199
  surround,
3200
+ takeNumericCharacters,
2576
3201
  takeProp,
2577
3202
  toCamelCase,
2578
3203
  toKebabCase,
@@ -2596,10 +3221,13 @@ var asVueRef = (value) => ({
2596
3221
  unique,
2597
3222
  uniqueKeys,
2598
3223
  uppercase,
3224
+ urlMeta,
2599
3225
  valuesOf,
2600
3226
  widen,
2601
3227
  withDefaults,
2602
3228
  withKeys,
2603
3229
  withoutKeys,
2604
- withoutValue
3230
+ withoutValue,
3231
+ wrapFn,
3232
+ youtubeMeta
2605
3233
  });