inferred-types 0.54.9 → 0.55.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.
- package/modules/constants/dist/index.cjs +118 -1
- package/modules/constants/dist/index.cjs.map +1 -1
- package/modules/constants/dist/index.d.ts +29 -1
- package/modules/constants/dist/index.js +113 -1
- package/modules/constants/dist/index.js.map +1 -1
- package/modules/inferred-types/dist/index.cjs +288 -16
- package/modules/inferred-types/dist/index.cjs.map +1 -1
- package/modules/inferred-types/dist/index.d.ts +21421 -20785
- package/modules/inferred-types/dist/index.js +273 -16
- package/modules/inferred-types/dist/index.js.map +1 -1
- package/modules/runtime/dist/index.cjs +180 -15
- package/modules/runtime/dist/index.cjs.map +1 -1
- package/modules/runtime/dist/index.d.ts +5406 -5142
- package/modules/runtime/dist/index.js +170 -15
- package/modules/runtime/dist/index.js.map +1 -1
- package/modules/types/dist/index.d.ts +9680 -9336
- package/package.json +3 -4
|
@@ -93,11 +93,15 @@ __export(src_exports, {
|
|
|
93
93
|
MARKED: () => MARKED,
|
|
94
94
|
MASS_METRICS_LOOKUP: () => MASS_METRICS_LOOKUP,
|
|
95
95
|
MEXICAN_NEWS: () => MEXICAN_NEWS,
|
|
96
|
+
MIME_TYPES: () => MIME_TYPES,
|
|
96
97
|
MONTH_ABBR: () => MONTH_ABBR,
|
|
97
98
|
MONTH_NAME: () => MONTH_NAME,
|
|
98
99
|
MapCardinality: () => MapCardinality,
|
|
99
100
|
NARROW_CONTAINER_TYPE_KINDS: () => NARROW_CONTAINER_TYPE_KINDS,
|
|
101
|
+
NETWORK_PROTOCOL: () => NETWORK_PROTOCOL,
|
|
102
|
+
NETWORK_PROTOCOL_INSECURE: () => NETWORK_PROTOCOL_INSECURE,
|
|
100
103
|
NETWORK_PROTOCOL_LOOKUP: () => NETWORK_PROTOCOL_LOOKUP,
|
|
104
|
+
NETWORK_PROTOCOL_SECURE: () => NETWORK_PROTOCOL_SECURE,
|
|
101
105
|
NIKE_DNS: () => NIKE_DNS,
|
|
102
106
|
NON_ZERO_NUMERIC_CHAR: () => NON_ZERO_NUMERIC_CHAR,
|
|
103
107
|
NORWEGIAN_NEWS: () => NORWEGIAN_NEWS,
|
|
@@ -114,6 +118,7 @@ __export(src_exports, {
|
|
|
114
118
|
PLURAL_EXCEPTIONS_OLD: () => PLURAL_EXCEPTIONS_OLD,
|
|
115
119
|
POWER_METRICS_LOOKUP: () => POWER_METRICS_LOOKUP,
|
|
116
120
|
PRESSURE_METRICS_LOOKUP: () => PRESSURE_METRICS_LOOKUP,
|
|
121
|
+
PROTOCOL_DEFAULT_PORTS: () => PROTOCOL_DEFAULT_PORTS,
|
|
117
122
|
PROXMOX_CT_STATE: () => PROXMOX_CT_STATE,
|
|
118
123
|
REPO_PAGE_TYPES: () => REPO_PAGE_TYPES,
|
|
119
124
|
REPO_SOURCES: () => REPO_SOURCES,
|
|
@@ -277,6 +282,9 @@ __export(src_exports, {
|
|
|
277
282
|
getTokenKind: () => getTokenKind,
|
|
278
283
|
getTomorrow: () => getTomorrow,
|
|
279
284
|
getTypeSubtype: () => getTypeSubtype,
|
|
285
|
+
getUrlBase: () => getUrlBase,
|
|
286
|
+
getUrlDefaultPort: () => getUrlDefaultPort,
|
|
287
|
+
getUrlDynamics: () => getUrlDynamics,
|
|
280
288
|
getUrlPath: () => getUrlPath,
|
|
281
289
|
getUrlPort: () => getUrlPort,
|
|
282
290
|
getUrlProtocol: () => getUrlProtocol,
|
|
@@ -289,6 +297,9 @@ __export(src_exports, {
|
|
|
289
297
|
hasDefaultValue: () => hasDefaultValue,
|
|
290
298
|
hasIndexOf: () => hasIndexOf,
|
|
291
299
|
hasKeys: () => hasKeys,
|
|
300
|
+
hasOverlappingKeys: () => hasOverlappingKeys,
|
|
301
|
+
hasProtocol: () => hasProtocol,
|
|
302
|
+
hasProtocolPrefix: () => hasProtocolPrefix,
|
|
292
303
|
hasUrlPort: () => hasUrlPort,
|
|
293
304
|
hasUrlQueryParameter: () => hasUrlQueryParameter,
|
|
294
305
|
hasWhiteSpace: () => hasWhiteSpace,
|
|
@@ -354,6 +365,7 @@ __export(src_exports, {
|
|
|
354
365
|
isCountryCode3: () => isCountryCode3,
|
|
355
366
|
isCountryName: () => isCountryName,
|
|
356
367
|
isCssAspectRatio: () => isCssAspectRatio,
|
|
368
|
+
isCsv: () => isCsv,
|
|
357
369
|
isCurrentMetric: () => isCurrentMetric,
|
|
358
370
|
isCurrentUom: () => isCurrentUom,
|
|
359
371
|
isCvsUrl: () => isCvsUrl,
|
|
@@ -457,6 +469,8 @@ __export(src_exports, {
|
|
|
457
469
|
isPowerUom: () => isPowerUom,
|
|
458
470
|
isPressureMetric: () => isPressureMetric,
|
|
459
471
|
isPressureUom: () => isPressureUom,
|
|
472
|
+
isProtocol: () => isProtocol,
|
|
473
|
+
isProtocolPrefix: () => isProtocolPrefix,
|
|
460
474
|
isReadonlyArray: () => isReadonlyArray,
|
|
461
475
|
isRecordToken: () => isRecordToken,
|
|
462
476
|
isRef: () => isRef,
|
|
@@ -535,6 +549,7 @@ __export(src_exports, {
|
|
|
535
549
|
isUsNewsUrl: () => isUsNewsUrl,
|
|
536
550
|
isUsStateAbbreviation: () => isUsStateAbbreviation,
|
|
537
551
|
isUsStateName: () => isUsStateName,
|
|
552
|
+
isVariable: () => isVariable,
|
|
538
553
|
isVoltageMetric: () => isVoltageMetric,
|
|
539
554
|
isVoltageUom: () => isVoltageUom,
|
|
540
555
|
isVolumeMetric: () => isVolumeMetric,
|
|
@@ -1178,6 +1193,73 @@ var HASH_TABLE_CHAR = {
|
|
|
1178
1193
|
...HASH_TABLE_SPECIAL
|
|
1179
1194
|
};
|
|
1180
1195
|
var HASH_TABLE_OTHER = "999";
|
|
1196
|
+
var MIME_TYPES = [
|
|
1197
|
+
// Application MIME Types
|
|
1198
|
+
"application/json",
|
|
1199
|
+
"application/xml",
|
|
1200
|
+
"application/javascript",
|
|
1201
|
+
"application/pdf",
|
|
1202
|
+
"application/ld+json",
|
|
1203
|
+
"application/octet-stream",
|
|
1204
|
+
"application/x-www-form-urlencoded",
|
|
1205
|
+
"application/vnd.api+json",
|
|
1206
|
+
"application/msword",
|
|
1207
|
+
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
1208
|
+
"application/vnd.ms-excel",
|
|
1209
|
+
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
1210
|
+
"application/vnd.ms-powerpoint",
|
|
1211
|
+
"application/vnd.openxmlformats-officedocument.presentationml.presentation",
|
|
1212
|
+
// Text MIME Types
|
|
1213
|
+
"text/plain",
|
|
1214
|
+
"text/html",
|
|
1215
|
+
"text/css",
|
|
1216
|
+
"text/csv",
|
|
1217
|
+
"text/javascript",
|
|
1218
|
+
"text/markdown",
|
|
1219
|
+
// Image MIME Types
|
|
1220
|
+
"image/jpeg",
|
|
1221
|
+
"image/png",
|
|
1222
|
+
"image/gif",
|
|
1223
|
+
"image/bmp",
|
|
1224
|
+
"image/webp",
|
|
1225
|
+
"image/svg+xml",
|
|
1226
|
+
"image/tiff",
|
|
1227
|
+
// Audio MIME Types
|
|
1228
|
+
"audio/mpeg",
|
|
1229
|
+
"audio/ogg",
|
|
1230
|
+
"audio/wav",
|
|
1231
|
+
"audio/webm",
|
|
1232
|
+
"audio/flac",
|
|
1233
|
+
// Video MIME Types
|
|
1234
|
+
"video/mp4",
|
|
1235
|
+
"video/mpeg",
|
|
1236
|
+
"video/ogg",
|
|
1237
|
+
"video/webm",
|
|
1238
|
+
"video/quicktime",
|
|
1239
|
+
// Multipart MIME Types
|
|
1240
|
+
"multipart/form-data",
|
|
1241
|
+
"multipart/mixed",
|
|
1242
|
+
"multipart/alternative",
|
|
1243
|
+
"multipart/related",
|
|
1244
|
+
// Font MIME Types
|
|
1245
|
+
"font/woff",
|
|
1246
|
+
"font/woff2",
|
|
1247
|
+
"font/ttf",
|
|
1248
|
+
"font/otf",
|
|
1249
|
+
// Other Common MIME Types
|
|
1250
|
+
"application/rss+xml",
|
|
1251
|
+
"application/atom+xml",
|
|
1252
|
+
"application/x-pkcs12",
|
|
1253
|
+
"application/x-shockwave-flash",
|
|
1254
|
+
"application/x-www-form-urlencoded",
|
|
1255
|
+
"application/x-font-ttf",
|
|
1256
|
+
"application/x-font-opentype",
|
|
1257
|
+
"application/x-font-woff",
|
|
1258
|
+
"application/x-font-woff2",
|
|
1259
|
+
"application/vnd.rar",
|
|
1260
|
+
"application/zip",
|
|
1261
|
+
"application/x-7z-compressed"
|
|
1262
|
+
];
|
|
1181
1263
|
var IMAGE_FORMAT_LOOKUP = [
|
|
1182
1264
|
{ ext: "jpg", webFormat: true, other_ext: ["jpeg"] },
|
|
1183
1265
|
{ ext: "png", webFormat: true, other_ext: [] },
|
|
@@ -1518,13 +1600,51 @@ var IPv6 = {
|
|
|
1518
1600
|
var IPv4 = {
|
|
1519
1601
|
Loopback: "127.0.0.1"
|
|
1520
1602
|
};
|
|
1603
|
+
var NETWORK_PROTOCOL_INSECURE = [
|
|
1604
|
+
"http",
|
|
1605
|
+
"ftp",
|
|
1606
|
+
"ws",
|
|
1607
|
+
"dns",
|
|
1608
|
+
"telnet",
|
|
1609
|
+
"imap",
|
|
1610
|
+
"pop3",
|
|
1611
|
+
"smtp"
|
|
1612
|
+
];
|
|
1613
|
+
var NETWORK_PROTOCOL_SECURE = [
|
|
1614
|
+
"https",
|
|
1615
|
+
"sftp",
|
|
1616
|
+
"wss",
|
|
1617
|
+
"sdns",
|
|
1618
|
+
"ssh"
|
|
1619
|
+
];
|
|
1620
|
+
var NETWORK_PROTOCOL = [
|
|
1621
|
+
...NETWORK_PROTOCOL_INSECURE,
|
|
1622
|
+
...NETWORK_PROTOCOL_SECURE
|
|
1623
|
+
];
|
|
1521
1624
|
var NETWORK_PROTOCOL_LOOKUP = {
|
|
1522
1625
|
http: ["http", "https"],
|
|
1523
1626
|
ftp: ["ftp", "sftp"],
|
|
1524
1627
|
file: ["", "file"],
|
|
1525
1628
|
ws: ["ws", "wss"],
|
|
1526
1629
|
ssh: ["", "ssh"],
|
|
1527
|
-
scp: ["", "scp"]
|
|
1630
|
+
scp: ["", "scp"],
|
|
1631
|
+
telnet: ["telnet", ""],
|
|
1632
|
+
dns: ["dns", "sdns"]
|
|
1633
|
+
};
|
|
1634
|
+
var PROTOCOL_DEFAULT_PORTS = {
|
|
1635
|
+
http: 80,
|
|
1636
|
+
https: 443,
|
|
1637
|
+
ws: 80,
|
|
1638
|
+
wss: 443,
|
|
1639
|
+
ssh: 22,
|
|
1640
|
+
telnet: 23,
|
|
1641
|
+
dns: 53,
|
|
1642
|
+
sdns: 853,
|
|
1643
|
+
smtp: 25,
|
|
1644
|
+
imap: 142,
|
|
1645
|
+
pop3: 110,
|
|
1646
|
+
ftp: 21,
|
|
1647
|
+
sftp: 22
|
|
1528
1648
|
};
|
|
1529
1649
|
var TOP_LEVEL_DOMAINS = [
|
|
1530
1650
|
"com",
|
|
@@ -3826,13 +3946,51 @@ var AREA_METRICS_LOOKUP2 = [
|
|
|
3826
3946
|
{ abbrev: "acre", name: "acre" },
|
|
3827
3947
|
{ abbrev: "ha", name: "hectare" }
|
|
3828
3948
|
];
|
|
3949
|
+
var NETWORK_PROTOCOL_INSECURE2 = [
|
|
3950
|
+
"http",
|
|
3951
|
+
"ftp",
|
|
3952
|
+
"ws",
|
|
3953
|
+
"dns",
|
|
3954
|
+
"telnet",
|
|
3955
|
+
"imap",
|
|
3956
|
+
"pop3",
|
|
3957
|
+
"smtp"
|
|
3958
|
+
];
|
|
3959
|
+
var NETWORK_PROTOCOL_SECURE2 = [
|
|
3960
|
+
"https",
|
|
3961
|
+
"sftp",
|
|
3962
|
+
"wss",
|
|
3963
|
+
"sdns",
|
|
3964
|
+
"ssh"
|
|
3965
|
+
];
|
|
3966
|
+
var NETWORK_PROTOCOL2 = [
|
|
3967
|
+
...NETWORK_PROTOCOL_INSECURE2,
|
|
3968
|
+
...NETWORK_PROTOCOL_SECURE2
|
|
3969
|
+
];
|
|
3829
3970
|
var NETWORK_PROTOCOL_LOOKUP2 = {
|
|
3830
3971
|
http: ["http", "https"],
|
|
3831
3972
|
ftp: ["ftp", "sftp"],
|
|
3832
3973
|
file: ["", "file"],
|
|
3833
3974
|
ws: ["ws", "wss"],
|
|
3834
3975
|
ssh: ["", "ssh"],
|
|
3835
|
-
scp: ["", "scp"]
|
|
3976
|
+
scp: ["", "scp"],
|
|
3977
|
+
telnet: ["telnet", ""],
|
|
3978
|
+
dns: ["dns", "sdns"]
|
|
3979
|
+
};
|
|
3980
|
+
var PROTOCOL_DEFAULT_PORTS2 = {
|
|
3981
|
+
http: 80,
|
|
3982
|
+
https: 443,
|
|
3983
|
+
ws: 80,
|
|
3984
|
+
wss: 443,
|
|
3985
|
+
ssh: 22,
|
|
3986
|
+
telnet: 23,
|
|
3987
|
+
dns: 53,
|
|
3988
|
+
sdns: 853,
|
|
3989
|
+
smtp: 25,
|
|
3990
|
+
imap: 142,
|
|
3991
|
+
pop3: 110,
|
|
3992
|
+
ftp: 21,
|
|
3993
|
+
sftp: 22
|
|
3836
3994
|
};
|
|
3837
3995
|
var Never2 = createConstant2("never");
|
|
3838
3996
|
var US_NEWS2 = [
|
|
@@ -5493,7 +5651,7 @@ var filter = "NOT READY";
|
|
|
5493
5651
|
function find(list2, deref = null) {
|
|
5494
5652
|
return (comparator) => {
|
|
5495
5653
|
return list2.find((i) => {
|
|
5496
|
-
const val = deref ?
|
|
5654
|
+
const val = deref ? isObject(i) || isArray(i) ? deref in i ? i[deref] : void 0 : i : i;
|
|
5497
5655
|
return val === comparator;
|
|
5498
5656
|
});
|
|
5499
5657
|
};
|
|
@@ -6167,6 +6325,9 @@ var isRatio = (val) => /\d{1,4}\s*\/\s*\d{1,4}/.test(val);
|
|
|
6167
6325
|
function isCssAspectRatio(val) {
|
|
6168
6326
|
return isString(val) && val.split(/\s+/).every((i) => tokens.includes(i) || isRatio(i));
|
|
6169
6327
|
}
|
|
6328
|
+
function isCsv(val) {
|
|
6329
|
+
return isString(val) && val.includes(",") && !val.startsWith(",");
|
|
6330
|
+
}
|
|
6170
6331
|
function isDefined(value) {
|
|
6171
6332
|
return typeof value !== "undefined";
|
|
6172
6333
|
}
|
|
@@ -6220,7 +6381,7 @@ function isPhoneNumber(val) {
|
|
|
6220
6381
|
const svelte = String(val).trim();
|
|
6221
6382
|
const chars = svelte.split("");
|
|
6222
6383
|
const numeric = retainChars(svelte, ...NUMERIC_CHAR2);
|
|
6223
|
-
const
|
|
6384
|
+
const valid2 = ["+", "(", ...NUMERIC_CHAR2];
|
|
6224
6385
|
const nothing = stripChars(svelte, ...[
|
|
6225
6386
|
...NUMERIC_CHAR2,
|
|
6226
6387
|
...WHITESPACE_CHARS2,
|
|
@@ -6230,7 +6391,7 @@ function isPhoneNumber(val) {
|
|
|
6230
6391
|
".",
|
|
6231
6392
|
"-"
|
|
6232
6393
|
]);
|
|
6233
|
-
return chars.every((i) =>
|
|
6394
|
+
return chars.every((i) => valid2.includes(i)) && svelte.startsWith(`+`) ? numeric.length >= 8 : svelte.startsWith(`00`) ? numeric.length >= 10 : numeric.length >= 7 && nothing === "";
|
|
6234
6395
|
}
|
|
6235
6396
|
function isReadonlyArray(value) {
|
|
6236
6397
|
return Array.isArray(value) === true;
|
|
@@ -6293,6 +6454,19 @@ function isUrl(val, ...protocols) {
|
|
|
6293
6454
|
const p = protocols.length === 0 ? ["http", "https"] : protocols;
|
|
6294
6455
|
return isString(val) && p.some((i) => val.startsWith(`${i}://`));
|
|
6295
6456
|
}
|
|
6457
|
+
var VALID = [
|
|
6458
|
+
...ALPHA_CHARS2,
|
|
6459
|
+
...NUMERIC_CHAR2,
|
|
6460
|
+
"_",
|
|
6461
|
+
"."
|
|
6462
|
+
];
|
|
6463
|
+
var alpha = null;
|
|
6464
|
+
function valid(chars) {
|
|
6465
|
+
return chars.every((i) => VALID.includes(i));
|
|
6466
|
+
}
|
|
6467
|
+
function isVariable(val) {
|
|
6468
|
+
return isString(val) && startsWith(alpha)(val) && valid(asChars(val));
|
|
6469
|
+
}
|
|
6296
6470
|
function separate(s) {
|
|
6297
6471
|
return stripWhile(s.toLowerCase(), ...NUMERIC_CHAR2).trim();
|
|
6298
6472
|
}
|
|
@@ -6431,6 +6605,18 @@ function hasUrlQueryParameter(val, prop) {
|
|
|
6431
6605
|
function isNumericArray(val) {
|
|
6432
6606
|
return Array.isArray(val) && val.every((i) => isNumber(i));
|
|
6433
6607
|
}
|
|
6608
|
+
function hasProtocol(val, ...protocols) {
|
|
6609
|
+
return isString(val) && protocols.length === 0 ? NETWORK_PROTOCOL2.some((i) => val.startsWith(i)) : protocols.some((i) => val.startsWith(i));
|
|
6610
|
+
}
|
|
6611
|
+
function isProtocol(val, ...protocols) {
|
|
6612
|
+
return isString(val) && protocols.length === 0 ? NETWORK_PROTOCOL2.includes(val) : protocols.includes(val);
|
|
6613
|
+
}
|
|
6614
|
+
function hasProtocolPrefix(val, ...protocols) {
|
|
6615
|
+
return isString(val) && protocols.length === 0 ? NETWORK_PROTOCOL2.map((i) => `${i}://`).some((i) => val.startsWith(i)) : protocols.map((i) => `${i}://`).some((i) => val.startsWith(i));
|
|
6616
|
+
}
|
|
6617
|
+
function isProtocolPrefix(val, ...protocols) {
|
|
6618
|
+
return isString(val) && protocols.length === 0 ? NETWORK_PROTOCOL2.map((i) => `${i}://`).includes(val) : protocols.map((i) => `${i}://`).includes(val);
|
|
6619
|
+
}
|
|
6434
6620
|
function isTypeToken(val, kind) {
|
|
6435
6621
|
if (isString(val) && val.startsWith("<<") && val.endsWith(">>")) {
|
|
6436
6622
|
const stripped = stripSurround("<<", ">>")(val);
|
|
@@ -6662,24 +6848,24 @@ function isNewsUrl(val) {
|
|
|
6662
6848
|
return isAustralianNewsUrl(val) || isBelgiumNewsUrl(val) || isCanadianNewsUrl(val) || isDanishNewsUrl(val) || isDutchNewsUrl(val) || isFrenchNewsUrl(val) || isGermanNewsUrl(val) || isIndianNewsUrl(val) || isItalianNewsUrl(val) || isJapaneseNewsUrl(val) || isMexicanNewsUrl(val) || isNorwegianNewsUrl(val) || isSouthKoreanNewsUrl(val) || isSpanishNewsUrl(val) || isSwissNewsUrl(val) || isTurkishNewsUrl(val) || isUkNewsUrl(val) || isUsNewsUrl(val);
|
|
6663
6849
|
}
|
|
6664
6850
|
function isBitbucketUrl(val) {
|
|
6665
|
-
const
|
|
6666
|
-
return isString(val) &&
|
|
6851
|
+
const valid2 = REPO_SOURCE_LOOKUP2.bitbucket;
|
|
6852
|
+
return isString(val) && valid2.some(
|
|
6667
6853
|
(i) => val === i || val.startsWith(`${i}/`) || val.startsWith(`${i}?`)
|
|
6668
6854
|
);
|
|
6669
6855
|
}
|
|
6670
6856
|
function isCodeCommitUrl(val) {
|
|
6671
|
-
const
|
|
6672
|
-
return isString(val) &&
|
|
6857
|
+
const valid2 = REPO_SOURCE_LOOKUP2.codecommit;
|
|
6858
|
+
return isString(val) && valid2.some(
|
|
6673
6859
|
(i) => val === i || val.startsWith(`${i}/`) || val.startsWith(`${i}?`)
|
|
6674
6860
|
);
|
|
6675
6861
|
}
|
|
6676
6862
|
function isGithubUrl(val) {
|
|
6677
|
-
const
|
|
6863
|
+
const valid2 = [
|
|
6678
6864
|
"https://github.com",
|
|
6679
6865
|
"https://www.github.com",
|
|
6680
6866
|
"https://github.io"
|
|
6681
6867
|
];
|
|
6682
|
-
return isString(val) &&
|
|
6868
|
+
return isString(val) && valid2.some(
|
|
6683
6869
|
(i) => val === i || val.startsWith(`${i}/`) || val.startsWith(`${i}?`)
|
|
6684
6870
|
);
|
|
6685
6871
|
}
|
|
@@ -7223,16 +7409,77 @@ function getUrlQueryParams(url, specific = void 0) {
|
|
|
7223
7409
|
}
|
|
7224
7410
|
return qp === "" ? qp : `?${qp}`;
|
|
7225
7411
|
}
|
|
7226
|
-
function
|
|
7227
|
-
const
|
|
7228
|
-
|
|
7229
|
-
|
|
7230
|
-
|
|
7412
|
+
function getUrlDefaultPort(url) {
|
|
7413
|
+
const proto = getUrlProtocol(url);
|
|
7414
|
+
return proto in PROTOCOL_DEFAULT_PORTS2 ? PROTOCOL_DEFAULT_PORTS2[proto] : null;
|
|
7415
|
+
}
|
|
7416
|
+
function getUrlPort(url, resolve = false) {
|
|
7417
|
+
const re = /.*:(\d{2,3})/;
|
|
7418
|
+
const match = url.match(re);
|
|
7419
|
+
return re.test(url) && match && isNumberLike(Array.from(match)[1]) ? Number(Array.from(match)[1]) : resolve ? getUrlDefaultPort(url) : hasProtocol(url) ? `default` : null;
|
|
7231
7420
|
}
|
|
7232
7421
|
function getUrlSource(url) {
|
|
7233
7422
|
const candidate = stripAfter(stripAfter(stripAfter(removeUrlProtocol(url), "/"), "?"), ":");
|
|
7234
7423
|
return isIpAddress(candidate) || isDomainName(candidate) ? candidate : Never2;
|
|
7235
7424
|
}
|
|
7425
|
+
function getUrlBase(url) {
|
|
7426
|
+
const path = getUrlPath(url);
|
|
7427
|
+
const remaining = stripAfter(url, path);
|
|
7428
|
+
return remaining;
|
|
7429
|
+
}
|
|
7430
|
+
function getUrlDynamics(url) {
|
|
7431
|
+
const path = getUrlPath(url);
|
|
7432
|
+
const qp = getUrlQueryParams(url);
|
|
7433
|
+
const pathParts = path.startsWith("<") ? path.split("<").map((i) => ensureLeading(i, "<")) : path.split("<").map((i) => ensureLeading(i, "<")).slice(1);
|
|
7434
|
+
const segmentTypes = [
|
|
7435
|
+
"string",
|
|
7436
|
+
"number",
|
|
7437
|
+
"boolean",
|
|
7438
|
+
"Opt<string>",
|
|
7439
|
+
"Opt<number>",
|
|
7440
|
+
"Opt<boolean>"
|
|
7441
|
+
];
|
|
7442
|
+
const pathVars = {};
|
|
7443
|
+
const findPathTyped = infer(`<{{infer name}} as {{infer type}}>`);
|
|
7444
|
+
const findPathUnion = infer(`<{{infer name}} as string({{infer union}})>`);
|
|
7445
|
+
const findPathNamed = infer(`<{{infer name}}>`);
|
|
7446
|
+
for (const part of pathParts) {
|
|
7447
|
+
const union4 = findPathUnion(part);
|
|
7448
|
+
const typed = findPathTyped(part);
|
|
7449
|
+
const named = findPathNamed(part);
|
|
7450
|
+
if (union4) {
|
|
7451
|
+
if (isVariable(union4.name) && isCsv(union4.union)) {
|
|
7452
|
+
pathVars[union4.name] = `string(${union4.union})`;
|
|
7453
|
+
}
|
|
7454
|
+
} else if (typed && segmentTypes.includes(typed.type) && isVariable(typed.name)) {
|
|
7455
|
+
pathVars[typed.name] = typed.type;
|
|
7456
|
+
} else if (named && isVariable(named.name)) {
|
|
7457
|
+
pathVars[named.name] = "string";
|
|
7458
|
+
}
|
|
7459
|
+
}
|
|
7460
|
+
const qpVars = {};
|
|
7461
|
+
const qpParts = stripLeading(qp, "?").split("&");
|
|
7462
|
+
for (const p of qpParts) {
|
|
7463
|
+
const union4 = infer(`{{infer var}}=<string({{infer params}})>`)(p);
|
|
7464
|
+
const dynamic = infer(`{{infer var}}=<{{infer val}}>`)(p);
|
|
7465
|
+
const fixed = infer(`{{infer var}}={{infer val}}`)(p);
|
|
7466
|
+
if (union4 && isVariable(union4.var) && isCsv(union4.params)) {
|
|
7467
|
+
qpVars[union4.var] = `string(${union4.params})`;
|
|
7468
|
+
} else if (dynamic && isVariable(dynamic.var) && segmentTypes.includes(dynamic.val)) {
|
|
7469
|
+
qpVars[dynamic.var] = dynamic.val;
|
|
7470
|
+
} else if (fixed && isVariable(fixed.var)) {
|
|
7471
|
+
qpVars[fixed.var] = fixed.val;
|
|
7472
|
+
}
|
|
7473
|
+
}
|
|
7474
|
+
return {
|
|
7475
|
+
pathVars,
|
|
7476
|
+
qpVars,
|
|
7477
|
+
allVars: hasOverlappingKeys(pathVars, qpVars) ? null : {
|
|
7478
|
+
...pathVars,
|
|
7479
|
+
...qpVars
|
|
7480
|
+
}
|
|
7481
|
+
};
|
|
7482
|
+
}
|
|
7236
7483
|
function urlMeta(url) {
|
|
7237
7484
|
return {
|
|
7238
7485
|
url,
|
|
@@ -7240,6 +7487,7 @@ function urlMeta(url) {
|
|
|
7240
7487
|
protocol: getUrlProtocol(url),
|
|
7241
7488
|
path: getUrlPath(url),
|
|
7242
7489
|
queryParameters: getUrlQueryParams(url),
|
|
7490
|
+
params: getUrlDynamics,
|
|
7243
7491
|
port: getUrlPort(url),
|
|
7244
7492
|
source: getUrlSource(url),
|
|
7245
7493
|
isIpAddress: isIpAddress(getUrlSource(url)),
|
|
@@ -7640,6 +7888,15 @@ function simpleType(token) {
|
|
|
7640
7888
|
const value = isSimpleScalarToken(token) ? simpleScalarType(token) : isSimpleContainerToken(token) ? simpleContainerToken(token) : Never2;
|
|
7641
7889
|
return value;
|
|
7642
7890
|
}
|
|
7891
|
+
function hasOverlappingKeys(a, b) {
|
|
7892
|
+
const keys = Object.keys(a);
|
|
7893
|
+
for (const k of keys) {
|
|
7894
|
+
if (k in b) {
|
|
7895
|
+
return true;
|
|
7896
|
+
}
|
|
7897
|
+
}
|
|
7898
|
+
return false;
|
|
7899
|
+
}
|
|
7643
7900
|
function uniqueKeys(left, right) {
|
|
7644
7901
|
const isNumeric = !!(isArray(left) && isArray(right));
|
|
7645
7902
|
if (isArray(left) && !isArray(right) || isArray(right) && !isArray(left)) {
|
|
@@ -7928,11 +8185,15 @@ var ExifSaturation = /* @__PURE__ */ ((ExifSaturation2) => {
|
|
|
7928
8185
|
MARKED,
|
|
7929
8186
|
MASS_METRICS_LOOKUP,
|
|
7930
8187
|
MEXICAN_NEWS,
|
|
8188
|
+
MIME_TYPES,
|
|
7931
8189
|
MONTH_ABBR,
|
|
7932
8190
|
MONTH_NAME,
|
|
7933
8191
|
MapCardinality,
|
|
7934
8192
|
NARROW_CONTAINER_TYPE_KINDS,
|
|
8193
|
+
NETWORK_PROTOCOL,
|
|
8194
|
+
NETWORK_PROTOCOL_INSECURE,
|
|
7935
8195
|
NETWORK_PROTOCOL_LOOKUP,
|
|
8196
|
+
NETWORK_PROTOCOL_SECURE,
|
|
7936
8197
|
NIKE_DNS,
|
|
7937
8198
|
NON_ZERO_NUMERIC_CHAR,
|
|
7938
8199
|
NORWEGIAN_NEWS,
|
|
@@ -7949,6 +8210,7 @@ var ExifSaturation = /* @__PURE__ */ ((ExifSaturation2) => {
|
|
|
7949
8210
|
PLURAL_EXCEPTIONS_OLD,
|
|
7950
8211
|
POWER_METRICS_LOOKUP,
|
|
7951
8212
|
PRESSURE_METRICS_LOOKUP,
|
|
8213
|
+
PROTOCOL_DEFAULT_PORTS,
|
|
7952
8214
|
PROXMOX_CT_STATE,
|
|
7953
8215
|
REPO_PAGE_TYPES,
|
|
7954
8216
|
REPO_SOURCES,
|
|
@@ -8112,6 +8374,9 @@ var ExifSaturation = /* @__PURE__ */ ((ExifSaturation2) => {
|
|
|
8112
8374
|
getTokenKind,
|
|
8113
8375
|
getTomorrow,
|
|
8114
8376
|
getTypeSubtype,
|
|
8377
|
+
getUrlBase,
|
|
8378
|
+
getUrlDefaultPort,
|
|
8379
|
+
getUrlDynamics,
|
|
8115
8380
|
getUrlPath,
|
|
8116
8381
|
getUrlPort,
|
|
8117
8382
|
getUrlProtocol,
|
|
@@ -8124,6 +8389,9 @@ var ExifSaturation = /* @__PURE__ */ ((ExifSaturation2) => {
|
|
|
8124
8389
|
hasDefaultValue,
|
|
8125
8390
|
hasIndexOf,
|
|
8126
8391
|
hasKeys,
|
|
8392
|
+
hasOverlappingKeys,
|
|
8393
|
+
hasProtocol,
|
|
8394
|
+
hasProtocolPrefix,
|
|
8127
8395
|
hasUrlPort,
|
|
8128
8396
|
hasUrlQueryParameter,
|
|
8129
8397
|
hasWhiteSpace,
|
|
@@ -8189,6 +8457,7 @@ var ExifSaturation = /* @__PURE__ */ ((ExifSaturation2) => {
|
|
|
8189
8457
|
isCountryCode3,
|
|
8190
8458
|
isCountryName,
|
|
8191
8459
|
isCssAspectRatio,
|
|
8460
|
+
isCsv,
|
|
8192
8461
|
isCurrentMetric,
|
|
8193
8462
|
isCurrentUom,
|
|
8194
8463
|
isCvsUrl,
|
|
@@ -8292,6 +8561,8 @@ var ExifSaturation = /* @__PURE__ */ ((ExifSaturation2) => {
|
|
|
8292
8561
|
isPowerUom,
|
|
8293
8562
|
isPressureMetric,
|
|
8294
8563
|
isPressureUom,
|
|
8564
|
+
isProtocol,
|
|
8565
|
+
isProtocolPrefix,
|
|
8295
8566
|
isReadonlyArray,
|
|
8296
8567
|
isRecordToken,
|
|
8297
8568
|
isRef,
|
|
@@ -8370,6 +8641,7 @@ var ExifSaturation = /* @__PURE__ */ ((ExifSaturation2) => {
|
|
|
8370
8641
|
isUsNewsUrl,
|
|
8371
8642
|
isUsStateAbbreviation,
|
|
8372
8643
|
isUsStateName,
|
|
8644
|
+
isVariable,
|
|
8373
8645
|
isVoltageMetric,
|
|
8374
8646
|
isVoltageUom,
|
|
8375
8647
|
isVolumeMetric,
|