@utilix-tech/sdk 0.57.0 → 0.59.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/CHANGELOG.md +5 -0
- package/README.md +18 -5
- package/dist/{chunk-TVSQ53TZ.js → chunk-3QU46YFP.js} +100 -1
- package/dist/{chunk-56VFNHVO.js → chunk-QY2M2UHJ.js} +34 -1
- package/dist/{data-Cvyg8ZXo.d.cts → data-vxXrBlWh.d.cts} +22 -2
- package/dist/{data-Cvyg8ZXo.d.ts → data-vxXrBlWh.d.ts} +22 -2
- package/dist/index.cjs +132 -0
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/{network-CoGf7_Op.d.ts → network-fDfM1_L6.d.cts} +45 -2
- package/dist/{network-CoGf7_Op.d.cts → network-fDfM1_L6.d.ts} +45 -2
- package/dist/tools/data.cjs +33 -0
- package/dist/tools/data.d.cts +1 -1
- package/dist/tools/data.d.ts +1 -1
- package/dist/tools/data.js +1 -1
- package/dist/tools/network.cjs +99 -0
- package/dist/tools/network.d.cts +1 -1
- package/dist/tools/network.d.ts +1 -1
- package/dist/tools/network.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Full release notes for all Utilix surfaces (browser tools, REST API, SDKs, MCP server) live at [utilix.tech/changelog](https://utilix.tech/changelog). This file tracks just this package.
|
|
4
4
|
|
|
5
|
+
## 0.59.0
|
|
6
|
+
- Add `buildPreferHeader`, `parsePreferHeader` (prefer-header): build an HTTP Prefer request-header value from preferences with optional values and parameters per RFC 7240, or parse an existing one into the same shape.
|
|
7
|
+
- Add `dedupeNdjson` (ndjson-dedup): remove duplicate records from NDJSON input, either by exact structural equality or by a chosen key field, keeping the first occurrence of each duplicate.
|
|
8
|
+
- Corrects a version-field drift: package.json was left at 0.57.0 after the prior release's changes actually shipped as 0.58.0 below.
|
|
9
|
+
|
|
5
10
|
## 0.57.0
|
|
6
11
|
- Add `mergeJsonPatch`, `applyJsonMergePatch` (json-merge-patch): apply an RFC 7396 JSON Merge Patch document to a target JSON document, with null-valued patch keys removing the matching target key.
|
|
7
12
|
- Add `generateCspNonce` (csp-nonce-generator): generate a cryptographically random, base64-encoded Content-Security-Policy nonce with ready-to-paste header directive and script/style tag snippets.
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @utilix-tech/sdk
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**662 developer utility functions for Node.js: runs locally, no API key required.**
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@utilix-tech/sdk)
|
|
6
6
|
[](https://www.npmjs.com/package/@utilix-tech/sdk)
|
|
@@ -210,7 +210,7 @@ import { parseCsv, csvToJson, validateYaml, resolveYamlAnchors, tomlToJson, json
|
|
|
210
210
|
validateNdjson, formatNdjson, ndjsonToJsonArray, diffEnvExample,
|
|
211
211
|
parseSubtitles, convertSubtitles, shiftSubtitles, analyzeCaptionSpeed, parseFrontMatter,
|
|
212
212
|
generateMarkdownToc, csvToSqlInsert, findCsvDuplicateRows, calculateMarkdownTaskListProgress,
|
|
213
|
-
inferCsvColumnTypes } from "@utilix-tech/sdk/data";
|
|
213
|
+
inferCsvColumnTypes, dedupeNdjson } from "@utilix-tech/sdk/data";
|
|
214
214
|
|
|
215
215
|
// CSV
|
|
216
216
|
const rows = parseCsv("name,age\nalice,30\nbob,25");
|
|
@@ -237,6 +237,10 @@ validateNdjson('{"id":1}\n{"id":2}'); // { valid: true, totalLines: 2, ...
|
|
|
237
237
|
formatNdjson('{"id":1}'); // '{\n "id": 1\n}'
|
|
238
238
|
ndjsonToJsonArray('{"id":1}\n{"id":2}'); // '[\n { "id": 1 },\n { "id": 2 }\n]'
|
|
239
239
|
|
|
240
|
+
// Remove duplicate NDJSON records, by exact match or by a key field
|
|
241
|
+
dedupeNdjson('{"id":1}\n{"id":2}\n{"id":1}');
|
|
242
|
+
// { totalLines: 3, uniqueLines: 2, duplicatesRemoved: 1, output: "{\"id\":1}\n{\"id\":2}", removedLines: [3] }
|
|
243
|
+
|
|
240
244
|
// Diff a .env file against its .env.example template
|
|
241
245
|
diffEnvExample("FOO=1\nBAR=2", "FOO=\nBAR=y\nBAZ=z");
|
|
242
246
|
// { missingInExample: [], missingInEnv: ["BAZ"], emptyValueInExample: ["FOO"], keysInBoth: 2 }
|
|
@@ -496,7 +500,8 @@ import { getStatusCode, isValidIp, isValidIpv4, isValidIpv6,
|
|
|
496
500
|
buildPermissionsPolicy, parsePermissionsPolicy, buildClientHints, parseClientHintHeaders,
|
|
497
501
|
buildContentDisposition, parseContentDisposition,
|
|
498
502
|
buildXContentTypeOptionsHeader, parseXContentTypeOptionsHeader, assessContentTypeRisk,
|
|
499
|
-
buildAcceptLanguage, parseAcceptLanguage
|
|
503
|
+
buildAcceptLanguage, parseAcceptLanguage,
|
|
504
|
+
buildPreferHeader, parsePreferHeader } from "@utilix-tech/sdk/network";
|
|
500
505
|
|
|
501
506
|
getStatusCode(404);
|
|
502
507
|
// { code: 404, text: "Not Found", description: "...", category: "Client Error" }
|
|
@@ -613,6 +618,14 @@ parseXContentTypeOptionsHeader("nosniff");
|
|
|
613
618
|
// Assess how risky it is to serve a given Content-Type without X-Content-Type-Options: nosniff
|
|
614
619
|
assessContentTypeRisk("text/plain");
|
|
615
620
|
// { contentType: "text/plain", risk: "high", reason: "..." }
|
|
621
|
+
|
|
622
|
+
// Build a Prefer request header from preferences with optional values/params, per RFC 7240
|
|
623
|
+
buildPreferHeader([{ token: "respond-async" }, { token: "wait", value: "100" }]);
|
|
624
|
+
// { header: "Prefer: respond-async, wait=100", headerValue: "respond-async, wait=100", preferences: [...] }
|
|
625
|
+
|
|
626
|
+
// Parse an existing Prefer header value into the same shape
|
|
627
|
+
parsePreferHeader("return=minimal;handling=lenient");
|
|
628
|
+
// { header: "Prefer: return=minimal;handling=lenient", headerValue: "return=minimal;handling=lenient", preferences: [...] }
|
|
616
629
|
```
|
|
617
630
|
|
|
618
631
|
---
|
|
@@ -868,11 +881,11 @@ inspectGifFrames(new Uint8Array(gifBytes));
|
|
|
868
881
|
| `@utilix-tech/sdk/encoding` | Base64, URL, HTML entities, Base32/Base58/Base62 encode/decode |
|
|
869
882
|
| `@utilix-tech/sdk/hashing` | MD5, SHA-1/256/512, bcrypt, HMAC, .htpasswd, SRI hashes, content-hash ETag generation |
|
|
870
883
|
| `@utilix-tech/sdk/text` | Case convert, slugify, word count, lorem ipsum, line ops, HTML→Markdown, Levenshtein/Damerau string distance, readability scoring, sentence length distribution, emoji lookup |
|
|
871
|
-
| `@utilix-tech/sdk/data` | CSV, YAML, TOML, XML, INI, NDJSON parse and convert, SRT/WebVTT subtitles, Markdown front matter parser, YAML anchor/alias resolver, CSV column type inferencer |
|
|
884
|
+
| `@utilix-tech/sdk/data` | CSV, YAML, TOML, XML, INI, NDJSON parse and convert, NDJSON record deduplicator, SRT/WebVTT subtitles, Markdown front matter parser, YAML anchor/alias resolver, CSV column type inferencer |
|
|
872
885
|
| `@utilix-tech/sdk/generators` | UUID v4/v7, ULID, passwords, strength check, entropy estimator, fake data, CSP nonce generator |
|
|
873
886
|
| `@utilix-tech/sdk/time` | Date diff, timezone convert, cron parse, relative time |
|
|
874
887
|
| `@utilix-tech/sdk/units` | Bytes, CSS px/rem, number bases, currency format, credit card/IBAN/barcode/ISBN validation, loan calculator, EMI calculator, compound/simple interest calculators, VAT/sales tax calculator, tip/bill split calculator, break-even point calculator, Rule of 72 calculator, savings goal calculator, ROI calculator, cash denomination/till calculator, payback period calculator, CD maturity calculator, debt-to-income ratio calculator |
|
|
875
|
-
| `@utilix-tech/sdk/network` | HTTP status codes, IP validation, country flags, geolocation URLs, HAR file parsing, User-Agent parsing, IPv6 address compress/expand, Permissions-Policy header builder, Client Hints header builder/parser, Content-Disposition header builder/parser, X-Content-Type-Options header builder/risk assessor, sitemap.xml validator, sitemap index splitter |
|
|
888
|
+
| `@utilix-tech/sdk/network` | HTTP status codes, IP validation, country flags, geolocation URLs, HAR file parsing, User-Agent parsing, IPv6 address compress/expand, Permissions-Policy header builder, Client Hints header builder/parser, Content-Disposition header builder/parser, X-Content-Type-Options header builder/risk assessor, sitemap.xml validator, sitemap index splitter, Prefer header builder/parser (RFC 7240) |
|
|
876
889
|
| `@utilix-tech/sdk/api` | cURL build/parse, JWT decode/sign, JWKS parse, CORS headers, CSP header |
|
|
877
890
|
| `@utilix-tech/sdk/code` | SQL format/minify, HTML format/minify, regex tester, GraphQL format, MIME type lookup, GitHub URL parsing, regex ReDoS detector, Conventional Commits linter, package.json exports field validator |
|
|
878
891
|
| `@utilix-tech/sdk/color` | Hex/RGB/HSL/HSV/CMYK convert, palette generation, contrast check |
|
|
@@ -22,6 +22,7 @@ __export(network_exports, {
|
|
|
22
22
|
buildLinkHeader: () => buildLinkHeader,
|
|
23
23
|
buildMapUrl: () => buildMapUrl,
|
|
24
24
|
buildPermissionsPolicy: () => buildPermissionsPolicy,
|
|
25
|
+
buildPreferHeader: () => buildPreferHeader,
|
|
25
26
|
buildRangeHeader: () => buildRangeHeader,
|
|
26
27
|
buildReferrerPolicy: () => buildReferrerPolicy,
|
|
27
28
|
buildVaryHeader: () => buildVaryHeader,
|
|
@@ -50,6 +51,7 @@ __export(network_exports, {
|
|
|
50
51
|
parseHar: () => parseHar,
|
|
51
52
|
parseIpv6Address: () => parseIpv6Address,
|
|
52
53
|
parsePermissionsPolicy: () => parsePermissionsPolicy,
|
|
54
|
+
parsePreferHeader: () => parsePreferHeader,
|
|
53
55
|
parseUserAgent: () => parseUserAgent,
|
|
54
56
|
parseVaryHeader: () => parseVaryHeader,
|
|
55
57
|
parseXContentTypeOptionsHeader: () => parseXContentTypeOptionsHeader,
|
|
@@ -2886,5 +2888,102 @@ function parseAcceptLanguage(raw) {
|
|
|
2886
2888
|
const headerValue = formatAcceptLanguageEntries(sorted);
|
|
2887
2889
|
return { header: `Accept-Language: ${headerValue}`, headerValue, entries: sorted };
|
|
2888
2890
|
}
|
|
2891
|
+
var PREFER_TOKEN_RE = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;
|
|
2892
|
+
function isPreferToken(s) {
|
|
2893
|
+
return PREFER_TOKEN_RE.test(s);
|
|
2894
|
+
}
|
|
2895
|
+
function splitPreferTopLevel(input, delim) {
|
|
2896
|
+
const parts = [];
|
|
2897
|
+
let current = "";
|
|
2898
|
+
let inQuotes = false;
|
|
2899
|
+
for (const ch of input) {
|
|
2900
|
+
if (ch === '"') inQuotes = !inQuotes;
|
|
2901
|
+
if (ch === delim && !inQuotes) {
|
|
2902
|
+
parts.push(current);
|
|
2903
|
+
current = "";
|
|
2904
|
+
} else {
|
|
2905
|
+
current += ch;
|
|
2906
|
+
}
|
|
2907
|
+
}
|
|
2908
|
+
parts.push(current);
|
|
2909
|
+
return parts;
|
|
2910
|
+
}
|
|
2911
|
+
function parsePreferTokenValue(part) {
|
|
2912
|
+
const trimmed = part.trim();
|
|
2913
|
+
if (!trimmed) return null;
|
|
2914
|
+
const eq = trimmed.indexOf("=");
|
|
2915
|
+
if (eq === -1) return { token: trimmed };
|
|
2916
|
+
const token = trimmed.slice(0, eq).trim();
|
|
2917
|
+
let value = trimmed.slice(eq + 1).trim();
|
|
2918
|
+
if (value.length >= 2 && value.startsWith('"') && value.endsWith('"')) {
|
|
2919
|
+
value = value.slice(1, -1);
|
|
2920
|
+
}
|
|
2921
|
+
return { token, value };
|
|
2922
|
+
}
|
|
2923
|
+
function formatPreferWord(value) {
|
|
2924
|
+
return isPreferToken(value) ? value : `"${value.replace(/"/g, '\\"')}"`;
|
|
2925
|
+
}
|
|
2926
|
+
function formatPreferPreferences(preferences) {
|
|
2927
|
+
return preferences.map((p) => {
|
|
2928
|
+
let s = p.token;
|
|
2929
|
+
if (p.value !== void 0) s += `=${formatPreferWord(p.value)}`;
|
|
2930
|
+
for (const param of p.params ?? []) {
|
|
2931
|
+
s += `;${param.name}`;
|
|
2932
|
+
if (param.value !== void 0) s += `=${formatPreferWord(param.value)}`;
|
|
2933
|
+
}
|
|
2934
|
+
return s;
|
|
2935
|
+
}).join(", ");
|
|
2936
|
+
}
|
|
2937
|
+
function buildPreferHeader(preferences) {
|
|
2938
|
+
if (!Array.isArray(preferences) || preferences.length === 0) {
|
|
2939
|
+
return { error: "At least one preference is required" };
|
|
2940
|
+
}
|
|
2941
|
+
const built = [];
|
|
2942
|
+
for (let i = 0; i < preferences.length; i++) {
|
|
2943
|
+
const { token, value, params } = preferences[i];
|
|
2944
|
+
if (typeof token !== "string" || !isPreferToken(token.trim())) {
|
|
2945
|
+
return { error: `preference ${i + 1}: token is required and must be a valid HTTP token` };
|
|
2946
|
+
}
|
|
2947
|
+
const cleanParams = [];
|
|
2948
|
+
if (params !== void 0) {
|
|
2949
|
+
if (!Array.isArray(params)) return { error: `preference ${i + 1}: params must be an array` };
|
|
2950
|
+
for (const param of params) {
|
|
2951
|
+
if (typeof param?.name !== "string" || !isPreferToken(param.name.trim())) {
|
|
2952
|
+
return { error: `preference ${i + 1}: parameter name is required and must be a valid HTTP token` };
|
|
2953
|
+
}
|
|
2954
|
+
cleanParams.push({ name: param.name.trim(), value: param.value !== void 0 ? String(param.value) : void 0 });
|
|
2955
|
+
}
|
|
2956
|
+
}
|
|
2957
|
+
built.push({
|
|
2958
|
+
token: token.trim(),
|
|
2959
|
+
value: value !== void 0 ? String(value) : void 0,
|
|
2960
|
+
params: cleanParams.length > 0 ? cleanParams : void 0
|
|
2961
|
+
});
|
|
2962
|
+
}
|
|
2963
|
+
const headerValue = formatPreferPreferences(built);
|
|
2964
|
+
return { header: `Prefer: ${headerValue}`, headerValue, preferences: built };
|
|
2965
|
+
}
|
|
2966
|
+
function parsePreferHeader(raw) {
|
|
2967
|
+
if (!raw || raw.trim() === "") return { error: "Input is empty" };
|
|
2968
|
+
const withoutLabel = raw.trim().replace(/^prefer:\s*/i, "");
|
|
2969
|
+
const parts = splitPreferTopLevel(withoutLabel, ",").map((p) => p.trim()).filter((p) => p.length > 0);
|
|
2970
|
+
if (parts.length === 0) return { error: "Input is empty" };
|
|
2971
|
+
const preferences = [];
|
|
2972
|
+
for (const part of parts) {
|
|
2973
|
+
const segments = splitPreferTopLevel(part, ";").map((s) => s.trim()).filter((s) => s.length > 0);
|
|
2974
|
+
if (segments.length === 0) return { error: `Invalid preference: "${part}"` };
|
|
2975
|
+
const main = parsePreferTokenValue(segments[0]);
|
|
2976
|
+
if (!main || !isPreferToken(main.token)) return { error: `Invalid preference token in "${part}"` };
|
|
2977
|
+
const params = [];
|
|
2978
|
+
for (const seg of segments.slice(1)) {
|
|
2979
|
+
const p = parsePreferTokenValue(seg);
|
|
2980
|
+
if (!p || !isPreferToken(p.token)) return { error: `Invalid parameter in "${part}"` };
|
|
2981
|
+
params.push({ name: p.token, value: p.value });
|
|
2982
|
+
}
|
|
2983
|
+
preferences.push({ token: main.token, value: main.value, params: params.length > 0 ? params : void 0 });
|
|
2984
|
+
}
|
|
2985
|
+
const headerValue = formatPreferPreferences(preferences);
|
|
2986
|
+
return { header: `Prefer: ${headerValue}`, headerValue, preferences };
|
|
2987
|
+
}
|
|
2889
2988
|
|
|
2890
|
-
export { CLIENT_HINTS, DNS_RECORD_TYPES, HTTP_HEADERS, LINK_REL_VALUES, PERMISSIONS_POLICY_FEATURES, REFERRER_POLICY_VALUES, STATUS_CODES, X_CONTENT_TYPE_OPTIONS_HEADER, analyzeEmailHeaders, assessContentTypeRisk, buildAcceptLanguage, buildCacheControl, buildClientHints, buildContentDisposition, buildDnsQueryUrl, buildGeoUrl, buildLinkHeader, buildMapUrl, buildPermissionsPolicy, buildRangeHeader, buildReferrerPolicy, buildVaryHeader, buildXContentTypeOptionsHeader, checkSetCookieHeader, countryCodeToFlag, formatCoordinates, formatTtl, getByCategory, getHeader, getHeadersByCategory, getStatusByCategory, getStatusCode, isClientError, isServerError, isSuccess, isValidIp, isValidIpv4, isValidIpv6, network_exports, parseAcceptLanguage, parseClientHintHeaders, parseContentDisposition, parseContentRangeHeader, parseDnsResponse, parseGeoResponse, parseHar, parseIpv6Address, parsePermissionsPolicy, parseUserAgent, parseVaryHeader, parseXContentTypeOptionsHeader, searchHeaders, searchStatusCodes, splitSitemap, statusCodeToText, typeNumberToLabel, validateDomain, validateHeaderName, validateHeaderValue, validateManifest, validateRobotsTxt, validateSitemap };
|
|
2989
|
+
export { CLIENT_HINTS, DNS_RECORD_TYPES, HTTP_HEADERS, LINK_REL_VALUES, PERMISSIONS_POLICY_FEATURES, REFERRER_POLICY_VALUES, STATUS_CODES, X_CONTENT_TYPE_OPTIONS_HEADER, analyzeEmailHeaders, assessContentTypeRisk, buildAcceptLanguage, buildCacheControl, buildClientHints, buildContentDisposition, buildDnsQueryUrl, buildGeoUrl, buildLinkHeader, buildMapUrl, buildPermissionsPolicy, buildPreferHeader, buildRangeHeader, buildReferrerPolicy, buildVaryHeader, buildXContentTypeOptionsHeader, checkSetCookieHeader, countryCodeToFlag, formatCoordinates, formatTtl, getByCategory, getHeader, getHeadersByCategory, getStatusByCategory, getStatusCode, isClientError, isServerError, isSuccess, isValidIp, isValidIpv4, isValidIpv6, network_exports, parseAcceptLanguage, parseClientHintHeaders, parseContentDisposition, parseContentRangeHeader, parseDnsResponse, parseGeoResponse, parseHar, parseIpv6Address, parsePermissionsPolicy, parsePreferHeader, parseUserAgent, parseVaryHeader, parseXContentTypeOptionsHeader, searchHeaders, searchStatusCodes, splitSitemap, statusCodeToText, typeNumberToLabel, validateDomain, validateHeaderName, validateHeaderValue, validateManifest, validateRobotsTxt, validateSitemap };
|
|
@@ -10,6 +10,7 @@ __export(data_exports, {
|
|
|
10
10
|
convertSubtitles: () => convertSubtitles,
|
|
11
11
|
csvToJson: () => csvToJson,
|
|
12
12
|
csvToSqlInsert: () => csvToSqlInsert,
|
|
13
|
+
dedupeNdjson: () => dedupeNdjson,
|
|
13
14
|
detectDelimiter: () => detectDelimiter,
|
|
14
15
|
detectSubtitleFormat: () => detectSubtitleFormat,
|
|
15
16
|
diffEnvExample: () => diffEnvExample,
|
|
@@ -1172,6 +1173,38 @@ function jsonArrayToNdjson(input) {
|
|
|
1172
1173
|
if (!Array.isArray(parsed)) return { error: "Input must be a JSON array" };
|
|
1173
1174
|
return parsed.map((item) => JSON.stringify(item)).join("\n");
|
|
1174
1175
|
}
|
|
1176
|
+
function dedupeNdjson(input, keyField) {
|
|
1177
|
+
const validated = validateNdjson(input);
|
|
1178
|
+
if (!validated.valid) return { error: _firstNdjsonError(validated) };
|
|
1179
|
+
const seen = /* @__PURE__ */ new Set();
|
|
1180
|
+
const keptRaw = [];
|
|
1181
|
+
const removedLines = [];
|
|
1182
|
+
for (const l of validated.lines) {
|
|
1183
|
+
const parsed = JSON.parse(l.raw);
|
|
1184
|
+
let key;
|
|
1185
|
+
if (keyField) {
|
|
1186
|
+
if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed) || !(keyField in parsed)) {
|
|
1187
|
+
return { error: `Line ${l.line}: missing key field "${keyField}"` };
|
|
1188
|
+
}
|
|
1189
|
+
key = JSON.stringify(parsed[keyField]);
|
|
1190
|
+
} else {
|
|
1191
|
+
key = JSON.stringify(parsed);
|
|
1192
|
+
}
|
|
1193
|
+
if (seen.has(key)) {
|
|
1194
|
+
removedLines.push(l.line);
|
|
1195
|
+
} else {
|
|
1196
|
+
seen.add(key);
|
|
1197
|
+
keptRaw.push(l.raw.trim());
|
|
1198
|
+
}
|
|
1199
|
+
}
|
|
1200
|
+
return {
|
|
1201
|
+
totalLines: validated.totalLines,
|
|
1202
|
+
uniqueLines: keptRaw.length,
|
|
1203
|
+
duplicatesRemoved: removedLines.length,
|
|
1204
|
+
output: keptRaw.join("\n"),
|
|
1205
|
+
removedLines
|
|
1206
|
+
};
|
|
1207
|
+
}
|
|
1175
1208
|
var _SUBTITLE_TIMESTAMP_RE = /(\d+):(\d{1,2}):(\d{1,2})[.,](\d{1,3})|(\d{1,3}):(\d{1,2})[.,](\d{1,3})/;
|
|
1176
1209
|
var _VTT_BLOCK_KEYWORDS = ["NOTE", "STYLE", "REGION"];
|
|
1177
1210
|
function parseSubtitleTimestamp(raw) {
|
|
@@ -1775,4 +1808,4 @@ function calculateMarkdownTaskListProgress(markdown) {
|
|
|
1775
1808
|
return { totalItems, completedItems, percentComplete, sections, items };
|
|
1776
1809
|
}
|
|
1777
1810
|
|
|
1778
|
-
export { analyzeCaptionSpeed, calculateMarkdownTaskListProgress, convertSubtitles, csvToJson, csvToSqlInsert, data_exports, detectDelimiter, detectSubtitleFormat, diffEnvExample, envToExport, envToJson, findCsvDuplicateRows, formatNdjson, formatSubtitleTimestamp, formatToml, formatXml, generateMarkdownToc, getSection, getSectionNames, getTomlStats, getXmlStats, getYamlStats, inferCsvColumnTypes, iniToJson, jsonArrayToNdjson, jsonToIni, jsonToToml, jsonToXml, minifyNdjson, minifyToml, minifyXml, ndjsonToJsonArray, parseCsv, parseEnv, parseFrontMatter, parseIni, parseSubtitleTimestamp, parseSubtitles, parseXmlToObject, resolveYamlAnchors, serializeSubtitles, shiftSubtitles, stringifyIni, toCsvString, tomlToJson, validateEnvKey, validateIni, validateNdjson, validateToml, validateXml, validateYaml, xmlToJson };
|
|
1811
|
+
export { analyzeCaptionSpeed, calculateMarkdownTaskListProgress, convertSubtitles, csvToJson, csvToSqlInsert, data_exports, dedupeNdjson, detectDelimiter, detectSubtitleFormat, diffEnvExample, envToExport, envToJson, findCsvDuplicateRows, formatNdjson, formatSubtitleTimestamp, formatToml, formatXml, generateMarkdownToc, getSection, getSectionNames, getTomlStats, getXmlStats, getYamlStats, inferCsvColumnTypes, iniToJson, jsonArrayToNdjson, jsonToIni, jsonToToml, jsonToXml, minifyNdjson, minifyToml, minifyXml, ndjsonToJsonArray, parseCsv, parseEnv, parseFrontMatter, parseIni, parseSubtitleTimestamp, parseSubtitles, parseXmlToObject, resolveYamlAnchors, serializeSubtitles, shiftSubtitles, stringifyIni, toCsvString, tomlToJson, validateEnvKey, validateIni, validateNdjson, validateToml, validateXml, validateYaml, xmlToJson };
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* - env-parser : parseEnv, envToJson, envToExport, validateEnvKey
|
|
13
13
|
* - env-diff-checker: diffEnvExample
|
|
14
14
|
* - ndjson-formatter: validateNdjson, minifyNdjson, formatNdjson, ndjsonToJsonArray, jsonArrayToNdjson
|
|
15
|
+
* - ndjson-dedup: dedupeNdjson
|
|
15
16
|
* - subtitle-converter: parseSubtitleTimestamp, formatSubtitleTimestamp, detectSubtitleFormat, parseSubtitles, serializeSubtitles, convertSubtitles, shiftSubtitles
|
|
16
17
|
* - markdown-front-matter-parser: parseFrontMatter
|
|
17
18
|
* - markdown-toc-generator: generateMarkdownToc
|
|
@@ -216,6 +217,23 @@ declare function ndjsonToJsonArray(input: string): string | {
|
|
|
216
217
|
declare function jsonArrayToNdjson(input: string): string | {
|
|
217
218
|
error: string;
|
|
218
219
|
};
|
|
220
|
+
interface NdjsonDedupeResult {
|
|
221
|
+
totalLines: number;
|
|
222
|
+
uniqueLines: number;
|
|
223
|
+
duplicatesRemoved: number;
|
|
224
|
+
output: string;
|
|
225
|
+
removedLines: number[];
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Remove duplicate records from NDJSON input. With no `keyField`, two lines
|
|
229
|
+
* are duplicates when their parsed JSON values are structurally identical
|
|
230
|
+
* (compared via a canonical JSON.stringify, so key order matters). With a
|
|
231
|
+
* `keyField`, two lines are duplicates when that field's value matches; the
|
|
232
|
+
* first occurrence of each key is kept, later ones are dropped.
|
|
233
|
+
*/
|
|
234
|
+
declare function dedupeNdjson(input: string, keyField?: string): NdjsonDedupeResult | {
|
|
235
|
+
error: string;
|
|
236
|
+
};
|
|
219
237
|
type SubtitleFormat = "srt" | "vtt";
|
|
220
238
|
interface SubtitleCue {
|
|
221
239
|
index: number;
|
|
@@ -513,6 +531,7 @@ type data_MarkdownTaskListSectionSummary = MarkdownTaskListSectionSummary;
|
|
|
513
531
|
type data_MarkdownTocEntry = MarkdownTocEntry;
|
|
514
532
|
type data_MarkdownTocOptions = MarkdownTocOptions;
|
|
515
533
|
type data_MarkdownTocResult = MarkdownTocResult;
|
|
534
|
+
type data_NdjsonDedupeResult = NdjsonDedupeResult;
|
|
516
535
|
type data_NdjsonLineResult = NdjsonLineResult;
|
|
517
536
|
type data_NdjsonValidateResult = NdjsonValidateResult;
|
|
518
537
|
type data_ParseOptions = ParseOptions;
|
|
@@ -532,6 +551,7 @@ declare const data_calculateMarkdownTaskListProgress: typeof calculateMarkdownTa
|
|
|
532
551
|
declare const data_convertSubtitles: typeof convertSubtitles;
|
|
533
552
|
declare const data_csvToJson: typeof csvToJson;
|
|
534
553
|
declare const data_csvToSqlInsert: typeof csvToSqlInsert;
|
|
554
|
+
declare const data_dedupeNdjson: typeof dedupeNdjson;
|
|
535
555
|
declare const data_detectDelimiter: typeof detectDelimiter;
|
|
536
556
|
declare const data_detectSubtitleFormat: typeof detectSubtitleFormat;
|
|
537
557
|
declare const data_diffEnvExample: typeof diffEnvExample;
|
|
@@ -579,7 +599,7 @@ declare const data_validateXml: typeof validateXml;
|
|
|
579
599
|
declare const data_validateYaml: typeof validateYaml;
|
|
580
600
|
declare const data_xmlToJson: typeof xmlToJson;
|
|
581
601
|
declare namespace data {
|
|
582
|
-
export { type data_CaptionSpeedCue as CaptionSpeedCue, type data_CaptionSpeedResult as CaptionSpeedResult, type data_ConvertedSubtitles as ConvertedSubtitles, type data_CsvColumnType as CsvColumnType, type data_CsvColumnTypeInfo as CsvColumnTypeInfo, type data_CsvColumnTypeOptions as CsvColumnTypeOptions, type data_CsvColumnTypeResult as CsvColumnTypeResult, type data_CsvDuplicateGroup as CsvDuplicateGroup, type data_CsvDuplicateOptions as CsvDuplicateOptions, type data_CsvDuplicateResult as CsvDuplicateResult, type data_CsvParseResult as CsvParseResult, type data_CsvToSqlOptions as CsvToSqlOptions, type data_CsvToSqlResult as CsvToSqlResult, type data_EnvDiffError as EnvDiffError, type data_EnvDiffResult as EnvDiffResult, type data_EnvEntry as EnvEntry, type data_EnvParseResult as EnvParseResult, type data_FrontMatterError as FrontMatterError, type data_FrontMatterResult as FrontMatterResult, type data_IniSection as IniSection, type data_MarkdownTaskListItem as MarkdownTaskListItem, type data_MarkdownTaskListProgressResult as MarkdownTaskListProgressResult, type data_MarkdownTaskListSectionSummary as MarkdownTaskListSectionSummary, type data_MarkdownTocEntry as MarkdownTocEntry, type data_MarkdownTocOptions as MarkdownTocOptions, type data_MarkdownTocResult as MarkdownTocResult, type data_NdjsonLineResult as NdjsonLineResult, type data_NdjsonValidateResult as NdjsonValidateResult, type data_ParseOptions as ParseOptions, type data_ParsedIni as ParsedIni, type data_ParsedSubtitles as ParsedSubtitles, type data_SubtitleCue as SubtitleCue, type data_SubtitleFormat as SubtitleFormat, type data_TomlFormatResult as TomlFormatResult, type data_ValidationResult as ValidationResult, type data_XmlFormatResult as XmlFormatResult, type data_XmlToJsonOptions as XmlToJsonOptions, type data_YamlAnchorInfo as YamlAnchorInfo, type data_YamlAnchorResolveError as YamlAnchorResolveError, type data_YamlAnchorResolveResult as YamlAnchorResolveResult, data_analyzeCaptionSpeed as analyzeCaptionSpeed, data_calculateMarkdownTaskListProgress as calculateMarkdownTaskListProgress, data_convertSubtitles as convertSubtitles, data_csvToJson as csvToJson, data_csvToSqlInsert as csvToSqlInsert, data_detectDelimiter as detectDelimiter, data_detectSubtitleFormat as detectSubtitleFormat, data_diffEnvExample as diffEnvExample, data_envToExport as envToExport, data_envToJson as envToJson, data_findCsvDuplicateRows as findCsvDuplicateRows, data_formatNdjson as formatNdjson, data_formatSubtitleTimestamp as formatSubtitleTimestamp, data_formatToml as formatToml, data_formatXml as formatXml, data_generateMarkdownToc as generateMarkdownToc, data_getSection as getSection, data_getSectionNames as getSectionNames, data_getTomlStats as getTomlStats, data_getXmlStats as getXmlStats, data_getYamlStats as getYamlStats, data_inferCsvColumnTypes as inferCsvColumnTypes, data_iniToJson as iniToJson, data_jsonArrayToNdjson as jsonArrayToNdjson, data_jsonToIni as jsonToIni, data_jsonToToml as jsonToToml, data_jsonToXml as jsonToXml, data_minifyNdjson as minifyNdjson, data_minifyToml as minifyToml, data_minifyXml as minifyXml, data_ndjsonToJsonArray as ndjsonToJsonArray, data_parseCsv as parseCsv, data_parseEnv as parseEnv, data_parseFrontMatter as parseFrontMatter, data_parseIni as parseIni, data_parseSubtitleTimestamp as parseSubtitleTimestamp, data_parseSubtitles as parseSubtitles, data_parseXmlToObject as parseXmlToObject, data_resolveYamlAnchors as resolveYamlAnchors, data_serializeSubtitles as serializeSubtitles, data_shiftSubtitles as shiftSubtitles, data_stringifyIni as stringifyIni, data_toCsvString as toCsvString, data_tomlToJson as tomlToJson, data_validateEnvKey as validateEnvKey, data_validateIni as validateIni, data_validateNdjson as validateNdjson, data_validateToml as validateToml, data_validateXml as validateXml, data_validateYaml as validateYaml, data_xmlToJson as xmlToJson };
|
|
602
|
+
export { type data_CaptionSpeedCue as CaptionSpeedCue, type data_CaptionSpeedResult as CaptionSpeedResult, type data_ConvertedSubtitles as ConvertedSubtitles, type data_CsvColumnType as CsvColumnType, type data_CsvColumnTypeInfo as CsvColumnTypeInfo, type data_CsvColumnTypeOptions as CsvColumnTypeOptions, type data_CsvColumnTypeResult as CsvColumnTypeResult, type data_CsvDuplicateGroup as CsvDuplicateGroup, type data_CsvDuplicateOptions as CsvDuplicateOptions, type data_CsvDuplicateResult as CsvDuplicateResult, type data_CsvParseResult as CsvParseResult, type data_CsvToSqlOptions as CsvToSqlOptions, type data_CsvToSqlResult as CsvToSqlResult, type data_EnvDiffError as EnvDiffError, type data_EnvDiffResult as EnvDiffResult, type data_EnvEntry as EnvEntry, type data_EnvParseResult as EnvParseResult, type data_FrontMatterError as FrontMatterError, type data_FrontMatterResult as FrontMatterResult, type data_IniSection as IniSection, type data_MarkdownTaskListItem as MarkdownTaskListItem, type data_MarkdownTaskListProgressResult as MarkdownTaskListProgressResult, type data_MarkdownTaskListSectionSummary as MarkdownTaskListSectionSummary, type data_MarkdownTocEntry as MarkdownTocEntry, type data_MarkdownTocOptions as MarkdownTocOptions, type data_MarkdownTocResult as MarkdownTocResult, type data_NdjsonDedupeResult as NdjsonDedupeResult, type data_NdjsonLineResult as NdjsonLineResult, type data_NdjsonValidateResult as NdjsonValidateResult, type data_ParseOptions as ParseOptions, type data_ParsedIni as ParsedIni, type data_ParsedSubtitles as ParsedSubtitles, type data_SubtitleCue as SubtitleCue, type data_SubtitleFormat as SubtitleFormat, type data_TomlFormatResult as TomlFormatResult, type data_ValidationResult as ValidationResult, type data_XmlFormatResult as XmlFormatResult, type data_XmlToJsonOptions as XmlToJsonOptions, type data_YamlAnchorInfo as YamlAnchorInfo, type data_YamlAnchorResolveError as YamlAnchorResolveError, type data_YamlAnchorResolveResult as YamlAnchorResolveResult, data_analyzeCaptionSpeed as analyzeCaptionSpeed, data_calculateMarkdownTaskListProgress as calculateMarkdownTaskListProgress, data_convertSubtitles as convertSubtitles, data_csvToJson as csvToJson, data_csvToSqlInsert as csvToSqlInsert, data_dedupeNdjson as dedupeNdjson, data_detectDelimiter as detectDelimiter, data_detectSubtitleFormat as detectSubtitleFormat, data_diffEnvExample as diffEnvExample, data_envToExport as envToExport, data_envToJson as envToJson, data_findCsvDuplicateRows as findCsvDuplicateRows, data_formatNdjson as formatNdjson, data_formatSubtitleTimestamp as formatSubtitleTimestamp, data_formatToml as formatToml, data_formatXml as formatXml, data_generateMarkdownToc as generateMarkdownToc, data_getSection as getSection, data_getSectionNames as getSectionNames, data_getTomlStats as getTomlStats, data_getXmlStats as getXmlStats, data_getYamlStats as getYamlStats, data_inferCsvColumnTypes as inferCsvColumnTypes, data_iniToJson as iniToJson, data_jsonArrayToNdjson as jsonArrayToNdjson, data_jsonToIni as jsonToIni, data_jsonToToml as jsonToToml, data_jsonToXml as jsonToXml, data_minifyNdjson as minifyNdjson, data_minifyToml as minifyToml, data_minifyXml as minifyXml, data_ndjsonToJsonArray as ndjsonToJsonArray, data_parseCsv as parseCsv, data_parseEnv as parseEnv, data_parseFrontMatter as parseFrontMatter, data_parseIni as parseIni, data_parseSubtitleTimestamp as parseSubtitleTimestamp, data_parseSubtitles as parseSubtitles, data_parseXmlToObject as parseXmlToObject, data_resolveYamlAnchors as resolveYamlAnchors, data_serializeSubtitles as serializeSubtitles, data_shiftSubtitles as shiftSubtitles, data_stringifyIni as stringifyIni, data_toCsvString as toCsvString, data_tomlToJson as tomlToJson, data_validateEnvKey as validateEnvKey, data_validateIni as validateIni, data_validateNdjson as validateNdjson, data_validateToml as validateToml, data_validateXml as validateXml, data_validateYaml as validateYaml, data_xmlToJson as xmlToJson };
|
|
583
603
|
}
|
|
584
604
|
|
|
585
|
-
export {
|
|
605
|
+
export { findCsvDuplicateRows as $, type SubtitleFormat as A, type XmlToJsonOptions as B, type CaptionSpeedCue as C, type YamlAnchorResolveError as D, type EnvDiffError as E, type FrontMatterError as F, type YamlAnchorResolveResult as G, analyzeCaptionSpeed as H, type IniSection as I, calculateMarkdownTaskListProgress as J, convertSubtitles as K, csvToJson as L, type MarkdownTaskListItem as M, type NdjsonDedupeResult as N, csvToSqlInsert as O, type ParseOptions as P, dedupeNdjson as Q, detectDelimiter as R, type SubtitleCue as S, type TomlFormatResult as T, detectSubtitleFormat as U, type ValidationResult as V, diffEnvExample as W, type XmlFormatResult as X, type YamlAnchorInfo as Y, envToExport as Z, envToJson as _, type CaptionSpeedResult as a, formatNdjson as a0, formatSubtitleTimestamp as a1, formatToml as a2, formatXml as a3, generateMarkdownToc as a4, getSection as a5, getSectionNames as a6, getTomlStats as a7, getXmlStats as a8, getYamlStats as a9, validateToml as aA, validateXml as aB, validateYaml as aC, xmlToJson as aD, inferCsvColumnTypes as aa, iniToJson as ab, jsonArrayToNdjson as ac, jsonToIni as ad, jsonToToml as ae, jsonToXml as af, minifyNdjson as ag, minifyToml as ah, minifyXml as ai, ndjsonToJsonArray as aj, parseCsv as ak, parseEnv as al, parseFrontMatter as am, parseIni as an, parseSubtitleTimestamp as ao, parseSubtitles as ap, parseXmlToObject as aq, resolveYamlAnchors as ar, serializeSubtitles as as, shiftSubtitles as at, stringifyIni as au, toCsvString as av, tomlToJson as aw, validateEnvKey as ax, validateIni as ay, validateNdjson as az, type ConvertedSubtitles as b, type CsvColumnType as c, data as d, type CsvColumnTypeInfo as e, type CsvColumnTypeOptions as f, type CsvColumnTypeResult as g, type CsvDuplicateGroup as h, type CsvDuplicateOptions as i, type CsvDuplicateResult as j, type CsvParseResult as k, type CsvToSqlOptions as l, type CsvToSqlResult as m, type EnvDiffResult as n, type EnvEntry as o, type EnvParseResult as p, type FrontMatterResult as q, type MarkdownTaskListProgressResult as r, type MarkdownTaskListSectionSummary as s, type MarkdownTocEntry as t, type MarkdownTocOptions as u, type MarkdownTocResult as v, type NdjsonLineResult as w, type NdjsonValidateResult as x, type ParsedIni as y, type ParsedSubtitles as z };
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* - env-parser : parseEnv, envToJson, envToExport, validateEnvKey
|
|
13
13
|
* - env-diff-checker: diffEnvExample
|
|
14
14
|
* - ndjson-formatter: validateNdjson, minifyNdjson, formatNdjson, ndjsonToJsonArray, jsonArrayToNdjson
|
|
15
|
+
* - ndjson-dedup: dedupeNdjson
|
|
15
16
|
* - subtitle-converter: parseSubtitleTimestamp, formatSubtitleTimestamp, detectSubtitleFormat, parseSubtitles, serializeSubtitles, convertSubtitles, shiftSubtitles
|
|
16
17
|
* - markdown-front-matter-parser: parseFrontMatter
|
|
17
18
|
* - markdown-toc-generator: generateMarkdownToc
|
|
@@ -216,6 +217,23 @@ declare function ndjsonToJsonArray(input: string): string | {
|
|
|
216
217
|
declare function jsonArrayToNdjson(input: string): string | {
|
|
217
218
|
error: string;
|
|
218
219
|
};
|
|
220
|
+
interface NdjsonDedupeResult {
|
|
221
|
+
totalLines: number;
|
|
222
|
+
uniqueLines: number;
|
|
223
|
+
duplicatesRemoved: number;
|
|
224
|
+
output: string;
|
|
225
|
+
removedLines: number[];
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Remove duplicate records from NDJSON input. With no `keyField`, two lines
|
|
229
|
+
* are duplicates when their parsed JSON values are structurally identical
|
|
230
|
+
* (compared via a canonical JSON.stringify, so key order matters). With a
|
|
231
|
+
* `keyField`, two lines are duplicates when that field's value matches; the
|
|
232
|
+
* first occurrence of each key is kept, later ones are dropped.
|
|
233
|
+
*/
|
|
234
|
+
declare function dedupeNdjson(input: string, keyField?: string): NdjsonDedupeResult | {
|
|
235
|
+
error: string;
|
|
236
|
+
};
|
|
219
237
|
type SubtitleFormat = "srt" | "vtt";
|
|
220
238
|
interface SubtitleCue {
|
|
221
239
|
index: number;
|
|
@@ -513,6 +531,7 @@ type data_MarkdownTaskListSectionSummary = MarkdownTaskListSectionSummary;
|
|
|
513
531
|
type data_MarkdownTocEntry = MarkdownTocEntry;
|
|
514
532
|
type data_MarkdownTocOptions = MarkdownTocOptions;
|
|
515
533
|
type data_MarkdownTocResult = MarkdownTocResult;
|
|
534
|
+
type data_NdjsonDedupeResult = NdjsonDedupeResult;
|
|
516
535
|
type data_NdjsonLineResult = NdjsonLineResult;
|
|
517
536
|
type data_NdjsonValidateResult = NdjsonValidateResult;
|
|
518
537
|
type data_ParseOptions = ParseOptions;
|
|
@@ -532,6 +551,7 @@ declare const data_calculateMarkdownTaskListProgress: typeof calculateMarkdownTa
|
|
|
532
551
|
declare const data_convertSubtitles: typeof convertSubtitles;
|
|
533
552
|
declare const data_csvToJson: typeof csvToJson;
|
|
534
553
|
declare const data_csvToSqlInsert: typeof csvToSqlInsert;
|
|
554
|
+
declare const data_dedupeNdjson: typeof dedupeNdjson;
|
|
535
555
|
declare const data_detectDelimiter: typeof detectDelimiter;
|
|
536
556
|
declare const data_detectSubtitleFormat: typeof detectSubtitleFormat;
|
|
537
557
|
declare const data_diffEnvExample: typeof diffEnvExample;
|
|
@@ -579,7 +599,7 @@ declare const data_validateXml: typeof validateXml;
|
|
|
579
599
|
declare const data_validateYaml: typeof validateYaml;
|
|
580
600
|
declare const data_xmlToJson: typeof xmlToJson;
|
|
581
601
|
declare namespace data {
|
|
582
|
-
export { type data_CaptionSpeedCue as CaptionSpeedCue, type data_CaptionSpeedResult as CaptionSpeedResult, type data_ConvertedSubtitles as ConvertedSubtitles, type data_CsvColumnType as CsvColumnType, type data_CsvColumnTypeInfo as CsvColumnTypeInfo, type data_CsvColumnTypeOptions as CsvColumnTypeOptions, type data_CsvColumnTypeResult as CsvColumnTypeResult, type data_CsvDuplicateGroup as CsvDuplicateGroup, type data_CsvDuplicateOptions as CsvDuplicateOptions, type data_CsvDuplicateResult as CsvDuplicateResult, type data_CsvParseResult as CsvParseResult, type data_CsvToSqlOptions as CsvToSqlOptions, type data_CsvToSqlResult as CsvToSqlResult, type data_EnvDiffError as EnvDiffError, type data_EnvDiffResult as EnvDiffResult, type data_EnvEntry as EnvEntry, type data_EnvParseResult as EnvParseResult, type data_FrontMatterError as FrontMatterError, type data_FrontMatterResult as FrontMatterResult, type data_IniSection as IniSection, type data_MarkdownTaskListItem as MarkdownTaskListItem, type data_MarkdownTaskListProgressResult as MarkdownTaskListProgressResult, type data_MarkdownTaskListSectionSummary as MarkdownTaskListSectionSummary, type data_MarkdownTocEntry as MarkdownTocEntry, type data_MarkdownTocOptions as MarkdownTocOptions, type data_MarkdownTocResult as MarkdownTocResult, type data_NdjsonLineResult as NdjsonLineResult, type data_NdjsonValidateResult as NdjsonValidateResult, type data_ParseOptions as ParseOptions, type data_ParsedIni as ParsedIni, type data_ParsedSubtitles as ParsedSubtitles, type data_SubtitleCue as SubtitleCue, type data_SubtitleFormat as SubtitleFormat, type data_TomlFormatResult as TomlFormatResult, type data_ValidationResult as ValidationResult, type data_XmlFormatResult as XmlFormatResult, type data_XmlToJsonOptions as XmlToJsonOptions, type data_YamlAnchorInfo as YamlAnchorInfo, type data_YamlAnchorResolveError as YamlAnchorResolveError, type data_YamlAnchorResolveResult as YamlAnchorResolveResult, data_analyzeCaptionSpeed as analyzeCaptionSpeed, data_calculateMarkdownTaskListProgress as calculateMarkdownTaskListProgress, data_convertSubtitles as convertSubtitles, data_csvToJson as csvToJson, data_csvToSqlInsert as csvToSqlInsert, data_detectDelimiter as detectDelimiter, data_detectSubtitleFormat as detectSubtitleFormat, data_diffEnvExample as diffEnvExample, data_envToExport as envToExport, data_envToJson as envToJson, data_findCsvDuplicateRows as findCsvDuplicateRows, data_formatNdjson as formatNdjson, data_formatSubtitleTimestamp as formatSubtitleTimestamp, data_formatToml as formatToml, data_formatXml as formatXml, data_generateMarkdownToc as generateMarkdownToc, data_getSection as getSection, data_getSectionNames as getSectionNames, data_getTomlStats as getTomlStats, data_getXmlStats as getXmlStats, data_getYamlStats as getYamlStats, data_inferCsvColumnTypes as inferCsvColumnTypes, data_iniToJson as iniToJson, data_jsonArrayToNdjson as jsonArrayToNdjson, data_jsonToIni as jsonToIni, data_jsonToToml as jsonToToml, data_jsonToXml as jsonToXml, data_minifyNdjson as minifyNdjson, data_minifyToml as minifyToml, data_minifyXml as minifyXml, data_ndjsonToJsonArray as ndjsonToJsonArray, data_parseCsv as parseCsv, data_parseEnv as parseEnv, data_parseFrontMatter as parseFrontMatter, data_parseIni as parseIni, data_parseSubtitleTimestamp as parseSubtitleTimestamp, data_parseSubtitles as parseSubtitles, data_parseXmlToObject as parseXmlToObject, data_resolveYamlAnchors as resolveYamlAnchors, data_serializeSubtitles as serializeSubtitles, data_shiftSubtitles as shiftSubtitles, data_stringifyIni as stringifyIni, data_toCsvString as toCsvString, data_tomlToJson as tomlToJson, data_validateEnvKey as validateEnvKey, data_validateIni as validateIni, data_validateNdjson as validateNdjson, data_validateToml as validateToml, data_validateXml as validateXml, data_validateYaml as validateYaml, data_xmlToJson as xmlToJson };
|
|
602
|
+
export { type data_CaptionSpeedCue as CaptionSpeedCue, type data_CaptionSpeedResult as CaptionSpeedResult, type data_ConvertedSubtitles as ConvertedSubtitles, type data_CsvColumnType as CsvColumnType, type data_CsvColumnTypeInfo as CsvColumnTypeInfo, type data_CsvColumnTypeOptions as CsvColumnTypeOptions, type data_CsvColumnTypeResult as CsvColumnTypeResult, type data_CsvDuplicateGroup as CsvDuplicateGroup, type data_CsvDuplicateOptions as CsvDuplicateOptions, type data_CsvDuplicateResult as CsvDuplicateResult, type data_CsvParseResult as CsvParseResult, type data_CsvToSqlOptions as CsvToSqlOptions, type data_CsvToSqlResult as CsvToSqlResult, type data_EnvDiffError as EnvDiffError, type data_EnvDiffResult as EnvDiffResult, type data_EnvEntry as EnvEntry, type data_EnvParseResult as EnvParseResult, type data_FrontMatterError as FrontMatterError, type data_FrontMatterResult as FrontMatterResult, type data_IniSection as IniSection, type data_MarkdownTaskListItem as MarkdownTaskListItem, type data_MarkdownTaskListProgressResult as MarkdownTaskListProgressResult, type data_MarkdownTaskListSectionSummary as MarkdownTaskListSectionSummary, type data_MarkdownTocEntry as MarkdownTocEntry, type data_MarkdownTocOptions as MarkdownTocOptions, type data_MarkdownTocResult as MarkdownTocResult, type data_NdjsonDedupeResult as NdjsonDedupeResult, type data_NdjsonLineResult as NdjsonLineResult, type data_NdjsonValidateResult as NdjsonValidateResult, type data_ParseOptions as ParseOptions, type data_ParsedIni as ParsedIni, type data_ParsedSubtitles as ParsedSubtitles, type data_SubtitleCue as SubtitleCue, type data_SubtitleFormat as SubtitleFormat, type data_TomlFormatResult as TomlFormatResult, type data_ValidationResult as ValidationResult, type data_XmlFormatResult as XmlFormatResult, type data_XmlToJsonOptions as XmlToJsonOptions, type data_YamlAnchorInfo as YamlAnchorInfo, type data_YamlAnchorResolveError as YamlAnchorResolveError, type data_YamlAnchorResolveResult as YamlAnchorResolveResult, data_analyzeCaptionSpeed as analyzeCaptionSpeed, data_calculateMarkdownTaskListProgress as calculateMarkdownTaskListProgress, data_convertSubtitles as convertSubtitles, data_csvToJson as csvToJson, data_csvToSqlInsert as csvToSqlInsert, data_dedupeNdjson as dedupeNdjson, data_detectDelimiter as detectDelimiter, data_detectSubtitleFormat as detectSubtitleFormat, data_diffEnvExample as diffEnvExample, data_envToExport as envToExport, data_envToJson as envToJson, data_findCsvDuplicateRows as findCsvDuplicateRows, data_formatNdjson as formatNdjson, data_formatSubtitleTimestamp as formatSubtitleTimestamp, data_formatToml as formatToml, data_formatXml as formatXml, data_generateMarkdownToc as generateMarkdownToc, data_getSection as getSection, data_getSectionNames as getSectionNames, data_getTomlStats as getTomlStats, data_getXmlStats as getXmlStats, data_getYamlStats as getYamlStats, data_inferCsvColumnTypes as inferCsvColumnTypes, data_iniToJson as iniToJson, data_jsonArrayToNdjson as jsonArrayToNdjson, data_jsonToIni as jsonToIni, data_jsonToToml as jsonToToml, data_jsonToXml as jsonToXml, data_minifyNdjson as minifyNdjson, data_minifyToml as minifyToml, data_minifyXml as minifyXml, data_ndjsonToJsonArray as ndjsonToJsonArray, data_parseCsv as parseCsv, data_parseEnv as parseEnv, data_parseFrontMatter as parseFrontMatter, data_parseIni as parseIni, data_parseSubtitleTimestamp as parseSubtitleTimestamp, data_parseSubtitles as parseSubtitles, data_parseXmlToObject as parseXmlToObject, data_resolveYamlAnchors as resolveYamlAnchors, data_serializeSubtitles as serializeSubtitles, data_shiftSubtitles as shiftSubtitles, data_stringifyIni as stringifyIni, data_toCsvString as toCsvString, data_tomlToJson as tomlToJson, data_validateEnvKey as validateEnvKey, data_validateIni as validateIni, data_validateNdjson as validateNdjson, data_validateToml as validateToml, data_validateXml as validateXml, data_validateYaml as validateYaml, data_xmlToJson as xmlToJson };
|
|
583
603
|
}
|
|
584
604
|
|
|
585
|
-
export {
|
|
605
|
+
export { findCsvDuplicateRows as $, type SubtitleFormat as A, type XmlToJsonOptions as B, type CaptionSpeedCue as C, type YamlAnchorResolveError as D, type EnvDiffError as E, type FrontMatterError as F, type YamlAnchorResolveResult as G, analyzeCaptionSpeed as H, type IniSection as I, calculateMarkdownTaskListProgress as J, convertSubtitles as K, csvToJson as L, type MarkdownTaskListItem as M, type NdjsonDedupeResult as N, csvToSqlInsert as O, type ParseOptions as P, dedupeNdjson as Q, detectDelimiter as R, type SubtitleCue as S, type TomlFormatResult as T, detectSubtitleFormat as U, type ValidationResult as V, diffEnvExample as W, type XmlFormatResult as X, type YamlAnchorInfo as Y, envToExport as Z, envToJson as _, type CaptionSpeedResult as a, formatNdjson as a0, formatSubtitleTimestamp as a1, formatToml as a2, formatXml as a3, generateMarkdownToc as a4, getSection as a5, getSectionNames as a6, getTomlStats as a7, getXmlStats as a8, getYamlStats as a9, validateToml as aA, validateXml as aB, validateYaml as aC, xmlToJson as aD, inferCsvColumnTypes as aa, iniToJson as ab, jsonArrayToNdjson as ac, jsonToIni as ad, jsonToToml as ae, jsonToXml as af, minifyNdjson as ag, minifyToml as ah, minifyXml as ai, ndjsonToJsonArray as aj, parseCsv as ak, parseEnv as al, parseFrontMatter as am, parseIni as an, parseSubtitleTimestamp as ao, parseSubtitles as ap, parseXmlToObject as aq, resolveYamlAnchors as ar, serializeSubtitles as as, shiftSubtitles as at, stringifyIni as au, toCsvString as av, tomlToJson as aw, validateEnvKey as ax, validateIni as ay, validateNdjson as az, type ConvertedSubtitles as b, type CsvColumnType as c, data as d, type CsvColumnTypeInfo as e, type CsvColumnTypeOptions as f, type CsvColumnTypeResult as g, type CsvDuplicateGroup as h, type CsvDuplicateOptions as i, type CsvDuplicateResult as j, type CsvParseResult as k, type CsvToSqlOptions as l, type CsvToSqlResult as m, type EnvDiffResult as n, type EnvEntry as o, type EnvParseResult as p, type FrontMatterResult as q, type MarkdownTaskListProgressResult as r, type MarkdownTaskListSectionSummary as s, type MarkdownTocEntry as t, type MarkdownTocOptions as u, type MarkdownTocResult as v, type NdjsonLineResult as w, type NdjsonValidateResult as x, type ParsedIni as y, type ParsedSubtitles as z };
|
package/dist/index.cjs
CHANGED
|
@@ -5189,6 +5189,7 @@ __export(data_exports, {
|
|
|
5189
5189
|
convertSubtitles: () => convertSubtitles,
|
|
5190
5190
|
csvToJson: () => csvToJson2,
|
|
5191
5191
|
csvToSqlInsert: () => csvToSqlInsert,
|
|
5192
|
+
dedupeNdjson: () => dedupeNdjson,
|
|
5192
5193
|
detectDelimiter: () => detectDelimiter2,
|
|
5193
5194
|
detectSubtitleFormat: () => detectSubtitleFormat,
|
|
5194
5195
|
diffEnvExample: () => diffEnvExample,
|
|
@@ -6351,6 +6352,38 @@ function jsonArrayToNdjson(input) {
|
|
|
6351
6352
|
if (!Array.isArray(parsed)) return { error: "Input must be a JSON array" };
|
|
6352
6353
|
return parsed.map((item) => JSON.stringify(item)).join("\n");
|
|
6353
6354
|
}
|
|
6355
|
+
function dedupeNdjson(input, keyField) {
|
|
6356
|
+
const validated = validateNdjson(input);
|
|
6357
|
+
if (!validated.valid) return { error: _firstNdjsonError(validated) };
|
|
6358
|
+
const seen = /* @__PURE__ */ new Set();
|
|
6359
|
+
const keptRaw = [];
|
|
6360
|
+
const removedLines = [];
|
|
6361
|
+
for (const l of validated.lines) {
|
|
6362
|
+
const parsed = JSON.parse(l.raw);
|
|
6363
|
+
let key;
|
|
6364
|
+
if (keyField) {
|
|
6365
|
+
if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed) || !(keyField in parsed)) {
|
|
6366
|
+
return { error: `Line ${l.line}: missing key field "${keyField}"` };
|
|
6367
|
+
}
|
|
6368
|
+
key = JSON.stringify(parsed[keyField]);
|
|
6369
|
+
} else {
|
|
6370
|
+
key = JSON.stringify(parsed);
|
|
6371
|
+
}
|
|
6372
|
+
if (seen.has(key)) {
|
|
6373
|
+
removedLines.push(l.line);
|
|
6374
|
+
} else {
|
|
6375
|
+
seen.add(key);
|
|
6376
|
+
keptRaw.push(l.raw.trim());
|
|
6377
|
+
}
|
|
6378
|
+
}
|
|
6379
|
+
return {
|
|
6380
|
+
totalLines: validated.totalLines,
|
|
6381
|
+
uniqueLines: keptRaw.length,
|
|
6382
|
+
duplicatesRemoved: removedLines.length,
|
|
6383
|
+
output: keptRaw.join("\n"),
|
|
6384
|
+
removedLines
|
|
6385
|
+
};
|
|
6386
|
+
}
|
|
6354
6387
|
var _SUBTITLE_TIMESTAMP_RE = /(\d+):(\d{1,2}):(\d{1,2})[.,](\d{1,3})|(\d{1,3}):(\d{1,2})[.,](\d{1,3})/;
|
|
6355
6388
|
var _VTT_BLOCK_KEYWORDS = ["NOTE", "STYLE", "REGION"];
|
|
6356
6389
|
function parseSubtitleTimestamp(raw) {
|
|
@@ -10699,6 +10732,7 @@ __export(network_exports, {
|
|
|
10699
10732
|
buildLinkHeader: () => buildLinkHeader,
|
|
10700
10733
|
buildMapUrl: () => buildMapUrl,
|
|
10701
10734
|
buildPermissionsPolicy: () => buildPermissionsPolicy,
|
|
10735
|
+
buildPreferHeader: () => buildPreferHeader,
|
|
10702
10736
|
buildRangeHeader: () => buildRangeHeader,
|
|
10703
10737
|
buildReferrerPolicy: () => buildReferrerPolicy,
|
|
10704
10738
|
buildVaryHeader: () => buildVaryHeader,
|
|
@@ -10727,6 +10761,7 @@ __export(network_exports, {
|
|
|
10727
10761
|
parseHar: () => parseHar,
|
|
10728
10762
|
parseIpv6Address: () => parseIpv6Address,
|
|
10729
10763
|
parsePermissionsPolicy: () => parsePermissionsPolicy,
|
|
10764
|
+
parsePreferHeader: () => parsePreferHeader,
|
|
10730
10765
|
parseUserAgent: () => parseUserAgent,
|
|
10731
10766
|
parseVaryHeader: () => parseVaryHeader,
|
|
10732
10767
|
parseXContentTypeOptionsHeader: () => parseXContentTypeOptionsHeader,
|
|
@@ -13563,6 +13598,103 @@ function parseAcceptLanguage(raw) {
|
|
|
13563
13598
|
const headerValue = formatAcceptLanguageEntries(sorted);
|
|
13564
13599
|
return { header: `Accept-Language: ${headerValue}`, headerValue, entries: sorted };
|
|
13565
13600
|
}
|
|
13601
|
+
var PREFER_TOKEN_RE = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;
|
|
13602
|
+
function isPreferToken(s) {
|
|
13603
|
+
return PREFER_TOKEN_RE.test(s);
|
|
13604
|
+
}
|
|
13605
|
+
function splitPreferTopLevel(input, delim) {
|
|
13606
|
+
const parts = [];
|
|
13607
|
+
let current = "";
|
|
13608
|
+
let inQuotes = false;
|
|
13609
|
+
for (const ch of input) {
|
|
13610
|
+
if (ch === '"') inQuotes = !inQuotes;
|
|
13611
|
+
if (ch === delim && !inQuotes) {
|
|
13612
|
+
parts.push(current);
|
|
13613
|
+
current = "";
|
|
13614
|
+
} else {
|
|
13615
|
+
current += ch;
|
|
13616
|
+
}
|
|
13617
|
+
}
|
|
13618
|
+
parts.push(current);
|
|
13619
|
+
return parts;
|
|
13620
|
+
}
|
|
13621
|
+
function parsePreferTokenValue(part) {
|
|
13622
|
+
const trimmed = part.trim();
|
|
13623
|
+
if (!trimmed) return null;
|
|
13624
|
+
const eq = trimmed.indexOf("=");
|
|
13625
|
+
if (eq === -1) return { token: trimmed };
|
|
13626
|
+
const token = trimmed.slice(0, eq).trim();
|
|
13627
|
+
let value = trimmed.slice(eq + 1).trim();
|
|
13628
|
+
if (value.length >= 2 && value.startsWith('"') && value.endsWith('"')) {
|
|
13629
|
+
value = value.slice(1, -1);
|
|
13630
|
+
}
|
|
13631
|
+
return { token, value };
|
|
13632
|
+
}
|
|
13633
|
+
function formatPreferWord(value) {
|
|
13634
|
+
return isPreferToken(value) ? value : `"${value.replace(/"/g, '\\"')}"`;
|
|
13635
|
+
}
|
|
13636
|
+
function formatPreferPreferences(preferences) {
|
|
13637
|
+
return preferences.map((p) => {
|
|
13638
|
+
let s = p.token;
|
|
13639
|
+
if (p.value !== void 0) s += `=${formatPreferWord(p.value)}`;
|
|
13640
|
+
for (const param of p.params ?? []) {
|
|
13641
|
+
s += `;${param.name}`;
|
|
13642
|
+
if (param.value !== void 0) s += `=${formatPreferWord(param.value)}`;
|
|
13643
|
+
}
|
|
13644
|
+
return s;
|
|
13645
|
+
}).join(", ");
|
|
13646
|
+
}
|
|
13647
|
+
function buildPreferHeader(preferences) {
|
|
13648
|
+
if (!Array.isArray(preferences) || preferences.length === 0) {
|
|
13649
|
+
return { error: "At least one preference is required" };
|
|
13650
|
+
}
|
|
13651
|
+
const built = [];
|
|
13652
|
+
for (let i = 0; i < preferences.length; i++) {
|
|
13653
|
+
const { token, value, params } = preferences[i];
|
|
13654
|
+
if (typeof token !== "string" || !isPreferToken(token.trim())) {
|
|
13655
|
+
return { error: `preference ${i + 1}: token is required and must be a valid HTTP token` };
|
|
13656
|
+
}
|
|
13657
|
+
const cleanParams = [];
|
|
13658
|
+
if (params !== void 0) {
|
|
13659
|
+
if (!Array.isArray(params)) return { error: `preference ${i + 1}: params must be an array` };
|
|
13660
|
+
for (const param of params) {
|
|
13661
|
+
if (typeof param?.name !== "string" || !isPreferToken(param.name.trim())) {
|
|
13662
|
+
return { error: `preference ${i + 1}: parameter name is required and must be a valid HTTP token` };
|
|
13663
|
+
}
|
|
13664
|
+
cleanParams.push({ name: param.name.trim(), value: param.value !== void 0 ? String(param.value) : void 0 });
|
|
13665
|
+
}
|
|
13666
|
+
}
|
|
13667
|
+
built.push({
|
|
13668
|
+
token: token.trim(),
|
|
13669
|
+
value: value !== void 0 ? String(value) : void 0,
|
|
13670
|
+
params: cleanParams.length > 0 ? cleanParams : void 0
|
|
13671
|
+
});
|
|
13672
|
+
}
|
|
13673
|
+
const headerValue = formatPreferPreferences(built);
|
|
13674
|
+
return { header: `Prefer: ${headerValue}`, headerValue, preferences: built };
|
|
13675
|
+
}
|
|
13676
|
+
function parsePreferHeader(raw) {
|
|
13677
|
+
if (!raw || raw.trim() === "") return { error: "Input is empty" };
|
|
13678
|
+
const withoutLabel = raw.trim().replace(/^prefer:\s*/i, "");
|
|
13679
|
+
const parts = splitPreferTopLevel(withoutLabel, ",").map((p) => p.trim()).filter((p) => p.length > 0);
|
|
13680
|
+
if (parts.length === 0) return { error: "Input is empty" };
|
|
13681
|
+
const preferences = [];
|
|
13682
|
+
for (const part of parts) {
|
|
13683
|
+
const segments = splitPreferTopLevel(part, ";").map((s) => s.trim()).filter((s) => s.length > 0);
|
|
13684
|
+
if (segments.length === 0) return { error: `Invalid preference: "${part}"` };
|
|
13685
|
+
const main = parsePreferTokenValue(segments[0]);
|
|
13686
|
+
if (!main || !isPreferToken(main.token)) return { error: `Invalid preference token in "${part}"` };
|
|
13687
|
+
const params = [];
|
|
13688
|
+
for (const seg of segments.slice(1)) {
|
|
13689
|
+
const p = parsePreferTokenValue(seg);
|
|
13690
|
+
if (!p || !isPreferToken(p.token)) return { error: `Invalid parameter in "${part}"` };
|
|
13691
|
+
params.push({ name: p.token, value: p.value });
|
|
13692
|
+
}
|
|
13693
|
+
preferences.push({ token: main.token, value: main.value, params: params.length > 0 ? params : void 0 });
|
|
13694
|
+
}
|
|
13695
|
+
const headerValue = formatPreferPreferences(preferences);
|
|
13696
|
+
return { header: `Prefer: ${headerValue}`, headerValue, preferences };
|
|
13697
|
+
}
|
|
13566
13698
|
|
|
13567
13699
|
// src/tools/api.ts
|
|
13568
13700
|
var api_exports = {};
|
package/dist/index.d.cts
CHANGED
|
@@ -2,11 +2,11 @@ export { j as json } from './json-CaiYsGDQ.cjs';
|
|
|
2
2
|
export { e as encoding } from './encoding-Dk3wpmb3.cjs';
|
|
3
3
|
export { h as hashing } from './hashing-CJjlvqS_.cjs';
|
|
4
4
|
export { t as text } from './text-DWUcY8H1.cjs';
|
|
5
|
-
export { d as data } from './data-
|
|
5
|
+
export { d as data } from './data-vxXrBlWh.cjs';
|
|
6
6
|
export { g as generators } from './generators-DAXXrMvG.cjs';
|
|
7
7
|
export { t as time } from './time-KqJjdqII.cjs';
|
|
8
8
|
export { u as units } from './units-BM9GkUZW.cjs';
|
|
9
|
-
export { n as network } from './network-
|
|
9
|
+
export { n as network } from './network-fDfM1_L6.cjs';
|
|
10
10
|
export { a as api } from './api-DmTNE4c1.cjs';
|
|
11
11
|
export { c as code } from './code-rxidGgvB.cjs';
|
|
12
12
|
export { c as color } from './color-tPwZCr9H.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -2,11 +2,11 @@ export { j as json } from './json-CaiYsGDQ.js';
|
|
|
2
2
|
export { e as encoding } from './encoding-Dk3wpmb3.js';
|
|
3
3
|
export { h as hashing } from './hashing-CJjlvqS_.js';
|
|
4
4
|
export { t as text } from './text-DWUcY8H1.js';
|
|
5
|
-
export { d as data } from './data-
|
|
5
|
+
export { d as data } from './data-vxXrBlWh.js';
|
|
6
6
|
export { g as generators } from './generators-DAXXrMvG.js';
|
|
7
7
|
export { t as time } from './time-KqJjdqII.js';
|
|
8
8
|
export { u as units } from './units-BM9GkUZW.js';
|
|
9
|
-
export { n as network } from './network-
|
|
9
|
+
export { n as network } from './network-fDfM1_L6.js';
|
|
10
10
|
export { a as api } from './api-DmTNE4c1.js';
|
|
11
11
|
export { c as code } from './code-rxidGgvB.js';
|
|
12
12
|
export { c as color } from './color-tPwZCr9H.js';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { media_exports as media } from './chunk-226EH3ZI.js';
|
|
2
2
|
export { units_exports as units } from './chunk-MRIGQRTU.js';
|
|
3
|
-
export { network_exports as network } from './chunk-
|
|
3
|
+
export { network_exports as network } from './chunk-3QU46YFP.js';
|
|
4
4
|
export { api_exports as api } from './chunk-52ZDKSIX.js';
|
|
5
5
|
export { code_exports as code } from './chunk-JW4NG2GN.js';
|
|
6
6
|
export { color_exports as color } from './chunk-BPVAB4P2.js';
|
|
@@ -11,7 +11,7 @@ export { json_exports as json } from './chunk-34C6GXCC.js';
|
|
|
11
11
|
export { encoding_exports as encoding } from './chunk-DOWQZUTP.js';
|
|
12
12
|
export { hashing_exports as hashing } from './chunk-PET2CGTH.js';
|
|
13
13
|
export { text_exports as text } from './chunk-P7TXG7CI.js';
|
|
14
|
-
export { data_exports as data } from './chunk-
|
|
14
|
+
export { data_exports as data } from './chunk-QY2M2UHJ.js';
|
|
15
15
|
export { generators_exports as generators } from './chunk-422ICOZX.js';
|
|
16
16
|
export { time_exports as time } from './chunk-IEPWZERQ.js';
|
|
17
17
|
import './chunk-MLKGABMK.js';
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
* - permissions-policy-builder: buildPermissionsPolicy, parsePermissionsPolicy
|
|
24
24
|
* - x-content-type-options-builder: buildXContentTypeOptionsHeader, parseXContentTypeOptionsHeader, assessContentTypeRisk
|
|
25
25
|
* - accept-language-parser: parseAcceptLanguage, buildAcceptLanguage
|
|
26
|
+
* - prefer-header: buildPreferHeader, parsePreferHeader
|
|
26
27
|
*/
|
|
27
28
|
declare const DNS_RECORD_TYPES: readonly ["A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA", "PTR", "SRV", "CAA"];
|
|
28
29
|
type DnsRecordType = typeof DNS_RECORD_TYPES[number];
|
|
@@ -774,6 +775,43 @@ declare function buildAcceptLanguage(locales: {
|
|
|
774
775
|
declare function parseAcceptLanguage(raw: string): AcceptLanguageResult | {
|
|
775
776
|
error: string;
|
|
776
777
|
};
|
|
778
|
+
interface PreferParameter {
|
|
779
|
+
name: string;
|
|
780
|
+
value?: string;
|
|
781
|
+
}
|
|
782
|
+
interface PreferPreference {
|
|
783
|
+
token: string;
|
|
784
|
+
value?: string;
|
|
785
|
+
params?: PreferParameter[];
|
|
786
|
+
}
|
|
787
|
+
interface PreferResult {
|
|
788
|
+
header: string;
|
|
789
|
+
headerValue: string;
|
|
790
|
+
preferences: PreferPreference[];
|
|
791
|
+
}
|
|
792
|
+
/**
|
|
793
|
+
* Build a `Prefer` request-header value from a list of preferences, each
|
|
794
|
+
* with an optional value and optional parameters, per RFC 7240. A value or
|
|
795
|
+
* parameter value that isn't a valid HTTP token is quoted automatically.
|
|
796
|
+
*/
|
|
797
|
+
declare function buildPreferHeader(preferences: {
|
|
798
|
+
token: string;
|
|
799
|
+
value?: string;
|
|
800
|
+
params?: {
|
|
801
|
+
name: string;
|
|
802
|
+
value?: string;
|
|
803
|
+
}[];
|
|
804
|
+
}[]): PreferResult | {
|
|
805
|
+
error: string;
|
|
806
|
+
};
|
|
807
|
+
/**
|
|
808
|
+
* Parse an existing `Prefer` header value (with or without a leading
|
|
809
|
+
* `Prefer:` label) into its list of preferences, each with an optional
|
|
810
|
+
* value and optional parameters, per RFC 7240.
|
|
811
|
+
*/
|
|
812
|
+
declare function parsePreferHeader(raw: string): PreferResult | {
|
|
813
|
+
error: string;
|
|
814
|
+
};
|
|
777
815
|
|
|
778
816
|
type network_AcceptLanguageEntry = AcceptLanguageEntry;
|
|
779
817
|
type network_AcceptLanguageResult = AcceptLanguageResult;
|
|
@@ -825,6 +863,9 @@ type network_ParsedGeoResult = ParsedGeoResult;
|
|
|
825
863
|
type network_PermissionsPolicyDirective = PermissionsPolicyDirective;
|
|
826
864
|
type network_PermissionsPolicyFeatureInput = PermissionsPolicyFeatureInput;
|
|
827
865
|
type network_PermissionsPolicyResult = PermissionsPolicyResult;
|
|
866
|
+
type network_PreferParameter = PreferParameter;
|
|
867
|
+
type network_PreferPreference = PreferPreference;
|
|
868
|
+
type network_PreferResult = PreferResult;
|
|
828
869
|
declare const network_REFERRER_POLICY_VALUES: typeof REFERRER_POLICY_VALUES;
|
|
829
870
|
type network_RangeEntry = RangeEntry;
|
|
830
871
|
type network_RangeEntryInput = RangeEntryInput;
|
|
@@ -865,6 +906,7 @@ declare const network_buildGeoUrl: typeof buildGeoUrl;
|
|
|
865
906
|
declare const network_buildLinkHeader: typeof buildLinkHeader;
|
|
866
907
|
declare const network_buildMapUrl: typeof buildMapUrl;
|
|
867
908
|
declare const network_buildPermissionsPolicy: typeof buildPermissionsPolicy;
|
|
909
|
+
declare const network_buildPreferHeader: typeof buildPreferHeader;
|
|
868
910
|
declare const network_buildRangeHeader: typeof buildRangeHeader;
|
|
869
911
|
declare const network_buildReferrerPolicy: typeof buildReferrerPolicy;
|
|
870
912
|
declare const network_buildVaryHeader: typeof buildVaryHeader;
|
|
@@ -893,6 +935,7 @@ declare const network_parseGeoResponse: typeof parseGeoResponse;
|
|
|
893
935
|
declare const network_parseHar: typeof parseHar;
|
|
894
936
|
declare const network_parseIpv6Address: typeof parseIpv6Address;
|
|
895
937
|
declare const network_parsePermissionsPolicy: typeof parsePermissionsPolicy;
|
|
938
|
+
declare const network_parsePreferHeader: typeof parsePreferHeader;
|
|
896
939
|
declare const network_parseUserAgent: typeof parseUserAgent;
|
|
897
940
|
declare const network_parseVaryHeader: typeof parseVaryHeader;
|
|
898
941
|
declare const network_parseXContentTypeOptionsHeader: typeof parseXContentTypeOptionsHeader;
|
|
@@ -908,7 +951,7 @@ declare const network_validateManifest: typeof validateManifest;
|
|
|
908
951
|
declare const network_validateRobotsTxt: typeof validateRobotsTxt;
|
|
909
952
|
declare const network_validateSitemap: typeof validateSitemap;
|
|
910
953
|
declare namespace network {
|
|
911
|
-
export { type network_AcceptLanguageEntry as AcceptLanguageEntry, type network_AcceptLanguageResult as AcceptLanguageResult, type network_AuthResultEntry as AuthResultEntry, type network_BuildRangeHeaderOptions as BuildRangeHeaderOptions, network_CLIENT_HINTS as CLIENT_HINTS, type network_CacheControlDirective as CacheControlDirective, type network_CacheControlOptions as CacheControlOptions, type network_CacheControlResult as CacheControlResult, type network_ClientHintDef as ClientHintDef, type network_ClientHintValueType as ClientHintValueType, type network_ClientHintsBuildResult as ClientHintsBuildResult, type network_ClientHintsParseResult as ClientHintsParseResult, type network_ContentDispositionBuildOptions as ContentDispositionBuildOptions, type network_ContentDispositionBuildResult as ContentDispositionBuildResult, type network_ContentDispositionParseResult as ContentDispositionParseResult, type network_ContentRangeResult as ContentRangeResult, type network_ContentTypeRiskResult as ContentTypeRiskResult, type network_ContentTypeSniffRisk as ContentTypeSniffRisk, type network_CookieAttributes as CookieAttributes, type network_CookieCheckResult as CookieCheckResult, network_DNS_RECORD_TYPES as DNS_RECORD_TYPES, type network_DnsRecord as DnsRecord, type network_DnsRecordType as DnsRecordType, type network_DnsResponse as DnsResponse, type network_EmailHeaderAnalysis as EmailHeaderAnalysis, type network_EmailHeaderField as EmailHeaderField, type network_GeoResult as GeoResult, network_HTTP_HEADERS as HTTP_HEADERS, type network_HarEntry as HarEntry, type network_HarParseResult as HarParseResult, type network_HarSummary as HarSummary, type network_HeaderCategory as HeaderCategory, type network_HttpHeader as HttpHeader, type network_Ipv6AddressType as Ipv6AddressType, type network_Ipv6ParseResult as Ipv6ParseResult, network_LINK_REL_VALUES as LINK_REL_VALUES, type network_LinkHeaderEntry as LinkHeaderEntry, type network_LinkHeaderEntryInput as LinkHeaderEntryInput, type network_LinkHeaderResult as LinkHeaderResult, type network_LinkRel as LinkRel, type network_ManifestIconInfo as ManifestIconInfo, type network_ManifestIssue as ManifestIssue, type network_ManifestValidationResult as ManifestValidationResult, network_PERMISSIONS_POLICY_FEATURES as PERMISSIONS_POLICY_FEATURES, type network_ParsedClientHint as ParsedClientHint, type network_ParsedDnsResult as ParsedDnsResult, type network_ParsedGeoResult as ParsedGeoResult, type network_PermissionsPolicyDirective as PermissionsPolicyDirective, type network_PermissionsPolicyFeatureInput as PermissionsPolicyFeatureInput, type network_PermissionsPolicyResult as PermissionsPolicyResult, network_REFERRER_POLICY_VALUES as REFERRER_POLICY_VALUES, type network_RangeEntry as RangeEntry, type network_RangeEntryInput as RangeEntryInput, type network_RangeHeaderResult as RangeHeaderResult, type network_ReceivedHop as ReceivedHop, type network_ReferrerPolicyEntry as ReferrerPolicyEntry, type network_ReferrerPolicyResult as ReferrerPolicyResult, type network_ReferrerPolicyValue as ReferrerPolicyValue, type network_RobotsGroup as RobotsGroup, type network_RobotsIssue as RobotsIssue, type network_RobotsRule as RobotsRule, type network_RobotsValidationResult as RobotsValidationResult, network_STATUS_CODES as STATUS_CODES, type network_SameSiteValue as SameSiteValue, type network_SitemapIndexEntry as SitemapIndexEntry, type network_SitemapIssue as SitemapIssue, type network_SitemapSplitFile as SitemapSplitFile, type network_SitemapUrlEntry as SitemapUrlEntry, type network_SitemapValidationResult as SitemapValidationResult, type network_SplitSitemapOptions as SplitSitemapOptions, type network_SplitSitemapResult as SplitSitemapResult, type network_StatusCode as StatusCode, type network_UaDeviceType as UaDeviceType, type network_UserAgentInfo as UserAgentInfo, type network_VaryHeaderEntry as VaryHeaderEntry, type network_VaryHeaderResult as VaryHeaderResult, type network_XContentTypeOptionsHeader as XContentTypeOptionsHeader, type network_XContentTypeOptionsParseResult as XContentTypeOptionsParseResult, network_X_CONTENT_TYPE_OPTIONS_HEADER as X_CONTENT_TYPE_OPTIONS_HEADER, network_analyzeEmailHeaders as analyzeEmailHeaders, network_assessContentTypeRisk as assessContentTypeRisk, network_buildAcceptLanguage as buildAcceptLanguage, network_buildCacheControl as buildCacheControl, network_buildClientHints as buildClientHints, network_buildContentDisposition as buildContentDisposition, network_buildDnsQueryUrl as buildDnsQueryUrl, network_buildGeoUrl as buildGeoUrl, network_buildLinkHeader as buildLinkHeader, network_buildMapUrl as buildMapUrl, network_buildPermissionsPolicy as buildPermissionsPolicy, network_buildRangeHeader as buildRangeHeader, network_buildReferrerPolicy as buildReferrerPolicy, network_buildVaryHeader as buildVaryHeader, network_buildXContentTypeOptionsHeader as buildXContentTypeOptionsHeader, network_checkSetCookieHeader as checkSetCookieHeader, network_countryCodeToFlag as countryCodeToFlag, network_formatCoordinates as formatCoordinates, network_formatTtl as formatTtl, network_getByCategory as getByCategory, network_getHeader as getHeader, network_getHeadersByCategory as getHeadersByCategory, network_getStatusByCategory as getStatusByCategory, network_getStatusCode as getStatusCode, network_isClientError as isClientError, network_isServerError as isServerError, network_isSuccess as isSuccess, network_isValidIp as isValidIp, network_isValidIpv4 as isValidIpv4, network_isValidIpv6 as isValidIpv6, network_parseAcceptLanguage as parseAcceptLanguage, network_parseClientHintHeaders as parseClientHintHeaders, network_parseContentDisposition as parseContentDisposition, network_parseContentRangeHeader as parseContentRangeHeader, network_parseDnsResponse as parseDnsResponse, network_parseGeoResponse as parseGeoResponse, network_parseHar as parseHar, network_parseIpv6Address as parseIpv6Address, network_parsePermissionsPolicy as parsePermissionsPolicy, network_parseUserAgent as parseUserAgent, network_parseVaryHeader as parseVaryHeader, network_parseXContentTypeOptionsHeader as parseXContentTypeOptionsHeader, network_searchHeaders as searchHeaders, network_searchStatusCodes as searchStatusCodes, network_splitSitemap as splitSitemap, network_statusCodeToText as statusCodeToText, network_typeNumberToLabel as typeNumberToLabel, network_validateDomain as validateDomain, network_validateHeaderName as validateHeaderName, network_validateHeaderValue as validateHeaderValue, network_validateManifest as validateManifest, network_validateRobotsTxt as validateRobotsTxt, network_validateSitemap as validateSitemap };
|
|
954
|
+
export { type network_AcceptLanguageEntry as AcceptLanguageEntry, type network_AcceptLanguageResult as AcceptLanguageResult, type network_AuthResultEntry as AuthResultEntry, type network_BuildRangeHeaderOptions as BuildRangeHeaderOptions, network_CLIENT_HINTS as CLIENT_HINTS, type network_CacheControlDirective as CacheControlDirective, type network_CacheControlOptions as CacheControlOptions, type network_CacheControlResult as CacheControlResult, type network_ClientHintDef as ClientHintDef, type network_ClientHintValueType as ClientHintValueType, type network_ClientHintsBuildResult as ClientHintsBuildResult, type network_ClientHintsParseResult as ClientHintsParseResult, type network_ContentDispositionBuildOptions as ContentDispositionBuildOptions, type network_ContentDispositionBuildResult as ContentDispositionBuildResult, type network_ContentDispositionParseResult as ContentDispositionParseResult, type network_ContentRangeResult as ContentRangeResult, type network_ContentTypeRiskResult as ContentTypeRiskResult, type network_ContentTypeSniffRisk as ContentTypeSniffRisk, type network_CookieAttributes as CookieAttributes, type network_CookieCheckResult as CookieCheckResult, network_DNS_RECORD_TYPES as DNS_RECORD_TYPES, type network_DnsRecord as DnsRecord, type network_DnsRecordType as DnsRecordType, type network_DnsResponse as DnsResponse, type network_EmailHeaderAnalysis as EmailHeaderAnalysis, type network_EmailHeaderField as EmailHeaderField, type network_GeoResult as GeoResult, network_HTTP_HEADERS as HTTP_HEADERS, type network_HarEntry as HarEntry, type network_HarParseResult as HarParseResult, type network_HarSummary as HarSummary, type network_HeaderCategory as HeaderCategory, type network_HttpHeader as HttpHeader, type network_Ipv6AddressType as Ipv6AddressType, type network_Ipv6ParseResult as Ipv6ParseResult, network_LINK_REL_VALUES as LINK_REL_VALUES, type network_LinkHeaderEntry as LinkHeaderEntry, type network_LinkHeaderEntryInput as LinkHeaderEntryInput, type network_LinkHeaderResult as LinkHeaderResult, type network_LinkRel as LinkRel, type network_ManifestIconInfo as ManifestIconInfo, type network_ManifestIssue as ManifestIssue, type network_ManifestValidationResult as ManifestValidationResult, network_PERMISSIONS_POLICY_FEATURES as PERMISSIONS_POLICY_FEATURES, type network_ParsedClientHint as ParsedClientHint, type network_ParsedDnsResult as ParsedDnsResult, type network_ParsedGeoResult as ParsedGeoResult, type network_PermissionsPolicyDirective as PermissionsPolicyDirective, type network_PermissionsPolicyFeatureInput as PermissionsPolicyFeatureInput, type network_PermissionsPolicyResult as PermissionsPolicyResult, type network_PreferParameter as PreferParameter, type network_PreferPreference as PreferPreference, type network_PreferResult as PreferResult, network_REFERRER_POLICY_VALUES as REFERRER_POLICY_VALUES, type network_RangeEntry as RangeEntry, type network_RangeEntryInput as RangeEntryInput, type network_RangeHeaderResult as RangeHeaderResult, type network_ReceivedHop as ReceivedHop, type network_ReferrerPolicyEntry as ReferrerPolicyEntry, type network_ReferrerPolicyResult as ReferrerPolicyResult, type network_ReferrerPolicyValue as ReferrerPolicyValue, type network_RobotsGroup as RobotsGroup, type network_RobotsIssue as RobotsIssue, type network_RobotsRule as RobotsRule, type network_RobotsValidationResult as RobotsValidationResult, network_STATUS_CODES as STATUS_CODES, type network_SameSiteValue as SameSiteValue, type network_SitemapIndexEntry as SitemapIndexEntry, type network_SitemapIssue as SitemapIssue, type network_SitemapSplitFile as SitemapSplitFile, type network_SitemapUrlEntry as SitemapUrlEntry, type network_SitemapValidationResult as SitemapValidationResult, type network_SplitSitemapOptions as SplitSitemapOptions, type network_SplitSitemapResult as SplitSitemapResult, type network_StatusCode as StatusCode, type network_UaDeviceType as UaDeviceType, type network_UserAgentInfo as UserAgentInfo, type network_VaryHeaderEntry as VaryHeaderEntry, type network_VaryHeaderResult as VaryHeaderResult, type network_XContentTypeOptionsHeader as XContentTypeOptionsHeader, type network_XContentTypeOptionsParseResult as XContentTypeOptionsParseResult, network_X_CONTENT_TYPE_OPTIONS_HEADER as X_CONTENT_TYPE_OPTIONS_HEADER, network_analyzeEmailHeaders as analyzeEmailHeaders, network_assessContentTypeRisk as assessContentTypeRisk, network_buildAcceptLanguage as buildAcceptLanguage, network_buildCacheControl as buildCacheControl, network_buildClientHints as buildClientHints, network_buildContentDisposition as buildContentDisposition, network_buildDnsQueryUrl as buildDnsQueryUrl, network_buildGeoUrl as buildGeoUrl, network_buildLinkHeader as buildLinkHeader, network_buildMapUrl as buildMapUrl, network_buildPermissionsPolicy as buildPermissionsPolicy, network_buildPreferHeader as buildPreferHeader, network_buildRangeHeader as buildRangeHeader, network_buildReferrerPolicy as buildReferrerPolicy, network_buildVaryHeader as buildVaryHeader, network_buildXContentTypeOptionsHeader as buildXContentTypeOptionsHeader, network_checkSetCookieHeader as checkSetCookieHeader, network_countryCodeToFlag as countryCodeToFlag, network_formatCoordinates as formatCoordinates, network_formatTtl as formatTtl, network_getByCategory as getByCategory, network_getHeader as getHeader, network_getHeadersByCategory as getHeadersByCategory, network_getStatusByCategory as getStatusByCategory, network_getStatusCode as getStatusCode, network_isClientError as isClientError, network_isServerError as isServerError, network_isSuccess as isSuccess, network_isValidIp as isValidIp, network_isValidIpv4 as isValidIpv4, network_isValidIpv6 as isValidIpv6, network_parseAcceptLanguage as parseAcceptLanguage, network_parseClientHintHeaders as parseClientHintHeaders, network_parseContentDisposition as parseContentDisposition, network_parseContentRangeHeader as parseContentRangeHeader, network_parseDnsResponse as parseDnsResponse, network_parseGeoResponse as parseGeoResponse, network_parseHar as parseHar, network_parseIpv6Address as parseIpv6Address, network_parsePermissionsPolicy as parsePermissionsPolicy, network_parsePreferHeader as parsePreferHeader, network_parseUserAgent as parseUserAgent, network_parseVaryHeader as parseVaryHeader, network_parseXContentTypeOptionsHeader as parseXContentTypeOptionsHeader, network_searchHeaders as searchHeaders, network_searchStatusCodes as searchStatusCodes, network_splitSitemap as splitSitemap, network_statusCodeToText as statusCodeToText, network_typeNumberToLabel as typeNumberToLabel, network_validateDomain as validateDomain, network_validateHeaderName as validateHeaderName, network_validateHeaderValue as validateHeaderValue, network_validateManifest as validateManifest, network_validateRobotsTxt as validateRobotsTxt, network_validateSitemap as validateSitemap };
|
|
912
955
|
}
|
|
913
956
|
|
|
914
|
-
export { type
|
|
957
|
+
export { type PreferResult as $, type AcceptLanguageEntry as A, type BuildRangeHeaderOptions as B, CLIENT_HINTS as C, DNS_RECORD_TYPES as D, type EmailHeaderAnalysis as E, type HttpHeader as F, type GeoResult as G, HTTP_HEADERS as H, type Ipv6AddressType as I, type Ipv6ParseResult as J, type LinkHeaderEntry as K, LINK_REL_VALUES as L, type LinkHeaderEntryInput as M, type LinkHeaderResult as N, type LinkRel as O, type ManifestIconInfo as P, type ManifestIssue as Q, type ManifestValidationResult as R, PERMISSIONS_POLICY_FEATURES as S, type ParsedClientHint as T, type ParsedDnsResult as U, type ParsedGeoResult as V, type PermissionsPolicyDirective as W, type PermissionsPolicyFeatureInput as X, type PermissionsPolicyResult as Y, type PreferParameter as Z, type PreferPreference as _, type AcceptLanguageResult as a, parseContentRangeHeader as a$, REFERRER_POLICY_VALUES as a0, type RangeEntry as a1, type RangeEntryInput as a2, type RangeHeaderResult as a3, type ReceivedHop as a4, type ReferrerPolicyEntry as a5, type ReferrerPolicyResult as a6, type ReferrerPolicyValue as a7, type RobotsGroup as a8, type RobotsIssue as a9, buildGeoUrl as aA, buildLinkHeader as aB, buildMapUrl as aC, buildPermissionsPolicy as aD, buildPreferHeader as aE, buildRangeHeader as aF, buildReferrerPolicy as aG, buildVaryHeader as aH, buildXContentTypeOptionsHeader as aI, checkSetCookieHeader as aJ, countryCodeToFlag as aK, formatCoordinates as aL, formatTtl as aM, getByCategory as aN, getHeader as aO, getHeadersByCategory as aP, getStatusByCategory as aQ, getStatusCode as aR, isClientError as aS, isServerError as aT, isSuccess as aU, isValidIp as aV, isValidIpv4 as aW, isValidIpv6 as aX, parseAcceptLanguage as aY, parseClientHintHeaders as aZ, parseContentDisposition as a_, type RobotsRule as aa, type RobotsValidationResult as ab, STATUS_CODES as ac, type SameSiteValue as ad, type SitemapIndexEntry as ae, type SitemapIssue as af, type SitemapSplitFile as ag, type SitemapUrlEntry as ah, type SitemapValidationResult as ai, type SplitSitemapOptions as aj, type SplitSitemapResult as ak, type StatusCode as al, type UaDeviceType as am, type UserAgentInfo as an, type VaryHeaderEntry as ao, type VaryHeaderResult as ap, type XContentTypeOptionsHeader as aq, type XContentTypeOptionsParseResult as ar, X_CONTENT_TYPE_OPTIONS_HEADER as as, analyzeEmailHeaders as at, assessContentTypeRisk as au, buildAcceptLanguage as av, buildCacheControl as aw, buildClientHints as ax, buildContentDisposition as ay, buildDnsQueryUrl as az, type AuthResultEntry as b, parseDnsResponse as b0, parseGeoResponse as b1, parseHar as b2, parseIpv6Address as b3, parsePermissionsPolicy as b4, parsePreferHeader as b5, parseUserAgent as b6, parseVaryHeader as b7, parseXContentTypeOptionsHeader as b8, searchHeaders as b9, searchStatusCodes as ba, splitSitemap as bb, statusCodeToText as bc, typeNumberToLabel as bd, validateDomain as be, validateHeaderName as bf, validateHeaderValue as bg, validateManifest as bh, validateRobotsTxt as bi, validateSitemap as bj, type CacheControlDirective as c, type CacheControlOptions as d, type CacheControlResult as e, type ClientHintDef as f, type ClientHintValueType as g, type ClientHintsBuildResult as h, type ClientHintsParseResult as i, type ContentDispositionBuildOptions as j, type ContentDispositionBuildResult as k, type ContentDispositionParseResult as l, type ContentRangeResult as m, network as n, type ContentTypeRiskResult as o, type ContentTypeSniffRisk as p, type CookieAttributes as q, type CookieCheckResult as r, type DnsRecord as s, type DnsRecordType as t, type DnsResponse as u, type EmailHeaderField as v, type HarEntry as w, type HarParseResult as x, type HarSummary as y, type HeaderCategory as z };
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
* - permissions-policy-builder: buildPermissionsPolicy, parsePermissionsPolicy
|
|
24
24
|
* - x-content-type-options-builder: buildXContentTypeOptionsHeader, parseXContentTypeOptionsHeader, assessContentTypeRisk
|
|
25
25
|
* - accept-language-parser: parseAcceptLanguage, buildAcceptLanguage
|
|
26
|
+
* - prefer-header: buildPreferHeader, parsePreferHeader
|
|
26
27
|
*/
|
|
27
28
|
declare const DNS_RECORD_TYPES: readonly ["A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA", "PTR", "SRV", "CAA"];
|
|
28
29
|
type DnsRecordType = typeof DNS_RECORD_TYPES[number];
|
|
@@ -774,6 +775,43 @@ declare function buildAcceptLanguage(locales: {
|
|
|
774
775
|
declare function parseAcceptLanguage(raw: string): AcceptLanguageResult | {
|
|
775
776
|
error: string;
|
|
776
777
|
};
|
|
778
|
+
interface PreferParameter {
|
|
779
|
+
name: string;
|
|
780
|
+
value?: string;
|
|
781
|
+
}
|
|
782
|
+
interface PreferPreference {
|
|
783
|
+
token: string;
|
|
784
|
+
value?: string;
|
|
785
|
+
params?: PreferParameter[];
|
|
786
|
+
}
|
|
787
|
+
interface PreferResult {
|
|
788
|
+
header: string;
|
|
789
|
+
headerValue: string;
|
|
790
|
+
preferences: PreferPreference[];
|
|
791
|
+
}
|
|
792
|
+
/**
|
|
793
|
+
* Build a `Prefer` request-header value from a list of preferences, each
|
|
794
|
+
* with an optional value and optional parameters, per RFC 7240. A value or
|
|
795
|
+
* parameter value that isn't a valid HTTP token is quoted automatically.
|
|
796
|
+
*/
|
|
797
|
+
declare function buildPreferHeader(preferences: {
|
|
798
|
+
token: string;
|
|
799
|
+
value?: string;
|
|
800
|
+
params?: {
|
|
801
|
+
name: string;
|
|
802
|
+
value?: string;
|
|
803
|
+
}[];
|
|
804
|
+
}[]): PreferResult | {
|
|
805
|
+
error: string;
|
|
806
|
+
};
|
|
807
|
+
/**
|
|
808
|
+
* Parse an existing `Prefer` header value (with or without a leading
|
|
809
|
+
* `Prefer:` label) into its list of preferences, each with an optional
|
|
810
|
+
* value and optional parameters, per RFC 7240.
|
|
811
|
+
*/
|
|
812
|
+
declare function parsePreferHeader(raw: string): PreferResult | {
|
|
813
|
+
error: string;
|
|
814
|
+
};
|
|
777
815
|
|
|
778
816
|
type network_AcceptLanguageEntry = AcceptLanguageEntry;
|
|
779
817
|
type network_AcceptLanguageResult = AcceptLanguageResult;
|
|
@@ -825,6 +863,9 @@ type network_ParsedGeoResult = ParsedGeoResult;
|
|
|
825
863
|
type network_PermissionsPolicyDirective = PermissionsPolicyDirective;
|
|
826
864
|
type network_PermissionsPolicyFeatureInput = PermissionsPolicyFeatureInput;
|
|
827
865
|
type network_PermissionsPolicyResult = PermissionsPolicyResult;
|
|
866
|
+
type network_PreferParameter = PreferParameter;
|
|
867
|
+
type network_PreferPreference = PreferPreference;
|
|
868
|
+
type network_PreferResult = PreferResult;
|
|
828
869
|
declare const network_REFERRER_POLICY_VALUES: typeof REFERRER_POLICY_VALUES;
|
|
829
870
|
type network_RangeEntry = RangeEntry;
|
|
830
871
|
type network_RangeEntryInput = RangeEntryInput;
|
|
@@ -865,6 +906,7 @@ declare const network_buildGeoUrl: typeof buildGeoUrl;
|
|
|
865
906
|
declare const network_buildLinkHeader: typeof buildLinkHeader;
|
|
866
907
|
declare const network_buildMapUrl: typeof buildMapUrl;
|
|
867
908
|
declare const network_buildPermissionsPolicy: typeof buildPermissionsPolicy;
|
|
909
|
+
declare const network_buildPreferHeader: typeof buildPreferHeader;
|
|
868
910
|
declare const network_buildRangeHeader: typeof buildRangeHeader;
|
|
869
911
|
declare const network_buildReferrerPolicy: typeof buildReferrerPolicy;
|
|
870
912
|
declare const network_buildVaryHeader: typeof buildVaryHeader;
|
|
@@ -893,6 +935,7 @@ declare const network_parseGeoResponse: typeof parseGeoResponse;
|
|
|
893
935
|
declare const network_parseHar: typeof parseHar;
|
|
894
936
|
declare const network_parseIpv6Address: typeof parseIpv6Address;
|
|
895
937
|
declare const network_parsePermissionsPolicy: typeof parsePermissionsPolicy;
|
|
938
|
+
declare const network_parsePreferHeader: typeof parsePreferHeader;
|
|
896
939
|
declare const network_parseUserAgent: typeof parseUserAgent;
|
|
897
940
|
declare const network_parseVaryHeader: typeof parseVaryHeader;
|
|
898
941
|
declare const network_parseXContentTypeOptionsHeader: typeof parseXContentTypeOptionsHeader;
|
|
@@ -908,7 +951,7 @@ declare const network_validateManifest: typeof validateManifest;
|
|
|
908
951
|
declare const network_validateRobotsTxt: typeof validateRobotsTxt;
|
|
909
952
|
declare const network_validateSitemap: typeof validateSitemap;
|
|
910
953
|
declare namespace network {
|
|
911
|
-
export { type network_AcceptLanguageEntry as AcceptLanguageEntry, type network_AcceptLanguageResult as AcceptLanguageResult, type network_AuthResultEntry as AuthResultEntry, type network_BuildRangeHeaderOptions as BuildRangeHeaderOptions, network_CLIENT_HINTS as CLIENT_HINTS, type network_CacheControlDirective as CacheControlDirective, type network_CacheControlOptions as CacheControlOptions, type network_CacheControlResult as CacheControlResult, type network_ClientHintDef as ClientHintDef, type network_ClientHintValueType as ClientHintValueType, type network_ClientHintsBuildResult as ClientHintsBuildResult, type network_ClientHintsParseResult as ClientHintsParseResult, type network_ContentDispositionBuildOptions as ContentDispositionBuildOptions, type network_ContentDispositionBuildResult as ContentDispositionBuildResult, type network_ContentDispositionParseResult as ContentDispositionParseResult, type network_ContentRangeResult as ContentRangeResult, type network_ContentTypeRiskResult as ContentTypeRiskResult, type network_ContentTypeSniffRisk as ContentTypeSniffRisk, type network_CookieAttributes as CookieAttributes, type network_CookieCheckResult as CookieCheckResult, network_DNS_RECORD_TYPES as DNS_RECORD_TYPES, type network_DnsRecord as DnsRecord, type network_DnsRecordType as DnsRecordType, type network_DnsResponse as DnsResponse, type network_EmailHeaderAnalysis as EmailHeaderAnalysis, type network_EmailHeaderField as EmailHeaderField, type network_GeoResult as GeoResult, network_HTTP_HEADERS as HTTP_HEADERS, type network_HarEntry as HarEntry, type network_HarParseResult as HarParseResult, type network_HarSummary as HarSummary, type network_HeaderCategory as HeaderCategory, type network_HttpHeader as HttpHeader, type network_Ipv6AddressType as Ipv6AddressType, type network_Ipv6ParseResult as Ipv6ParseResult, network_LINK_REL_VALUES as LINK_REL_VALUES, type network_LinkHeaderEntry as LinkHeaderEntry, type network_LinkHeaderEntryInput as LinkHeaderEntryInput, type network_LinkHeaderResult as LinkHeaderResult, type network_LinkRel as LinkRel, type network_ManifestIconInfo as ManifestIconInfo, type network_ManifestIssue as ManifestIssue, type network_ManifestValidationResult as ManifestValidationResult, network_PERMISSIONS_POLICY_FEATURES as PERMISSIONS_POLICY_FEATURES, type network_ParsedClientHint as ParsedClientHint, type network_ParsedDnsResult as ParsedDnsResult, type network_ParsedGeoResult as ParsedGeoResult, type network_PermissionsPolicyDirective as PermissionsPolicyDirective, type network_PermissionsPolicyFeatureInput as PermissionsPolicyFeatureInput, type network_PermissionsPolicyResult as PermissionsPolicyResult, network_REFERRER_POLICY_VALUES as REFERRER_POLICY_VALUES, type network_RangeEntry as RangeEntry, type network_RangeEntryInput as RangeEntryInput, type network_RangeHeaderResult as RangeHeaderResult, type network_ReceivedHop as ReceivedHop, type network_ReferrerPolicyEntry as ReferrerPolicyEntry, type network_ReferrerPolicyResult as ReferrerPolicyResult, type network_ReferrerPolicyValue as ReferrerPolicyValue, type network_RobotsGroup as RobotsGroup, type network_RobotsIssue as RobotsIssue, type network_RobotsRule as RobotsRule, type network_RobotsValidationResult as RobotsValidationResult, network_STATUS_CODES as STATUS_CODES, type network_SameSiteValue as SameSiteValue, type network_SitemapIndexEntry as SitemapIndexEntry, type network_SitemapIssue as SitemapIssue, type network_SitemapSplitFile as SitemapSplitFile, type network_SitemapUrlEntry as SitemapUrlEntry, type network_SitemapValidationResult as SitemapValidationResult, type network_SplitSitemapOptions as SplitSitemapOptions, type network_SplitSitemapResult as SplitSitemapResult, type network_StatusCode as StatusCode, type network_UaDeviceType as UaDeviceType, type network_UserAgentInfo as UserAgentInfo, type network_VaryHeaderEntry as VaryHeaderEntry, type network_VaryHeaderResult as VaryHeaderResult, type network_XContentTypeOptionsHeader as XContentTypeOptionsHeader, type network_XContentTypeOptionsParseResult as XContentTypeOptionsParseResult, network_X_CONTENT_TYPE_OPTIONS_HEADER as X_CONTENT_TYPE_OPTIONS_HEADER, network_analyzeEmailHeaders as analyzeEmailHeaders, network_assessContentTypeRisk as assessContentTypeRisk, network_buildAcceptLanguage as buildAcceptLanguage, network_buildCacheControl as buildCacheControl, network_buildClientHints as buildClientHints, network_buildContentDisposition as buildContentDisposition, network_buildDnsQueryUrl as buildDnsQueryUrl, network_buildGeoUrl as buildGeoUrl, network_buildLinkHeader as buildLinkHeader, network_buildMapUrl as buildMapUrl, network_buildPermissionsPolicy as buildPermissionsPolicy, network_buildRangeHeader as buildRangeHeader, network_buildReferrerPolicy as buildReferrerPolicy, network_buildVaryHeader as buildVaryHeader, network_buildXContentTypeOptionsHeader as buildXContentTypeOptionsHeader, network_checkSetCookieHeader as checkSetCookieHeader, network_countryCodeToFlag as countryCodeToFlag, network_formatCoordinates as formatCoordinates, network_formatTtl as formatTtl, network_getByCategory as getByCategory, network_getHeader as getHeader, network_getHeadersByCategory as getHeadersByCategory, network_getStatusByCategory as getStatusByCategory, network_getStatusCode as getStatusCode, network_isClientError as isClientError, network_isServerError as isServerError, network_isSuccess as isSuccess, network_isValidIp as isValidIp, network_isValidIpv4 as isValidIpv4, network_isValidIpv6 as isValidIpv6, network_parseAcceptLanguage as parseAcceptLanguage, network_parseClientHintHeaders as parseClientHintHeaders, network_parseContentDisposition as parseContentDisposition, network_parseContentRangeHeader as parseContentRangeHeader, network_parseDnsResponse as parseDnsResponse, network_parseGeoResponse as parseGeoResponse, network_parseHar as parseHar, network_parseIpv6Address as parseIpv6Address, network_parsePermissionsPolicy as parsePermissionsPolicy, network_parseUserAgent as parseUserAgent, network_parseVaryHeader as parseVaryHeader, network_parseXContentTypeOptionsHeader as parseXContentTypeOptionsHeader, network_searchHeaders as searchHeaders, network_searchStatusCodes as searchStatusCodes, network_splitSitemap as splitSitemap, network_statusCodeToText as statusCodeToText, network_typeNumberToLabel as typeNumberToLabel, network_validateDomain as validateDomain, network_validateHeaderName as validateHeaderName, network_validateHeaderValue as validateHeaderValue, network_validateManifest as validateManifest, network_validateRobotsTxt as validateRobotsTxt, network_validateSitemap as validateSitemap };
|
|
954
|
+
export { type network_AcceptLanguageEntry as AcceptLanguageEntry, type network_AcceptLanguageResult as AcceptLanguageResult, type network_AuthResultEntry as AuthResultEntry, type network_BuildRangeHeaderOptions as BuildRangeHeaderOptions, network_CLIENT_HINTS as CLIENT_HINTS, type network_CacheControlDirective as CacheControlDirective, type network_CacheControlOptions as CacheControlOptions, type network_CacheControlResult as CacheControlResult, type network_ClientHintDef as ClientHintDef, type network_ClientHintValueType as ClientHintValueType, type network_ClientHintsBuildResult as ClientHintsBuildResult, type network_ClientHintsParseResult as ClientHintsParseResult, type network_ContentDispositionBuildOptions as ContentDispositionBuildOptions, type network_ContentDispositionBuildResult as ContentDispositionBuildResult, type network_ContentDispositionParseResult as ContentDispositionParseResult, type network_ContentRangeResult as ContentRangeResult, type network_ContentTypeRiskResult as ContentTypeRiskResult, type network_ContentTypeSniffRisk as ContentTypeSniffRisk, type network_CookieAttributes as CookieAttributes, type network_CookieCheckResult as CookieCheckResult, network_DNS_RECORD_TYPES as DNS_RECORD_TYPES, type network_DnsRecord as DnsRecord, type network_DnsRecordType as DnsRecordType, type network_DnsResponse as DnsResponse, type network_EmailHeaderAnalysis as EmailHeaderAnalysis, type network_EmailHeaderField as EmailHeaderField, type network_GeoResult as GeoResult, network_HTTP_HEADERS as HTTP_HEADERS, type network_HarEntry as HarEntry, type network_HarParseResult as HarParseResult, type network_HarSummary as HarSummary, type network_HeaderCategory as HeaderCategory, type network_HttpHeader as HttpHeader, type network_Ipv6AddressType as Ipv6AddressType, type network_Ipv6ParseResult as Ipv6ParseResult, network_LINK_REL_VALUES as LINK_REL_VALUES, type network_LinkHeaderEntry as LinkHeaderEntry, type network_LinkHeaderEntryInput as LinkHeaderEntryInput, type network_LinkHeaderResult as LinkHeaderResult, type network_LinkRel as LinkRel, type network_ManifestIconInfo as ManifestIconInfo, type network_ManifestIssue as ManifestIssue, type network_ManifestValidationResult as ManifestValidationResult, network_PERMISSIONS_POLICY_FEATURES as PERMISSIONS_POLICY_FEATURES, type network_ParsedClientHint as ParsedClientHint, type network_ParsedDnsResult as ParsedDnsResult, type network_ParsedGeoResult as ParsedGeoResult, type network_PermissionsPolicyDirective as PermissionsPolicyDirective, type network_PermissionsPolicyFeatureInput as PermissionsPolicyFeatureInput, type network_PermissionsPolicyResult as PermissionsPolicyResult, type network_PreferParameter as PreferParameter, type network_PreferPreference as PreferPreference, type network_PreferResult as PreferResult, network_REFERRER_POLICY_VALUES as REFERRER_POLICY_VALUES, type network_RangeEntry as RangeEntry, type network_RangeEntryInput as RangeEntryInput, type network_RangeHeaderResult as RangeHeaderResult, type network_ReceivedHop as ReceivedHop, type network_ReferrerPolicyEntry as ReferrerPolicyEntry, type network_ReferrerPolicyResult as ReferrerPolicyResult, type network_ReferrerPolicyValue as ReferrerPolicyValue, type network_RobotsGroup as RobotsGroup, type network_RobotsIssue as RobotsIssue, type network_RobotsRule as RobotsRule, type network_RobotsValidationResult as RobotsValidationResult, network_STATUS_CODES as STATUS_CODES, type network_SameSiteValue as SameSiteValue, type network_SitemapIndexEntry as SitemapIndexEntry, type network_SitemapIssue as SitemapIssue, type network_SitemapSplitFile as SitemapSplitFile, type network_SitemapUrlEntry as SitemapUrlEntry, type network_SitemapValidationResult as SitemapValidationResult, type network_SplitSitemapOptions as SplitSitemapOptions, type network_SplitSitemapResult as SplitSitemapResult, type network_StatusCode as StatusCode, type network_UaDeviceType as UaDeviceType, type network_UserAgentInfo as UserAgentInfo, type network_VaryHeaderEntry as VaryHeaderEntry, type network_VaryHeaderResult as VaryHeaderResult, type network_XContentTypeOptionsHeader as XContentTypeOptionsHeader, type network_XContentTypeOptionsParseResult as XContentTypeOptionsParseResult, network_X_CONTENT_TYPE_OPTIONS_HEADER as X_CONTENT_TYPE_OPTIONS_HEADER, network_analyzeEmailHeaders as analyzeEmailHeaders, network_assessContentTypeRisk as assessContentTypeRisk, network_buildAcceptLanguage as buildAcceptLanguage, network_buildCacheControl as buildCacheControl, network_buildClientHints as buildClientHints, network_buildContentDisposition as buildContentDisposition, network_buildDnsQueryUrl as buildDnsQueryUrl, network_buildGeoUrl as buildGeoUrl, network_buildLinkHeader as buildLinkHeader, network_buildMapUrl as buildMapUrl, network_buildPermissionsPolicy as buildPermissionsPolicy, network_buildPreferHeader as buildPreferHeader, network_buildRangeHeader as buildRangeHeader, network_buildReferrerPolicy as buildReferrerPolicy, network_buildVaryHeader as buildVaryHeader, network_buildXContentTypeOptionsHeader as buildXContentTypeOptionsHeader, network_checkSetCookieHeader as checkSetCookieHeader, network_countryCodeToFlag as countryCodeToFlag, network_formatCoordinates as formatCoordinates, network_formatTtl as formatTtl, network_getByCategory as getByCategory, network_getHeader as getHeader, network_getHeadersByCategory as getHeadersByCategory, network_getStatusByCategory as getStatusByCategory, network_getStatusCode as getStatusCode, network_isClientError as isClientError, network_isServerError as isServerError, network_isSuccess as isSuccess, network_isValidIp as isValidIp, network_isValidIpv4 as isValidIpv4, network_isValidIpv6 as isValidIpv6, network_parseAcceptLanguage as parseAcceptLanguage, network_parseClientHintHeaders as parseClientHintHeaders, network_parseContentDisposition as parseContentDisposition, network_parseContentRangeHeader as parseContentRangeHeader, network_parseDnsResponse as parseDnsResponse, network_parseGeoResponse as parseGeoResponse, network_parseHar as parseHar, network_parseIpv6Address as parseIpv6Address, network_parsePermissionsPolicy as parsePermissionsPolicy, network_parsePreferHeader as parsePreferHeader, network_parseUserAgent as parseUserAgent, network_parseVaryHeader as parseVaryHeader, network_parseXContentTypeOptionsHeader as parseXContentTypeOptionsHeader, network_searchHeaders as searchHeaders, network_searchStatusCodes as searchStatusCodes, network_splitSitemap as splitSitemap, network_statusCodeToText as statusCodeToText, network_typeNumberToLabel as typeNumberToLabel, network_validateDomain as validateDomain, network_validateHeaderName as validateHeaderName, network_validateHeaderValue as validateHeaderValue, network_validateManifest as validateManifest, network_validateRobotsTxt as validateRobotsTxt, network_validateSitemap as validateSitemap };
|
|
912
955
|
}
|
|
913
956
|
|
|
914
|
-
export { type
|
|
957
|
+
export { type PreferResult as $, type AcceptLanguageEntry as A, type BuildRangeHeaderOptions as B, CLIENT_HINTS as C, DNS_RECORD_TYPES as D, type EmailHeaderAnalysis as E, type HttpHeader as F, type GeoResult as G, HTTP_HEADERS as H, type Ipv6AddressType as I, type Ipv6ParseResult as J, type LinkHeaderEntry as K, LINK_REL_VALUES as L, type LinkHeaderEntryInput as M, type LinkHeaderResult as N, type LinkRel as O, type ManifestIconInfo as P, type ManifestIssue as Q, type ManifestValidationResult as R, PERMISSIONS_POLICY_FEATURES as S, type ParsedClientHint as T, type ParsedDnsResult as U, type ParsedGeoResult as V, type PermissionsPolicyDirective as W, type PermissionsPolicyFeatureInput as X, type PermissionsPolicyResult as Y, type PreferParameter as Z, type PreferPreference as _, type AcceptLanguageResult as a, parseContentRangeHeader as a$, REFERRER_POLICY_VALUES as a0, type RangeEntry as a1, type RangeEntryInput as a2, type RangeHeaderResult as a3, type ReceivedHop as a4, type ReferrerPolicyEntry as a5, type ReferrerPolicyResult as a6, type ReferrerPolicyValue as a7, type RobotsGroup as a8, type RobotsIssue as a9, buildGeoUrl as aA, buildLinkHeader as aB, buildMapUrl as aC, buildPermissionsPolicy as aD, buildPreferHeader as aE, buildRangeHeader as aF, buildReferrerPolicy as aG, buildVaryHeader as aH, buildXContentTypeOptionsHeader as aI, checkSetCookieHeader as aJ, countryCodeToFlag as aK, formatCoordinates as aL, formatTtl as aM, getByCategory as aN, getHeader as aO, getHeadersByCategory as aP, getStatusByCategory as aQ, getStatusCode as aR, isClientError as aS, isServerError as aT, isSuccess as aU, isValidIp as aV, isValidIpv4 as aW, isValidIpv6 as aX, parseAcceptLanguage as aY, parseClientHintHeaders as aZ, parseContentDisposition as a_, type RobotsRule as aa, type RobotsValidationResult as ab, STATUS_CODES as ac, type SameSiteValue as ad, type SitemapIndexEntry as ae, type SitemapIssue as af, type SitemapSplitFile as ag, type SitemapUrlEntry as ah, type SitemapValidationResult as ai, type SplitSitemapOptions as aj, type SplitSitemapResult as ak, type StatusCode as al, type UaDeviceType as am, type UserAgentInfo as an, type VaryHeaderEntry as ao, type VaryHeaderResult as ap, type XContentTypeOptionsHeader as aq, type XContentTypeOptionsParseResult as ar, X_CONTENT_TYPE_OPTIONS_HEADER as as, analyzeEmailHeaders as at, assessContentTypeRisk as au, buildAcceptLanguage as av, buildCacheControl as aw, buildClientHints as ax, buildContentDisposition as ay, buildDnsQueryUrl as az, type AuthResultEntry as b, parseDnsResponse as b0, parseGeoResponse as b1, parseHar as b2, parseIpv6Address as b3, parsePermissionsPolicy as b4, parsePreferHeader as b5, parseUserAgent as b6, parseVaryHeader as b7, parseXContentTypeOptionsHeader as b8, searchHeaders as b9, searchStatusCodes as ba, splitSitemap as bb, statusCodeToText as bc, typeNumberToLabel as bd, validateDomain as be, validateHeaderName as bf, validateHeaderValue as bg, validateManifest as bh, validateRobotsTxt as bi, validateSitemap as bj, type CacheControlDirective as c, type CacheControlOptions as d, type CacheControlResult as e, type ClientHintDef as f, type ClientHintValueType as g, type ClientHintsBuildResult as h, type ClientHintsParseResult as i, type ContentDispositionBuildOptions as j, type ContentDispositionBuildResult as k, type ContentDispositionParseResult as l, type ContentRangeResult as m, network as n, type ContentTypeRiskResult as o, type ContentTypeSniffRisk as p, type CookieAttributes as q, type CookieCheckResult as r, type DnsRecord as s, type DnsRecordType as t, type DnsResponse as u, type EmailHeaderField as v, type HarEntry as w, type HarParseResult as x, type HarSummary as y, type HeaderCategory as z };
|
package/dist/tools/data.cjs
CHANGED
|
@@ -1139,6 +1139,38 @@ function jsonArrayToNdjson(input) {
|
|
|
1139
1139
|
if (!Array.isArray(parsed)) return { error: "Input must be a JSON array" };
|
|
1140
1140
|
return parsed.map((item) => JSON.stringify(item)).join("\n");
|
|
1141
1141
|
}
|
|
1142
|
+
function dedupeNdjson(input, keyField) {
|
|
1143
|
+
const validated = validateNdjson(input);
|
|
1144
|
+
if (!validated.valid) return { error: _firstNdjsonError(validated) };
|
|
1145
|
+
const seen = /* @__PURE__ */ new Set();
|
|
1146
|
+
const keptRaw = [];
|
|
1147
|
+
const removedLines = [];
|
|
1148
|
+
for (const l of validated.lines) {
|
|
1149
|
+
const parsed = JSON.parse(l.raw);
|
|
1150
|
+
let key;
|
|
1151
|
+
if (keyField) {
|
|
1152
|
+
if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed) || !(keyField in parsed)) {
|
|
1153
|
+
return { error: `Line ${l.line}: missing key field "${keyField}"` };
|
|
1154
|
+
}
|
|
1155
|
+
key = JSON.stringify(parsed[keyField]);
|
|
1156
|
+
} else {
|
|
1157
|
+
key = JSON.stringify(parsed);
|
|
1158
|
+
}
|
|
1159
|
+
if (seen.has(key)) {
|
|
1160
|
+
removedLines.push(l.line);
|
|
1161
|
+
} else {
|
|
1162
|
+
seen.add(key);
|
|
1163
|
+
keptRaw.push(l.raw.trim());
|
|
1164
|
+
}
|
|
1165
|
+
}
|
|
1166
|
+
return {
|
|
1167
|
+
totalLines: validated.totalLines,
|
|
1168
|
+
uniqueLines: keptRaw.length,
|
|
1169
|
+
duplicatesRemoved: removedLines.length,
|
|
1170
|
+
output: keptRaw.join("\n"),
|
|
1171
|
+
removedLines
|
|
1172
|
+
};
|
|
1173
|
+
}
|
|
1142
1174
|
var _SUBTITLE_TIMESTAMP_RE = /(\d+):(\d{1,2}):(\d{1,2})[.,](\d{1,3})|(\d{1,3}):(\d{1,2})[.,](\d{1,3})/;
|
|
1143
1175
|
var _VTT_BLOCK_KEYWORDS = ["NOTE", "STYLE", "REGION"];
|
|
1144
1176
|
function parseSubtitleTimestamp(raw) {
|
|
@@ -1747,6 +1779,7 @@ exports.calculateMarkdownTaskListProgress = calculateMarkdownTaskListProgress;
|
|
|
1747
1779
|
exports.convertSubtitles = convertSubtitles;
|
|
1748
1780
|
exports.csvToJson = csvToJson;
|
|
1749
1781
|
exports.csvToSqlInsert = csvToSqlInsert;
|
|
1782
|
+
exports.dedupeNdjson = dedupeNdjson;
|
|
1750
1783
|
exports.detectDelimiter = detectDelimiter;
|
|
1751
1784
|
exports.detectSubtitleFormat = detectSubtitleFormat;
|
|
1752
1785
|
exports.diffEnvExample = diffEnvExample;
|
package/dist/tools/data.d.cts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { C as CaptionSpeedCue, a as CaptionSpeedResult, b as ConvertedSubtitles, c as CsvColumnType, e as CsvColumnTypeInfo, f as CsvColumnTypeOptions, g as CsvColumnTypeResult, h as CsvDuplicateGroup, i as CsvDuplicateOptions, j as CsvDuplicateResult, k as CsvParseResult, l as CsvToSqlOptions, m as CsvToSqlResult, E as EnvDiffError, n as EnvDiffResult, o as EnvEntry, p as EnvParseResult, F as FrontMatterError, q as FrontMatterResult, I as IniSection, M as MarkdownTaskListItem, r as MarkdownTaskListProgressResult, s as MarkdownTaskListSectionSummary, t as MarkdownTocEntry, u as MarkdownTocOptions, v as MarkdownTocResult, N as
|
|
1
|
+
export { C as CaptionSpeedCue, a as CaptionSpeedResult, b as ConvertedSubtitles, c as CsvColumnType, e as CsvColumnTypeInfo, f as CsvColumnTypeOptions, g as CsvColumnTypeResult, h as CsvDuplicateGroup, i as CsvDuplicateOptions, j as CsvDuplicateResult, k as CsvParseResult, l as CsvToSqlOptions, m as CsvToSqlResult, E as EnvDiffError, n as EnvDiffResult, o as EnvEntry, p as EnvParseResult, F as FrontMatterError, q as FrontMatterResult, I as IniSection, M as MarkdownTaskListItem, r as MarkdownTaskListProgressResult, s as MarkdownTaskListSectionSummary, t as MarkdownTocEntry, u as MarkdownTocOptions, v as MarkdownTocResult, N as NdjsonDedupeResult, w as NdjsonLineResult, x as NdjsonValidateResult, P as ParseOptions, y as ParsedIni, z as ParsedSubtitles, S as SubtitleCue, A as SubtitleFormat, T as TomlFormatResult, V as ValidationResult, X as XmlFormatResult, B as XmlToJsonOptions, Y as YamlAnchorInfo, D as YamlAnchorResolveError, G as YamlAnchorResolveResult, H as analyzeCaptionSpeed, J as calculateMarkdownTaskListProgress, K as convertSubtitles, L as csvToJson, O as csvToSqlInsert, Q as dedupeNdjson, R as detectDelimiter, U as detectSubtitleFormat, W as diffEnvExample, Z as envToExport, _ as envToJson, $ as findCsvDuplicateRows, a0 as formatNdjson, a1 as formatSubtitleTimestamp, a2 as formatToml, a3 as formatXml, a4 as generateMarkdownToc, a5 as getSection, a6 as getSectionNames, a7 as getTomlStats, a8 as getXmlStats, a9 as getYamlStats, aa as inferCsvColumnTypes, ab as iniToJson, ac as jsonArrayToNdjson, ad as jsonToIni, ae as jsonToToml, af as jsonToXml, ag as minifyNdjson, ah as minifyToml, ai as minifyXml, aj as ndjsonToJsonArray, ak as parseCsv, al as parseEnv, am as parseFrontMatter, an as parseIni, ao as parseSubtitleTimestamp, ap as parseSubtitles, aq as parseXmlToObject, ar as resolveYamlAnchors, as as serializeSubtitles, at as shiftSubtitles, au as stringifyIni, av as toCsvString, aw as tomlToJson, ax as validateEnvKey, ay as validateIni, az as validateNdjson, aA as validateToml, aB as validateXml, aC as validateYaml, aD as xmlToJson } from '../data-vxXrBlWh.cjs';
|
package/dist/tools/data.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { C as CaptionSpeedCue, a as CaptionSpeedResult, b as ConvertedSubtitles, c as CsvColumnType, e as CsvColumnTypeInfo, f as CsvColumnTypeOptions, g as CsvColumnTypeResult, h as CsvDuplicateGroup, i as CsvDuplicateOptions, j as CsvDuplicateResult, k as CsvParseResult, l as CsvToSqlOptions, m as CsvToSqlResult, E as EnvDiffError, n as EnvDiffResult, o as EnvEntry, p as EnvParseResult, F as FrontMatterError, q as FrontMatterResult, I as IniSection, M as MarkdownTaskListItem, r as MarkdownTaskListProgressResult, s as MarkdownTaskListSectionSummary, t as MarkdownTocEntry, u as MarkdownTocOptions, v as MarkdownTocResult, N as
|
|
1
|
+
export { C as CaptionSpeedCue, a as CaptionSpeedResult, b as ConvertedSubtitles, c as CsvColumnType, e as CsvColumnTypeInfo, f as CsvColumnTypeOptions, g as CsvColumnTypeResult, h as CsvDuplicateGroup, i as CsvDuplicateOptions, j as CsvDuplicateResult, k as CsvParseResult, l as CsvToSqlOptions, m as CsvToSqlResult, E as EnvDiffError, n as EnvDiffResult, o as EnvEntry, p as EnvParseResult, F as FrontMatterError, q as FrontMatterResult, I as IniSection, M as MarkdownTaskListItem, r as MarkdownTaskListProgressResult, s as MarkdownTaskListSectionSummary, t as MarkdownTocEntry, u as MarkdownTocOptions, v as MarkdownTocResult, N as NdjsonDedupeResult, w as NdjsonLineResult, x as NdjsonValidateResult, P as ParseOptions, y as ParsedIni, z as ParsedSubtitles, S as SubtitleCue, A as SubtitleFormat, T as TomlFormatResult, V as ValidationResult, X as XmlFormatResult, B as XmlToJsonOptions, Y as YamlAnchorInfo, D as YamlAnchorResolveError, G as YamlAnchorResolveResult, H as analyzeCaptionSpeed, J as calculateMarkdownTaskListProgress, K as convertSubtitles, L as csvToJson, O as csvToSqlInsert, Q as dedupeNdjson, R as detectDelimiter, U as detectSubtitleFormat, W as diffEnvExample, Z as envToExport, _ as envToJson, $ as findCsvDuplicateRows, a0 as formatNdjson, a1 as formatSubtitleTimestamp, a2 as formatToml, a3 as formatXml, a4 as generateMarkdownToc, a5 as getSection, a6 as getSectionNames, a7 as getTomlStats, a8 as getXmlStats, a9 as getYamlStats, aa as inferCsvColumnTypes, ab as iniToJson, ac as jsonArrayToNdjson, ad as jsonToIni, ae as jsonToToml, af as jsonToXml, ag as minifyNdjson, ah as minifyToml, ai as minifyXml, aj as ndjsonToJsonArray, ak as parseCsv, al as parseEnv, am as parseFrontMatter, an as parseIni, ao as parseSubtitleTimestamp, ap as parseSubtitles, aq as parseXmlToObject, ar as resolveYamlAnchors, as as serializeSubtitles, at as shiftSubtitles, au as stringifyIni, av as toCsvString, aw as tomlToJson, ax as validateEnvKey, ay as validateIni, az as validateNdjson, aA as validateToml, aB as validateXml, aC as validateYaml, aD as xmlToJson } from '../data-vxXrBlWh.js';
|
package/dist/tools/data.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { analyzeCaptionSpeed, calculateMarkdownTaskListProgress, convertSubtitles, csvToJson, csvToSqlInsert, detectDelimiter, detectSubtitleFormat, diffEnvExample, envToExport, envToJson, findCsvDuplicateRows, formatNdjson, formatSubtitleTimestamp, formatToml, formatXml, generateMarkdownToc, getSection, getSectionNames, getTomlStats, getXmlStats, getYamlStats, inferCsvColumnTypes, iniToJson, jsonArrayToNdjson, jsonToIni, jsonToToml, jsonToXml, minifyNdjson, minifyToml, minifyXml, ndjsonToJsonArray, parseCsv, parseEnv, parseFrontMatter, parseIni, parseSubtitleTimestamp, parseSubtitles, parseXmlToObject, resolveYamlAnchors, serializeSubtitles, shiftSubtitles, stringifyIni, toCsvString, tomlToJson, validateEnvKey, validateIni, validateNdjson, validateToml, validateXml, validateYaml, xmlToJson } from '../chunk-
|
|
1
|
+
export { analyzeCaptionSpeed, calculateMarkdownTaskListProgress, convertSubtitles, csvToJson, csvToSqlInsert, dedupeNdjson, detectDelimiter, detectSubtitleFormat, diffEnvExample, envToExport, envToJson, findCsvDuplicateRows, formatNdjson, formatSubtitleTimestamp, formatToml, formatXml, generateMarkdownToc, getSection, getSectionNames, getTomlStats, getXmlStats, getYamlStats, inferCsvColumnTypes, iniToJson, jsonArrayToNdjson, jsonToIni, jsonToToml, jsonToXml, minifyNdjson, minifyToml, minifyXml, ndjsonToJsonArray, parseCsv, parseEnv, parseFrontMatter, parseIni, parseSubtitleTimestamp, parseSubtitles, parseXmlToObject, resolveYamlAnchors, serializeSubtitles, shiftSubtitles, stringifyIni, toCsvString, tomlToJson, validateEnvKey, validateIni, validateNdjson, validateToml, validateXml, validateYaml, xmlToJson } from '../chunk-QY2M2UHJ.js';
|
|
2
2
|
import '../chunk-MLKGABMK.js';
|
package/dist/tools/network.cjs
CHANGED
|
@@ -2822,6 +2822,103 @@ function parseAcceptLanguage(raw) {
|
|
|
2822
2822
|
const headerValue = formatAcceptLanguageEntries(sorted);
|
|
2823
2823
|
return { header: `Accept-Language: ${headerValue}`, headerValue, entries: sorted };
|
|
2824
2824
|
}
|
|
2825
|
+
var PREFER_TOKEN_RE = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;
|
|
2826
|
+
function isPreferToken(s) {
|
|
2827
|
+
return PREFER_TOKEN_RE.test(s);
|
|
2828
|
+
}
|
|
2829
|
+
function splitPreferTopLevel(input, delim) {
|
|
2830
|
+
const parts = [];
|
|
2831
|
+
let current = "";
|
|
2832
|
+
let inQuotes = false;
|
|
2833
|
+
for (const ch of input) {
|
|
2834
|
+
if (ch === '"') inQuotes = !inQuotes;
|
|
2835
|
+
if (ch === delim && !inQuotes) {
|
|
2836
|
+
parts.push(current);
|
|
2837
|
+
current = "";
|
|
2838
|
+
} else {
|
|
2839
|
+
current += ch;
|
|
2840
|
+
}
|
|
2841
|
+
}
|
|
2842
|
+
parts.push(current);
|
|
2843
|
+
return parts;
|
|
2844
|
+
}
|
|
2845
|
+
function parsePreferTokenValue(part) {
|
|
2846
|
+
const trimmed = part.trim();
|
|
2847
|
+
if (!trimmed) return null;
|
|
2848
|
+
const eq = trimmed.indexOf("=");
|
|
2849
|
+
if (eq === -1) return { token: trimmed };
|
|
2850
|
+
const token = trimmed.slice(0, eq).trim();
|
|
2851
|
+
let value = trimmed.slice(eq + 1).trim();
|
|
2852
|
+
if (value.length >= 2 && value.startsWith('"') && value.endsWith('"')) {
|
|
2853
|
+
value = value.slice(1, -1);
|
|
2854
|
+
}
|
|
2855
|
+
return { token, value };
|
|
2856
|
+
}
|
|
2857
|
+
function formatPreferWord(value) {
|
|
2858
|
+
return isPreferToken(value) ? value : `"${value.replace(/"/g, '\\"')}"`;
|
|
2859
|
+
}
|
|
2860
|
+
function formatPreferPreferences(preferences) {
|
|
2861
|
+
return preferences.map((p) => {
|
|
2862
|
+
let s = p.token;
|
|
2863
|
+
if (p.value !== void 0) s += `=${formatPreferWord(p.value)}`;
|
|
2864
|
+
for (const param of p.params ?? []) {
|
|
2865
|
+
s += `;${param.name}`;
|
|
2866
|
+
if (param.value !== void 0) s += `=${formatPreferWord(param.value)}`;
|
|
2867
|
+
}
|
|
2868
|
+
return s;
|
|
2869
|
+
}).join(", ");
|
|
2870
|
+
}
|
|
2871
|
+
function buildPreferHeader(preferences) {
|
|
2872
|
+
if (!Array.isArray(preferences) || preferences.length === 0) {
|
|
2873
|
+
return { error: "At least one preference is required" };
|
|
2874
|
+
}
|
|
2875
|
+
const built = [];
|
|
2876
|
+
for (let i = 0; i < preferences.length; i++) {
|
|
2877
|
+
const { token, value, params } = preferences[i];
|
|
2878
|
+
if (typeof token !== "string" || !isPreferToken(token.trim())) {
|
|
2879
|
+
return { error: `preference ${i + 1}: token is required and must be a valid HTTP token` };
|
|
2880
|
+
}
|
|
2881
|
+
const cleanParams = [];
|
|
2882
|
+
if (params !== void 0) {
|
|
2883
|
+
if (!Array.isArray(params)) return { error: `preference ${i + 1}: params must be an array` };
|
|
2884
|
+
for (const param of params) {
|
|
2885
|
+
if (typeof param?.name !== "string" || !isPreferToken(param.name.trim())) {
|
|
2886
|
+
return { error: `preference ${i + 1}: parameter name is required and must be a valid HTTP token` };
|
|
2887
|
+
}
|
|
2888
|
+
cleanParams.push({ name: param.name.trim(), value: param.value !== void 0 ? String(param.value) : void 0 });
|
|
2889
|
+
}
|
|
2890
|
+
}
|
|
2891
|
+
built.push({
|
|
2892
|
+
token: token.trim(),
|
|
2893
|
+
value: value !== void 0 ? String(value) : void 0,
|
|
2894
|
+
params: cleanParams.length > 0 ? cleanParams : void 0
|
|
2895
|
+
});
|
|
2896
|
+
}
|
|
2897
|
+
const headerValue = formatPreferPreferences(built);
|
|
2898
|
+
return { header: `Prefer: ${headerValue}`, headerValue, preferences: built };
|
|
2899
|
+
}
|
|
2900
|
+
function parsePreferHeader(raw) {
|
|
2901
|
+
if (!raw || raw.trim() === "") return { error: "Input is empty" };
|
|
2902
|
+
const withoutLabel = raw.trim().replace(/^prefer:\s*/i, "");
|
|
2903
|
+
const parts = splitPreferTopLevel(withoutLabel, ",").map((p) => p.trim()).filter((p) => p.length > 0);
|
|
2904
|
+
if (parts.length === 0) return { error: "Input is empty" };
|
|
2905
|
+
const preferences = [];
|
|
2906
|
+
for (const part of parts) {
|
|
2907
|
+
const segments = splitPreferTopLevel(part, ";").map((s) => s.trim()).filter((s) => s.length > 0);
|
|
2908
|
+
if (segments.length === 0) return { error: `Invalid preference: "${part}"` };
|
|
2909
|
+
const main = parsePreferTokenValue(segments[0]);
|
|
2910
|
+
if (!main || !isPreferToken(main.token)) return { error: `Invalid preference token in "${part}"` };
|
|
2911
|
+
const params = [];
|
|
2912
|
+
for (const seg of segments.slice(1)) {
|
|
2913
|
+
const p = parsePreferTokenValue(seg);
|
|
2914
|
+
if (!p || !isPreferToken(p.token)) return { error: `Invalid parameter in "${part}"` };
|
|
2915
|
+
params.push({ name: p.token, value: p.value });
|
|
2916
|
+
}
|
|
2917
|
+
preferences.push({ token: main.token, value: main.value, params: params.length > 0 ? params : void 0 });
|
|
2918
|
+
}
|
|
2919
|
+
const headerValue = formatPreferPreferences(preferences);
|
|
2920
|
+
return { header: `Prefer: ${headerValue}`, headerValue, preferences };
|
|
2921
|
+
}
|
|
2825
2922
|
|
|
2826
2923
|
exports.CLIENT_HINTS = CLIENT_HINTS;
|
|
2827
2924
|
exports.DNS_RECORD_TYPES = DNS_RECORD_TYPES;
|
|
@@ -2842,6 +2939,7 @@ exports.buildGeoUrl = buildGeoUrl;
|
|
|
2842
2939
|
exports.buildLinkHeader = buildLinkHeader;
|
|
2843
2940
|
exports.buildMapUrl = buildMapUrl;
|
|
2844
2941
|
exports.buildPermissionsPolicy = buildPermissionsPolicy;
|
|
2942
|
+
exports.buildPreferHeader = buildPreferHeader;
|
|
2845
2943
|
exports.buildRangeHeader = buildRangeHeader;
|
|
2846
2944
|
exports.buildReferrerPolicy = buildReferrerPolicy;
|
|
2847
2945
|
exports.buildVaryHeader = buildVaryHeader;
|
|
@@ -2870,6 +2968,7 @@ exports.parseGeoResponse = parseGeoResponse;
|
|
|
2870
2968
|
exports.parseHar = parseHar;
|
|
2871
2969
|
exports.parseIpv6Address = parseIpv6Address;
|
|
2872
2970
|
exports.parsePermissionsPolicy = parsePermissionsPolicy;
|
|
2971
|
+
exports.parsePreferHeader = parsePreferHeader;
|
|
2873
2972
|
exports.parseUserAgent = parseUserAgent;
|
|
2874
2973
|
exports.parseVaryHeader = parseVaryHeader;
|
|
2875
2974
|
exports.parseXContentTypeOptionsHeader = parseXContentTypeOptionsHeader;
|
package/dist/tools/network.d.cts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { A as AcceptLanguageEntry, a as AcceptLanguageResult, b as AuthResultEntry, B as BuildRangeHeaderOptions, C as CLIENT_HINTS, c as CacheControlDirective, d as CacheControlOptions, e as CacheControlResult, f as ClientHintDef, g as ClientHintValueType, h as ClientHintsBuildResult, i as ClientHintsParseResult, j as ContentDispositionBuildOptions, k as ContentDispositionBuildResult, l as ContentDispositionParseResult, m as ContentRangeResult, o as ContentTypeRiskResult, p as ContentTypeSniffRisk, q as CookieAttributes, r as CookieCheckResult, D as DNS_RECORD_TYPES, s as DnsRecord, t as DnsRecordType, u as DnsResponse, E as EmailHeaderAnalysis, v as EmailHeaderField, G as GeoResult, H as HTTP_HEADERS, w as HarEntry, x as HarParseResult, y as HarSummary, z as HeaderCategory, F as HttpHeader, I as Ipv6AddressType, J as Ipv6ParseResult, L as LINK_REL_VALUES, K as LinkHeaderEntry, M as LinkHeaderEntryInput, N as LinkHeaderResult, O as LinkRel, P as ManifestIconInfo, Q as ManifestIssue, R as ManifestValidationResult, S as PERMISSIONS_POLICY_FEATURES, T as ParsedClientHint, U as ParsedDnsResult, V as ParsedGeoResult, W as PermissionsPolicyDirective, X as PermissionsPolicyFeatureInput, Y as PermissionsPolicyResult, Z as
|
|
1
|
+
export { A as AcceptLanguageEntry, a as AcceptLanguageResult, b as AuthResultEntry, B as BuildRangeHeaderOptions, C as CLIENT_HINTS, c as CacheControlDirective, d as CacheControlOptions, e as CacheControlResult, f as ClientHintDef, g as ClientHintValueType, h as ClientHintsBuildResult, i as ClientHintsParseResult, j as ContentDispositionBuildOptions, k as ContentDispositionBuildResult, l as ContentDispositionParseResult, m as ContentRangeResult, o as ContentTypeRiskResult, p as ContentTypeSniffRisk, q as CookieAttributes, r as CookieCheckResult, D as DNS_RECORD_TYPES, s as DnsRecord, t as DnsRecordType, u as DnsResponse, E as EmailHeaderAnalysis, v as EmailHeaderField, G as GeoResult, H as HTTP_HEADERS, w as HarEntry, x as HarParseResult, y as HarSummary, z as HeaderCategory, F as HttpHeader, I as Ipv6AddressType, J as Ipv6ParseResult, L as LINK_REL_VALUES, K as LinkHeaderEntry, M as LinkHeaderEntryInput, N as LinkHeaderResult, O as LinkRel, P as ManifestIconInfo, Q as ManifestIssue, R as ManifestValidationResult, S as PERMISSIONS_POLICY_FEATURES, T as ParsedClientHint, U as ParsedDnsResult, V as ParsedGeoResult, W as PermissionsPolicyDirective, X as PermissionsPolicyFeatureInput, Y as PermissionsPolicyResult, Z as PreferParameter, _ as PreferPreference, $ as PreferResult, a0 as REFERRER_POLICY_VALUES, a1 as RangeEntry, a2 as RangeEntryInput, a3 as RangeHeaderResult, a4 as ReceivedHop, a5 as ReferrerPolicyEntry, a6 as ReferrerPolicyResult, a7 as ReferrerPolicyValue, a8 as RobotsGroup, a9 as RobotsIssue, aa as RobotsRule, ab as RobotsValidationResult, ac as STATUS_CODES, ad as SameSiteValue, ae as SitemapIndexEntry, af as SitemapIssue, ag as SitemapSplitFile, ah as SitemapUrlEntry, ai as SitemapValidationResult, aj as SplitSitemapOptions, ak as SplitSitemapResult, al as StatusCode, am as UaDeviceType, an as UserAgentInfo, ao as VaryHeaderEntry, ap as VaryHeaderResult, aq as XContentTypeOptionsHeader, ar as XContentTypeOptionsParseResult, as as X_CONTENT_TYPE_OPTIONS_HEADER, at as analyzeEmailHeaders, au as assessContentTypeRisk, av as buildAcceptLanguage, aw as buildCacheControl, ax as buildClientHints, ay as buildContentDisposition, az as buildDnsQueryUrl, aA as buildGeoUrl, aB as buildLinkHeader, aC as buildMapUrl, aD as buildPermissionsPolicy, aE as buildPreferHeader, aF as buildRangeHeader, aG as buildReferrerPolicy, aH as buildVaryHeader, aI as buildXContentTypeOptionsHeader, aJ as checkSetCookieHeader, aK as countryCodeToFlag, aL as formatCoordinates, aM as formatTtl, aN as getByCategory, aO as getHeader, aP as getHeadersByCategory, aQ as getStatusByCategory, aR as getStatusCode, aS as isClientError, aT as isServerError, aU as isSuccess, aV as isValidIp, aW as isValidIpv4, aX as isValidIpv6, aY as parseAcceptLanguage, aZ as parseClientHintHeaders, a_ as parseContentDisposition, a$ as parseContentRangeHeader, b0 as parseDnsResponse, b1 as parseGeoResponse, b2 as parseHar, b3 as parseIpv6Address, b4 as parsePermissionsPolicy, b5 as parsePreferHeader, b6 as parseUserAgent, b7 as parseVaryHeader, b8 as parseXContentTypeOptionsHeader, b9 as searchHeaders, ba as searchStatusCodes, bb as splitSitemap, bc as statusCodeToText, bd as typeNumberToLabel, be as validateDomain, bf as validateHeaderName, bg as validateHeaderValue, bh as validateManifest, bi as validateRobotsTxt, bj as validateSitemap } from '../network-fDfM1_L6.cjs';
|
package/dist/tools/network.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { A as AcceptLanguageEntry, a as AcceptLanguageResult, b as AuthResultEntry, B as BuildRangeHeaderOptions, C as CLIENT_HINTS, c as CacheControlDirective, d as CacheControlOptions, e as CacheControlResult, f as ClientHintDef, g as ClientHintValueType, h as ClientHintsBuildResult, i as ClientHintsParseResult, j as ContentDispositionBuildOptions, k as ContentDispositionBuildResult, l as ContentDispositionParseResult, m as ContentRangeResult, o as ContentTypeRiskResult, p as ContentTypeSniffRisk, q as CookieAttributes, r as CookieCheckResult, D as DNS_RECORD_TYPES, s as DnsRecord, t as DnsRecordType, u as DnsResponse, E as EmailHeaderAnalysis, v as EmailHeaderField, G as GeoResult, H as HTTP_HEADERS, w as HarEntry, x as HarParseResult, y as HarSummary, z as HeaderCategory, F as HttpHeader, I as Ipv6AddressType, J as Ipv6ParseResult, L as LINK_REL_VALUES, K as LinkHeaderEntry, M as LinkHeaderEntryInput, N as LinkHeaderResult, O as LinkRel, P as ManifestIconInfo, Q as ManifestIssue, R as ManifestValidationResult, S as PERMISSIONS_POLICY_FEATURES, T as ParsedClientHint, U as ParsedDnsResult, V as ParsedGeoResult, W as PermissionsPolicyDirective, X as PermissionsPolicyFeatureInput, Y as PermissionsPolicyResult, Z as
|
|
1
|
+
export { A as AcceptLanguageEntry, a as AcceptLanguageResult, b as AuthResultEntry, B as BuildRangeHeaderOptions, C as CLIENT_HINTS, c as CacheControlDirective, d as CacheControlOptions, e as CacheControlResult, f as ClientHintDef, g as ClientHintValueType, h as ClientHintsBuildResult, i as ClientHintsParseResult, j as ContentDispositionBuildOptions, k as ContentDispositionBuildResult, l as ContentDispositionParseResult, m as ContentRangeResult, o as ContentTypeRiskResult, p as ContentTypeSniffRisk, q as CookieAttributes, r as CookieCheckResult, D as DNS_RECORD_TYPES, s as DnsRecord, t as DnsRecordType, u as DnsResponse, E as EmailHeaderAnalysis, v as EmailHeaderField, G as GeoResult, H as HTTP_HEADERS, w as HarEntry, x as HarParseResult, y as HarSummary, z as HeaderCategory, F as HttpHeader, I as Ipv6AddressType, J as Ipv6ParseResult, L as LINK_REL_VALUES, K as LinkHeaderEntry, M as LinkHeaderEntryInput, N as LinkHeaderResult, O as LinkRel, P as ManifestIconInfo, Q as ManifestIssue, R as ManifestValidationResult, S as PERMISSIONS_POLICY_FEATURES, T as ParsedClientHint, U as ParsedDnsResult, V as ParsedGeoResult, W as PermissionsPolicyDirective, X as PermissionsPolicyFeatureInput, Y as PermissionsPolicyResult, Z as PreferParameter, _ as PreferPreference, $ as PreferResult, a0 as REFERRER_POLICY_VALUES, a1 as RangeEntry, a2 as RangeEntryInput, a3 as RangeHeaderResult, a4 as ReceivedHop, a5 as ReferrerPolicyEntry, a6 as ReferrerPolicyResult, a7 as ReferrerPolicyValue, a8 as RobotsGroup, a9 as RobotsIssue, aa as RobotsRule, ab as RobotsValidationResult, ac as STATUS_CODES, ad as SameSiteValue, ae as SitemapIndexEntry, af as SitemapIssue, ag as SitemapSplitFile, ah as SitemapUrlEntry, ai as SitemapValidationResult, aj as SplitSitemapOptions, ak as SplitSitemapResult, al as StatusCode, am as UaDeviceType, an as UserAgentInfo, ao as VaryHeaderEntry, ap as VaryHeaderResult, aq as XContentTypeOptionsHeader, ar as XContentTypeOptionsParseResult, as as X_CONTENT_TYPE_OPTIONS_HEADER, at as analyzeEmailHeaders, au as assessContentTypeRisk, av as buildAcceptLanguage, aw as buildCacheControl, ax as buildClientHints, ay as buildContentDisposition, az as buildDnsQueryUrl, aA as buildGeoUrl, aB as buildLinkHeader, aC as buildMapUrl, aD as buildPermissionsPolicy, aE as buildPreferHeader, aF as buildRangeHeader, aG as buildReferrerPolicy, aH as buildVaryHeader, aI as buildXContentTypeOptionsHeader, aJ as checkSetCookieHeader, aK as countryCodeToFlag, aL as formatCoordinates, aM as formatTtl, aN as getByCategory, aO as getHeader, aP as getHeadersByCategory, aQ as getStatusByCategory, aR as getStatusCode, aS as isClientError, aT as isServerError, aU as isSuccess, aV as isValidIp, aW as isValidIpv4, aX as isValidIpv6, aY as parseAcceptLanguage, aZ as parseClientHintHeaders, a_ as parseContentDisposition, a$ as parseContentRangeHeader, b0 as parseDnsResponse, b1 as parseGeoResponse, b2 as parseHar, b3 as parseIpv6Address, b4 as parsePermissionsPolicy, b5 as parsePreferHeader, b6 as parseUserAgent, b7 as parseVaryHeader, b8 as parseXContentTypeOptionsHeader, b9 as searchHeaders, ba as searchStatusCodes, bb as splitSitemap, bc as statusCodeToText, bd as typeNumberToLabel, be as validateDomain, bf as validateHeaderName, bg as validateHeaderValue, bh as validateManifest, bi as validateRobotsTxt, bj as validateSitemap } from '../network-fDfM1_L6.js';
|
package/dist/tools/network.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { CLIENT_HINTS, DNS_RECORD_TYPES, HTTP_HEADERS, LINK_REL_VALUES, PERMISSIONS_POLICY_FEATURES, REFERRER_POLICY_VALUES, STATUS_CODES, X_CONTENT_TYPE_OPTIONS_HEADER, analyzeEmailHeaders, assessContentTypeRisk, buildAcceptLanguage, buildCacheControl, buildClientHints, buildContentDisposition, buildDnsQueryUrl, buildGeoUrl, buildLinkHeader, buildMapUrl, buildPermissionsPolicy, buildRangeHeader, buildReferrerPolicy, buildVaryHeader, buildXContentTypeOptionsHeader, checkSetCookieHeader, countryCodeToFlag, formatCoordinates, formatTtl, getByCategory, getHeader, getHeadersByCategory, getStatusByCategory, getStatusCode, isClientError, isServerError, isSuccess, isValidIp, isValidIpv4, isValidIpv6, parseAcceptLanguage, parseClientHintHeaders, parseContentDisposition, parseContentRangeHeader, parseDnsResponse, parseGeoResponse, parseHar, parseIpv6Address, parsePermissionsPolicy, parseUserAgent, parseVaryHeader, parseXContentTypeOptionsHeader, searchHeaders, searchStatusCodes, splitSitemap, statusCodeToText, typeNumberToLabel, validateDomain, validateHeaderName, validateHeaderValue, validateManifest, validateRobotsTxt, validateSitemap } from '../chunk-
|
|
1
|
+
export { CLIENT_HINTS, DNS_RECORD_TYPES, HTTP_HEADERS, LINK_REL_VALUES, PERMISSIONS_POLICY_FEATURES, REFERRER_POLICY_VALUES, STATUS_CODES, X_CONTENT_TYPE_OPTIONS_HEADER, analyzeEmailHeaders, assessContentTypeRisk, buildAcceptLanguage, buildCacheControl, buildClientHints, buildContentDisposition, buildDnsQueryUrl, buildGeoUrl, buildLinkHeader, buildMapUrl, buildPermissionsPolicy, buildPreferHeader, buildRangeHeader, buildReferrerPolicy, buildVaryHeader, buildXContentTypeOptionsHeader, checkSetCookieHeader, countryCodeToFlag, formatCoordinates, formatTtl, getByCategory, getHeader, getHeadersByCategory, getStatusByCategory, getStatusCode, isClientError, isServerError, isSuccess, isValidIp, isValidIpv4, isValidIpv6, parseAcceptLanguage, parseClientHintHeaders, parseContentDisposition, parseContentRangeHeader, parseDnsResponse, parseGeoResponse, parseHar, parseIpv6Address, parsePermissionsPolicy, parsePreferHeader, parseUserAgent, parseVaryHeader, parseXContentTypeOptionsHeader, searchHeaders, searchStatusCodes, splitSitemap, statusCodeToText, typeNumberToLabel, validateDomain, validateHeaderName, validateHeaderValue, validateManifest, validateRobotsTxt, validateSitemap } from '../chunk-3QU46YFP.js';
|
|
2
2
|
import '../chunk-MLKGABMK.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@utilix-tech/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.59.0",
|
|
4
4
|
"description": "154+ developer utility tools for Node.js: JSON, encoding, hashing, color, CSS, network and more. Runs locally, no API key required.",
|
|
5
5
|
"author": "Utilix <hello@utilix.tech>",
|
|
6
6
|
"license": "MIT",
|