@utilix-tech/sdk 0.40.0 → 0.42.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/dist/index.cjs CHANGED
@@ -5033,6 +5033,7 @@ __export(data_exports, {
5033
5033
  diffEnvExample: () => diffEnvExample,
5034
5034
  envToExport: () => envToExport,
5035
5035
  envToJson: () => envToJson,
5036
+ findCsvDuplicateRows: () => findCsvDuplicateRows,
5036
5037
  formatNdjson: () => formatNdjson,
5037
5038
  formatSubtitleTimestamp: () => formatSubtitleTimestamp,
5038
5039
  formatToml: () => formatToml,
@@ -6520,6 +6521,65 @@ function csvToSqlInsert(input, options) {
6520
6521
  columns
6521
6522
  };
6522
6523
  }
6524
+ function _normalizeDuplicateValue(value, caseSensitive, trimWhitespace) {
6525
+ let v = value;
6526
+ if (trimWhitespace) v = v.trim();
6527
+ if (!caseSensitive) v = v.toLowerCase();
6528
+ return v;
6529
+ }
6530
+ function findCsvDuplicateRows(input, options) {
6531
+ const parsed = parseCsv(input, {
6532
+ delimiter: options?.delimiter ?? ",",
6533
+ hasHeader: options?.hasHeader !== false,
6534
+ trimWhitespace: false
6535
+ });
6536
+ if ("error" in parsed) return parsed;
6537
+ if (parsed.rows.length === 0) return { error: "No data rows found" };
6538
+ const caseSensitive = options?.caseSensitive !== false;
6539
+ const trimWhitespace = options?.trimWhitespace !== false;
6540
+ let keyIndexes;
6541
+ if (options?.keyColumns && options.keyColumns.length > 0) {
6542
+ keyIndexes = [];
6543
+ for (const col of options.keyColumns) {
6544
+ const idx = parsed.headers.indexOf(col);
6545
+ if (idx === -1) {
6546
+ return { error: `Column "${col}" not found. Available columns: ${parsed.headers.join(", ")}` };
6547
+ }
6548
+ keyIndexes.push(idx);
6549
+ }
6550
+ } else {
6551
+ keyIndexes = parsed.headers.map((_, idx) => idx);
6552
+ }
6553
+ const groups = /* @__PURE__ */ new Map();
6554
+ parsed.rows.forEach((row, i) => {
6555
+ const key = keyIndexes.map((idx) => row[idx] ?? "");
6556
+ const normalizedKey = keyIndexes.map((idx) => _normalizeDuplicateValue(row[idx] ?? "", caseSensitive, trimWhitespace));
6557
+ const mapKey = JSON.stringify(normalizedKey);
6558
+ const rowNumber = i + 1;
6559
+ const existing = groups.get(mapKey);
6560
+ if (existing) {
6561
+ existing.rowNumbers.push(rowNumber);
6562
+ } else {
6563
+ groups.set(mapKey, { key, rowNumbers: [rowNumber] });
6564
+ }
6565
+ });
6566
+ const duplicateGroups = [];
6567
+ let duplicateRowCount = 0;
6568
+ for (const group of groups.values()) {
6569
+ if (group.rowNumbers.length > 1) {
6570
+ duplicateGroups.push({ key: group.key, rowNumbers: group.rowNumbers, count: group.rowNumbers.length });
6571
+ duplicateRowCount += group.rowNumbers.length;
6572
+ }
6573
+ }
6574
+ duplicateGroups.sort((a, b) => b.count - a.count);
6575
+ return {
6576
+ headers: parsed.headers,
6577
+ totalRows: parsed.rows.length,
6578
+ duplicateGroups,
6579
+ duplicateRowCount,
6580
+ uniqueRowCount: parsed.rows.length - duplicateRowCount + duplicateGroups.length
6581
+ };
6582
+ }
6523
6583
 
6524
6584
  // src/tools/generators.ts
6525
6585
  var generators_exports = {};
@@ -9860,7 +9920,9 @@ __export(network_exports, {
9860
9920
  buildGeoUrl: () => buildGeoUrl,
9861
9921
  buildLinkHeader: () => buildLinkHeader,
9862
9922
  buildMapUrl: () => buildMapUrl,
9923
+ buildRangeHeader: () => buildRangeHeader,
9863
9924
  buildReferrerPolicy: () => buildReferrerPolicy,
9925
+ buildVaryHeader: () => buildVaryHeader,
9864
9926
  checkSetCookieHeader: () => checkSetCookieHeader,
9865
9927
  countryCodeToFlag: () => countryCodeToFlag,
9866
9928
  formatCoordinates: () => formatCoordinates,
@@ -9876,11 +9938,13 @@ __export(network_exports, {
9876
9938
  isValidIp: () => isValidIp2,
9877
9939
  isValidIpv4: () => isValidIpv42,
9878
9940
  isValidIpv6: () => isValidIpv6,
9941
+ parseContentRangeHeader: () => parseContentRangeHeader,
9879
9942
  parseDnsResponse: () => parseDnsResponse,
9880
9943
  parseGeoResponse: () => parseGeoResponse,
9881
9944
  parseHar: () => parseHar,
9882
9945
  parseIpv6Address: () => parseIpv6Address,
9883
9946
  parseUserAgent: () => parseUserAgent,
9947
+ parseVaryHeader: () => parseVaryHeader,
9884
9948
  searchHeaders: () => searchHeaders,
9885
9949
  searchStatusCodes: () => searchStatusCodes,
9886
9950
  statusCodeToText: () => statusCodeToText,
@@ -12055,6 +12119,157 @@ function analyzeEmailHeaders(raw) {
12055
12119
  warnings
12056
12120
  };
12057
12121
  }
12122
+ function _round2(n) {
12123
+ return Math.round(n * 100) / 100;
12124
+ }
12125
+ function buildRangeHeader(entries, options) {
12126
+ if (!Array.isArray(entries) || entries.length === 0) {
12127
+ return { error: "At least one range is required" };
12128
+ }
12129
+ const unit = options?.unit?.trim() || "bytes";
12130
+ const totalSize = typeof options?.totalSize === "number" && Number.isFinite(options.totalSize) ? options.totalSize : void 0;
12131
+ if (totalSize !== void 0 && totalSize <= 0) {
12132
+ return { error: "totalSize must be a positive number when provided" };
12133
+ }
12134
+ const parsed = [];
12135
+ for (const entry of entries) {
12136
+ if (entry.suffixLength !== void 0) {
12137
+ if (!Number.isFinite(entry.suffixLength) || entry.suffixLength <= 0) {
12138
+ return { error: "suffixLength must be a positive number" };
12139
+ }
12140
+ const suffixLength = Math.floor(entry.suffixLength);
12141
+ const byteLength = totalSize !== void 0 ? Math.min(suffixLength, totalSize) : suffixLength;
12142
+ parsed.push({
12143
+ spec: `-${suffixLength}`,
12144
+ start: null,
12145
+ end: null,
12146
+ suffixLength,
12147
+ byteLength,
12148
+ percentOfTotal: totalSize !== void 0 ? _round2(byteLength / totalSize * 100) : null
12149
+ });
12150
+ continue;
12151
+ }
12152
+ if (entry.start === void 0) {
12153
+ return { error: "Each range requires either a start byte or a suffixLength" };
12154
+ }
12155
+ if (!Number.isFinite(entry.start) || entry.start < 0) {
12156
+ return { error: "start must be a non-negative number" };
12157
+ }
12158
+ const start = Math.floor(entry.start);
12159
+ if (totalSize !== void 0 && start >= totalSize) {
12160
+ return { error: `start byte ${start} is beyond totalSize (${totalSize})` };
12161
+ }
12162
+ if (entry.end !== void 0) {
12163
+ if (!Number.isFinite(entry.end) || entry.end < 0) {
12164
+ return { error: "end must be a non-negative number" };
12165
+ }
12166
+ const end = Math.floor(entry.end);
12167
+ if (end < start) {
12168
+ return { error: `range end (${end}) must be >= start (${start})` };
12169
+ }
12170
+ if (totalSize !== void 0 && end >= totalSize) {
12171
+ return { error: `end byte ${end} is beyond totalSize (${totalSize})` };
12172
+ }
12173
+ const byteLength = end - start + 1;
12174
+ parsed.push({
12175
+ spec: `${start}-${end}`,
12176
+ start,
12177
+ end,
12178
+ suffixLength: null,
12179
+ byteLength,
12180
+ percentOfTotal: totalSize !== void 0 ? _round2(byteLength / totalSize * 100) : null
12181
+ });
12182
+ } else {
12183
+ const byteLength = totalSize !== void 0 ? totalSize - start : null;
12184
+ parsed.push({
12185
+ spec: `${start}-`,
12186
+ start,
12187
+ end: null,
12188
+ suffixLength: null,
12189
+ byteLength,
12190
+ percentOfTotal: byteLength !== null && totalSize !== void 0 ? _round2(byteLength / totalSize * 100) : null
12191
+ });
12192
+ }
12193
+ }
12194
+ const warnings = [];
12195
+ const resolvable = parsed.map((r, i) => ({ i, start: r.start ?? (totalSize !== void 0 && r.suffixLength !== null ? totalSize - Math.min(r.suffixLength, totalSize) : null), end: r.end ?? (totalSize !== void 0 ? totalSize - 1 : null) })).filter((r) => r.start !== null && r.end !== null).sort((a, b) => a.start - b.start);
12196
+ for (let i = 1; i < resolvable.length; i++) {
12197
+ if (resolvable[i].start <= resolvable[i - 1].end) {
12198
+ warnings.push(`ranges "${parsed[resolvable[i - 1].i].spec}" and "${parsed[resolvable[i].i].spec}" overlap - servers may reject overlapping multi-range requests`);
12199
+ }
12200
+ }
12201
+ if (parsed.length > 1 && parsed.some((r) => r.byteLength === null)) {
12202
+ warnings.push("totalSize was not provided, so open-ended ranges cannot be checked for overlap or total byte count");
12203
+ }
12204
+ const totalBytesRequested = parsed.every((r) => r.byteLength !== null) ? parsed.reduce((sum, r) => sum + (r.byteLength ?? 0), 0) : null;
12205
+ const headerValue = `${unit}=${parsed.map((r) => r.spec).join(",")}`;
12206
+ return {
12207
+ header: `Range: ${headerValue}`,
12208
+ headerValue,
12209
+ ranges: parsed,
12210
+ totalBytesRequested,
12211
+ warnings
12212
+ };
12213
+ }
12214
+ function parseContentRangeHeader(header) {
12215
+ if (!header || header.trim() === "") return { error: "Input is empty" };
12216
+ const match = header.trim().match(/^(\S+)\s+(\*|\d+-\d+)\/(\*|\d+)$/);
12217
+ if (!match) {
12218
+ return { error: 'Could not parse Content-Range header. Expected a format like "bytes 200-1000/67589" or "bytes */67589"' };
12219
+ }
12220
+ const [, unit, range, totalRaw] = match;
12221
+ const isUnsatisfiable = range === "*";
12222
+ const isTotalUnknown = totalRaw === "*";
12223
+ const total = isTotalUnknown ? null : Number(totalRaw);
12224
+ if (isUnsatisfiable) {
12225
+ return { unit, start: null, end: null, total, isUnsatisfiable, isTotalUnknown, byteLength: null };
12226
+ }
12227
+ const [startRaw, endRaw] = range.split("-");
12228
+ const start = Number(startRaw);
12229
+ const end = Number(endRaw);
12230
+ if (end < start) {
12231
+ return { error: `Invalid range: end (${end}) is before start (${start})` };
12232
+ }
12233
+ return { unit, start, end, total, isUnsatisfiable, isTotalUnknown, byteLength: end - start + 1 };
12234
+ }
12235
+ var VARY_HEADER_NOTES = {
12236
+ "accept-encoding": "Caches must store a separate response per compression scheme (gzip, br, etc.) the client accepts.",
12237
+ "accept-language": "Caches must store a separate response per requested language, which can fragment a shared cache badly if Accept-Language values are highly varied.",
12238
+ "accept": "Caches must store a separate response per requested content type (e.g. JSON vs HTML).",
12239
+ "user-agent": "Caches must store a separate response per distinct User-Agent string, which is often unique enough to make caching nearly ineffective.",
12240
+ "authorization": "Signals the response is user-specific; most shared caches will refuse to cache it at all rather than key on this header.",
12241
+ "cookie": "Same effect as Authorization: shared caches typically treat the response as private and skip caching rather than key on cookie values.",
12242
+ "origin": "Caches must store a separate response per requesting Origin, needed whenever a response includes CORS headers that differ by origin.",
12243
+ "x-requested-with": "Caches must store a separate response depending on whether the request was made via an XHR/fetch client hint.",
12244
+ "x-forwarded-proto": "Caches must store a separate response for HTTP vs HTTPS requests, relevant behind a proxy or load balancer that terminates TLS."
12245
+ };
12246
+ function buildVaryHeader(headers) {
12247
+ if (!Array.isArray(headers) || headers.length === 0) return { error: "At least one header is required" };
12248
+ const trimmed = headers.map((h) => typeof h === "string" ? h.trim() : "").filter((h) => h.length > 0);
12249
+ if (trimmed.length === 0) return { error: "At least one header is required" };
12250
+ const warnings = [];
12251
+ if (trimmed.some((h) => h === "*") && trimmed.length > 1) {
12252
+ warnings.push('"*" makes every request effectively uncacheable; combining it with other header names is redundant, most caches will just skip caching entirely');
12253
+ }
12254
+ const seen = /* @__PURE__ */ new Map();
12255
+ for (const h of trimmed) {
12256
+ const key = h.toLowerCase();
12257
+ if (!seen.has(key)) seen.set(key, h);
12258
+ }
12259
+ if (seen.size < trimmed.length) warnings.push("duplicate header names were removed");
12260
+ const entries = Array.from(seen.values()).map((h) => ({
12261
+ header: h,
12262
+ note: h === "*" ? "Every response is considered unique; most caches will not store it at all." : VARY_HEADER_NOTES[h.toLowerCase()] ?? `Caches must store a separate response per distinct ${h} value.`
12263
+ }));
12264
+ const headerValue = entries.map((e) => e.header).join(", ");
12265
+ return { header: `Vary: ${headerValue}`, headerValue, entries, warnings };
12266
+ }
12267
+ function parseVaryHeader(raw) {
12268
+ if (!raw || raw.trim() === "") return { error: "Input is empty" };
12269
+ const withoutLabel = raw.trim().replace(/^vary:\s*/i, "");
12270
+ const headers = withoutLabel.split(",").map((h) => h.trim()).filter((h) => h.length > 0);
12271
+ return buildVaryHeader(headers);
12272
+ }
12058
12273
 
12059
12274
  // src/tools/api.ts
12060
12275
  var api_exports = {};
package/dist/index.d.cts CHANGED
@@ -2,11 +2,11 @@ export { j as json } from './json-Ta9JykSB.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-kHkT9VtT.cjs';
5
- export { d as data } from './data-BCf3dm-E.cjs';
5
+ export { d as data } from './data-BKpEOcOX.cjs';
6
6
  export { g as generators } from './generators-Du8cBesn.cjs';
7
7
  export { t as time } from './time-KqJjdqII.cjs';
8
8
  export { u as units } from './units-CzPwRC03.cjs';
9
- export { n as network } from './network-CKPoesdD.cjs';
9
+ export { n as network } from './network-oAs83Ztn.cjs';
10
10
  export { a as api } from './api-DmTNE4c1.cjs';
11
11
  export { c as code } from './code-KXoRsHtl.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-Ta9JykSB.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-kHkT9VtT.js';
5
- export { d as data } from './data-BCf3dm-E.js';
5
+ export { d as data } from './data-BKpEOcOX.js';
6
6
  export { g as generators } from './generators-Du8cBesn.js';
7
7
  export { t as time } from './time-KqJjdqII.js';
8
8
  export { u as units } from './units-CzPwRC03.js';
9
- export { n as network } from './network-CKPoesdD.js';
9
+ export { n as network } from './network-oAs83Ztn.js';
10
10
  export { a as api } from './api-DmTNE4c1.js';
11
11
  export { c as code } from './code-KXoRsHtl.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-L6V4W4SU.js';
2
2
  export { units_exports as units } from './chunk-2MTHD2LG.js';
3
- export { network_exports as network } from './chunk-Y4BVU76A.js';
3
+ export { network_exports as network } from './chunk-UD45LBG7.js';
4
4
  export { api_exports as api } from './chunk-52ZDKSIX.js';
5
5
  export { code_exports as code } from './chunk-JL7YTXRB.js';
6
6
  export { color_exports as color } from './chunk-BPVAB4P2.js';
@@ -11,7 +11,7 @@ export { json_exports as json } from './chunk-WVEKRKGU.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-F2CEN226.js';
14
- export { data_exports as data } from './chunk-RZUNTYEH.js';
14
+ export { data_exports as data } from './chunk-JR354NH4.js';
15
15
  export { generators_exports as generators } from './chunk-3TYWIX3B.js';
16
16
  export { time_exports as time } from './chunk-IEPWZERQ.js';
17
17
  import './chunk-MLKGABMK.js';
@@ -17,6 +17,8 @@
17
17
  * - link-header-builder: buildLinkHeader
18
18
  * - same-site-cookie-checker: checkSetCookieHeader
19
19
  * - email-header-analyzer: analyzeEmailHeaders
20
+ * - http-range-header-builder: buildRangeHeader, parseContentRangeHeader
21
+ * - vary-header-builder: buildVaryHeader, parseVaryHeader
20
22
  */
21
23
  declare const DNS_RECORD_TYPES: readonly ["A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA", "PTR", "SRV", "CAA"];
22
24
  type DnsRecordType = typeof DNS_RECORD_TYPES[number];
@@ -447,11 +449,89 @@ interface EmailHeaderAnalysis {
447
449
  declare function analyzeEmailHeaders(raw: string): EmailHeaderAnalysis | {
448
450
  error: string;
449
451
  };
452
+ interface RangeEntryInput {
453
+ start?: number;
454
+ end?: number;
455
+ suffixLength?: number;
456
+ }
457
+ interface RangeEntry {
458
+ spec: string;
459
+ start: number | null;
460
+ end: number | null;
461
+ suffixLength: number | null;
462
+ byteLength: number | null;
463
+ percentOfTotal: number | null;
464
+ }
465
+ interface RangeHeaderResult {
466
+ header: string;
467
+ headerValue: string;
468
+ ranges: RangeEntry[];
469
+ totalBytesRequested: number | null;
470
+ warnings: string[];
471
+ }
472
+ interface BuildRangeHeaderOptions {
473
+ totalSize?: number;
474
+ unit?: string;
475
+ }
476
+ /**
477
+ * Build an HTTP `Range` request header from a list of byte ranges. Each
478
+ * entry is either `{ start, end? }` (an explicit or open-ended range) or
479
+ * `{ suffixLength }` (the last N bytes). Pass `totalSize` to resolve
480
+ * open-ended/suffix byte lengths and get overlap warnings.
481
+ */
482
+ declare function buildRangeHeader(entries: RangeEntryInput[], options?: BuildRangeHeaderOptions): RangeHeaderResult | {
483
+ error: string;
484
+ };
485
+ interface ContentRangeResult {
486
+ unit: string;
487
+ start: number | null;
488
+ end: number | null;
489
+ total: number | null;
490
+ isUnsatisfiable: boolean;
491
+ isTotalUnknown: boolean;
492
+ byteLength: number | null;
493
+ }
494
+ /**
495
+ * Parse a `Content-Range` response header (e.g. `bytes 200-1000/67589` or
496
+ * `bytes *\/67589` for an unsatisfiable range) into its unit, byte bounds,
497
+ * and total resource size.
498
+ */
499
+ declare function parseContentRangeHeader(header: string): ContentRangeResult | {
500
+ error: string;
501
+ };
502
+ interface VaryHeaderEntry {
503
+ header: string;
504
+ note: string;
505
+ }
506
+ interface VaryHeaderResult {
507
+ header: string;
508
+ headerValue: string;
509
+ entries: VaryHeaderEntry[];
510
+ warnings: string[];
511
+ }
512
+ /**
513
+ * Build a `Vary` response-header value from a list of request-header names,
514
+ * de-duplicating case-insensitively and attaching a plain-English caching
515
+ * note for each well-known header (Accept-Encoding, Authorization, etc.).
516
+ */
517
+ declare function buildVaryHeader(headers: string[]): VaryHeaderResult | {
518
+ error: string;
519
+ };
520
+ /**
521
+ * Parse an existing `Vary` header value (with or without a leading `Vary:`
522
+ * label) into the same shape `buildVaryHeader` returns, for explaining a
523
+ * header you found on a real response rather than building one from scratch.
524
+ */
525
+ declare function parseVaryHeader(raw: string): VaryHeaderResult | {
526
+ error: string;
527
+ };
450
528
 
451
529
  type network_AuthResultEntry = AuthResultEntry;
530
+ type network_BuildRangeHeaderOptions = BuildRangeHeaderOptions;
452
531
  type network_CacheControlDirective = CacheControlDirective;
453
532
  type network_CacheControlOptions = CacheControlOptions;
454
533
  type network_CacheControlResult = CacheControlResult;
534
+ type network_ContentRangeResult = ContentRangeResult;
455
535
  type network_CookieAttributes = CookieAttributes;
456
536
  type network_CookieCheckResult = CookieCheckResult;
457
537
  declare const network_DNS_RECORD_TYPES: typeof DNS_RECORD_TYPES;
@@ -477,6 +557,9 @@ type network_LinkRel = LinkRel;
477
557
  type network_ParsedDnsResult = ParsedDnsResult;
478
558
  type network_ParsedGeoResult = ParsedGeoResult;
479
559
  declare const network_REFERRER_POLICY_VALUES: typeof REFERRER_POLICY_VALUES;
560
+ type network_RangeEntry = RangeEntry;
561
+ type network_RangeEntryInput = RangeEntryInput;
562
+ type network_RangeHeaderResult = RangeHeaderResult;
480
563
  type network_ReceivedHop = ReceivedHop;
481
564
  type network_ReferrerPolicyEntry = ReferrerPolicyEntry;
482
565
  type network_ReferrerPolicyResult = ReferrerPolicyResult;
@@ -494,13 +577,17 @@ type network_SitemapValidationResult = SitemapValidationResult;
494
577
  type network_StatusCode = StatusCode;
495
578
  type network_UaDeviceType = UaDeviceType;
496
579
  type network_UserAgentInfo = UserAgentInfo;
580
+ type network_VaryHeaderEntry = VaryHeaderEntry;
581
+ type network_VaryHeaderResult = VaryHeaderResult;
497
582
  declare const network_analyzeEmailHeaders: typeof analyzeEmailHeaders;
498
583
  declare const network_buildCacheControl: typeof buildCacheControl;
499
584
  declare const network_buildDnsQueryUrl: typeof buildDnsQueryUrl;
500
585
  declare const network_buildGeoUrl: typeof buildGeoUrl;
501
586
  declare const network_buildLinkHeader: typeof buildLinkHeader;
502
587
  declare const network_buildMapUrl: typeof buildMapUrl;
588
+ declare const network_buildRangeHeader: typeof buildRangeHeader;
503
589
  declare const network_buildReferrerPolicy: typeof buildReferrerPolicy;
590
+ declare const network_buildVaryHeader: typeof buildVaryHeader;
504
591
  declare const network_checkSetCookieHeader: typeof checkSetCookieHeader;
505
592
  declare const network_countryCodeToFlag: typeof countryCodeToFlag;
506
593
  declare const network_formatCoordinates: typeof formatCoordinates;
@@ -516,11 +603,13 @@ declare const network_isSuccess: typeof isSuccess;
516
603
  declare const network_isValidIp: typeof isValidIp;
517
604
  declare const network_isValidIpv4: typeof isValidIpv4;
518
605
  declare const network_isValidIpv6: typeof isValidIpv6;
606
+ declare const network_parseContentRangeHeader: typeof parseContentRangeHeader;
519
607
  declare const network_parseDnsResponse: typeof parseDnsResponse;
520
608
  declare const network_parseGeoResponse: typeof parseGeoResponse;
521
609
  declare const network_parseHar: typeof parseHar;
522
610
  declare const network_parseIpv6Address: typeof parseIpv6Address;
523
611
  declare const network_parseUserAgent: typeof parseUserAgent;
612
+ declare const network_parseVaryHeader: typeof parseVaryHeader;
524
613
  declare const network_searchHeaders: typeof searchHeaders;
525
614
  declare const network_searchStatusCodes: typeof searchStatusCodes;
526
615
  declare const network_statusCodeToText: typeof statusCodeToText;
@@ -531,7 +620,7 @@ declare const network_validateHeaderValue: typeof validateHeaderValue;
531
620
  declare const network_validateRobotsTxt: typeof validateRobotsTxt;
532
621
  declare const network_validateSitemap: typeof validateSitemap;
533
622
  declare namespace network {
534
- export { type network_AuthResultEntry as AuthResultEntry, type network_CacheControlDirective as CacheControlDirective, type network_CacheControlOptions as CacheControlOptions, type network_CacheControlResult as CacheControlResult, 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_ParsedDnsResult as ParsedDnsResult, type network_ParsedGeoResult as ParsedGeoResult, network_REFERRER_POLICY_VALUES as REFERRER_POLICY_VALUES, 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_SitemapUrlEntry as SitemapUrlEntry, type network_SitemapValidationResult as SitemapValidationResult, type network_StatusCode as StatusCode, type network_UaDeviceType as UaDeviceType, type network_UserAgentInfo as UserAgentInfo, network_analyzeEmailHeaders as analyzeEmailHeaders, network_buildCacheControl as buildCacheControl, network_buildDnsQueryUrl as buildDnsQueryUrl, network_buildGeoUrl as buildGeoUrl, network_buildLinkHeader as buildLinkHeader, network_buildMapUrl as buildMapUrl, network_buildReferrerPolicy as buildReferrerPolicy, 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_parseDnsResponse as parseDnsResponse, network_parseGeoResponse as parseGeoResponse, network_parseHar as parseHar, network_parseIpv6Address as parseIpv6Address, network_parseUserAgent as parseUserAgent, network_searchHeaders as searchHeaders, network_searchStatusCodes as searchStatusCodes, network_statusCodeToText as statusCodeToText, network_typeNumberToLabel as typeNumberToLabel, network_validateDomain as validateDomain, network_validateHeaderName as validateHeaderName, network_validateHeaderValue as validateHeaderValue, network_validateRobotsTxt as validateRobotsTxt, network_validateSitemap as validateSitemap };
623
+ export { type network_AuthResultEntry as AuthResultEntry, type network_BuildRangeHeaderOptions as BuildRangeHeaderOptions, type network_CacheControlDirective as CacheControlDirective, type network_CacheControlOptions as CacheControlOptions, type network_CacheControlResult as CacheControlResult, type network_ContentRangeResult as ContentRangeResult, 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_ParsedDnsResult as ParsedDnsResult, type network_ParsedGeoResult as ParsedGeoResult, 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_SitemapUrlEntry as SitemapUrlEntry, type network_SitemapValidationResult as SitemapValidationResult, 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, network_analyzeEmailHeaders as analyzeEmailHeaders, network_buildCacheControl as buildCacheControl, network_buildDnsQueryUrl as buildDnsQueryUrl, network_buildGeoUrl as buildGeoUrl, network_buildLinkHeader as buildLinkHeader, network_buildMapUrl as buildMapUrl, network_buildRangeHeader as buildRangeHeader, network_buildReferrerPolicy as buildReferrerPolicy, network_buildVaryHeader as buildVaryHeader, 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_parseContentRangeHeader as parseContentRangeHeader, network_parseDnsResponse as parseDnsResponse, network_parseGeoResponse as parseGeoResponse, network_parseHar as parseHar, network_parseIpv6Address as parseIpv6Address, network_parseUserAgent as parseUserAgent, network_parseVaryHeader as parseVaryHeader, network_searchHeaders as searchHeaders, network_searchStatusCodes as searchStatusCodes, network_statusCodeToText as statusCodeToText, network_typeNumberToLabel as typeNumberToLabel, network_validateDomain as validateDomain, network_validateHeaderName as validateHeaderName, network_validateHeaderValue as validateHeaderValue, network_validateRobotsTxt as validateRobotsTxt, network_validateSitemap as validateSitemap };
535
624
  }
536
625
 
537
- export { buildReferrerPolicy as $, type AuthResultEntry as A, type RobotsRule as B, type CacheControlDirective as C, DNS_RECORD_TYPES as D, type EmailHeaderAnalysis as E, type RobotsValidationResult as F, type GeoResult as G, HTTP_HEADERS as H, type Ipv6AddressType as I, type SameSiteValue as J, type SitemapIndexEntry as K, LINK_REL_VALUES as L, type SitemapIssue as M, type SitemapUrlEntry as N, type SitemapValidationResult as O, type ParsedDnsResult as P, type StatusCode as Q, REFERRER_POLICY_VALUES as R, STATUS_CODES as S, type UserAgentInfo as T, type UaDeviceType as U, analyzeEmailHeaders as V, buildCacheControl as W, buildDnsQueryUrl as X, buildGeoUrl as Y, buildLinkHeader as Z, buildMapUrl as _, type CacheControlOptions as a, checkSetCookieHeader as a0, countryCodeToFlag as a1, formatCoordinates as a2, formatTtl as a3, getByCategory as a4, getHeader as a5, getHeadersByCategory as a6, getStatusByCategory as a7, getStatusCode as a8, isClientError as a9, isServerError as aa, isSuccess as ab, isValidIp as ac, isValidIpv4 as ad, isValidIpv6 as ae, parseDnsResponse as af, parseGeoResponse as ag, parseHar as ah, parseIpv6Address as ai, parseUserAgent as aj, searchHeaders as ak, searchStatusCodes as al, statusCodeToText as am, typeNumberToLabel as an, validateDomain as ao, validateHeaderName as ap, validateHeaderValue as aq, validateRobotsTxt as ar, validateSitemap as as, type CacheControlResult as b, type CookieAttributes as c, type CookieCheckResult as d, type DnsRecord as e, type DnsRecordType as f, type DnsResponse as g, type EmailHeaderField as h, type HarEntry as i, type HarParseResult as j, type HarSummary as k, type HeaderCategory as l, type HttpHeader as m, network as n, type Ipv6ParseResult as o, type LinkHeaderEntry as p, type LinkHeaderEntryInput as q, type LinkHeaderResult as r, type LinkRel as s, type ParsedGeoResult as t, type ReceivedHop as u, type ReferrerPolicyEntry as v, type ReferrerPolicyResult as w, type ReferrerPolicyValue as x, type RobotsGroup as y, type RobotsIssue as z };
626
+ export { type VaryHeaderResult as $, type AuthResultEntry as A, type BuildRangeHeaderOptions as B, type CacheControlDirective as C, DNS_RECORD_TYPES as D, type EmailHeaderAnalysis as E, type ReferrerPolicyResult as F, type GeoResult as G, HTTP_HEADERS as H, type Ipv6AddressType as I, type ReferrerPolicyValue as J, type RobotsGroup as K, LINK_REL_VALUES as L, type RobotsIssue as M, type RobotsRule as N, type RobotsValidationResult as O, type ParsedDnsResult as P, type SameSiteValue as Q, REFERRER_POLICY_VALUES as R, STATUS_CODES as S, type SitemapIndexEntry as T, type SitemapIssue as U, type SitemapUrlEntry as V, type SitemapValidationResult as W, type StatusCode as X, type UaDeviceType as Y, type UserAgentInfo as Z, type VaryHeaderEntry as _, type CacheControlOptions as a, analyzeEmailHeaders as a0, buildCacheControl as a1, buildDnsQueryUrl as a2, buildGeoUrl as a3, buildLinkHeader as a4, buildMapUrl as a5, buildRangeHeader as a6, buildReferrerPolicy as a7, buildVaryHeader as a8, checkSetCookieHeader as a9, validateHeaderName as aA, validateHeaderValue as aB, validateRobotsTxt as aC, validateSitemap as aD, countryCodeToFlag as aa, formatCoordinates as ab, formatTtl as ac, getByCategory as ad, getHeader as ae, getHeadersByCategory as af, getStatusByCategory as ag, getStatusCode as ah, isClientError as ai, isServerError as aj, isSuccess as ak, isValidIp as al, isValidIpv4 as am, isValidIpv6 as an, parseContentRangeHeader as ao, parseDnsResponse as ap, parseGeoResponse as aq, parseHar as ar, parseIpv6Address as as, parseUserAgent as at, parseVaryHeader as au, searchHeaders as av, searchStatusCodes as aw, statusCodeToText as ax, typeNumberToLabel as ay, validateDomain as az, type CacheControlResult as b, type ContentRangeResult as c, type CookieAttributes as d, type CookieCheckResult as e, type DnsRecord as f, type DnsRecordType as g, type DnsResponse as h, type EmailHeaderField as i, type HarEntry as j, type HarParseResult as k, type HarSummary as l, type HeaderCategory as m, network as n, type HttpHeader as o, type Ipv6ParseResult as p, type LinkHeaderEntry as q, type LinkHeaderEntryInput as r, type LinkHeaderResult as s, type LinkRel as t, type ParsedGeoResult as u, type RangeEntry as v, type RangeEntryInput as w, type RangeHeaderResult as x, type ReceivedHop as y, type ReferrerPolicyEntry as z };
@@ -17,6 +17,8 @@
17
17
  * - link-header-builder: buildLinkHeader
18
18
  * - same-site-cookie-checker: checkSetCookieHeader
19
19
  * - email-header-analyzer: analyzeEmailHeaders
20
+ * - http-range-header-builder: buildRangeHeader, parseContentRangeHeader
21
+ * - vary-header-builder: buildVaryHeader, parseVaryHeader
20
22
  */
21
23
  declare const DNS_RECORD_TYPES: readonly ["A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA", "PTR", "SRV", "CAA"];
22
24
  type DnsRecordType = typeof DNS_RECORD_TYPES[number];
@@ -447,11 +449,89 @@ interface EmailHeaderAnalysis {
447
449
  declare function analyzeEmailHeaders(raw: string): EmailHeaderAnalysis | {
448
450
  error: string;
449
451
  };
452
+ interface RangeEntryInput {
453
+ start?: number;
454
+ end?: number;
455
+ suffixLength?: number;
456
+ }
457
+ interface RangeEntry {
458
+ spec: string;
459
+ start: number | null;
460
+ end: number | null;
461
+ suffixLength: number | null;
462
+ byteLength: number | null;
463
+ percentOfTotal: number | null;
464
+ }
465
+ interface RangeHeaderResult {
466
+ header: string;
467
+ headerValue: string;
468
+ ranges: RangeEntry[];
469
+ totalBytesRequested: number | null;
470
+ warnings: string[];
471
+ }
472
+ interface BuildRangeHeaderOptions {
473
+ totalSize?: number;
474
+ unit?: string;
475
+ }
476
+ /**
477
+ * Build an HTTP `Range` request header from a list of byte ranges. Each
478
+ * entry is either `{ start, end? }` (an explicit or open-ended range) or
479
+ * `{ suffixLength }` (the last N bytes). Pass `totalSize` to resolve
480
+ * open-ended/suffix byte lengths and get overlap warnings.
481
+ */
482
+ declare function buildRangeHeader(entries: RangeEntryInput[], options?: BuildRangeHeaderOptions): RangeHeaderResult | {
483
+ error: string;
484
+ };
485
+ interface ContentRangeResult {
486
+ unit: string;
487
+ start: number | null;
488
+ end: number | null;
489
+ total: number | null;
490
+ isUnsatisfiable: boolean;
491
+ isTotalUnknown: boolean;
492
+ byteLength: number | null;
493
+ }
494
+ /**
495
+ * Parse a `Content-Range` response header (e.g. `bytes 200-1000/67589` or
496
+ * `bytes *\/67589` for an unsatisfiable range) into its unit, byte bounds,
497
+ * and total resource size.
498
+ */
499
+ declare function parseContentRangeHeader(header: string): ContentRangeResult | {
500
+ error: string;
501
+ };
502
+ interface VaryHeaderEntry {
503
+ header: string;
504
+ note: string;
505
+ }
506
+ interface VaryHeaderResult {
507
+ header: string;
508
+ headerValue: string;
509
+ entries: VaryHeaderEntry[];
510
+ warnings: string[];
511
+ }
512
+ /**
513
+ * Build a `Vary` response-header value from a list of request-header names,
514
+ * de-duplicating case-insensitively and attaching a plain-English caching
515
+ * note for each well-known header (Accept-Encoding, Authorization, etc.).
516
+ */
517
+ declare function buildVaryHeader(headers: string[]): VaryHeaderResult | {
518
+ error: string;
519
+ };
520
+ /**
521
+ * Parse an existing `Vary` header value (with or without a leading `Vary:`
522
+ * label) into the same shape `buildVaryHeader` returns, for explaining a
523
+ * header you found on a real response rather than building one from scratch.
524
+ */
525
+ declare function parseVaryHeader(raw: string): VaryHeaderResult | {
526
+ error: string;
527
+ };
450
528
 
451
529
  type network_AuthResultEntry = AuthResultEntry;
530
+ type network_BuildRangeHeaderOptions = BuildRangeHeaderOptions;
452
531
  type network_CacheControlDirective = CacheControlDirective;
453
532
  type network_CacheControlOptions = CacheControlOptions;
454
533
  type network_CacheControlResult = CacheControlResult;
534
+ type network_ContentRangeResult = ContentRangeResult;
455
535
  type network_CookieAttributes = CookieAttributes;
456
536
  type network_CookieCheckResult = CookieCheckResult;
457
537
  declare const network_DNS_RECORD_TYPES: typeof DNS_RECORD_TYPES;
@@ -477,6 +557,9 @@ type network_LinkRel = LinkRel;
477
557
  type network_ParsedDnsResult = ParsedDnsResult;
478
558
  type network_ParsedGeoResult = ParsedGeoResult;
479
559
  declare const network_REFERRER_POLICY_VALUES: typeof REFERRER_POLICY_VALUES;
560
+ type network_RangeEntry = RangeEntry;
561
+ type network_RangeEntryInput = RangeEntryInput;
562
+ type network_RangeHeaderResult = RangeHeaderResult;
480
563
  type network_ReceivedHop = ReceivedHop;
481
564
  type network_ReferrerPolicyEntry = ReferrerPolicyEntry;
482
565
  type network_ReferrerPolicyResult = ReferrerPolicyResult;
@@ -494,13 +577,17 @@ type network_SitemapValidationResult = SitemapValidationResult;
494
577
  type network_StatusCode = StatusCode;
495
578
  type network_UaDeviceType = UaDeviceType;
496
579
  type network_UserAgentInfo = UserAgentInfo;
580
+ type network_VaryHeaderEntry = VaryHeaderEntry;
581
+ type network_VaryHeaderResult = VaryHeaderResult;
497
582
  declare const network_analyzeEmailHeaders: typeof analyzeEmailHeaders;
498
583
  declare const network_buildCacheControl: typeof buildCacheControl;
499
584
  declare const network_buildDnsQueryUrl: typeof buildDnsQueryUrl;
500
585
  declare const network_buildGeoUrl: typeof buildGeoUrl;
501
586
  declare const network_buildLinkHeader: typeof buildLinkHeader;
502
587
  declare const network_buildMapUrl: typeof buildMapUrl;
588
+ declare const network_buildRangeHeader: typeof buildRangeHeader;
503
589
  declare const network_buildReferrerPolicy: typeof buildReferrerPolicy;
590
+ declare const network_buildVaryHeader: typeof buildVaryHeader;
504
591
  declare const network_checkSetCookieHeader: typeof checkSetCookieHeader;
505
592
  declare const network_countryCodeToFlag: typeof countryCodeToFlag;
506
593
  declare const network_formatCoordinates: typeof formatCoordinates;
@@ -516,11 +603,13 @@ declare const network_isSuccess: typeof isSuccess;
516
603
  declare const network_isValidIp: typeof isValidIp;
517
604
  declare const network_isValidIpv4: typeof isValidIpv4;
518
605
  declare const network_isValidIpv6: typeof isValidIpv6;
606
+ declare const network_parseContentRangeHeader: typeof parseContentRangeHeader;
519
607
  declare const network_parseDnsResponse: typeof parseDnsResponse;
520
608
  declare const network_parseGeoResponse: typeof parseGeoResponse;
521
609
  declare const network_parseHar: typeof parseHar;
522
610
  declare const network_parseIpv6Address: typeof parseIpv6Address;
523
611
  declare const network_parseUserAgent: typeof parseUserAgent;
612
+ declare const network_parseVaryHeader: typeof parseVaryHeader;
524
613
  declare const network_searchHeaders: typeof searchHeaders;
525
614
  declare const network_searchStatusCodes: typeof searchStatusCodes;
526
615
  declare const network_statusCodeToText: typeof statusCodeToText;
@@ -531,7 +620,7 @@ declare const network_validateHeaderValue: typeof validateHeaderValue;
531
620
  declare const network_validateRobotsTxt: typeof validateRobotsTxt;
532
621
  declare const network_validateSitemap: typeof validateSitemap;
533
622
  declare namespace network {
534
- export { type network_AuthResultEntry as AuthResultEntry, type network_CacheControlDirective as CacheControlDirective, type network_CacheControlOptions as CacheControlOptions, type network_CacheControlResult as CacheControlResult, 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_ParsedDnsResult as ParsedDnsResult, type network_ParsedGeoResult as ParsedGeoResult, network_REFERRER_POLICY_VALUES as REFERRER_POLICY_VALUES, 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_SitemapUrlEntry as SitemapUrlEntry, type network_SitemapValidationResult as SitemapValidationResult, type network_StatusCode as StatusCode, type network_UaDeviceType as UaDeviceType, type network_UserAgentInfo as UserAgentInfo, network_analyzeEmailHeaders as analyzeEmailHeaders, network_buildCacheControl as buildCacheControl, network_buildDnsQueryUrl as buildDnsQueryUrl, network_buildGeoUrl as buildGeoUrl, network_buildLinkHeader as buildLinkHeader, network_buildMapUrl as buildMapUrl, network_buildReferrerPolicy as buildReferrerPolicy, 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_parseDnsResponse as parseDnsResponse, network_parseGeoResponse as parseGeoResponse, network_parseHar as parseHar, network_parseIpv6Address as parseIpv6Address, network_parseUserAgent as parseUserAgent, network_searchHeaders as searchHeaders, network_searchStatusCodes as searchStatusCodes, network_statusCodeToText as statusCodeToText, network_typeNumberToLabel as typeNumberToLabel, network_validateDomain as validateDomain, network_validateHeaderName as validateHeaderName, network_validateHeaderValue as validateHeaderValue, network_validateRobotsTxt as validateRobotsTxt, network_validateSitemap as validateSitemap };
623
+ export { type network_AuthResultEntry as AuthResultEntry, type network_BuildRangeHeaderOptions as BuildRangeHeaderOptions, type network_CacheControlDirective as CacheControlDirective, type network_CacheControlOptions as CacheControlOptions, type network_CacheControlResult as CacheControlResult, type network_ContentRangeResult as ContentRangeResult, 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_ParsedDnsResult as ParsedDnsResult, type network_ParsedGeoResult as ParsedGeoResult, 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_SitemapUrlEntry as SitemapUrlEntry, type network_SitemapValidationResult as SitemapValidationResult, 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, network_analyzeEmailHeaders as analyzeEmailHeaders, network_buildCacheControl as buildCacheControl, network_buildDnsQueryUrl as buildDnsQueryUrl, network_buildGeoUrl as buildGeoUrl, network_buildLinkHeader as buildLinkHeader, network_buildMapUrl as buildMapUrl, network_buildRangeHeader as buildRangeHeader, network_buildReferrerPolicy as buildReferrerPolicy, network_buildVaryHeader as buildVaryHeader, 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_parseContentRangeHeader as parseContentRangeHeader, network_parseDnsResponse as parseDnsResponse, network_parseGeoResponse as parseGeoResponse, network_parseHar as parseHar, network_parseIpv6Address as parseIpv6Address, network_parseUserAgent as parseUserAgent, network_parseVaryHeader as parseVaryHeader, network_searchHeaders as searchHeaders, network_searchStatusCodes as searchStatusCodes, network_statusCodeToText as statusCodeToText, network_typeNumberToLabel as typeNumberToLabel, network_validateDomain as validateDomain, network_validateHeaderName as validateHeaderName, network_validateHeaderValue as validateHeaderValue, network_validateRobotsTxt as validateRobotsTxt, network_validateSitemap as validateSitemap };
535
624
  }
536
625
 
537
- export { buildReferrerPolicy as $, type AuthResultEntry as A, type RobotsRule as B, type CacheControlDirective as C, DNS_RECORD_TYPES as D, type EmailHeaderAnalysis as E, type RobotsValidationResult as F, type GeoResult as G, HTTP_HEADERS as H, type Ipv6AddressType as I, type SameSiteValue as J, type SitemapIndexEntry as K, LINK_REL_VALUES as L, type SitemapIssue as M, type SitemapUrlEntry as N, type SitemapValidationResult as O, type ParsedDnsResult as P, type StatusCode as Q, REFERRER_POLICY_VALUES as R, STATUS_CODES as S, type UserAgentInfo as T, type UaDeviceType as U, analyzeEmailHeaders as V, buildCacheControl as W, buildDnsQueryUrl as X, buildGeoUrl as Y, buildLinkHeader as Z, buildMapUrl as _, type CacheControlOptions as a, checkSetCookieHeader as a0, countryCodeToFlag as a1, formatCoordinates as a2, formatTtl as a3, getByCategory as a4, getHeader as a5, getHeadersByCategory as a6, getStatusByCategory as a7, getStatusCode as a8, isClientError as a9, isServerError as aa, isSuccess as ab, isValidIp as ac, isValidIpv4 as ad, isValidIpv6 as ae, parseDnsResponse as af, parseGeoResponse as ag, parseHar as ah, parseIpv6Address as ai, parseUserAgent as aj, searchHeaders as ak, searchStatusCodes as al, statusCodeToText as am, typeNumberToLabel as an, validateDomain as ao, validateHeaderName as ap, validateHeaderValue as aq, validateRobotsTxt as ar, validateSitemap as as, type CacheControlResult as b, type CookieAttributes as c, type CookieCheckResult as d, type DnsRecord as e, type DnsRecordType as f, type DnsResponse as g, type EmailHeaderField as h, type HarEntry as i, type HarParseResult as j, type HarSummary as k, type HeaderCategory as l, type HttpHeader as m, network as n, type Ipv6ParseResult as o, type LinkHeaderEntry as p, type LinkHeaderEntryInput as q, type LinkHeaderResult as r, type LinkRel as s, type ParsedGeoResult as t, type ReceivedHop as u, type ReferrerPolicyEntry as v, type ReferrerPolicyResult as w, type ReferrerPolicyValue as x, type RobotsGroup as y, type RobotsIssue as z };
626
+ export { type VaryHeaderResult as $, type AuthResultEntry as A, type BuildRangeHeaderOptions as B, type CacheControlDirective as C, DNS_RECORD_TYPES as D, type EmailHeaderAnalysis as E, type ReferrerPolicyResult as F, type GeoResult as G, HTTP_HEADERS as H, type Ipv6AddressType as I, type ReferrerPolicyValue as J, type RobotsGroup as K, LINK_REL_VALUES as L, type RobotsIssue as M, type RobotsRule as N, type RobotsValidationResult as O, type ParsedDnsResult as P, type SameSiteValue as Q, REFERRER_POLICY_VALUES as R, STATUS_CODES as S, type SitemapIndexEntry as T, type SitemapIssue as U, type SitemapUrlEntry as V, type SitemapValidationResult as W, type StatusCode as X, type UaDeviceType as Y, type UserAgentInfo as Z, type VaryHeaderEntry as _, type CacheControlOptions as a, analyzeEmailHeaders as a0, buildCacheControl as a1, buildDnsQueryUrl as a2, buildGeoUrl as a3, buildLinkHeader as a4, buildMapUrl as a5, buildRangeHeader as a6, buildReferrerPolicy as a7, buildVaryHeader as a8, checkSetCookieHeader as a9, validateHeaderName as aA, validateHeaderValue as aB, validateRobotsTxt as aC, validateSitemap as aD, countryCodeToFlag as aa, formatCoordinates as ab, formatTtl as ac, getByCategory as ad, getHeader as ae, getHeadersByCategory as af, getStatusByCategory as ag, getStatusCode as ah, isClientError as ai, isServerError as aj, isSuccess as ak, isValidIp as al, isValidIpv4 as am, isValidIpv6 as an, parseContentRangeHeader as ao, parseDnsResponse as ap, parseGeoResponse as aq, parseHar as ar, parseIpv6Address as as, parseUserAgent as at, parseVaryHeader as au, searchHeaders as av, searchStatusCodes as aw, statusCodeToText as ax, typeNumberToLabel as ay, validateDomain as az, type CacheControlResult as b, type ContentRangeResult as c, type CookieAttributes as d, type CookieCheckResult as e, type DnsRecord as f, type DnsRecordType as g, type DnsResponse as h, type EmailHeaderField as i, type HarEntry as j, type HarParseResult as k, type HarSummary as l, type HeaderCategory as m, network as n, type HttpHeader as o, type Ipv6ParseResult as p, type LinkHeaderEntry as q, type LinkHeaderEntryInput as r, type LinkHeaderResult as s, type LinkRel as t, type ParsedGeoResult as u, type RangeEntry as v, type RangeEntryInput as w, type RangeHeaderResult as x, type ReceivedHop as y, type ReferrerPolicyEntry as z };