@utilix-tech/sdk 0.14.0 → 0.16.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.
@@ -7,6 +7,7 @@
7
7
  * - url-encode: encodeUrl, decodeUrl, diffSegments
8
8
  * - html-entities: encodeHtmlEntities, decodeHtmlEntities, encodeHtmlEntitiesAll
9
9
  * - base32 : base32Encode, base32Decode, base32EncodeBytes, base32DecodeBytes, isValidBase32, ALPHABETS
10
+ * - base58-base62 : base58Encode, base58Decode, base62Encode, base62Decode
10
11
  */
11
12
  type Base64Variant = 'standard' | 'urlsafe';
12
13
  interface EncodeResult {
@@ -74,6 +75,18 @@ declare function base32Decode(input: string, alphabet?: Base32Alphabet): string
74
75
  error: string;
75
76
  };
76
77
  declare function isValidBase32(input: string, alphabet?: Base32Alphabet): boolean;
78
+ /** Encode text as Base58 (Bitcoin-address style, no ambiguous 0/O/I/l characters). */
79
+ declare function base58Encode(input: string): string;
80
+ /** Decode a Base58 string back to text. */
81
+ declare function base58Decode(input: string): string | {
82
+ error: string;
83
+ };
84
+ /** Encode text as Base62 (alphanumeric, URL-safe, no punctuation). */
85
+ declare function base62Encode(input: string): string;
86
+ /** Decode a Base62 string back to text. */
87
+ declare function base62Decode(input: string): string | {
88
+ error: string;
89
+ };
77
90
 
78
91
  declare const encoding_ALPHABETS: typeof ALPHABETS;
79
92
  type encoding_Base32Alphabet = Base32Alphabet;
@@ -91,6 +104,10 @@ declare const encoding_base32Decode: typeof base32Decode;
91
104
  declare const encoding_base32DecodeBytes: typeof base32DecodeBytes;
92
105
  declare const encoding_base32Encode: typeof base32Encode;
93
106
  declare const encoding_base32EncodeBytes: typeof base32EncodeBytes;
107
+ declare const encoding_base58Decode: typeof base58Decode;
108
+ declare const encoding_base58Encode: typeof base58Encode;
109
+ declare const encoding_base62Decode: typeof base62Decode;
110
+ declare const encoding_base62Encode: typeof base62Encode;
94
111
  declare const encoding_decodeBase64: typeof decodeBase64;
95
112
  declare const encoding_decodeHtmlEntities: typeof decodeHtmlEntities;
96
113
  declare const encoding_decodeUrl: typeof decodeUrl;
@@ -102,7 +119,7 @@ type encoding_encodeMode = encodeMode;
102
119
  declare const encoding_encodeUrl: typeof encodeUrl;
103
120
  declare const encoding_isValidBase32: typeof isValidBase32;
104
121
  declare namespace encoding {
105
- export { encoding_ALPHABETS as ALPHABETS, type encoding_Base32Alphabet as Base32Alphabet, type encoding_Base64DecodeResult as Base64DecodeResult, type encoding_Base64EncodeResult as Base64EncodeResult, type encoding_Base64Error as Base64Error, type encoding_Base64Variant as Base64Variant, type encoding_DecodeResult as DecodeResult, type encoding_EncodeResult as EncodeResult, type encoding_UrlEncodeError as UrlEncodeError, type encoding_UrlEncodeMode as UrlEncodeMode, type encoding_UrlEncodeResult as UrlEncodeResult, type encoding_UrlResult as UrlResult, encoding_base32Decode as base32Decode, encoding_base32DecodeBytes as base32DecodeBytes, encoding_base32Encode as base32Encode, encoding_base32EncodeBytes as base32EncodeBytes, encoding_decodeBase64 as decodeBase64, encoding_decodeHtmlEntities as decodeHtmlEntities, encoding_decodeUrl as decodeUrl, encoding_diffSegments as diffSegments, encoding_encodeBase64 as encodeBase64, encoding_encodeHtmlEntities as encodeHtmlEntities, encoding_encodeHtmlEntitiesAll as encodeHtmlEntitiesAll, type encoding_encodeMode as encodeMode, encoding_encodeUrl as encodeUrl, encoding_isValidBase32 as isValidBase32 };
122
+ export { encoding_ALPHABETS as ALPHABETS, type encoding_Base32Alphabet as Base32Alphabet, type encoding_Base64DecodeResult as Base64DecodeResult, type encoding_Base64EncodeResult as Base64EncodeResult, type encoding_Base64Error as Base64Error, type encoding_Base64Variant as Base64Variant, type encoding_DecodeResult as DecodeResult, type encoding_EncodeResult as EncodeResult, type encoding_UrlEncodeError as UrlEncodeError, type encoding_UrlEncodeMode as UrlEncodeMode, type encoding_UrlEncodeResult as UrlEncodeResult, type encoding_UrlResult as UrlResult, encoding_base32Decode as base32Decode, encoding_base32DecodeBytes as base32DecodeBytes, encoding_base32Encode as base32Encode, encoding_base32EncodeBytes as base32EncodeBytes, encoding_base58Decode as base58Decode, encoding_base58Encode as base58Encode, encoding_base62Decode as base62Decode, encoding_base62Encode as base62Encode, encoding_decodeBase64 as decodeBase64, encoding_decodeHtmlEntities as decodeHtmlEntities, encoding_decodeUrl as decodeUrl, encoding_diffSegments as diffSegments, encoding_encodeBase64 as encodeBase64, encoding_encodeHtmlEntities as encodeHtmlEntities, encoding_encodeHtmlEntitiesAll as encodeHtmlEntitiesAll, type encoding_encodeMode as encodeMode, encoding_encodeUrl as encodeUrl, encoding_isValidBase32 as isValidBase32 };
106
123
  }
107
124
 
108
- export { ALPHABETS as A, type Base32Alphabet as B, type DecodeResult as D, type EncodeResult as E, type UrlEncodeError as U, type Base64DecodeResult as a, type Base64EncodeResult as b, type Base64Error as c, type Base64Variant as d, encoding as e, type UrlEncodeMode as f, type UrlEncodeResult as g, type UrlResult as h, base32Decode as i, base32DecodeBytes as j, base32Encode as k, base32EncodeBytes as l, decodeBase64 as m, decodeHtmlEntities as n, decodeUrl as o, diffSegments as p, encodeBase64 as q, encodeHtmlEntities as r, encodeHtmlEntitiesAll as s, type encodeMode as t, encodeUrl as u, isValidBase32 as v };
125
+ export { ALPHABETS as A, type Base32Alphabet as B, type DecodeResult as D, type EncodeResult as E, type UrlEncodeError as U, type Base64DecodeResult as a, type Base64EncodeResult as b, type Base64Error as c, type Base64Variant as d, encoding as e, type UrlEncodeMode as f, type UrlEncodeResult as g, type UrlResult as h, base32Decode as i, base32DecodeBytes as j, base32Encode as k, base32EncodeBytes as l, base58Decode as m, base58Encode as n, base62Decode as o, base62Encode as p, decodeBase64 as q, decodeHtmlEntities as r, decodeUrl as s, diffSegments as t, encodeBase64 as u, encodeHtmlEntities as v, encodeHtmlEntitiesAll as w, type encodeMode as x, encodeUrl as y, isValidBase32 as z };
package/dist/index.cjs CHANGED
@@ -1296,6 +1296,10 @@ __export(encoding_exports, {
1296
1296
  base32DecodeBytes: () => base32DecodeBytes,
1297
1297
  base32Encode: () => base32Encode,
1298
1298
  base32EncodeBytes: () => base32EncodeBytes,
1299
+ base58Decode: () => base58Decode,
1300
+ base58Encode: () => base58Encode,
1301
+ base62Decode: () => base62Decode,
1302
+ base62Encode: () => base62Encode,
1299
1303
  decodeBase64: () => decodeBase64,
1300
1304
  decodeHtmlEntities: () => decodeHtmlEntities,
1301
1305
  decodeUrl: () => decodeUrl,
@@ -1549,6 +1553,62 @@ function isValidBase32(input, alphabet = "standard") {
1549
1553
  if (rem === 1 || rem === 3 || rem === 6) return false;
1550
1554
  return true;
1551
1555
  }
1556
+ var BASE58_ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
1557
+ var BASE62_ALPHABET = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
1558
+ function encodeBytesToBase(bytes, alphabet) {
1559
+ const base = BigInt(alphabet.length);
1560
+ let num = 0n;
1561
+ for (const byte of bytes) num = num << 8n | BigInt(byte);
1562
+ let out = "";
1563
+ while (num > 0n) {
1564
+ out = alphabet[Number(num % base)] + out;
1565
+ num = num / base;
1566
+ }
1567
+ let leadingZeros = 0;
1568
+ for (const byte of bytes) {
1569
+ if (byte === 0) leadingZeros++;
1570
+ else break;
1571
+ }
1572
+ return alphabet[0].repeat(leadingZeros) + out;
1573
+ }
1574
+ function decodeBaseToBytes(input, alphabet) {
1575
+ const base = BigInt(alphabet.length);
1576
+ let num = 0n;
1577
+ for (const char of input) {
1578
+ const idx = alphabet.indexOf(char);
1579
+ if (idx === -1) return { error: `Invalid character '${char}' for this alphabet` };
1580
+ num = num * base + BigInt(idx);
1581
+ }
1582
+ const bytes = [];
1583
+ while (num > 0n) {
1584
+ bytes.unshift(Number(num % 256n));
1585
+ num = num / 256n;
1586
+ }
1587
+ let leadingZeros = 0;
1588
+ for (const char of input) {
1589
+ if (char === alphabet[0]) leadingZeros++;
1590
+ else break;
1591
+ }
1592
+ return new Uint8Array([...new Array(leadingZeros).fill(0), ...bytes]);
1593
+ }
1594
+ function base58Encode(input) {
1595
+ return encodeBytesToBase(stringToBytes(input), BASE58_ALPHABET);
1596
+ }
1597
+ function base58Decode(input) {
1598
+ if (!input) return { error: "No input provided" };
1599
+ const result = decodeBaseToBytes(input, BASE58_ALPHABET);
1600
+ if (!(result instanceof Uint8Array)) return result;
1601
+ return bytesToString(result);
1602
+ }
1603
+ function base62Encode(input) {
1604
+ return encodeBytesToBase(stringToBytes(input), BASE62_ALPHABET);
1605
+ }
1606
+ function base62Decode(input) {
1607
+ if (!input) return { error: "No input provided" };
1608
+ const result = decodeBaseToBytes(input, BASE62_ALPHABET);
1609
+ if (!(result instanceof Uint8Array)) return result;
1610
+ return bytesToString(result);
1611
+ }
1552
1612
 
1553
1613
  // src/tools/hashing.ts
1554
1614
  var hashing_exports = {};
@@ -6617,6 +6677,7 @@ __export(units_exports, {
6617
6677
  COMMON_RATIOS: () => COMMON_RATIOS,
6618
6678
  COMMON_SIZES: () => COMMON_SIZES,
6619
6679
  COMMON_TAX_RATES: () => COMMON_TAX_RATES,
6680
+ COMMON_TIP_PERCENTAGES: () => COMMON_TIP_PERCENTAGES,
6620
6681
  COMMON_VIEWPORTS: () => COMMON_VIEWPORTS,
6621
6682
  autoFormat: () => autoFormat,
6622
6683
  bumpVersion: () => bumpVersion,
@@ -6624,7 +6685,9 @@ __export(units_exports, {
6624
6685
  calcSubnet: () => calcSubnet,
6625
6686
  calculateCompoundInterest: () => calculateCompoundInterest,
6626
6687
  calculateLoan: () => calculateLoan,
6688
+ calculateSimpleInterest: () => calculateSimpleInterest,
6627
6689
  calculateTax: () => calculateTax,
6690
+ calculateTipSplit: () => calculateTipSplit,
6628
6691
  compareSemver: () => compareSemver,
6629
6692
  convert: () => convert,
6630
6693
  convertBytes: () => convertBytes,
@@ -7863,6 +7926,42 @@ function validateIsbn(input) {
7863
7926
  }
7864
7927
  return { error: `Unsupported length (${cleaned.length} characters); expected 10 (ISBN-10) or 13 (ISBN-13)` };
7865
7928
  }
7929
+ var COMMON_TIP_PERCENTAGES = [10, 15, 18, 20, 25];
7930
+ function calculateTipSplit(billAmount, tipPercent, numPeople = 1) {
7931
+ if (!Number.isFinite(billAmount) || billAmount < 0) return { error: "Bill amount must be zero or a positive number" };
7932
+ if (!Number.isFinite(tipPercent) || tipPercent < 0) return { error: "Tip percent must be zero or a positive number" };
7933
+ if (!Number.isInteger(numPeople) || numPeople < 1) return { error: "Number of people must be a positive whole number" };
7934
+ const round23 = (n) => Math.round(n * 100) / 100;
7935
+ const billRounded = round23(billAmount);
7936
+ const tipAmount = round23(billAmount * (tipPercent / 100));
7937
+ const totalAmount = round23(billRounded + tipAmount);
7938
+ return {
7939
+ billAmount: billRounded,
7940
+ tipPercent,
7941
+ tipAmount,
7942
+ totalAmount,
7943
+ numPeople,
7944
+ perPersonBill: round23(billRounded / numPeople),
7945
+ perPersonTip: round23(tipAmount / numPeople),
7946
+ perPersonTotal: round23(totalAmount / numPeople)
7947
+ };
7948
+ }
7949
+ function calculateSimpleInterest(principal, annualRatePercent, years) {
7950
+ if (!Number.isFinite(principal) || principal < 0) return { error: "Principal must be zero or a positive number" };
7951
+ if (!Number.isFinite(annualRatePercent) || annualRatePercent < 0) {
7952
+ return { error: "Annual interest rate must be zero or a positive number" };
7953
+ }
7954
+ if (!Number.isFinite(years) || years <= 0) return { error: "Years must be a positive number" };
7955
+ const round23 = (n) => Math.round(n * 100) / 100;
7956
+ const interest = round23(principal * (annualRatePercent / 100) * years);
7957
+ return {
7958
+ principal: round23(principal),
7959
+ annualRatePercent,
7960
+ years,
7961
+ interest,
7962
+ totalPayoff: round23(principal + interest)
7963
+ };
7964
+ }
7866
7965
 
7867
7966
  // src/tools/network.ts
7868
7967
  var network_exports = {};
@@ -10750,6 +10849,7 @@ var code_exports = {};
10750
10849
  __export(code_exports, {
10751
10850
  ALL_FLAGS: () => ALL_FLAGS,
10752
10851
  CHEATSHEET: () => CHEATSHEET,
10852
+ MIME_TABLE: () => MIME_TABLE,
10753
10853
  OPERATIONS: () => OPERATIONS,
10754
10854
  SQL_DEFAULT_OPTIONS: () => SQL_DEFAULT_OPTIONS,
10755
10855
  buildDockerPull: () => buildDockerPull,
@@ -10772,6 +10872,7 @@ __export(code_exports, {
10772
10872
  getJsStats: () => getJsStats,
10773
10873
  getMethodColor: () => getMethodColor,
10774
10874
  isValidTag: () => isValidTag,
10875
+ lookupMime: () => lookupMime,
10775
10876
  minifyCss: () => minifyCss,
10776
10877
  minifyGql: () => minifyGql,
10777
10878
  minifyHtml: () => minifyHtml,
@@ -13022,6 +13123,138 @@ function countProperties(css) {
13022
13123
  });
13023
13124
  return count;
13024
13125
  }
13126
+ var MIME_TABLE = [
13127
+ // Text / web
13128
+ { extension: "txt", mimeType: "text/plain" },
13129
+ { extension: "html", mimeType: "text/html" },
13130
+ { extension: "htm", mimeType: "text/html" },
13131
+ { extension: "css", mimeType: "text/css" },
13132
+ { extension: "js", mimeType: "text/javascript" },
13133
+ { extension: "mjs", mimeType: "text/javascript" },
13134
+ { extension: "json", mimeType: "application/json" },
13135
+ { extension: "jsonld", mimeType: "application/ld+json" },
13136
+ { extension: "xml", mimeType: "application/xml" },
13137
+ { extension: "csv", mimeType: "text/csv" },
13138
+ { extension: "tsv", mimeType: "text/tab-separated-values" },
13139
+ { extension: "md", mimeType: "text/markdown" },
13140
+ { extension: "rtf", mimeType: "application/rtf" },
13141
+ { extension: "yaml", mimeType: "application/x-yaml" },
13142
+ { extension: "yml", mimeType: "application/x-yaml" },
13143
+ { extension: "toml", mimeType: "application/toml" },
13144
+ { extension: "ini", mimeType: "text/plain" },
13145
+ { extension: "ics", mimeType: "text/calendar" },
13146
+ { extension: "vcf", mimeType: "text/vcard" },
13147
+ { extension: "atom", mimeType: "application/atom+xml" },
13148
+ { extension: "rss", mimeType: "application/rss+xml" },
13149
+ // Images
13150
+ { extension: "png", mimeType: "image/png" },
13151
+ { extension: "jpg", mimeType: "image/jpeg" },
13152
+ { extension: "jpeg", mimeType: "image/jpeg" },
13153
+ { extension: "gif", mimeType: "image/gif" },
13154
+ { extension: "bmp", mimeType: "image/bmp" },
13155
+ { extension: "webp", mimeType: "image/webp" },
13156
+ { extension: "svg", mimeType: "image/svg+xml" },
13157
+ { extension: "ico", mimeType: "image/x-icon" },
13158
+ { extension: "tif", mimeType: "image/tiff" },
13159
+ { extension: "tiff", mimeType: "image/tiff" },
13160
+ { extension: "avif", mimeType: "image/avif" },
13161
+ { extension: "heic", mimeType: "image/heic" },
13162
+ { extension: "psd", mimeType: "image/vnd.adobe.photoshop" },
13163
+ // Fonts
13164
+ { extension: "ttf", mimeType: "font/ttf" },
13165
+ { extension: "otf", mimeType: "font/otf" },
13166
+ { extension: "woff", mimeType: "font/woff" },
13167
+ { extension: "woff2", mimeType: "font/woff2" },
13168
+ { extension: "eot", mimeType: "application/vnd.ms-fontobject" },
13169
+ // Documents
13170
+ { extension: "pdf", mimeType: "application/pdf" },
13171
+ { extension: "doc", mimeType: "application/msword" },
13172
+ { extension: "docx", mimeType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document" },
13173
+ { extension: "xls", mimeType: "application/vnd.ms-excel" },
13174
+ { extension: "xlsx", mimeType: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" },
13175
+ { extension: "ppt", mimeType: "application/vnd.ms-powerpoint" },
13176
+ { extension: "pptx", mimeType: "application/vnd.openxmlformats-officedocument.presentationml.presentation" },
13177
+ { extension: "odt", mimeType: "application/vnd.oasis.opendocument.text" },
13178
+ { extension: "ods", mimeType: "application/vnd.oasis.opendocument.spreadsheet" },
13179
+ { extension: "odp", mimeType: "application/vnd.oasis.opendocument.presentation" },
13180
+ { extension: "epub", mimeType: "application/epub+zip" },
13181
+ // Archives
13182
+ { extension: "zip", mimeType: "application/zip" },
13183
+ { extension: "rar", mimeType: "application/vnd.rar" },
13184
+ { extension: "7z", mimeType: "application/x-7z-compressed" },
13185
+ { extension: "tar", mimeType: "application/x-tar" },
13186
+ { extension: "gz", mimeType: "application/gzip" },
13187
+ { extension: "bz2", mimeType: "application/x-bzip2" },
13188
+ { extension: "jar", mimeType: "application/java-archive" },
13189
+ // Audio
13190
+ { extension: "mp3", mimeType: "audio/mpeg" },
13191
+ { extension: "wav", mimeType: "audio/wav" },
13192
+ { extension: "ogg", mimeType: "audio/ogg" },
13193
+ { extension: "oga", mimeType: "audio/ogg" },
13194
+ { extension: "flac", mimeType: "audio/flac" },
13195
+ { extension: "aac", mimeType: "audio/aac" },
13196
+ { extension: "m4a", mimeType: "audio/mp4" },
13197
+ { extension: "mid", mimeType: "audio/midi" },
13198
+ { extension: "midi", mimeType: "audio/midi" },
13199
+ { extension: "weba", mimeType: "audio/webm" },
13200
+ // Video
13201
+ { extension: "mp4", mimeType: "video/mp4" },
13202
+ { extension: "m4v", mimeType: "video/mp4" },
13203
+ { extension: "webm", mimeType: "video/webm" },
13204
+ { extension: "mov", mimeType: "video/quicktime" },
13205
+ { extension: "avi", mimeType: "video/x-msvideo" },
13206
+ { extension: "mkv", mimeType: "video/x-matroska" },
13207
+ { extension: "wmv", mimeType: "video/x-ms-wmv" },
13208
+ { extension: "flv", mimeType: "video/x-flv" },
13209
+ { extension: "mpeg", mimeType: "video/mpeg" },
13210
+ { extension: "mpg", mimeType: "video/mpeg" },
13211
+ { extension: "3gp", mimeType: "video/3gpp" },
13212
+ { extension: "ts", mimeType: "video/mp2t" },
13213
+ // Application / binary
13214
+ { extension: "bin", mimeType: "application/octet-stream" },
13215
+ { extension: "exe", mimeType: "application/vnd.microsoft.portable-executable" },
13216
+ { extension: "dmg", mimeType: "application/x-apple-diskimage" },
13217
+ { extension: "apk", mimeType: "application/vnd.android.package-archive" },
13218
+ { extension: "iso", mimeType: "application/x-iso9660-image" },
13219
+ { extension: "deb", mimeType: "application/vnd.debian.binary-package" },
13220
+ { extension: "rpm", mimeType: "application/x-rpm" },
13221
+ { extension: "msi", mimeType: "application/x-msi" },
13222
+ { extension: "dll", mimeType: "application/x-msdownload" },
13223
+ { extension: "so", mimeType: "application/octet-stream" },
13224
+ { extension: "wasm", mimeType: "application/wasm" },
13225
+ { extension: "swf", mimeType: "application/x-shockwave-flash" },
13226
+ { extension: "crx", mimeType: "application/x-chrome-extension" },
13227
+ { extension: "torrent", mimeType: "application/x-bittorrent" },
13228
+ // Code / config
13229
+ { extension: "sh", mimeType: "application/x-sh" },
13230
+ { extension: "bat", mimeType: "application/x-bat" },
13231
+ { extension: "py", mimeType: "text/x-python" },
13232
+ { extension: "java", mimeType: "text/x-java-source" },
13233
+ { extension: "c", mimeType: "text/x-c" },
13234
+ { extension: "h", mimeType: "text/x-c" },
13235
+ { extension: "cpp", mimeType: "text/x-c++src" },
13236
+ { extension: "rb", mimeType: "text/x-ruby" },
13237
+ { extension: "php", mimeType: "application/x-httpd-php" },
13238
+ { extension: "go", mimeType: "text/x-go" },
13239
+ { extension: "rs", mimeType: "text/x-rust" },
13240
+ { extension: "swift", mimeType: "text/x-swift" },
13241
+ { extension: "sql", mimeType: "application/sql" },
13242
+ { extension: "log", mimeType: "text/plain" }
13243
+ ];
13244
+ function lookupMime(query) {
13245
+ if (!query || !query.trim()) return { error: "Input is empty" };
13246
+ const trimmed = query.trim();
13247
+ if (trimmed.includes("/")) {
13248
+ const mime = trimmed.toLowerCase();
13249
+ const matches2 = MIME_TABLE.filter((e) => e.mimeType.toLowerCase() === mime);
13250
+ if (matches2.length === 0) return { error: `No known file extension for MIME type "${trimmed}"` };
13251
+ return { query: trimmed, kind: "mime", matches: matches2 };
13252
+ }
13253
+ const ext = trimmed.replace(/^\./, "").toLowerCase();
13254
+ const matches = MIME_TABLE.filter((e) => e.extension === ext);
13255
+ if (matches.length === 0) return { error: `No known MIME type for extension ".${ext}"` };
13256
+ return { query: trimmed, kind: "extension", matches };
13257
+ }
13025
13258
 
13026
13259
  // src/tools/color.ts
13027
13260
  var color_exports = {};
package/dist/index.d.cts CHANGED
@@ -1,14 +1,14 @@
1
1
  export { j as json } from './json-BjSoIS1h.cjs';
2
- export { e as encoding } from './encoding-7gmq-vkV.cjs';
2
+ export { e as encoding } from './encoding-Dk3wpmb3.cjs';
3
3
  export { h as hashing } from './hashing-CnetQFD_.cjs';
4
4
  export { t as text } from './text-Bbx-tZ43.cjs';
5
5
  export { d as data } from './data-D8XTI7Du.cjs';
6
6
  export { g as generators } from './generators-BGtRGpJZ.cjs';
7
7
  export { t as time } from './time-DbT8fjaF.cjs';
8
- export { u as units } from './units-C4N1Dq7_.cjs';
8
+ export { u as units } from './units-CkV4kAIs.cjs';
9
9
  export { n as network } from './network-DaNoZ5ER.cjs';
10
10
  export { a as api } from './api-Xl7OzIgq.cjs';
11
- export { c as code } from './code-BUqyaofO.cjs';
11
+ export { c as code } from './code-C4skwg3l.cjs';
12
12
  export { c as color } from './color-tPwZCr9H.cjs';
13
13
  export { c as css } from './css-Cf7AMGM-.cjs';
14
14
  export { m as misc } from './misc-CA3N198T.cjs';
package/dist/index.d.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  export { j as json } from './json-BjSoIS1h.js';
2
- export { e as encoding } from './encoding-7gmq-vkV.js';
2
+ export { e as encoding } from './encoding-Dk3wpmb3.js';
3
3
  export { h as hashing } from './hashing-CnetQFD_.js';
4
4
  export { t as text } from './text-Bbx-tZ43.js';
5
5
  export { d as data } from './data-D8XTI7Du.js';
6
6
  export { g as generators } from './generators-BGtRGpJZ.js';
7
7
  export { t as time } from './time-DbT8fjaF.js';
8
- export { u as units } from './units-C4N1Dq7_.js';
8
+ export { u as units } from './units-CkV4kAIs.js';
9
9
  export { n as network } from './network-DaNoZ5ER.js';
10
10
  export { a as api } from './api-Xl7OzIgq.js';
11
- export { c as code } from './code-BUqyaofO.js';
11
+ export { c as code } from './code-C4skwg3l.js';
12
12
  export { c as color } from './color-tPwZCr9H.js';
13
13
  export { c as css } from './css-Cf7AMGM-.js';
14
14
  export { m as misc } from './misc-CA3N198T.js';
package/dist/index.js CHANGED
@@ -1,14 +1,14 @@
1
1
  export { media_exports as media } from './chunk-XMKJYVKB.js';
2
- export { units_exports as units } from './chunk-2TQTKZCN.js';
2
+ export { units_exports as units } from './chunk-M4MMO6C6.js';
3
3
  export { network_exports as network } from './chunk-OB56VNKJ.js';
4
4
  export { api_exports as api } from './chunk-Q3B3YWOA.js';
5
- export { code_exports as code } from './chunk-V5S6OJ4A.js';
5
+ export { code_exports as code } from './chunk-Y5X34JAC.js';
6
6
  export { color_exports as color } from './chunk-BPVAB4P2.js';
7
7
  export { css_exports as css } from './chunk-6YPV2AB5.js';
8
8
  export { misc_exports as misc } from './chunk-GX7H6TAX.js';
9
9
  export { ai_agent_exports as ai_agent } from './chunk-M35VJETW.js';
10
10
  export { json_exports as json } from './chunk-TSAGO3XP.js';
11
- export { encoding_exports as encoding } from './chunk-IPR7FSX4.js';
11
+ export { encoding_exports as encoding } from './chunk-DOWQZUTP.js';
12
12
  export { hashing_exports as hashing } from './chunk-GEFVMGZR.js';
13
13
  export { text_exports as text } from './chunk-F57WMKZO.js';
14
14
  export { data_exports as data } from './chunk-TINQFTLO.js';
@@ -2231,9 +2231,142 @@ function countProperties(css) {
2231
2231
  });
2232
2232
  return count;
2233
2233
  }
2234
+ var MIME_TABLE = [
2235
+ // Text / web
2236
+ { extension: "txt", mimeType: "text/plain" },
2237
+ { extension: "html", mimeType: "text/html" },
2238
+ { extension: "htm", mimeType: "text/html" },
2239
+ { extension: "css", mimeType: "text/css" },
2240
+ { extension: "js", mimeType: "text/javascript" },
2241
+ { extension: "mjs", mimeType: "text/javascript" },
2242
+ { extension: "json", mimeType: "application/json" },
2243
+ { extension: "jsonld", mimeType: "application/ld+json" },
2244
+ { extension: "xml", mimeType: "application/xml" },
2245
+ { extension: "csv", mimeType: "text/csv" },
2246
+ { extension: "tsv", mimeType: "text/tab-separated-values" },
2247
+ { extension: "md", mimeType: "text/markdown" },
2248
+ { extension: "rtf", mimeType: "application/rtf" },
2249
+ { extension: "yaml", mimeType: "application/x-yaml" },
2250
+ { extension: "yml", mimeType: "application/x-yaml" },
2251
+ { extension: "toml", mimeType: "application/toml" },
2252
+ { extension: "ini", mimeType: "text/plain" },
2253
+ { extension: "ics", mimeType: "text/calendar" },
2254
+ { extension: "vcf", mimeType: "text/vcard" },
2255
+ { extension: "atom", mimeType: "application/atom+xml" },
2256
+ { extension: "rss", mimeType: "application/rss+xml" },
2257
+ // Images
2258
+ { extension: "png", mimeType: "image/png" },
2259
+ { extension: "jpg", mimeType: "image/jpeg" },
2260
+ { extension: "jpeg", mimeType: "image/jpeg" },
2261
+ { extension: "gif", mimeType: "image/gif" },
2262
+ { extension: "bmp", mimeType: "image/bmp" },
2263
+ { extension: "webp", mimeType: "image/webp" },
2264
+ { extension: "svg", mimeType: "image/svg+xml" },
2265
+ { extension: "ico", mimeType: "image/x-icon" },
2266
+ { extension: "tif", mimeType: "image/tiff" },
2267
+ { extension: "tiff", mimeType: "image/tiff" },
2268
+ { extension: "avif", mimeType: "image/avif" },
2269
+ { extension: "heic", mimeType: "image/heic" },
2270
+ { extension: "psd", mimeType: "image/vnd.adobe.photoshop" },
2271
+ // Fonts
2272
+ { extension: "ttf", mimeType: "font/ttf" },
2273
+ { extension: "otf", mimeType: "font/otf" },
2274
+ { extension: "woff", mimeType: "font/woff" },
2275
+ { extension: "woff2", mimeType: "font/woff2" },
2276
+ { extension: "eot", mimeType: "application/vnd.ms-fontobject" },
2277
+ // Documents
2278
+ { extension: "pdf", mimeType: "application/pdf" },
2279
+ { extension: "doc", mimeType: "application/msword" },
2280
+ { extension: "docx", mimeType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document" },
2281
+ { extension: "xls", mimeType: "application/vnd.ms-excel" },
2282
+ { extension: "xlsx", mimeType: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" },
2283
+ { extension: "ppt", mimeType: "application/vnd.ms-powerpoint" },
2284
+ { extension: "pptx", mimeType: "application/vnd.openxmlformats-officedocument.presentationml.presentation" },
2285
+ { extension: "odt", mimeType: "application/vnd.oasis.opendocument.text" },
2286
+ { extension: "ods", mimeType: "application/vnd.oasis.opendocument.spreadsheet" },
2287
+ { extension: "odp", mimeType: "application/vnd.oasis.opendocument.presentation" },
2288
+ { extension: "epub", mimeType: "application/epub+zip" },
2289
+ // Archives
2290
+ { extension: "zip", mimeType: "application/zip" },
2291
+ { extension: "rar", mimeType: "application/vnd.rar" },
2292
+ { extension: "7z", mimeType: "application/x-7z-compressed" },
2293
+ { extension: "tar", mimeType: "application/x-tar" },
2294
+ { extension: "gz", mimeType: "application/gzip" },
2295
+ { extension: "bz2", mimeType: "application/x-bzip2" },
2296
+ { extension: "jar", mimeType: "application/java-archive" },
2297
+ // Audio
2298
+ { extension: "mp3", mimeType: "audio/mpeg" },
2299
+ { extension: "wav", mimeType: "audio/wav" },
2300
+ { extension: "ogg", mimeType: "audio/ogg" },
2301
+ { extension: "oga", mimeType: "audio/ogg" },
2302
+ { extension: "flac", mimeType: "audio/flac" },
2303
+ { extension: "aac", mimeType: "audio/aac" },
2304
+ { extension: "m4a", mimeType: "audio/mp4" },
2305
+ { extension: "mid", mimeType: "audio/midi" },
2306
+ { extension: "midi", mimeType: "audio/midi" },
2307
+ { extension: "weba", mimeType: "audio/webm" },
2308
+ // Video
2309
+ { extension: "mp4", mimeType: "video/mp4" },
2310
+ { extension: "m4v", mimeType: "video/mp4" },
2311
+ { extension: "webm", mimeType: "video/webm" },
2312
+ { extension: "mov", mimeType: "video/quicktime" },
2313
+ { extension: "avi", mimeType: "video/x-msvideo" },
2314
+ { extension: "mkv", mimeType: "video/x-matroska" },
2315
+ { extension: "wmv", mimeType: "video/x-ms-wmv" },
2316
+ { extension: "flv", mimeType: "video/x-flv" },
2317
+ { extension: "mpeg", mimeType: "video/mpeg" },
2318
+ { extension: "mpg", mimeType: "video/mpeg" },
2319
+ { extension: "3gp", mimeType: "video/3gpp" },
2320
+ { extension: "ts", mimeType: "video/mp2t" },
2321
+ // Application / binary
2322
+ { extension: "bin", mimeType: "application/octet-stream" },
2323
+ { extension: "exe", mimeType: "application/vnd.microsoft.portable-executable" },
2324
+ { extension: "dmg", mimeType: "application/x-apple-diskimage" },
2325
+ { extension: "apk", mimeType: "application/vnd.android.package-archive" },
2326
+ { extension: "iso", mimeType: "application/x-iso9660-image" },
2327
+ { extension: "deb", mimeType: "application/vnd.debian.binary-package" },
2328
+ { extension: "rpm", mimeType: "application/x-rpm" },
2329
+ { extension: "msi", mimeType: "application/x-msi" },
2330
+ { extension: "dll", mimeType: "application/x-msdownload" },
2331
+ { extension: "so", mimeType: "application/octet-stream" },
2332
+ { extension: "wasm", mimeType: "application/wasm" },
2333
+ { extension: "swf", mimeType: "application/x-shockwave-flash" },
2334
+ { extension: "crx", mimeType: "application/x-chrome-extension" },
2335
+ { extension: "torrent", mimeType: "application/x-bittorrent" },
2336
+ // Code / config
2337
+ { extension: "sh", mimeType: "application/x-sh" },
2338
+ { extension: "bat", mimeType: "application/x-bat" },
2339
+ { extension: "py", mimeType: "text/x-python" },
2340
+ { extension: "java", mimeType: "text/x-java-source" },
2341
+ { extension: "c", mimeType: "text/x-c" },
2342
+ { extension: "h", mimeType: "text/x-c" },
2343
+ { extension: "cpp", mimeType: "text/x-c++src" },
2344
+ { extension: "rb", mimeType: "text/x-ruby" },
2345
+ { extension: "php", mimeType: "application/x-httpd-php" },
2346
+ { extension: "go", mimeType: "text/x-go" },
2347
+ { extension: "rs", mimeType: "text/x-rust" },
2348
+ { extension: "swift", mimeType: "text/x-swift" },
2349
+ { extension: "sql", mimeType: "application/sql" },
2350
+ { extension: "log", mimeType: "text/plain" }
2351
+ ];
2352
+ function lookupMime(query) {
2353
+ if (!query || !query.trim()) return { error: "Input is empty" };
2354
+ const trimmed = query.trim();
2355
+ if (trimmed.includes("/")) {
2356
+ const mime = trimmed.toLowerCase();
2357
+ const matches2 = MIME_TABLE.filter((e) => e.mimeType.toLowerCase() === mime);
2358
+ if (matches2.length === 0) return { error: `No known file extension for MIME type "${trimmed}"` };
2359
+ return { query: trimmed, kind: "mime", matches: matches2 };
2360
+ }
2361
+ const ext = trimmed.replace(/^\./, "").toLowerCase();
2362
+ const matches = MIME_TABLE.filter((e) => e.extension === ext);
2363
+ if (matches.length === 0) return { error: `No known MIME type for extension ".${ext}"` };
2364
+ return { query: trimmed, kind: "extension", matches };
2365
+ }
2234
2366
 
2235
2367
  exports.ALL_FLAGS = ALL_FLAGS;
2236
2368
  exports.CHEATSHEET = CHEATSHEET;
2369
+ exports.MIME_TABLE = MIME_TABLE;
2237
2370
  exports.OPERATIONS = OPERATIONS;
2238
2371
  exports.SQL_DEFAULT_OPTIONS = SQL_DEFAULT_OPTIONS;
2239
2372
  exports.buildDockerPull = buildDockerPull;
@@ -2256,6 +2389,7 @@ exports.getHtmlStats = getHtmlStats;
2256
2389
  exports.getJsStats = getJsStats;
2257
2390
  exports.getMethodColor = getMethodColor;
2258
2391
  exports.isValidTag = isValidTag;
2392
+ exports.lookupMime = lookupMime;
2259
2393
  exports.minifyCss = minifyCss;
2260
2394
  exports.minifyGql = minifyGql;
2261
2395
  exports.minifyHtml = minifyHtml;
@@ -1 +1 @@
1
- export { A as ALL_FLAGS, a as ApiEndpoint, b as ApiInfo, C as CHEATSHEET, d as CheatsheetEntry, e as CssResult, D as DockerImageRef, E as EnvEntry, f as EnvParseResult, G as GitCommandConfig, g as GitCommandResult, h as GitOperation, i as GqlFormatResult, H as HtmlFormatResult, j as HtmlMinifyOptions, k as HtmlMinifyResult, J as JsMinifyOptions, l as JsMinifyResult, M as MatchResult, O as OPERATIONS, P as ParsedSpec, R as RegexError, m as RegexFlag, n as RegexMatch, o as RegexResult, p as RegexSuccess, S as SQL_DEFAULT_OPTIONS, q as Segment, r as SpecVersion, s as SqlDialect, t as SqlFormatOptions, T as TestPatternResult, u as buildDockerPull, v as buildDockerRun, w as buildGitCommand, x as collapseHtmlWhitespace, y as collapseJsWhitespace, z as countProperties, B as countRules, F as detectDialect, I as detectOperationType, K as envToExport, L as envToJson, N as formatCss, Q as formatGql, U as formatHtml, V as formatSql, W as getEndpointsByTag, X as getHtmlStats, Y as getJsStats, Z as getMethodColor, _ as isValidTag, $ as minifyCss, a0 as minifyGql, a1 as minifyHtml, a2 as minifyJs, a3 as minifySql, a4 as normalizeRef, a5 as parseDockerImage, a6 as parseEnv, a7 as parseGitCommand, a8 as parseSpec, a9 as removeConsoleCalls, aa as removeEmptyAttributes, ab as removeHtmlComments, ac as removeJsComments, ad as removeRedundantAttributes, ae as searchCheatsheet, af as searchEndpoints, ag as splitStatements, ah as testPattern, ai as testRegex, aj as validateEnvKey } from '../code-BUqyaofO.cjs';
1
+ export { A as ALL_FLAGS, a as ApiEndpoint, b as ApiInfo, C as CHEATSHEET, d as CheatsheetEntry, e as CssResult, D as DockerImageRef, E as EnvEntry, f as EnvParseResult, G as GitCommandConfig, g as GitCommandResult, h as GitOperation, i as GqlFormatResult, H as HtmlFormatResult, j as HtmlMinifyOptions, k as HtmlMinifyResult, J as JsMinifyOptions, l as JsMinifyResult, M as MIME_TABLE, m as MatchResult, n as MimeEntry, o as MimeLookupResult, O as OPERATIONS, P as ParsedSpec, R as RegexError, p as RegexFlag, q as RegexMatch, r as RegexResult, s as RegexSuccess, S as SQL_DEFAULT_OPTIONS, t as Segment, u as SpecVersion, v as SqlDialect, w as SqlFormatOptions, T as TestPatternResult, x as buildDockerPull, y as buildDockerRun, z as buildGitCommand, B as collapseHtmlWhitespace, F as collapseJsWhitespace, I as countProperties, K as countRules, L as detectDialect, N as detectOperationType, Q as envToExport, U as envToJson, V as formatCss, W as formatGql, X as formatHtml, Y as formatSql, Z as getEndpointsByTag, _ as getHtmlStats, $ as getJsStats, a0 as getMethodColor, a1 as isValidTag, a2 as lookupMime, a3 as minifyCss, a4 as minifyGql, a5 as minifyHtml, a6 as minifyJs, a7 as minifySql, a8 as normalizeRef, a9 as parseDockerImage, aa as parseEnv, ab as parseGitCommand, ac as parseSpec, ad as removeConsoleCalls, ae as removeEmptyAttributes, af as removeHtmlComments, ag as removeJsComments, ah as removeRedundantAttributes, ai as searchCheatsheet, aj as searchEndpoints, ak as splitStatements, al as testPattern, am as testRegex, an as validateEnvKey } from '../code-C4skwg3l.cjs';
@@ -1 +1 @@
1
- export { A as ALL_FLAGS, a as ApiEndpoint, b as ApiInfo, C as CHEATSHEET, d as CheatsheetEntry, e as CssResult, D as DockerImageRef, E as EnvEntry, f as EnvParseResult, G as GitCommandConfig, g as GitCommandResult, h as GitOperation, i as GqlFormatResult, H as HtmlFormatResult, j as HtmlMinifyOptions, k as HtmlMinifyResult, J as JsMinifyOptions, l as JsMinifyResult, M as MatchResult, O as OPERATIONS, P as ParsedSpec, R as RegexError, m as RegexFlag, n as RegexMatch, o as RegexResult, p as RegexSuccess, S as SQL_DEFAULT_OPTIONS, q as Segment, r as SpecVersion, s as SqlDialect, t as SqlFormatOptions, T as TestPatternResult, u as buildDockerPull, v as buildDockerRun, w as buildGitCommand, x as collapseHtmlWhitespace, y as collapseJsWhitespace, z as countProperties, B as countRules, F as detectDialect, I as detectOperationType, K as envToExport, L as envToJson, N as formatCss, Q as formatGql, U as formatHtml, V as formatSql, W as getEndpointsByTag, X as getHtmlStats, Y as getJsStats, Z as getMethodColor, _ as isValidTag, $ as minifyCss, a0 as minifyGql, a1 as minifyHtml, a2 as minifyJs, a3 as minifySql, a4 as normalizeRef, a5 as parseDockerImage, a6 as parseEnv, a7 as parseGitCommand, a8 as parseSpec, a9 as removeConsoleCalls, aa as removeEmptyAttributes, ab as removeHtmlComments, ac as removeJsComments, ad as removeRedundantAttributes, ae as searchCheatsheet, af as searchEndpoints, ag as splitStatements, ah as testPattern, ai as testRegex, aj as validateEnvKey } from '../code-BUqyaofO.js';
1
+ export { A as ALL_FLAGS, a as ApiEndpoint, b as ApiInfo, C as CHEATSHEET, d as CheatsheetEntry, e as CssResult, D as DockerImageRef, E as EnvEntry, f as EnvParseResult, G as GitCommandConfig, g as GitCommandResult, h as GitOperation, i as GqlFormatResult, H as HtmlFormatResult, j as HtmlMinifyOptions, k as HtmlMinifyResult, J as JsMinifyOptions, l as JsMinifyResult, M as MIME_TABLE, m as MatchResult, n as MimeEntry, o as MimeLookupResult, O as OPERATIONS, P as ParsedSpec, R as RegexError, p as RegexFlag, q as RegexMatch, r as RegexResult, s as RegexSuccess, S as SQL_DEFAULT_OPTIONS, t as Segment, u as SpecVersion, v as SqlDialect, w as SqlFormatOptions, T as TestPatternResult, x as buildDockerPull, y as buildDockerRun, z as buildGitCommand, B as collapseHtmlWhitespace, F as collapseJsWhitespace, I as countProperties, K as countRules, L as detectDialect, N as detectOperationType, Q as envToExport, U as envToJson, V as formatCss, W as formatGql, X as formatHtml, Y as formatSql, Z as getEndpointsByTag, _ as getHtmlStats, $ as getJsStats, a0 as getMethodColor, a1 as isValidTag, a2 as lookupMime, a3 as minifyCss, a4 as minifyGql, a5 as minifyHtml, a6 as minifyJs, a7 as minifySql, a8 as normalizeRef, a9 as parseDockerImage, aa as parseEnv, ab as parseGitCommand, ac as parseSpec, ad as removeConsoleCalls, ae as removeEmptyAttributes, af as removeHtmlComments, ag as removeJsComments, ah as removeRedundantAttributes, ai as searchCheatsheet, aj as searchEndpoints, ak as splitStatements, al as testPattern, am as testRegex, an as validateEnvKey } from '../code-C4skwg3l.js';
@@ -1,2 +1,2 @@
1
- export { ALL_FLAGS, CHEATSHEET, OPERATIONS, SQL_DEFAULT_OPTIONS, buildDockerPull, buildDockerRun, buildGitCommand, collapseHtmlWhitespace, collapseJsWhitespace, countProperties, countRules, detectDialect, detectOperationType, envToExport, envToJson, formatCss, formatGql, formatHtml, formatSql, getEndpointsByTag, getHtmlStats, getJsStats, getMethodColor, isValidTag, minifyCss, minifyGql, minifyHtml, minifyJs, minifySql, normalizeRef, parseDockerImage, parseEnv, parseGitCommand, parseSpec, removeConsoleCalls, removeEmptyAttributes, removeHtmlComments, removeJsComments, removeRedundantAttributes, searchCheatsheet, searchEndpoints, splitStatements, testPattern, testRegex, validateEnvKey } from '../chunk-V5S6OJ4A.js';
1
+ export { ALL_FLAGS, CHEATSHEET, MIME_TABLE, OPERATIONS, SQL_DEFAULT_OPTIONS, buildDockerPull, buildDockerRun, buildGitCommand, collapseHtmlWhitespace, collapseJsWhitespace, countProperties, countRules, detectDialect, detectOperationType, envToExport, envToJson, formatCss, formatGql, formatHtml, formatSql, getEndpointsByTag, getHtmlStats, getJsStats, getMethodColor, isValidTag, lookupMime, minifyCss, minifyGql, minifyHtml, minifyJs, minifySql, normalizeRef, parseDockerImage, parseEnv, parseGitCommand, parseSpec, removeConsoleCalls, removeEmptyAttributes, removeHtmlComments, removeJsComments, removeRedundantAttributes, searchCheatsheet, searchEndpoints, splitStatements, testPattern, testRegex, validateEnvKey } from '../chunk-Y5X34JAC.js';
2
2
  import '../chunk-MLKGABMK.js';