inferred-types 0.44.0 → 0.45.0

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 (134) hide show
  1. package/dist/constants/NetworkConstants.d.ts +29 -0
  2. package/dist/constants/NetworkConstants.d.ts.map +1 -0
  3. package/dist/constants/NetworkConstants.js +83 -0
  4. package/dist/constants/index.d.ts +1 -1
  5. package/dist/constants/index.d.ts.map +1 -1
  6. package/dist/constants/index.js +1 -1
  7. package/dist/constants/tsconfig.tsbuildinfo +1 -1
  8. package/dist/inferred-types/index.cjs +571 -301
  9. package/dist/inferred-types/tsconfig.tsbuildinfo +1 -1
  10. package/dist/runtime/dictionary/withKeys.d.ts +1 -1
  11. package/dist/runtime/index.d.ts +1 -0
  12. package/dist/runtime/index.d.ts.map +1 -1
  13. package/dist/runtime/index.js +1 -0
  14. package/dist/runtime/literals/index.d.ts +1 -0
  15. package/dist/runtime/literals/index.d.ts.map +1 -1
  16. package/dist/runtime/literals/index.js +1 -0
  17. package/dist/runtime/literals/takeNumericCharacters.d.ts +9 -0
  18. package/dist/runtime/literals/takeNumericCharacters.d.ts.map +1 -0
  19. package/dist/runtime/literals/takeNumericCharacters.js +12 -0
  20. package/dist/runtime/meta/index.d.ts +3 -0
  21. package/dist/runtime/meta/index.d.ts.map +1 -0
  22. package/dist/runtime/meta/index.js +2 -0
  23. package/dist/runtime/meta/urlMeta.d.ts +52 -0
  24. package/dist/runtime/meta/urlMeta.d.ts.map +1 -0
  25. package/dist/runtime/meta/urlMeta.js +57 -0
  26. package/dist/runtime/meta/youtube-meta.d.ts +31 -0
  27. package/dist/runtime/meta/youtube-meta.d.ts.map +1 -0
  28. package/dist/runtime/meta/youtube-meta.js +19 -0
  29. package/dist/runtime/runtime-types/parse.d.ts +1 -1
  30. package/dist/runtime/runtime-types/shape-helpers/getTokenData.d.ts +1 -1
  31. package/dist/runtime/runtime-types/shape-helpers/getTokenName.d.ts +1 -1
  32. package/dist/runtime/runtime-types/shape-helpers/singletons.d.ts.map +1 -1
  33. package/dist/runtime/runtime-types/shape-helpers/singletons.js +1 -1
  34. package/dist/runtime/runtime-types/shape.d.ts +1 -1
  35. package/dist/runtime/tsconfig.tsbuildinfo +1 -1
  36. package/dist/runtime/type-conversion/asChars.d.ts +8 -0
  37. package/dist/runtime/type-conversion/asChars.d.ts.map +1 -0
  38. package/dist/runtime/type-conversion/asChars.js +8 -0
  39. package/dist/runtime/type-conversion/index.d.ts +2 -0
  40. package/dist/runtime/type-conversion/index.d.ts.map +1 -1
  41. package/dist/runtime/type-conversion/index.js +2 -0
  42. package/dist/runtime/type-conversion/ip6GroupExpansion.d.ts +14 -0
  43. package/dist/runtime/type-conversion/ip6GroupExpansion.d.ts.map +1 -0
  44. package/dist/runtime/type-conversion/ip6GroupExpansion.js +15 -0
  45. package/dist/runtime/type-guards/index.d.ts +4 -0
  46. package/dist/runtime/type-guards/index.d.ts.map +1 -1
  47. package/dist/runtime/type-guards/index.js +4 -0
  48. package/dist/runtime/type-guards/isHexadecimal.d.ts +8 -0
  49. package/dist/runtime/type-guards/isHexadecimal.d.ts.map +1 -0
  50. package/dist/runtime/type-guards/isHexadecimal.js +13 -0
  51. package/dist/runtime/type-guards/isUrl.d.ts +1 -3
  52. package/dist/runtime/type-guards/isUrl.d.ts.map +1 -1
  53. package/dist/runtime/type-guards/isUrl.js +2 -3
  54. package/dist/runtime/type-guards/network-tg.d.ts +48 -0
  55. package/dist/runtime/type-guards/network-tg.d.ts.map +1 -0
  56. package/dist/runtime/type-guards/network-tg.js +85 -0
  57. package/dist/runtime/type-guards/repos.d.ts +4 -4
  58. package/dist/runtime/type-guards/repos.d.ts.map +1 -1
  59. package/dist/runtime/type-guards/youtube.d.ts +42 -0
  60. package/dist/runtime/type-guards/youtube.d.ts.map +1 -0
  61. package/dist/runtime/type-guards/youtube.js +74 -0
  62. package/dist/types/boolean-logic/combinators/And.d.ts +1 -1
  63. package/dist/types/boolean-logic/combinators/And.d.ts.map +1 -1
  64. package/dist/types/boolean-logic/combinators/Not.d.ts +5 -6
  65. package/dist/types/boolean-logic/combinators/Not.d.ts.map +1 -1
  66. package/dist/types/boolean-logic/operators/Extends.d.ts +2 -1
  67. package/dist/types/boolean-logic/operators/Extends.d.ts.map +1 -1
  68. package/dist/types/boolean-logic/operators/IsBoolean.d.ts +2 -1
  69. package/dist/types/boolean-logic/operators/IsBoolean.d.ts.map +1 -1
  70. package/dist/types/boolean-logic/operators/IsCssHexadecimal.d.ts +9 -0
  71. package/dist/types/boolean-logic/operators/IsCssHexadecimal.d.ts.map +1 -0
  72. package/dist/types/boolean-logic/operators/IsEqual.d.ts +7 -1
  73. package/dist/types/boolean-logic/operators/IsEqual.d.ts.map +1 -1
  74. package/dist/types/boolean-logic/operators/IsLessThan.d.ts +13 -0
  75. package/dist/types/boolean-logic/operators/IsLessThan.d.ts.map +1 -0
  76. package/dist/types/boolean-logic/operators/IsLessThan.js +1 -0
  77. package/dist/types/boolean-logic/operators/IsNever.d.ts +2 -1
  78. package/dist/types/boolean-logic/operators/IsNever.d.ts.map +1 -1
  79. package/dist/types/boolean-logic/operators/IsNumber.d.ts +2 -2
  80. package/dist/types/boolean-logic/operators/IsNumber.d.ts.map +1 -1
  81. package/dist/types/boolean-logic/operators/IsString.d.ts +2 -2
  82. package/dist/types/boolean-logic/operators/IsString.d.ts.map +1 -1
  83. package/dist/types/boolean-logic/operators/IsUrl.d.ts +35 -0
  84. package/dist/types/boolean-logic/operators/IsUrl.d.ts.map +1 -0
  85. package/dist/types/boolean-logic/operators/IsUrl.js +1 -0
  86. package/dist/types/boolean-logic/operators/Network-operators.d.ts +71 -0
  87. package/dist/types/boolean-logic/operators/Network-operators.d.ts.map +1 -0
  88. package/dist/types/boolean-logic/operators/Network-operators.js +1 -0
  89. package/dist/types/boolean-logic/operators/YouTube-operators.d.ts +32 -0
  90. package/dist/types/boolean-logic/operators/YouTube-operators.d.ts.map +1 -0
  91. package/dist/types/boolean-logic/operators/YouTube-operators.js +1 -0
  92. package/dist/types/boolean-logic/operators/index.d.ts +4 -1
  93. package/dist/types/boolean-logic/operators/index.d.ts.map +1 -1
  94. package/dist/types/boolean-logic/operators/index.js +4 -1
  95. package/dist/types/string-literals/RetainUntil.d.ts +33 -0
  96. package/dist/types/string-literals/RetainUntil.d.ts.map +1 -0
  97. package/dist/types/string-literals/RetainUntil.js +1 -0
  98. package/dist/types/string-literals/Split.d.ts +3 -3
  99. package/dist/types/string-literals/Split.d.ts.map +1 -1
  100. package/dist/types/string-literals/StripAfter.d.ts +2 -2
  101. package/dist/types/string-literals/StripAfter.d.ts.map +1 -1
  102. package/dist/types/string-literals/StripBefore.d.ts +2 -2
  103. package/dist/types/string-literals/StripBefore.d.ts.map +1 -1
  104. package/dist/types/string-literals/StripUntil.d.ts +6 -0
  105. package/dist/types/string-literals/StripUntil.d.ts.map +1 -0
  106. package/dist/types/string-literals/StripUntil.js +1 -0
  107. package/dist/types/string-literals/character-sets/DomainName.d.ts +17 -18
  108. package/dist/types/string-literals/character-sets/DomainName.d.ts.map +1 -1
  109. package/dist/types/string-literals/character-sets/IpAddress.d.ts +28 -4
  110. package/dist/types/string-literals/character-sets/IpAddress.d.ts.map +1 -1
  111. package/dist/types/string-literals/character-sets/Optional.d.ts +14 -0
  112. package/dist/types/string-literals/character-sets/Optional.d.ts.map +1 -0
  113. package/dist/types/string-literals/character-sets/Optional.js +1 -0
  114. package/dist/types/string-literals/character-sets/Repos.d.ts.map +1 -1
  115. package/dist/types/string-literals/character-sets/Url.d.ts +85 -37
  116. package/dist/types/string-literals/character-sets/Url.d.ts.map +1 -1
  117. package/dist/types/string-literals/character-sets/Url.js +1 -0
  118. package/dist/types/string-literals/character-sets/YouTube.d.ts +127 -0
  119. package/dist/types/string-literals/character-sets/YouTube.d.ts.map +1 -0
  120. package/dist/types/string-literals/character-sets/YouTube.js +1 -0
  121. package/dist/types/string-literals/character-sets/index.d.ts +2 -0
  122. package/dist/types/string-literals/character-sets/index.d.ts.map +1 -1
  123. package/dist/types/string-literals/character-sets/index.js +2 -0
  124. package/dist/types/string-literals/index.d.ts +2 -0
  125. package/dist/types/string-literals/index.d.ts.map +1 -1
  126. package/dist/types/string-literals/index.js +2 -0
  127. package/dist/types/tsconfig.tsbuildinfo +1 -1
  128. package/package.json +1 -1
  129. package/dist/constants/Network.d.ts +0 -22
  130. package/dist/constants/Network.d.ts.map +0 -1
  131. package/dist/constants/Network.js +0 -21
  132. package/dist/types/boolean-logic/operators/IsHexadecimal.d.ts +0 -9
  133. package/dist/types/boolean-logic/operators/IsHexadecimal.d.ts.map +0 -1
  134. /package/dist/types/boolean-logic/operators/{IsHexadecimal.js → IsCssHexadecimal.js} +0 -0
@@ -65,6 +65,7 @@ __export(inferred_types_exports, {
65
65
  SHAPE_PREFIXES: () => SHAPE_PREFIXES,
66
66
  SINGULAR_NOUN_ENDINGS: () => SINGULAR_NOUN_ENDINGS,
67
67
  ShapeApiImplementation: () => ShapeApiImplementation,
68
+ TOP_LEVEL_DOMAINS: () => TOP_LEVEL_DOMAINS,
68
69
  TT_Atomics: () => TT_Atomics,
69
70
  TT_Containers: () => TT_Containers,
70
71
  TT_Functions: () => TT_Functions,
@@ -96,6 +97,7 @@ __export(inferred_types_exports, {
96
97
  addPropsToFn: () => addPropsToFn,
97
98
  and: () => and,
98
99
  asArray: () => asArray,
100
+ asChars: () => asChars,
99
101
  asRecord: () => asRecord,
100
102
  asString: () => asString,
101
103
  asVueRef: () => asVueRef,
@@ -119,10 +121,16 @@ __export(inferred_types_exports, {
119
121
  fnMeta: () => fnMeta,
120
122
  get: () => get,
121
123
  getEach: () => getEach,
124
+ getUrlPath: () => getUrlPath,
125
+ getUrlPort: () => getUrlPort,
126
+ getUrlProtocol: () => getUrlProtocol,
127
+ getUrlQueryParams: () => getUrlQueryParams,
128
+ getUrlSource: () => getUrlSource,
122
129
  handleDoneFn: () => handleDoneFn,
123
130
  hasDefaultValue: () => hasDefaultValue,
124
131
  hasIndexOf: () => hasIndexOf,
125
132
  hasKeys: () => hasKeys,
133
+ hasUrlPort: () => hasUrlPort,
126
134
  idLiteral: () => idLiteral,
127
135
  idTypeGuard: () => idTypeGuard,
128
136
  identity: () => identity,
@@ -150,14 +158,18 @@ __export(inferred_types_exports, {
150
158
  indexOf: () => indexOf,
151
159
  intersect: () => intersect,
152
160
  intersection: () => intersection,
161
+ ip6GroupExpansion: () => ip6GroupExpansion,
153
162
  ip6Prefix: () => ip6Prefix,
154
163
  isArray: () => isArray,
164
+ isBitbucketUrl: () => isBitbucketUrl,
155
165
  isBoolean: () => isBoolean,
156
166
  isBox: () => isBox,
167
+ isCodeCommitUrl: () => isCodeCommitUrl,
157
168
  isConstant: () => isConstant,
158
169
  isContainer: () => isContainer,
159
170
  isCssAspectRatio: () => isCssAspectRatio,
160
171
  isDefined: () => isDefined,
172
+ isDomainName: () => isDomainName,
161
173
  isDoneFn: () => isDoneFn,
162
174
  isEqual: () => isEqual,
163
175
  isErrorCondition: () => isErrorCondition,
@@ -165,8 +177,14 @@ __export(inferred_types_exports, {
165
177
  isFalsy: () => isFalsy,
166
178
  isFnWithParams: () => isFnWithParams,
167
179
  isFunction: () => isFunction,
180
+ isGithubRepoUrl: () => isGithubRepoUrl,
181
+ isGithubUrl: () => isGithubUrl,
182
+ isHexadecimal: () => isHexadecimal,
168
183
  isIndexable: () => isIndexable,
169
184
  isInlineSvg: () => isInlineSvg,
185
+ isIp4Address: () => isIp4Address,
186
+ isIp6Address: () => isIp6Address,
187
+ isIpAddress: () => isIpAddress,
170
188
  isLength: () => isLength,
171
189
  isNever: () => isNever,
172
190
  isNotNull: () => isNotNull,
@@ -177,8 +195,11 @@ __export(inferred_types_exports, {
177
195
  isObject: () => isObject,
178
196
  isReadonlyArray: () => isReadonlyArray,
179
197
  isRef: () => isRef,
198
+ isRepoSource: () => isRepoSource,
199
+ isRepoUrl: () => isRepoUrl,
180
200
  isSameTypeOf: () => isSameTypeOf,
181
201
  isScalar: () => isScalar,
202
+ isSemanticVersion: () => isSemanticVersion,
182
203
  isShape: () => isShape,
183
204
  isSpecificConstant: () => isSpecificConstant,
184
205
  isString: () => isString,
@@ -192,6 +213,13 @@ __export(inferred_types_exports, {
192
213
  isUndefined: () => isUndefined,
193
214
  isUri: () => isUri,
194
215
  isUrl: () => isUrl,
216
+ isUrlPath: () => isUrlPath,
217
+ isUrlSource: () => isUrlSource,
218
+ isYouTubeFeedUrl: () => isYouTubeFeedUrl,
219
+ isYouTubePlaylistUrl: () => isYouTubePlaylistUrl,
220
+ isYouTubeShareUrl: () => isYouTubeShareUrl,
221
+ isYouTubeUrl: () => isYouTubeUrl,
222
+ isYouTubeVideoUrl: () => isYouTubeVideoUrl,
195
223
  join: () => join,
196
224
  keysOf: () => keysOf,
197
225
  kindError: () => kindError,
@@ -214,6 +242,7 @@ __export(inferred_types_exports, {
214
242
  pathJoin: () => pathJoin,
215
243
  pluralize: () => pluralize,
216
244
  pop: () => pop,
245
+ removeUrlProtocol: () => removeUrlProtocol,
217
246
  result: () => result,
218
247
  retain: () => retain,
219
248
  retainAfter: () => retainAfter,
@@ -229,6 +258,7 @@ __export(inferred_types_exports, {
229
258
  stripLeading: () => stripLeading,
230
259
  stripTrailing: () => stripTrailing,
231
260
  surround: () => surround,
261
+ takeNumericCharacters: () => takeNumericCharacters,
232
262
  takeProp: () => takeProp,
233
263
  toCamelCase: () => toCamelCase,
234
264
  toKebabCase: () => toKebabCase,
@@ -247,17 +277,19 @@ __export(inferred_types_exports, {
247
277
  tuple: () => tuple,
248
278
  unbox: () => unbox,
249
279
  uncapitalize: () => uncapitalize,
250
- union: () => union2,
280
+ union: () => union,
251
281
  unionize: () => unionize,
252
282
  unique: () => unique,
253
283
  uniqueKeys: () => uniqueKeys,
254
284
  uppercase: () => uppercase,
285
+ urlMeta: () => urlMeta,
255
286
  valuesOf: () => valuesOf,
256
287
  widen: () => widen,
257
288
  withDefaults: () => withDefaults,
258
289
  withKeys: () => withKeys,
259
290
  withoutKeys: () => withoutKeys,
260
- withoutValue: () => withoutValue
291
+ withoutValue: () => withoutValue,
292
+ youtube: () => youtube
261
293
  });
262
294
  module.exports = __toCommonJS(inferred_types_exports);
263
295
 
@@ -953,26 +985,6 @@ var HASH_TABLE_CHAR = {
953
985
  };
954
986
  var HASH_TABLE_OTHER = "999";
955
987
 
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
988
  // dist/constants/Geo.js
977
989
  var US_STATE_LOOKUP_STRICT = [
978
990
  { name: "Alabama", abbrev: "AL" },
@@ -1098,6 +1110,82 @@ var GITHUB_INSIGHT_CATEGORY_LOOKUP = {
1098
1110
  people: "people"
1099
1111
  };
1100
1112
 
1113
+ // dist/constants/NetworkConstants.js
1114
+ var IPv6 = {
1115
+ "Loopback": "::1/128",
1116
+ "Multicast": "ff00::/8",
1117
+ "IPv4MappedAddresses": "::FFFF:0:0/96",
1118
+ "Unicast": "fe80::/10",
1119
+ "DocumentationAddresses": "2001:db8::/32"
1120
+ };
1121
+ var IPv4 = {
1122
+ "Loopback": "127.0.0.1"
1123
+ };
1124
+ var NETWORK_PROTOCOL_LOOKUP = {
1125
+ http: ["http", "https"],
1126
+ ftp: ["ftp", "sftp"],
1127
+ file: ["", "file"],
1128
+ ws: ["ws", "wss"],
1129
+ ssh: ["", "ssh"],
1130
+ "scp": ["", "scp"]
1131
+ };
1132
+ var TOP_LEVEL_DOMAINS = [
1133
+ "com",
1134
+ "org",
1135
+ "net",
1136
+ "int",
1137
+ "edu",
1138
+ "gov",
1139
+ "io",
1140
+ "mil",
1141
+ "arpa",
1142
+ "academy",
1143
+ "agency",
1144
+ "analytics",
1145
+ "app",
1146
+ "art",
1147
+ "bet",
1148
+ "beer",
1149
+ "book",
1150
+ "coffee",
1151
+ "dot",
1152
+ "doctor",
1153
+ "dog",
1154
+ "family",
1155
+ "game",
1156
+ "guide",
1157
+ "guru",
1158
+ "info",
1159
+ "inc",
1160
+ "news",
1161
+ "new",
1162
+ "ninja",
1163
+ "now",
1164
+ "online",
1165
+ "page",
1166
+ "photos",
1167
+ "place",
1168
+ "pub",
1169
+ "room",
1170
+ "show",
1171
+ "technology",
1172
+ "tel",
1173
+ "tech",
1174
+ "team",
1175
+ "talk",
1176
+ "travel",
1177
+ "website",
1178
+ "work",
1179
+ "works",
1180
+ "wow",
1181
+ "uk",
1182
+ "us",
1183
+ "fr",
1184
+ "de",
1185
+ "eu",
1186
+ "london"
1187
+ ];
1188
+
1101
1189
  // dist/types/dictionary/MapTo.js
1102
1190
  var toFinalizedConfig = (config) => {
1103
1191
  return { ...config, finalized: true };
@@ -1407,15 +1495,6 @@ var isDoneFn = (val) => {
1407
1495
  return hasKeys("done")(val) && typeof val.done === "function";
1408
1496
  };
1409
1497
 
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]);
1415
- }
1416
- return values;
1417
- };
1418
-
1419
1498
  // dist/runtime/type-guards/isUrl.js
1420
1499
  var isUri = (val, ...protocols) => {
1421
1500
  const p = protocols.length === 0 ? valuesOf(NETWORK_PROTOCOL_LOOKUP).flat().filter((i) => i) : protocols;
@@ -1446,168 +1525,24 @@ var isInlineSvg = (v) => {
1446
1525
  return isString(v) && v.trim().startsWith(`<svg`) && v.trim().endsWith(`</svg>`);
1447
1526
  };
1448
1527
 
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
- };
1453
-
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
- };
1458
-
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;
1462
- }
1463
-
1464
- // dist/runtime/type-guards/higher-order/isTypeOf.js
1465
- var isTypeOf = (type) => (value) => {
1466
- return typeof value === type;
1467
- };
1468
-
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
- };
1475
- };
1476
-
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
- }
1484
-
1485
- // dist/runtime/boolean-logic/ifArrayPartial.js
1486
- function ifArrayPartial() {
1487
- return (isAnArray, isNotAnArray) => {
1488
- return (val) => ifArray(val, isAnArray, isNotAnArray);
1489
- };
1490
- }
1491
-
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;
1495
- };
1496
-
1497
- // dist/runtime/combinators/and.js
1498
- var and = (...values) => {
1499
- return values.every((i) => i === true);
1528
+ // dist/runtime/type-guards/youtube.js
1529
+ var isYouTubeUrl = (val) => {
1530
+ return isString(val) && (val.startsWith("https://www.youtube.com") || val.startsWith("https://youtube.com") || val.startsWith("https://youtu.be"));
1500
1531
  };
1501
-
1502
- // dist/runtime/combinators/or.js
1503
- function or(...conditions) {
1504
- const values = conditions.some((v) => v === true ? true : false);
1505
- return values;
1506
- }
1507
-
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;
1512
- }
1513
-
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;
1524
- }
1525
-
1526
- // dist/runtime/dictionary/get.js
1527
- function updatedDotPath(value, dotpath, segment) {
1528
- return isRef(value) ? dotpath.replace(segment, `Ref(${segment})`) : dotpath;
1529
- }
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;
1539
- }
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;
1546
- }
1547
-
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
- }, {});
1555
- }
1556
-
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
- };
1565
- }
1566
- return output;
1532
+ var isYouTubeShareUrl = (val) => {
1533
+ return isString(val) && val.startsWith(`https://youtu.be`);
1567
1534
  };
1568
-
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));
1535
+ var isYouTubeVideoUrl = (val) => {
1536
+ return isString(val) && (val.startsWith("https://www.youtube.com") || val.startsWith("https://youtube.com") || val.startsWith("https://youtu.be"));
1574
1537
  };
1575
-
1576
- // dist/runtime/dictionary/takeProp.js
1577
- var takeProp = (val, prop, otherwise) => {
1578
- return (isObject(val) || isArray(val)) && prop in val ? val[prop] : otherwise;
1538
+ var isYouTubePlaylistUrl = (val) => {
1539
+ 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`));
1579
1540
  };
1580
-
1581
- // dist/runtime/dictionary/withKeys.js
1582
- var withKeys = (dict2, ...keys) => retain(dict2, ...keys);
1583
-
1584
- // dist/runtime/dictionary/withoutKeys.js
1585
- var withoutKeys = (dict2, ...exclude) => omit(dict2, ...exclude);
1586
-
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
- }
1593
-
1594
- // dist/runtime/dictionary/withDefaults.js
1595
- var withDefaults = (with_defaults) => (obj) => {
1596
- const merged = {
1597
- ...with_defaults,
1598
- ...obj
1599
- };
1600
- return merged;
1541
+ var feed_map = (type) => {
1542
+ return isUndefined(type) ? `/feed` : type === "liked" ? `/playlist?list=LL` : ["history", "playlists", "trending", "subscriptions"].includes(type) ? `/feed/${type}` : `/feed/`;
1601
1543
  };
1602
-
1603
- // dist/runtime/errors/createErrorCondition.js
1604
- var createErrorCondition = (kind, msg = "", utility = "") => {
1605
- return {
1606
- __kind: "ErrorCondition",
1607
- kind,
1608
- msg,
1609
- utility
1610
- };
1544
+ var isYouTubeFeedUrl = (val, kind) => {
1545
+ return isString(val) && (val.startsWith(`https://www.youtube.com/${feed_map(kind)}`) || val.startsWith(`https://youtube.com/feed${feed_map(kind)}`));
1611
1546
  };
1612
1547
 
1613
1548
  // dist/runtime/literals/box.js
@@ -1879,48 +1814,425 @@ var truncate = (content, maxLength, ellipsis = false) => {
1879
1814
  return overLimit ? ellipsis ? `${content.slice(0, maxLength)}${typeof ellipsis === "string" ? ellipsis : "..."}` : content.slice(0, maxLength) : content;
1880
1815
  };
1881
1816
 
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;
1817
+ // dist/runtime/literals/takeNumericCharacters.js
1818
+ var takeNumericCharacters = (content) => {
1819
+ let nonNumericIdx = asChars(content).findIndex((i) => !NUMERIC_CHAR.includes(i));
1820
+ return content.slice(0, nonNumericIdx);
1890
1821
  };
1891
1822
 
1892
- // dist/runtime/functional/result.js
1893
- var result = "NOT READY";
1894
-
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] }), {});
1899
- return {
1900
- fn: fn2,
1901
- props
1902
- };
1903
- };
1823
+ // dist/runtime/dictionary/keysOf.js
1824
+ function keysOf(container) {
1825
+ const keys = Array.isArray(container) ? Object.keys(container).map((i) => Number(i)) : isObject(container) ? isRef(container) ? ["value"] : Object.keys(container) : [];
1826
+ return keys;
1827
+ }
1904
1828
 
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];
1829
+ // dist/runtime/dictionary/entries.js
1830
+ function entries(obj) {
1831
+ const iterable = {
1832
+ *[Symbol.iterator]() {
1833
+ for (const k of keysOf(obj)) {
1834
+ yield [k, obj[k]];
1835
+ }
1911
1836
  }
1912
- return localFn;
1913
1837
  };
1914
- };
1838
+ return iterable;
1839
+ }
1915
1840
 
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];
1921
- }
1922
- return localFn;
1923
- };
1841
+ // dist/runtime/dictionary/get.js
1842
+ function updatedDotPath(value, dotpath, segment) {
1843
+ return isRef(value) ? dotpath.replace(segment, `Ref(${segment})`) : dotpath;
1844
+ }
1845
+ function getValue(value, dotPath, defaultValue, handleInvalid, fullDotPath) {
1846
+ const pathSegments = isTruthy(dotPath) ? dotPath.split(".") : [];
1847
+ const idx = pathSegments[0];
1848
+ const hasMoreSegments = pathSegments.length > 1;
1849
+ const valueIsIndexable = isContainer(value) && hasIndexOf(value, idx);
1850
+ const hasHandler = !isSpecificConstant("not-defined")(handleInvalid);
1851
+ 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)}`);
1852
+ 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;
1853
+ return current;
1854
+ }
1855
+ function get(value, dotPath, options = {
1856
+ defaultValue: NO_DEFAULT_VALUE,
1857
+ handleInvalidDotpath: NOT_DEFINED
1858
+ }) {
1859
+ 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));
1860
+ return outcome;
1861
+ }
1862
+
1863
+ // dist/runtime/dictionary/omit.js
1864
+ function omit(obj, ...removeKeys) {
1865
+ const keys = Object.keys(obj);
1866
+ return keys.reduce((acc, key) => removeKeys.includes(key) ? acc : {
1867
+ ...acc,
1868
+ [key]: obj[key]
1869
+ }, {});
1870
+ }
1871
+
1872
+ // dist/runtime/dictionary/retain.js
1873
+ var retain = (dict2, ...keys) => {
1874
+ let output = {};
1875
+ for (const k of keys) {
1876
+ output = {
1877
+ ...output,
1878
+ [k]: dict2[k]
1879
+ };
1880
+ }
1881
+ return output;
1882
+ };
1883
+
1884
+ // dist/runtime/dictionary/sharedKeys.js
1885
+ var sharedKeys = (a, b) => {
1886
+ const ka = Object.keys(a);
1887
+ const kb = Object.keys(b);
1888
+ return ka.filter((k) => kb.includes(k));
1889
+ };
1890
+
1891
+ // dist/runtime/dictionary/takeProp.js
1892
+ var takeProp = (val, prop, otherwise) => {
1893
+ return (isObject(val) || isArray(val)) && prop in val ? val[prop] : otherwise;
1894
+ };
1895
+
1896
+ // dist/runtime/dictionary/withKeys.js
1897
+ var withKeys = (dict2, ...keys) => retain(dict2, ...keys);
1898
+
1899
+ // dist/runtime/dictionary/withoutKeys.js
1900
+ var withoutKeys = (dict2, ...exclude) => omit(dict2, ...exclude);
1901
+
1902
+ // dist/runtime/dictionary/withoutValue.js
1903
+ function withoutValue(val) {
1904
+ return (obj) => {
1905
+ return Object.keys(obj).reduce((acc, key) => val === obj[key] ? acc : { ...acc, [key]: obj[key] }, {});
1906
+ };
1907
+ }
1908
+
1909
+ // dist/runtime/dictionary/withDefaults.js
1910
+ var withDefaults = (with_defaults) => (obj) => {
1911
+ const merged = {
1912
+ ...with_defaults,
1913
+ ...obj
1914
+ };
1915
+ return merged;
1916
+ };
1917
+
1918
+ // dist/runtime/dictionary/valuesOf.js
1919
+ var valuesOf = (obj) => {
1920
+ const values = [];
1921
+ for (const k of Object.keys(obj)) {
1922
+ values.push(obj[k]);
1923
+ }
1924
+ return values;
1925
+ };
1926
+
1927
+ // dist/runtime/type-guards/repos.js
1928
+ var isRepoSource = (v) => {
1929
+ return isString(v) && REPO_SOURCES.includes(v);
1930
+ };
1931
+ var isSemanticVersion = (v, allowPrefix = false) => {
1932
+ 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())));
1933
+ };
1934
+ var isRepoUrl = (val) => {
1935
+ const baseUrls = valuesOf(REPO_SOURCE_LOOKUP).flat();
1936
+ return isString(val) && baseUrls.every((u) => val === u || val.startsWith(`${u}/`));
1937
+ };
1938
+ var isGithubUrl = (val) => {
1939
+ const baseUrls = REPO_SOURCE_LOOKUP["github"];
1940
+ return isString(val) && baseUrls.every((u) => val === u || val.startsWith(`${u}/`));
1941
+ };
1942
+ var isGithubRepoUrl = (val) => {
1943
+ const baseUrls = [""];
1944
+ return isString(val) && baseUrls.every((u) => val === u || val.startsWith(`${u}/`));
1945
+ };
1946
+ var isBitbucketUrl = (val) => {
1947
+ const baseUrls = REPO_SOURCE_LOOKUP["bitbucket"];
1948
+ return isString(val) && baseUrls.every((u) => val === u || val.startsWith(`${u}/`));
1949
+ };
1950
+ var isCodeCommitUrl = (val) => {
1951
+ const baseUrls = REPO_SOURCE_LOOKUP["codecommit"];
1952
+ return isString(val) && baseUrls.every((u) => val === u || val.startsWith(`${u}/`));
1953
+ };
1954
+
1955
+ // dist/runtime/type-conversion/asChars.js
1956
+ var asChars = (str) => {
1957
+ return str.split("");
1958
+ };
1959
+
1960
+ // dist/runtime/type-guards/isAlpha.js
1961
+ var isAlpha = (value) => {
1962
+ return isString(value) && split(value).every((v) => ALPHA_CHARS.includes(v));
1963
+ };
1964
+
1965
+ // dist/runtime/type-conversion/mergeObjects.js
1966
+ function mergeObjects(defVal, override) {
1967
+ const intersectingKeys = sharedKeys(defVal, override);
1968
+ const defUnique = withoutKeys(defVal, ...intersectingKeys);
1969
+ const overrideUnique = withoutKeys(defVal, ...intersectingKeys);
1970
+ const merged = {
1971
+ ...intersectingKeys.reduce((acc, key) => typeof override[key] === "undefined" ? { ...acc, [key]: defVal[key] } : { ...acc, [key]: override[key] }, {}),
1972
+ ...defUnique,
1973
+ ...overrideUnique
1974
+ };
1975
+ return merged;
1976
+ }
1977
+
1978
+ // dist/runtime/type-conversion/optional.js
1979
+ function optional(...values) {
1980
+ return values.length === 1 ? values[0] : values;
1981
+ }
1982
+
1983
+ // dist/runtime/type-conversion/mergeScalars.js
1984
+ function mergeScalars(a, b) {
1985
+ return isUndefined(b) ? a : b;
1986
+ }
1987
+
1988
+ // dist/runtime/type-conversion/mergeTuples.js
1989
+ function mergeTuples(a, b) {
1990
+ 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]);
1991
+ }
1992
+
1993
+ // dist/runtime/type-conversion/unionize.js
1994
+ function unionize(value, inUnionWith) {
1995
+ return value;
1996
+ }
1997
+
1998
+ // dist/runtime/type-conversion/intersect.js
1999
+ function intersect(value, intersectedWith) {
2000
+ return value;
2001
+ }
2002
+
2003
+ // dist/runtime/type-conversion/never.js
2004
+ function never(val) {
2005
+ return val;
2006
+ }
2007
+
2008
+ // dist/runtime/type-conversion/union.js
2009
+ var union = (...options) => (value) => value;
2010
+
2011
+ // dist/runtime/type-conversion/toNumber.js
2012
+ var convertScalar = (val) => {
2013
+ switch (typeof val) {
2014
+ case "number":
2015
+ return val;
2016
+ case "string":
2017
+ return Number(val);
2018
+ case "boolean":
2019
+ return val ? 1 : 0;
2020
+ default:
2021
+ throw Error(`${typeof val} is an invalid scalar type to convert to a number!`);
2022
+ }
2023
+ };
2024
+ var convertList = (val) => val.map((i) => convertScalar(i));
2025
+ function toNumber(value) {
2026
+ return Array.isArray(value) ? convertList(value) : convertScalar(value);
2027
+ }
2028
+
2029
+ // dist/runtime/type-conversion/asRecord.js
2030
+ var asRecord = (obj) => {
2031
+ return obj;
2032
+ };
2033
+
2034
+ // dist/runtime/type-conversion/asString.js
2035
+ var asString = (value) => {
2036
+ return isString(value) ? value : isNumber(value) ? `${value}` : isBoolean(value) ? `${value}` : String(value);
2037
+ };
2038
+
2039
+ // dist/runtime/type-conversion/ip6GroupExpansion.js
2040
+ var ip6GroupExpansion = (ip) => {
2041
+ return stripTrailing(ip.replaceAll("::", ":0000:"), ":");
2042
+ };
2043
+
2044
+ // dist/runtime/type-guards/isHexadecimal.js
2045
+ var isHexadecimal = (val) => {
2046
+ return isString(val) && asChars(val).every((i) => isNumericString(i) || ["a", "b", "c", "d", "e", "f"].includes(i.toLowerCase()));
2047
+ };
2048
+
2049
+ // dist/runtime/meta/youtube-meta.js
2050
+ var youtube = (url) => {
2051
+ return isYouTubeUrl(url) ? {
2052
+ url,
2053
+ isYouTubeUrl: true,
2054
+ isShareUrl: isYouTubeShareUrl(url)
2055
+ } : {
2056
+ url,
2057
+ isYouTubeUrl: false
2058
+ };
2059
+ };
2060
+
2061
+ // dist/runtime/meta/urlMeta.js
2062
+ var PROTOCOLS = Object.values(NETWORK_PROTOCOL_LOOKUP).flat().filter((i) => i !== "");
2063
+ var getUrlProtocol = (url) => {
2064
+ const proto = PROTOCOLS.find((p) => url.startsWith(`${p}://`));
2065
+ return proto;
2066
+ };
2067
+ var removeUrlProtocol = (url) => {
2068
+ return stripBefore(url, "://");
2069
+ };
2070
+ var ensurePath = (val) => val === "" ? "" : stripTrailing(ensureLeading(val, "/"), "/");
2071
+ var getUrlPath = (url) => {
2072
+ return isUrl(url) ? ensurePath(stripAfter(stripBefore(removeUrlProtocol(url), "/"), "?")) : Never;
2073
+ };
2074
+ var getUrlQueryParams = (url) => {
2075
+ const qp = stripBefore(url, "?");
2076
+ return qp === "" ? qp : `?${qp}`;
2077
+ };
2078
+ var getUrlPort = (url) => {
2079
+ const candidate = takeNumericCharacters(stripBefore(removeUrlProtocol(url), ":"));
2080
+ return candidate === "" ? "default" : Number(candidate);
2081
+ };
2082
+ var getUrlSource = (url) => {
2083
+ const candidate = stripAfter(stripAfter(stripAfter(removeUrlProtocol(url), "/"), "?"), ":");
2084
+ return isIpAddress(candidate) || isDomainName(candidate) ? candidate : Never;
2085
+ };
2086
+ var urlMeta = (url) => {
2087
+ return {
2088
+ url,
2089
+ isUrl: isUrl(url),
2090
+ protocol: getUrlProtocol(url),
2091
+ path: getUrlPath(url),
2092
+ queryParameters: getUrlQueryParams(url),
2093
+ port: getUrlPort(url),
2094
+ source: getUrlSource(url),
2095
+ isIpAddress: isIpAddress(getUrlSource(url)),
2096
+ isIp4Address: isIp4Address(getUrlSource(url)),
2097
+ isIp6Address: isIp6Address(getUrlSource(url))
2098
+ };
2099
+ };
2100
+
2101
+ // dist/runtime/type-guards/network-tg.js
2102
+ var isIp4Address = (val) => {
2103
+ return isString(val) && val.split(".").length === 4 && val.split(".").every((i) => isNumericString(i)) && val.split(".").every((i) => Number(i) >= 0 && Number(i) <= 255);
2104
+ };
2105
+ var isIp6Address = (val) => {
2106
+ const expanded = isString(val) ? ip6GroupExpansion(val) : "";
2107
+ return isString(val) && isString(expanded) && expanded.split(":").every((i) => asChars(i).length >= 1 && asChars(i).length <= 4) && expanded.split(":").every((i) => isHexadecimal(i));
2108
+ };
2109
+ var isIpAddress = (val) => {
2110
+ return isIp4Address(val) || isIp6Address(val);
2111
+ };
2112
+ var hasUrlPort = (val) => {
2113
+ return isString(val) && asChars(removeUrlProtocol(val)).some((i) => i === ":");
2114
+ };
2115
+ var isUrlPath = (val) => {
2116
+ return isString(val) && (val === "" || val.startsWith("/")) && asChars(val).every((c) => isAlpha(c) || isNumericString(c) || c === "_" || c === "@" || c === "." || c === "-");
2117
+ };
2118
+ var isDomainName = (val) => {
2119
+ 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 === "_");
2120
+ };
2121
+ var isUrlSource = (val) => {
2122
+ return isDomainName(val) || isIpAddress(val);
2123
+ };
2124
+
2125
+ // dist/runtime/type-guards/higher-order/endsWith.js
2126
+ var endsWith = (endingIn2) => (val) => {
2127
+ return ifString(val, (v) => v.endsWith(endingIn2) ? true : false, (v) => ifNumber(v, (n) => String(n).endsWith(endingIn2) ? true : false, () => false));
2128
+ };
2129
+
2130
+ // dist/runtime/type-guards/higher-order/startsWith.js
2131
+ var startsWith = (startingWith) => (val) => {
2132
+ return isString(val) ? val.startsWith(startingWith) ? true : false : isNumber(val) ? String(val).startsWith(startingWith) ? true : false : false;
2133
+ };
2134
+
2135
+ // dist/runtime/type-guards/higher-order/isLength.js
2136
+ function isLength(value, len) {
2137
+ 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;
2138
+ }
2139
+
2140
+ // dist/runtime/type-guards/higher-order/isTypeOf.js
2141
+ var isTypeOf = (type) => (value) => {
2142
+ return typeof value === type;
2143
+ };
2144
+
2145
+ // dist/runtime/type-guards/higher-order/isTuple.js
2146
+ var isTuple = (...tuple3) => {
2147
+ const results = tuple3.map((i) => i(ShapeApiImplementation)).map((i) => isDoneFn(i) ? i.done() : i);
2148
+ return (v) => {
2149
+ return isArray(v) && v.length === results.length && results.every(isShape) && v.every((item, idx) => isSameTypeOf(results[idx])(item));
2150
+ };
2151
+ };
2152
+
2153
+ // dist/runtime/boolean-logic/ifUndefined.js
2154
+ function ifUndefined(val, ifUndefined2, ifDefined2) {
2155
+ return isUndefined(val) ? ifUndefined2() : ifDefined2(val);
2156
+ }
2157
+ function ifDefined(val, ifVal, elseVal) {
2158
+ return isDefined(val) ? ifVal : elseVal;
2159
+ }
2160
+
2161
+ // dist/runtime/boolean-logic/ifArrayPartial.js
2162
+ function ifArrayPartial() {
2163
+ return (isAnArray, isNotAnArray) => {
2164
+ return (val) => ifArray(val, isAnArray, isNotAnArray);
2165
+ };
2166
+ }
2167
+
2168
+ // dist/runtime/boolean-logic/handleDoneFn.js
2169
+ var handleDoneFn = (val, call_bare_fn = false) => {
2170
+ 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;
2171
+ };
2172
+
2173
+ // dist/runtime/combinators/and.js
2174
+ var and = (...values) => {
2175
+ return values.every((i) => i === true);
2176
+ };
2177
+
2178
+ // dist/runtime/combinators/or.js
2179
+ function or(...conditions) {
2180
+ const values = conditions.some((v) => v === true ? true : false);
2181
+ return values;
2182
+ }
2183
+
2184
+ // dist/runtime/errors/createErrorCondition.js
2185
+ var createErrorCondition = (kind, msg = "", utility = "") => {
2186
+ return {
2187
+ __kind: "ErrorCondition",
2188
+ kind,
2189
+ msg,
2190
+ utility
2191
+ };
2192
+ };
2193
+
2194
+ // dist/runtime/errors/kindedError.js
2195
+ var kindError = (kind, _defineContext) => (msg, context) => {
2196
+ const err = new Error(msg);
2197
+ err.name = toPascalCase(kind);
2198
+ err.kind = toKebabCase(kind);
2199
+ err.__kind = "KindError";
2200
+ err.context = context;
2201
+ return err;
2202
+ };
2203
+
2204
+ // dist/runtime/functional/result.js
2205
+ var result = "NOT READY";
2206
+
2207
+ // dist/runtime/functions/fnMeta.js
2208
+ var fnMeta = (func) => {
2209
+ const fn2 = (...args) => func(...args);
2210
+ const props = Object.keys(fn2).reduce((acc, key) => ({ ...acc, [key]: fn2[key] }), {});
2211
+ return {
2212
+ fn: fn2,
2213
+ props
2214
+ };
2215
+ };
2216
+
2217
+ // dist/runtime/initializers/addFnToProps.js
2218
+ var addPropsToFn = (fn2, clone_fn) => {
2219
+ const localFn = clone_fn ? (...args) => fn2(args) : fn2;
2220
+ return (obj) => {
2221
+ for (const k in obj) {
2222
+ localFn[k] = obj[k];
2223
+ }
2224
+ return localFn;
2225
+ };
2226
+ };
2227
+
2228
+ // dist/runtime/initializers/addPropsToFn.js
2229
+ var addFnToProps = (props, _clone_fn) => (fn2) => {
2230
+ const localFn = (...args) => fn2(args);
2231
+ for (const k in props) {
2232
+ localFn[k] = props[k];
2233
+ }
2234
+ return localFn;
2235
+ };
1924
2236
 
1925
2237
  // dist/runtime/initializers/createFnWithProps.js
1926
2238
  var createFnWithProps = (fn2, props, narrowing = false) => {
@@ -2157,7 +2469,7 @@ var weakMap = (_key, _value) => {
2157
2469
  };
2158
2470
 
2159
2471
  // dist/runtime/runtime-types/shape-helpers/union.js
2160
- var union = (...elements) => {
2472
+ var union2 = (...elements) => {
2161
2473
  const result2 = elements.map((_el) => {
2162
2474
  });
2163
2475
  return result2;
@@ -2174,7 +2486,7 @@ var ShapeApiImplementation = {
2174
2486
  unknown,
2175
2487
  undefined: undefinedType,
2176
2488
  null: nullType,
2177
- union,
2489
+ union: union2,
2178
2490
  fn,
2179
2491
  record,
2180
2492
  array,
@@ -2282,80 +2594,6 @@ var uniqueKeys = (left, right) => {
2282
2594
  ];
2283
2595
  };
2284
2596
 
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;
2306
- }
2307
-
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]);
2311
- }
2312
-
2313
- // dist/runtime/type-conversion/unionize.js
2314
- function unionize(value, inUnionWith) {
2315
- return value;
2316
- }
2317
-
2318
- // dist/runtime/type-conversion/intersect.js
2319
- function intersect(value, intersectedWith) {
2320
- return value;
2321
- }
2322
-
2323
- // dist/runtime/type-conversion/never.js
2324
- function never(val) {
2325
- return val;
2326
- }
2327
-
2328
- // dist/runtime/type-conversion/union.js
2329
- var union2 = (...options) => (value) => value;
2330
-
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);
2347
- }
2348
-
2349
- // dist/runtime/type-conversion/asRecord.js
2350
- var asRecord = (obj) => {
2351
- return obj;
2352
- };
2353
-
2354
- // dist/runtime/type-conversion/asString.js
2355
- var asString = (value) => {
2356
- return isString(value) ? value : isNumber(value) ? `${value}` : isBoolean(value) ? `${value}` : String(value);
2357
- };
2358
-
2359
2597
  // dist/runtime/vuejs/asVueRef.js
2360
2598
  var asVueRef = (value) => ({
2361
2599
  value,
@@ -2409,6 +2647,7 @@ var asVueRef = (value) => ({
2409
2647
  SHAPE_PREFIXES,
2410
2648
  SINGULAR_NOUN_ENDINGS,
2411
2649
  ShapeApiImplementation,
2650
+ TOP_LEVEL_DOMAINS,
2412
2651
  TT_Atomics,
2413
2652
  TT_Containers,
2414
2653
  TT_Functions,
@@ -2440,6 +2679,7 @@ var asVueRef = (value) => ({
2440
2679
  addPropsToFn,
2441
2680
  and,
2442
2681
  asArray,
2682
+ asChars,
2443
2683
  asRecord,
2444
2684
  asString,
2445
2685
  asVueRef,
@@ -2463,10 +2703,16 @@ var asVueRef = (value) => ({
2463
2703
  fnMeta,
2464
2704
  get,
2465
2705
  getEach,
2706
+ getUrlPath,
2707
+ getUrlPort,
2708
+ getUrlProtocol,
2709
+ getUrlQueryParams,
2710
+ getUrlSource,
2466
2711
  handleDoneFn,
2467
2712
  hasDefaultValue,
2468
2713
  hasIndexOf,
2469
2714
  hasKeys,
2715
+ hasUrlPort,
2470
2716
  idLiteral,
2471
2717
  idTypeGuard,
2472
2718
  identity,
@@ -2494,14 +2740,18 @@ var asVueRef = (value) => ({
2494
2740
  indexOf,
2495
2741
  intersect,
2496
2742
  intersection,
2743
+ ip6GroupExpansion,
2497
2744
  ip6Prefix,
2498
2745
  isArray,
2746
+ isBitbucketUrl,
2499
2747
  isBoolean,
2500
2748
  isBox,
2749
+ isCodeCommitUrl,
2501
2750
  isConstant,
2502
2751
  isContainer,
2503
2752
  isCssAspectRatio,
2504
2753
  isDefined,
2754
+ isDomainName,
2505
2755
  isDoneFn,
2506
2756
  isEqual,
2507
2757
  isErrorCondition,
@@ -2509,8 +2759,14 @@ var asVueRef = (value) => ({
2509
2759
  isFalsy,
2510
2760
  isFnWithParams,
2511
2761
  isFunction,
2762
+ isGithubRepoUrl,
2763
+ isGithubUrl,
2764
+ isHexadecimal,
2512
2765
  isIndexable,
2513
2766
  isInlineSvg,
2767
+ isIp4Address,
2768
+ isIp6Address,
2769
+ isIpAddress,
2514
2770
  isLength,
2515
2771
  isNever,
2516
2772
  isNotNull,
@@ -2521,8 +2777,11 @@ var asVueRef = (value) => ({
2521
2777
  isObject,
2522
2778
  isReadonlyArray,
2523
2779
  isRef,
2780
+ isRepoSource,
2781
+ isRepoUrl,
2524
2782
  isSameTypeOf,
2525
2783
  isScalar,
2784
+ isSemanticVersion,
2526
2785
  isShape,
2527
2786
  isSpecificConstant,
2528
2787
  isString,
@@ -2536,6 +2795,13 @@ var asVueRef = (value) => ({
2536
2795
  isUndefined,
2537
2796
  isUri,
2538
2797
  isUrl,
2798
+ isUrlPath,
2799
+ isUrlSource,
2800
+ isYouTubeFeedUrl,
2801
+ isYouTubePlaylistUrl,
2802
+ isYouTubeShareUrl,
2803
+ isYouTubeUrl,
2804
+ isYouTubeVideoUrl,
2539
2805
  join,
2540
2806
  keysOf,
2541
2807
  kindError,
@@ -2558,6 +2824,7 @@ var asVueRef = (value) => ({
2558
2824
  pathJoin,
2559
2825
  pluralize,
2560
2826
  pop,
2827
+ removeUrlProtocol,
2561
2828
  result,
2562
2829
  retain,
2563
2830
  retainAfter,
@@ -2573,6 +2840,7 @@ var asVueRef = (value) => ({
2573
2840
  stripLeading,
2574
2841
  stripTrailing,
2575
2842
  surround,
2843
+ takeNumericCharacters,
2576
2844
  takeProp,
2577
2845
  toCamelCase,
2578
2846
  toKebabCase,
@@ -2596,10 +2864,12 @@ var asVueRef = (value) => ({
2596
2864
  unique,
2597
2865
  uniqueKeys,
2598
2866
  uppercase,
2867
+ urlMeta,
2599
2868
  valuesOf,
2600
2869
  widen,
2601
2870
  withDefaults,
2602
2871
  withKeys,
2603
2872
  withoutKeys,
2604
- withoutValue
2873
+ withoutValue,
2874
+ youtube
2605
2875
  });