@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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  Full release notes for all Utilix surfaces (browser tools, REST API, SDKs, MCP server) live at [utilix.tech/changelog](https://utilix.tech/changelog). This file tracks just this package.
4
4
 
5
+ ## 0.16.0
6
+ - Added Simple Interest Calculator (`calculateSimpleInterest`) and Base58 / Base62 Encoder (`base58Encode`, `base58Decode`, `base62Encode`, `base62Decode`).
7
+
8
+ ## 0.15.0
9
+ - Added MIME Type Lookup (`lookupMime`) and Tip / Bill Split Calculator (`calculateTipSplit`).
10
+
5
11
  ## 0.14.0
6
12
  - Added Compound Interest Calculator (`calculateCompoundInterest`) and ISBN Validator / Converter (`validateIsbn`).
7
13
 
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @utilix-tech/sdk
2
2
 
3
- **539 developer utility functions for Node.js: runs locally, no API key required.**
3
+ **548 developer utility functions for Node.js: runs locally, no API key required.**
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/@utilix-tech/sdk?style=flat-square&color=cb3837)](https://www.npmjs.com/package/@utilix-tech/sdk)
6
6
  [![npm downloads](https://img.shields.io/npm/dm/@utilix-tech/sdk?style=flat-square)](https://www.npmjs.com/package/@utilix-tech/sdk)
@@ -93,13 +93,18 @@ validateJson(data, schema);
93
93
 
94
94
  ```ts
95
95
  import { encodeBase64, decodeBase64, encodeUrl, decodeUrl,
96
- encodeHtmlEntities, decodeHtmlEntities, base32Encode, base32Decode } from "@utilix-tech/sdk/encoding";
96
+ encodeHtmlEntities, decodeHtmlEntities, base32Encode, base32Decode,
97
+ base58Encode, base58Decode, base62Encode, base62Decode } from "@utilix-tech/sdk/encoding";
97
98
 
98
99
  encodeBase64("Hello, World!"); // "SGVsbG8sIFdvcmxkIQ=="
99
100
  decodeBase64("SGVsbG8sIFdvcmxkIQ=="); // "Hello, World!"
100
101
  encodeUrl("hello world?"); // "hello%20world%3F"
101
102
  encodeHtmlEntities("<div class=\"a\">"); // "&lt;div class=&quot;a&quot;&gt;"
102
103
  base32Encode("hello"); // "NBSWY3DPEB3W64TMMQ======"
104
+
105
+ // Base58 (Bitcoin-style, no ambiguous 0/O/I/l) and Base62 (alphanumeric)
106
+ base58Encode("hello world"); // "StV1DL6CwTryKyV"
107
+ base62Encode("hello world"); // "AAwf93rvy4aWQVw"
103
108
  ```
104
109
 
105
110
  ---
@@ -242,7 +247,7 @@ getNextRuns("*/5 * * * *", 5); // next 5 run timestamps
242
247
  ### `/units`: Conversions
243
248
 
244
249
  ```ts
245
- import { convertBytes, pxToAll, convert, formatValue, validateCardNumber, validateIban, calculateLoan, validateBarcode, calculateTax, calculateCompoundInterest, validateIsbn } from "@utilix-tech/sdk/units";
250
+ import { convertBytes, pxToAll, convert, formatValue, validateCardNumber, validateIban, calculateLoan, validateBarcode, calculateTax, calculateCompoundInterest, validateIsbn, calculateTipSplit, calculateSimpleInterest } from "@utilix-tech/sdk/units";
246
251
 
247
252
  // File sizes
248
253
  convertBytes(1073741824, "GB"); // 1
@@ -288,6 +293,14 @@ calculateCompoundInterest(1000, 5, 10, 1);
288
293
  // ISBN-10 / ISBN-13 checksum validation + format conversion
289
294
  validateIsbn("0-306-40615-2");
290
295
  // { valid: true, format: "ISBN-10", converted: "9780306406157", ... }
296
+
297
+ // Tip / bill split: tip amount, total, and an even per-person split
298
+ calculateTipSplit(84.5, 18, 2);
299
+ // { tipAmount: 15.21, totalAmount: 99.71, perPersonTotal: 49.86, ... }
300
+
301
+ // Simple (non-compounding) interest: principal x rate x time
302
+ calculateSimpleInterest(1000, 5, 2);
303
+ // { interest: 100, totalPayoff: 1100, ... }
291
304
  ```
292
305
 
293
306
  ---
@@ -366,7 +379,7 @@ generateCspHeader({ "default-src": ["'self'"], "script-src": ["'self'", "cdn.exa
366
379
 
367
380
  ```ts
368
381
  import { formatSql, minifySql, testRegex, formatHtml, formatGql,
369
- detectDialect, splitStatements } from "@utilix-tech/sdk/code";
382
+ detectDialect, splitStatements, lookupMime } from "@utilix-tech/sdk/code";
370
383
 
371
384
  // SQL
372
385
  formatSql("SELECT id,name FROM users WHERE active=1 ORDER BY name");
@@ -390,6 +403,10 @@ minifyHtml("<div> <p> hello </p> </div>");
390
403
 
391
404
  // GraphQL
392
405
  formatGql("query { user(id: 1) { name email } }");
406
+
407
+ // MIME type lookup, either direction
408
+ lookupMime("json"); // { kind: "extension", matches: [{ extension: "json", mimeType: "application/json" }] }
409
+ lookupMime("image/jpeg"); // { kind: "mime", matches: [{ extension: "jpg", ... }, { extension: "jpeg", ... }] }
393
410
  ```
394
411
 
395
412
  ---
@@ -512,16 +529,16 @@ readIcoInfo(new Uint8Array(icoBytes));
512
529
  | Import | What it does |
513
530
  |---|---|
514
531
  | `@utilix-tech/sdk/json` | Format, minify, diff, validate, JSONPath, CSV↔JSON, YAML↔JSON, TS types |
515
- | `@utilix-tech/sdk/encoding` | Base64, URL, HTML entities, Base32 encode/decode |
532
+ | `@utilix-tech/sdk/encoding` | Base64, URL, HTML entities, Base32/Base58/Base62 encode/decode |
516
533
  | `@utilix-tech/sdk/hashing` | MD5, SHA-1/256/512, bcrypt, HMAC, .htpasswd |
517
534
  | `@utilix-tech/sdk/text` | Case convert, slugify, word count, lorem ipsum, line ops, HTML→Markdown |
518
535
  | `@utilix-tech/sdk/data` | CSV, YAML, TOML, XML, INI, NDJSON parse and convert |
519
536
  | `@utilix-tech/sdk/generators` | UUID v4/v7, ULID, passwords, strength check, fake data |
520
537
  | `@utilix-tech/sdk/time` | Date diff, timezone convert, cron parse, relative time |
521
- | `@utilix-tech/sdk/units` | Bytes, CSS px/rem, number bases, currency format, credit card/IBAN/barcode/ISBN validation, loan calculator, compound interest calculator, VAT/sales tax calculator |
538
+ | `@utilix-tech/sdk/units` | Bytes, CSS px/rem, number bases, currency format, credit card/IBAN/barcode/ISBN validation, loan calculator, compound/simple interest calculators, VAT/sales tax calculator, tip/bill split calculator |
522
539
  | `@utilix-tech/sdk/network` | HTTP status codes, IP validation, country flags, geolocation URLs, HAR file parsing |
523
540
  | `@utilix-tech/sdk/api` | cURL build/parse, JWT decode/sign, JWKS parse, CORS headers, CSP header |
524
- | `@utilix-tech/sdk/code` | SQL format/minify, HTML format/minify, regex tester, GraphQL format |
541
+ | `@utilix-tech/sdk/code` | SQL format/minify, HTML format/minify, regex tester, GraphQL format, MIME type lookup |
525
542
  | `@utilix-tech/sdk/color` | Hex/RGB/HSL/HSV/CMYK convert, palette generation, contrast check |
526
543
  | `@utilix-tech/sdk/css` | CSS gradient, box-shadow, border-radius, keyframe animation generators |
527
544
  | `@utilix-tech/sdk/misc` | SVG optimize/sanitize, file size format, Unicode inspector |
@@ -8,6 +8,10 @@ __export(encoding_exports, {
8
8
  base32DecodeBytes: () => base32DecodeBytes,
9
9
  base32Encode: () => base32Encode,
10
10
  base32EncodeBytes: () => base32EncodeBytes,
11
+ base58Decode: () => base58Decode,
12
+ base58Encode: () => base58Encode,
13
+ base62Decode: () => base62Decode,
14
+ base62Encode: () => base62Encode,
11
15
  decodeBase64: () => decodeBase64,
12
16
  decodeHtmlEntities: () => decodeHtmlEntities,
13
17
  decodeUrl: () => decodeUrl,
@@ -261,5 +265,61 @@ function isValidBase32(input, alphabet = "standard") {
261
265
  if (rem === 1 || rem === 3 || rem === 6) return false;
262
266
  return true;
263
267
  }
268
+ var BASE58_ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
269
+ var BASE62_ALPHABET = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
270
+ function encodeBytesToBase(bytes, alphabet) {
271
+ const base = BigInt(alphabet.length);
272
+ let num = 0n;
273
+ for (const byte of bytes) num = num << 8n | BigInt(byte);
274
+ let out = "";
275
+ while (num > 0n) {
276
+ out = alphabet[Number(num % base)] + out;
277
+ num = num / base;
278
+ }
279
+ let leadingZeros = 0;
280
+ for (const byte of bytes) {
281
+ if (byte === 0) leadingZeros++;
282
+ else break;
283
+ }
284
+ return alphabet[0].repeat(leadingZeros) + out;
285
+ }
286
+ function decodeBaseToBytes(input, alphabet) {
287
+ const base = BigInt(alphabet.length);
288
+ let num = 0n;
289
+ for (const char of input) {
290
+ const idx = alphabet.indexOf(char);
291
+ if (idx === -1) return { error: `Invalid character '${char}' for this alphabet` };
292
+ num = num * base + BigInt(idx);
293
+ }
294
+ const bytes = [];
295
+ while (num > 0n) {
296
+ bytes.unshift(Number(num % 256n));
297
+ num = num / 256n;
298
+ }
299
+ let leadingZeros = 0;
300
+ for (const char of input) {
301
+ if (char === alphabet[0]) leadingZeros++;
302
+ else break;
303
+ }
304
+ return new Uint8Array([...new Array(leadingZeros).fill(0), ...bytes]);
305
+ }
306
+ function base58Encode(input) {
307
+ return encodeBytesToBase(stringToBytes(input), BASE58_ALPHABET);
308
+ }
309
+ function base58Decode(input) {
310
+ if (!input) return { error: "No input provided" };
311
+ const result = decodeBaseToBytes(input, BASE58_ALPHABET);
312
+ if (!(result instanceof Uint8Array)) return result;
313
+ return bytesToString(result);
314
+ }
315
+ function base62Encode(input) {
316
+ return encodeBytesToBase(stringToBytes(input), BASE62_ALPHABET);
317
+ }
318
+ function base62Decode(input) {
319
+ if (!input) return { error: "No input provided" };
320
+ const result = decodeBaseToBytes(input, BASE62_ALPHABET);
321
+ if (!(result instanceof Uint8Array)) return result;
322
+ return bytesToString(result);
323
+ }
264
324
 
265
- export { ALPHABETS, base32Decode, base32DecodeBytes, base32Encode, base32EncodeBytes, decodeBase64, decodeHtmlEntities, decodeUrl, diffSegments, encodeBase64, encodeHtmlEntities, encodeHtmlEntitiesAll, encodeUrl, encoding_exports, isValidBase32 };
325
+ export { ALPHABETS, base32Decode, base32DecodeBytes, base32Encode, base32EncodeBytes, base58Decode, base58Encode, base62Decode, base62Encode, decodeBase64, decodeHtmlEntities, decodeUrl, diffSegments, encodeBase64, encodeHtmlEntities, encodeHtmlEntitiesAll, encodeUrl, encoding_exports, isValidBase32 };
@@ -12,6 +12,7 @@ __export(units_exports, {
12
12
  COMMON_RATIOS: () => COMMON_RATIOS,
13
13
  COMMON_SIZES: () => COMMON_SIZES,
14
14
  COMMON_TAX_RATES: () => COMMON_TAX_RATES,
15
+ COMMON_TIP_PERCENTAGES: () => COMMON_TIP_PERCENTAGES,
15
16
  COMMON_VIEWPORTS: () => COMMON_VIEWPORTS,
16
17
  autoFormat: () => autoFormat,
17
18
  bumpVersion: () => bumpVersion,
@@ -19,7 +20,9 @@ __export(units_exports, {
19
20
  calcSubnet: () => calcSubnet,
20
21
  calculateCompoundInterest: () => calculateCompoundInterest,
21
22
  calculateLoan: () => calculateLoan,
23
+ calculateSimpleInterest: () => calculateSimpleInterest,
22
24
  calculateTax: () => calculateTax,
25
+ calculateTipSplit: () => calculateTipSplit,
23
26
  compareSemver: () => compareSemver,
24
27
  convert: () => convert,
25
28
  convertBytes: () => convertBytes,
@@ -1258,5 +1261,41 @@ function validateIsbn(input) {
1258
1261
  }
1259
1262
  return { error: `Unsupported length (${cleaned.length} characters); expected 10 (ISBN-10) or 13 (ISBN-13)` };
1260
1263
  }
1264
+ var COMMON_TIP_PERCENTAGES = [10, 15, 18, 20, 25];
1265
+ function calculateTipSplit(billAmount, tipPercent, numPeople = 1) {
1266
+ if (!Number.isFinite(billAmount) || billAmount < 0) return { error: "Bill amount must be zero or a positive number" };
1267
+ if (!Number.isFinite(tipPercent) || tipPercent < 0) return { error: "Tip percent must be zero or a positive number" };
1268
+ if (!Number.isInteger(numPeople) || numPeople < 1) return { error: "Number of people must be a positive whole number" };
1269
+ const round22 = (n) => Math.round(n * 100) / 100;
1270
+ const billRounded = round22(billAmount);
1271
+ const tipAmount = round22(billAmount * (tipPercent / 100));
1272
+ const totalAmount = round22(billRounded + tipAmount);
1273
+ return {
1274
+ billAmount: billRounded,
1275
+ tipPercent,
1276
+ tipAmount,
1277
+ totalAmount,
1278
+ numPeople,
1279
+ perPersonBill: round22(billRounded / numPeople),
1280
+ perPersonTip: round22(tipAmount / numPeople),
1281
+ perPersonTotal: round22(totalAmount / numPeople)
1282
+ };
1283
+ }
1284
+ function calculateSimpleInterest(principal, annualRatePercent, years) {
1285
+ if (!Number.isFinite(principal) || principal < 0) return { error: "Principal must be zero or a positive number" };
1286
+ if (!Number.isFinite(annualRatePercent) || annualRatePercent < 0) {
1287
+ return { error: "Annual interest rate must be zero or a positive number" };
1288
+ }
1289
+ if (!Number.isFinite(years) || years <= 0) return { error: "Years must be a positive number" };
1290
+ const round22 = (n) => Math.round(n * 100) / 100;
1291
+ const interest = round22(principal * (annualRatePercent / 100) * years);
1292
+ return {
1293
+ principal: round22(principal),
1294
+ annualRatePercent,
1295
+ years,
1296
+ interest,
1297
+ totalPayoff: round22(principal + interest)
1298
+ };
1299
+ }
1261
1300
 
1262
- export { BASE_LABELS, BASE_PREFIXES, BYTE_UNITS, COMMON_CURRENCIES, COMMON_LOCALES, COMMON_PERMISSIONS, COMMON_RATIOS, COMMON_SIZES, COMMON_TAX_RATES, COMMON_VIEWPORTS, autoFormat, bumpVersion, calcAspectRatio, calcSubnet, calculateCompoundInterest, calculateLoan, calculateTax, compareSemver, convert, convertBytes, convertIp, coverBox, decimalToIp, decimalToIpCidr, describePermissions, fitIntoBox, formatNumber, formatValue, formatVwValue, formatWithSeparator, gcd, ipFromBinary, ipFromDecimal, ipFromHex, ipToBinary, ipToDecimal, ipToDecimalCidr, ipToHex, ipToOctal, isValid, isValidCidr, isValidIp, isValidIpv4, octalToPermissions, parseFileSize, parseInput, parseNumberString, parseSemver, permissionsToChmod, permissionsToOctal, permissionsToSymbolic, ptToPx, pxToAll, pxToViewport, remToPx, satisfiesRange, scaleByHeight, scaleByWidth, sortVersions, splitSubnet, symbolicToPermissions, units_exports, validateBarcode, validateCardNumber, validateIban, validateIsbn, viewportToPx };
1301
+ export { BASE_LABELS, BASE_PREFIXES, BYTE_UNITS, COMMON_CURRENCIES, COMMON_LOCALES, COMMON_PERMISSIONS, COMMON_RATIOS, COMMON_SIZES, COMMON_TAX_RATES, COMMON_TIP_PERCENTAGES, COMMON_VIEWPORTS, autoFormat, bumpVersion, calcAspectRatio, calcSubnet, calculateCompoundInterest, calculateLoan, calculateSimpleInterest, calculateTax, calculateTipSplit, compareSemver, convert, convertBytes, convertIp, coverBox, decimalToIp, decimalToIpCidr, describePermissions, fitIntoBox, formatNumber, formatValue, formatVwValue, formatWithSeparator, gcd, ipFromBinary, ipFromDecimal, ipFromHex, ipToBinary, ipToDecimal, ipToDecimalCidr, ipToHex, ipToOctal, isValid, isValidCidr, isValidIp, isValidIpv4, octalToPermissions, parseFileSize, parseInput, parseNumberString, parseSemver, permissionsToChmod, permissionsToOctal, permissionsToSymbolic, ptToPx, pxToAll, pxToViewport, remToPx, satisfiesRange, scaleByHeight, scaleByWidth, sortVersions, splitSubnet, symbolicToPermissions, units_exports, validateBarcode, validateCardNumber, validateIban, validateIsbn, viewportToPx };
@@ -6,6 +6,7 @@ var code_exports = {};
6
6
  __export(code_exports, {
7
7
  ALL_FLAGS: () => ALL_FLAGS,
8
8
  CHEATSHEET: () => CHEATSHEET,
9
+ MIME_TABLE: () => MIME_TABLE,
9
10
  OPERATIONS: () => OPERATIONS,
10
11
  SQL_DEFAULT_OPTIONS: () => SQL_DEFAULT_OPTIONS,
11
12
  buildDockerPull: () => buildDockerPull,
@@ -28,6 +29,7 @@ __export(code_exports, {
28
29
  getJsStats: () => getJsStats,
29
30
  getMethodColor: () => getMethodColor,
30
31
  isValidTag: () => isValidTag,
32
+ lookupMime: () => lookupMime,
31
33
  minifyCss: () => minifyCss,
32
34
  minifyGql: () => minifyGql,
33
35
  minifyHtml: () => minifyHtml,
@@ -2278,5 +2280,137 @@ function countProperties(css) {
2278
2280
  });
2279
2281
  return count;
2280
2282
  }
2283
+ var MIME_TABLE = [
2284
+ // Text / web
2285
+ { extension: "txt", mimeType: "text/plain" },
2286
+ { extension: "html", mimeType: "text/html" },
2287
+ { extension: "htm", mimeType: "text/html" },
2288
+ { extension: "css", mimeType: "text/css" },
2289
+ { extension: "js", mimeType: "text/javascript" },
2290
+ { extension: "mjs", mimeType: "text/javascript" },
2291
+ { extension: "json", mimeType: "application/json" },
2292
+ { extension: "jsonld", mimeType: "application/ld+json" },
2293
+ { extension: "xml", mimeType: "application/xml" },
2294
+ { extension: "csv", mimeType: "text/csv" },
2295
+ { extension: "tsv", mimeType: "text/tab-separated-values" },
2296
+ { extension: "md", mimeType: "text/markdown" },
2297
+ { extension: "rtf", mimeType: "application/rtf" },
2298
+ { extension: "yaml", mimeType: "application/x-yaml" },
2299
+ { extension: "yml", mimeType: "application/x-yaml" },
2300
+ { extension: "toml", mimeType: "application/toml" },
2301
+ { extension: "ini", mimeType: "text/plain" },
2302
+ { extension: "ics", mimeType: "text/calendar" },
2303
+ { extension: "vcf", mimeType: "text/vcard" },
2304
+ { extension: "atom", mimeType: "application/atom+xml" },
2305
+ { extension: "rss", mimeType: "application/rss+xml" },
2306
+ // Images
2307
+ { extension: "png", mimeType: "image/png" },
2308
+ { extension: "jpg", mimeType: "image/jpeg" },
2309
+ { extension: "jpeg", mimeType: "image/jpeg" },
2310
+ { extension: "gif", mimeType: "image/gif" },
2311
+ { extension: "bmp", mimeType: "image/bmp" },
2312
+ { extension: "webp", mimeType: "image/webp" },
2313
+ { extension: "svg", mimeType: "image/svg+xml" },
2314
+ { extension: "ico", mimeType: "image/x-icon" },
2315
+ { extension: "tif", mimeType: "image/tiff" },
2316
+ { extension: "tiff", mimeType: "image/tiff" },
2317
+ { extension: "avif", mimeType: "image/avif" },
2318
+ { extension: "heic", mimeType: "image/heic" },
2319
+ { extension: "psd", mimeType: "image/vnd.adobe.photoshop" },
2320
+ // Fonts
2321
+ { extension: "ttf", mimeType: "font/ttf" },
2322
+ { extension: "otf", mimeType: "font/otf" },
2323
+ { extension: "woff", mimeType: "font/woff" },
2324
+ { extension: "woff2", mimeType: "font/woff2" },
2325
+ { extension: "eot", mimeType: "application/vnd.ms-fontobject" },
2326
+ // Documents
2327
+ { extension: "pdf", mimeType: "application/pdf" },
2328
+ { extension: "doc", mimeType: "application/msword" },
2329
+ { extension: "docx", mimeType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document" },
2330
+ { extension: "xls", mimeType: "application/vnd.ms-excel" },
2331
+ { extension: "xlsx", mimeType: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" },
2332
+ { extension: "ppt", mimeType: "application/vnd.ms-powerpoint" },
2333
+ { extension: "pptx", mimeType: "application/vnd.openxmlformats-officedocument.presentationml.presentation" },
2334
+ { extension: "odt", mimeType: "application/vnd.oasis.opendocument.text" },
2335
+ { extension: "ods", mimeType: "application/vnd.oasis.opendocument.spreadsheet" },
2336
+ { extension: "odp", mimeType: "application/vnd.oasis.opendocument.presentation" },
2337
+ { extension: "epub", mimeType: "application/epub+zip" },
2338
+ // Archives
2339
+ { extension: "zip", mimeType: "application/zip" },
2340
+ { extension: "rar", mimeType: "application/vnd.rar" },
2341
+ { extension: "7z", mimeType: "application/x-7z-compressed" },
2342
+ { extension: "tar", mimeType: "application/x-tar" },
2343
+ { extension: "gz", mimeType: "application/gzip" },
2344
+ { extension: "bz2", mimeType: "application/x-bzip2" },
2345
+ { extension: "jar", mimeType: "application/java-archive" },
2346
+ // Audio
2347
+ { extension: "mp3", mimeType: "audio/mpeg" },
2348
+ { extension: "wav", mimeType: "audio/wav" },
2349
+ { extension: "ogg", mimeType: "audio/ogg" },
2350
+ { extension: "oga", mimeType: "audio/ogg" },
2351
+ { extension: "flac", mimeType: "audio/flac" },
2352
+ { extension: "aac", mimeType: "audio/aac" },
2353
+ { extension: "m4a", mimeType: "audio/mp4" },
2354
+ { extension: "mid", mimeType: "audio/midi" },
2355
+ { extension: "midi", mimeType: "audio/midi" },
2356
+ { extension: "weba", mimeType: "audio/webm" },
2357
+ // Video
2358
+ { extension: "mp4", mimeType: "video/mp4" },
2359
+ { extension: "m4v", mimeType: "video/mp4" },
2360
+ { extension: "webm", mimeType: "video/webm" },
2361
+ { extension: "mov", mimeType: "video/quicktime" },
2362
+ { extension: "avi", mimeType: "video/x-msvideo" },
2363
+ { extension: "mkv", mimeType: "video/x-matroska" },
2364
+ { extension: "wmv", mimeType: "video/x-ms-wmv" },
2365
+ { extension: "flv", mimeType: "video/x-flv" },
2366
+ { extension: "mpeg", mimeType: "video/mpeg" },
2367
+ { extension: "mpg", mimeType: "video/mpeg" },
2368
+ { extension: "3gp", mimeType: "video/3gpp" },
2369
+ { extension: "ts", mimeType: "video/mp2t" },
2370
+ // Application / binary
2371
+ { extension: "bin", mimeType: "application/octet-stream" },
2372
+ { extension: "exe", mimeType: "application/vnd.microsoft.portable-executable" },
2373
+ { extension: "dmg", mimeType: "application/x-apple-diskimage" },
2374
+ { extension: "apk", mimeType: "application/vnd.android.package-archive" },
2375
+ { extension: "iso", mimeType: "application/x-iso9660-image" },
2376
+ { extension: "deb", mimeType: "application/vnd.debian.binary-package" },
2377
+ { extension: "rpm", mimeType: "application/x-rpm" },
2378
+ { extension: "msi", mimeType: "application/x-msi" },
2379
+ { extension: "dll", mimeType: "application/x-msdownload" },
2380
+ { extension: "so", mimeType: "application/octet-stream" },
2381
+ { extension: "wasm", mimeType: "application/wasm" },
2382
+ { extension: "swf", mimeType: "application/x-shockwave-flash" },
2383
+ { extension: "crx", mimeType: "application/x-chrome-extension" },
2384
+ { extension: "torrent", mimeType: "application/x-bittorrent" },
2385
+ // Code / config
2386
+ { extension: "sh", mimeType: "application/x-sh" },
2387
+ { extension: "bat", mimeType: "application/x-bat" },
2388
+ { extension: "py", mimeType: "text/x-python" },
2389
+ { extension: "java", mimeType: "text/x-java-source" },
2390
+ { extension: "c", mimeType: "text/x-c" },
2391
+ { extension: "h", mimeType: "text/x-c" },
2392
+ { extension: "cpp", mimeType: "text/x-c++src" },
2393
+ { extension: "rb", mimeType: "text/x-ruby" },
2394
+ { extension: "php", mimeType: "application/x-httpd-php" },
2395
+ { extension: "go", mimeType: "text/x-go" },
2396
+ { extension: "rs", mimeType: "text/x-rust" },
2397
+ { extension: "swift", mimeType: "text/x-swift" },
2398
+ { extension: "sql", mimeType: "application/sql" },
2399
+ { extension: "log", mimeType: "text/plain" }
2400
+ ];
2401
+ function lookupMime(query) {
2402
+ if (!query || !query.trim()) return { error: "Input is empty" };
2403
+ const trimmed = query.trim();
2404
+ if (trimmed.includes("/")) {
2405
+ const mime = trimmed.toLowerCase();
2406
+ const matches2 = MIME_TABLE.filter((e) => e.mimeType.toLowerCase() === mime);
2407
+ if (matches2.length === 0) return { error: `No known file extension for MIME type "${trimmed}"` };
2408
+ return { query: trimmed, kind: "mime", matches: matches2 };
2409
+ }
2410
+ const ext = trimmed.replace(/^\./, "").toLowerCase();
2411
+ const matches = MIME_TABLE.filter((e) => e.extension === ext);
2412
+ if (matches.length === 0) return { error: `No known MIME type for extension ".${ext}"` };
2413
+ return { query: trimmed, kind: "extension", matches };
2414
+ }
2281
2415
 
2282
- export { ALL_FLAGS, CHEATSHEET, OPERATIONS, SQL_DEFAULT_OPTIONS, buildDockerPull, buildDockerRun, buildGitCommand, code_exports, 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 };
2416
+ export { ALL_FLAGS, CHEATSHEET, MIME_TABLE, OPERATIONS, SQL_DEFAULT_OPTIONS, buildDockerPull, buildDockerRun, buildGitCommand, code_exports, 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 };
@@ -17,6 +17,7 @@
17
17
  * - openapi-viewer (parseSpec, getEndpointsByTag, searchEndpoints, getMethodColor)
18
18
  * - env-parser (parseEnv, envToJson, envToExport, validateEnvKey)
19
19
  * - css-minifier (minifyCss, formatCss, countRules, countProperties)
20
+ * - mime-lookup (lookupMime, MIME_TABLE)
20
21
  */
21
22
  type RegexFlag = 'g' | 'i' | 'm' | 's' | 'u';
22
23
  declare const ALL_FLAGS: RegexFlag[];
@@ -262,6 +263,28 @@ declare function minifyCss(input: string): CssResult;
262
263
  declare function formatCss(input: string, indentSize?: number): CssResult;
263
264
  declare function countRules(css: string): number;
264
265
  declare function countProperties(css: string): number;
266
+ interface MimeEntry {
267
+ extension: string;
268
+ mimeType: string;
269
+ }
270
+ interface MimeLookupResult {
271
+ query: string;
272
+ kind: 'extension' | 'mime';
273
+ matches: MimeEntry[];
274
+ }
275
+ /** Static table of common file extensions and their well-known MIME type.
276
+ * Several extensions intentionally map to the same MIME type (aliases,
277
+ * e.g. "jpg"/"jpeg"), and a few MIME types have more than one extension. */
278
+ declare const MIME_TABLE: MimeEntry[];
279
+ /**
280
+ * Look up MIME table entries either by file extension (a bare word like
281
+ * "json" or ".json") or by MIME type (any query containing a "/", like
282
+ * "image/png"). Returns every matching entry, since a MIME type can have
283
+ * more than one registered extension and vice versa.
284
+ */
285
+ declare function lookupMime(query: string): MimeLookupResult | {
286
+ error: string;
287
+ };
265
288
 
266
289
  declare const code_ALL_FLAGS: typeof ALL_FLAGS;
267
290
  type code_ApiEndpoint = ApiEndpoint;
@@ -281,7 +304,10 @@ type code_HtmlMinifyOptions = HtmlMinifyOptions;
281
304
  type code_HtmlMinifyResult = HtmlMinifyResult;
282
305
  type code_JsMinifyOptions = JsMinifyOptions;
283
306
  type code_JsMinifyResult = JsMinifyResult;
307
+ declare const code_MIME_TABLE: typeof MIME_TABLE;
284
308
  type code_MatchResult = MatchResult;
309
+ type code_MimeEntry = MimeEntry;
310
+ type code_MimeLookupResult = MimeLookupResult;
285
311
  declare const code_OPERATIONS: typeof OPERATIONS;
286
312
  type code_ParsedSpec = ParsedSpec;
287
313
  type code_RegexError = RegexError;
@@ -315,6 +341,7 @@ declare const code_getHtmlStats: typeof getHtmlStats;
315
341
  declare const code_getJsStats: typeof getJsStats;
316
342
  declare const code_getMethodColor: typeof getMethodColor;
317
343
  declare const code_isValidTag: typeof isValidTag;
344
+ declare const code_lookupMime: typeof lookupMime;
318
345
  declare const code_minifyCss: typeof minifyCss;
319
346
  declare const code_minifyGql: typeof minifyGql;
320
347
  declare const code_minifyHtml: typeof minifyHtml;
@@ -337,7 +364,7 @@ declare const code_testPattern: typeof testPattern;
337
364
  declare const code_testRegex: typeof testRegex;
338
365
  declare const code_validateEnvKey: typeof validateEnvKey;
339
366
  declare namespace code {
340
- export { code_ALL_FLAGS as ALL_FLAGS, type code_ApiEndpoint as ApiEndpoint, type code_ApiInfo as ApiInfo, code_CHEATSHEET as CHEATSHEET, type code_CheatsheetEntry as CheatsheetEntry, type code_CssResult as CssResult, type code_DockerImageRef as DockerImageRef, type code_EnvEntry as EnvEntry, type code_EnvParseResult as EnvParseResult, type code_GitCommandConfig as GitCommandConfig, type code_GitCommandResult as GitCommandResult, type code_GitOperation as GitOperation, type code_GqlFormatResult as GqlFormatResult, type code_HtmlFormatResult as HtmlFormatResult, type code_HtmlMinifyOptions as HtmlMinifyOptions, type code_HtmlMinifyResult as HtmlMinifyResult, type code_JsMinifyOptions as JsMinifyOptions, type code_JsMinifyResult as JsMinifyResult, type code_MatchResult as MatchResult, code_OPERATIONS as OPERATIONS, type code_ParsedSpec as ParsedSpec, type code_RegexError as RegexError, type code_RegexFlag as RegexFlag, type code_RegexMatch as RegexMatch, type code_RegexResult as RegexResult, type code_RegexSuccess as RegexSuccess, code_SQL_DEFAULT_OPTIONS as SQL_DEFAULT_OPTIONS, type code_Segment as Segment, type code_SpecVersion as SpecVersion, type code_SqlDialect as SqlDialect, type code_SqlFormatOptions as SqlFormatOptions, type code_TestPatternResult as TestPatternResult, code_buildDockerPull as buildDockerPull, code_buildDockerRun as buildDockerRun, code_buildGitCommand as buildGitCommand, code_collapseHtmlWhitespace as collapseHtmlWhitespace, code_collapseJsWhitespace as collapseJsWhitespace, code_countProperties as countProperties, code_countRules as countRules, code_detectDialect as detectDialect, code_detectOperationType as detectOperationType, code_envToExport as envToExport, code_envToJson as envToJson, code_formatCss as formatCss, code_formatGql as formatGql, code_formatHtml as formatHtml, code_formatSql as formatSql, code_getEndpointsByTag as getEndpointsByTag, code_getHtmlStats as getHtmlStats, code_getJsStats as getJsStats, code_getMethodColor as getMethodColor, code_isValidTag as isValidTag, code_minifyCss as minifyCss, code_minifyGql as minifyGql, code_minifyHtml as minifyHtml, code_minifyJs as minifyJs, code_minifySql as minifySql, code_normalizeRef as normalizeRef, code_parseDockerImage as parseDockerImage, code_parseEnv as parseEnv, code_parseGitCommand as parseGitCommand, code_parseSpec as parseSpec, code_removeConsoleCalls as removeConsoleCalls, code_removeEmptyAttributes as removeEmptyAttributes, code_removeHtmlComments as removeHtmlComments, code_removeJsComments as removeJsComments, code_removeRedundantAttributes as removeRedundantAttributes, code_searchCheatsheet as searchCheatsheet, code_searchEndpoints as searchEndpoints, code_splitStatements as splitStatements, code_testPattern as testPattern, code_testRegex as testRegex, code_validateEnvKey as validateEnvKey };
367
+ export { code_ALL_FLAGS as ALL_FLAGS, type code_ApiEndpoint as ApiEndpoint, type code_ApiInfo as ApiInfo, code_CHEATSHEET as CHEATSHEET, type code_CheatsheetEntry as CheatsheetEntry, type code_CssResult as CssResult, type code_DockerImageRef as DockerImageRef, type code_EnvEntry as EnvEntry, type code_EnvParseResult as EnvParseResult, type code_GitCommandConfig as GitCommandConfig, type code_GitCommandResult as GitCommandResult, type code_GitOperation as GitOperation, type code_GqlFormatResult as GqlFormatResult, type code_HtmlFormatResult as HtmlFormatResult, type code_HtmlMinifyOptions as HtmlMinifyOptions, type code_HtmlMinifyResult as HtmlMinifyResult, type code_JsMinifyOptions as JsMinifyOptions, type code_JsMinifyResult as JsMinifyResult, code_MIME_TABLE as MIME_TABLE, type code_MatchResult as MatchResult, type code_MimeEntry as MimeEntry, type code_MimeLookupResult as MimeLookupResult, code_OPERATIONS as OPERATIONS, type code_ParsedSpec as ParsedSpec, type code_RegexError as RegexError, type code_RegexFlag as RegexFlag, type code_RegexMatch as RegexMatch, type code_RegexResult as RegexResult, type code_RegexSuccess as RegexSuccess, code_SQL_DEFAULT_OPTIONS as SQL_DEFAULT_OPTIONS, type code_Segment as Segment, type code_SpecVersion as SpecVersion, type code_SqlDialect as SqlDialect, type code_SqlFormatOptions as SqlFormatOptions, type code_TestPatternResult as TestPatternResult, code_buildDockerPull as buildDockerPull, code_buildDockerRun as buildDockerRun, code_buildGitCommand as buildGitCommand, code_collapseHtmlWhitespace as collapseHtmlWhitespace, code_collapseJsWhitespace as collapseJsWhitespace, code_countProperties as countProperties, code_countRules as countRules, code_detectDialect as detectDialect, code_detectOperationType as detectOperationType, code_envToExport as envToExport, code_envToJson as envToJson, code_formatCss as formatCss, code_formatGql as formatGql, code_formatHtml as formatHtml, code_formatSql as formatSql, code_getEndpointsByTag as getEndpointsByTag, code_getHtmlStats as getHtmlStats, code_getJsStats as getJsStats, code_getMethodColor as getMethodColor, code_isValidTag as isValidTag, code_lookupMime as lookupMime, code_minifyCss as minifyCss, code_minifyGql as minifyGql, code_minifyHtml as minifyHtml, code_minifyJs as minifyJs, code_minifySql as minifySql, code_normalizeRef as normalizeRef, code_parseDockerImage as parseDockerImage, code_parseEnv as parseEnv, code_parseGitCommand as parseGitCommand, code_parseSpec as parseSpec, code_removeConsoleCalls as removeConsoleCalls, code_removeEmptyAttributes as removeEmptyAttributes, code_removeHtmlComments as removeHtmlComments, code_removeJsComments as removeJsComments, code_removeRedundantAttributes as removeRedundantAttributes, code_searchCheatsheet as searchCheatsheet, code_searchEndpoints as searchEndpoints, code_splitStatements as splitStatements, code_testPattern as testPattern, code_testRegex as testRegex, code_validateEnvKey as validateEnvKey };
341
368
  }
342
369
 
343
- export { minifyCss as $, ALL_FLAGS as A, countRules as B, CHEATSHEET as C, type DockerImageRef as D, type EnvEntry as E, detectDialect as F, type GitCommandConfig as G, type HtmlFormatResult as H, detectOperationType as I, type JsMinifyOptions as J, envToExport as K, envToJson as L, type MatchResult as M, formatCss as N, OPERATIONS as O, type ParsedSpec as P, formatGql as Q, type RegexError as R, SQL_DEFAULT_OPTIONS as S, type TestPatternResult as T, formatHtml as U, formatSql as V, getEndpointsByTag as W, getHtmlStats as X, getJsStats as Y, getMethodColor as Z, isValidTag as _, type ApiEndpoint as a, minifyGql as a0, minifyHtml as a1, minifyJs as a2, minifySql as a3, normalizeRef as a4, parseDockerImage as a5, parseEnv as a6, parseGitCommand as a7, parseSpec as a8, removeConsoleCalls as a9, removeEmptyAttributes as aa, removeHtmlComments as ab, removeJsComments as ac, removeRedundantAttributes as ad, searchCheatsheet as ae, searchEndpoints as af, splitStatements as ag, testPattern as ah, testRegex as ai, validateEnvKey as aj, type ApiInfo as b, code as c, type CheatsheetEntry as d, type CssResult as e, type EnvParseResult as f, type GitCommandResult as g, type GitOperation as h, type GqlFormatResult as i, type HtmlMinifyOptions as j, type HtmlMinifyResult as k, type JsMinifyResult as l, type RegexFlag as m, type RegexMatch as n, type RegexResult as o, type RegexSuccess as p, type Segment as q, type SpecVersion as r, type SqlDialect as s, type SqlFormatOptions as t, buildDockerPull as u, buildDockerRun as v, buildGitCommand as w, collapseHtmlWhitespace as x, collapseJsWhitespace as y, countProperties as z };
370
+ export { getJsStats as $, ALL_FLAGS as A, collapseHtmlWhitespace as B, CHEATSHEET as C, type DockerImageRef as D, type EnvEntry as E, collapseJsWhitespace as F, type GitCommandConfig as G, type HtmlFormatResult as H, countProperties as I, type JsMinifyOptions as J, countRules as K, detectDialect as L, MIME_TABLE as M, detectOperationType as N, OPERATIONS as O, type ParsedSpec as P, envToExport as Q, type RegexError as R, SQL_DEFAULT_OPTIONS as S, type TestPatternResult as T, envToJson as U, formatCss as V, formatGql as W, formatHtml as X, formatSql as Y, getEndpointsByTag as Z, getHtmlStats as _, type ApiEndpoint as a, getMethodColor as a0, isValidTag as a1, lookupMime as a2, minifyCss as a3, minifyGql as a4, minifyHtml as a5, minifyJs as a6, minifySql as a7, normalizeRef as a8, parseDockerImage as a9, parseEnv as aa, parseGitCommand as ab, parseSpec as ac, removeConsoleCalls as ad, removeEmptyAttributes as ae, removeHtmlComments as af, removeJsComments as ag, removeRedundantAttributes as ah, searchCheatsheet as ai, searchEndpoints as aj, splitStatements as ak, testPattern as al, testRegex as am, validateEnvKey as an, type ApiInfo as b, code as c, type CheatsheetEntry as d, type CssResult as e, type EnvParseResult as f, type GitCommandResult as g, type GitOperation as h, type GqlFormatResult as i, type HtmlMinifyOptions as j, type HtmlMinifyResult as k, type JsMinifyResult as l, type MatchResult as m, type MimeEntry as n, type MimeLookupResult as o, type RegexFlag as p, type RegexMatch as q, type RegexResult as r, type RegexSuccess as s, type Segment as t, type SpecVersion as u, type SqlDialect as v, type SqlFormatOptions as w, buildDockerPull as x, buildDockerRun as y, buildGitCommand as z };
@@ -17,6 +17,7 @@
17
17
  * - openapi-viewer (parseSpec, getEndpointsByTag, searchEndpoints, getMethodColor)
18
18
  * - env-parser (parseEnv, envToJson, envToExport, validateEnvKey)
19
19
  * - css-minifier (minifyCss, formatCss, countRules, countProperties)
20
+ * - mime-lookup (lookupMime, MIME_TABLE)
20
21
  */
21
22
  type RegexFlag = 'g' | 'i' | 'm' | 's' | 'u';
22
23
  declare const ALL_FLAGS: RegexFlag[];
@@ -262,6 +263,28 @@ declare function minifyCss(input: string): CssResult;
262
263
  declare function formatCss(input: string, indentSize?: number): CssResult;
263
264
  declare function countRules(css: string): number;
264
265
  declare function countProperties(css: string): number;
266
+ interface MimeEntry {
267
+ extension: string;
268
+ mimeType: string;
269
+ }
270
+ interface MimeLookupResult {
271
+ query: string;
272
+ kind: 'extension' | 'mime';
273
+ matches: MimeEntry[];
274
+ }
275
+ /** Static table of common file extensions and their well-known MIME type.
276
+ * Several extensions intentionally map to the same MIME type (aliases,
277
+ * e.g. "jpg"/"jpeg"), and a few MIME types have more than one extension. */
278
+ declare const MIME_TABLE: MimeEntry[];
279
+ /**
280
+ * Look up MIME table entries either by file extension (a bare word like
281
+ * "json" or ".json") or by MIME type (any query containing a "/", like
282
+ * "image/png"). Returns every matching entry, since a MIME type can have
283
+ * more than one registered extension and vice versa.
284
+ */
285
+ declare function lookupMime(query: string): MimeLookupResult | {
286
+ error: string;
287
+ };
265
288
 
266
289
  declare const code_ALL_FLAGS: typeof ALL_FLAGS;
267
290
  type code_ApiEndpoint = ApiEndpoint;
@@ -281,7 +304,10 @@ type code_HtmlMinifyOptions = HtmlMinifyOptions;
281
304
  type code_HtmlMinifyResult = HtmlMinifyResult;
282
305
  type code_JsMinifyOptions = JsMinifyOptions;
283
306
  type code_JsMinifyResult = JsMinifyResult;
307
+ declare const code_MIME_TABLE: typeof MIME_TABLE;
284
308
  type code_MatchResult = MatchResult;
309
+ type code_MimeEntry = MimeEntry;
310
+ type code_MimeLookupResult = MimeLookupResult;
285
311
  declare const code_OPERATIONS: typeof OPERATIONS;
286
312
  type code_ParsedSpec = ParsedSpec;
287
313
  type code_RegexError = RegexError;
@@ -315,6 +341,7 @@ declare const code_getHtmlStats: typeof getHtmlStats;
315
341
  declare const code_getJsStats: typeof getJsStats;
316
342
  declare const code_getMethodColor: typeof getMethodColor;
317
343
  declare const code_isValidTag: typeof isValidTag;
344
+ declare const code_lookupMime: typeof lookupMime;
318
345
  declare const code_minifyCss: typeof minifyCss;
319
346
  declare const code_minifyGql: typeof minifyGql;
320
347
  declare const code_minifyHtml: typeof minifyHtml;
@@ -337,7 +364,7 @@ declare const code_testPattern: typeof testPattern;
337
364
  declare const code_testRegex: typeof testRegex;
338
365
  declare const code_validateEnvKey: typeof validateEnvKey;
339
366
  declare namespace code {
340
- export { code_ALL_FLAGS as ALL_FLAGS, type code_ApiEndpoint as ApiEndpoint, type code_ApiInfo as ApiInfo, code_CHEATSHEET as CHEATSHEET, type code_CheatsheetEntry as CheatsheetEntry, type code_CssResult as CssResult, type code_DockerImageRef as DockerImageRef, type code_EnvEntry as EnvEntry, type code_EnvParseResult as EnvParseResult, type code_GitCommandConfig as GitCommandConfig, type code_GitCommandResult as GitCommandResult, type code_GitOperation as GitOperation, type code_GqlFormatResult as GqlFormatResult, type code_HtmlFormatResult as HtmlFormatResult, type code_HtmlMinifyOptions as HtmlMinifyOptions, type code_HtmlMinifyResult as HtmlMinifyResult, type code_JsMinifyOptions as JsMinifyOptions, type code_JsMinifyResult as JsMinifyResult, type code_MatchResult as MatchResult, code_OPERATIONS as OPERATIONS, type code_ParsedSpec as ParsedSpec, type code_RegexError as RegexError, type code_RegexFlag as RegexFlag, type code_RegexMatch as RegexMatch, type code_RegexResult as RegexResult, type code_RegexSuccess as RegexSuccess, code_SQL_DEFAULT_OPTIONS as SQL_DEFAULT_OPTIONS, type code_Segment as Segment, type code_SpecVersion as SpecVersion, type code_SqlDialect as SqlDialect, type code_SqlFormatOptions as SqlFormatOptions, type code_TestPatternResult as TestPatternResult, code_buildDockerPull as buildDockerPull, code_buildDockerRun as buildDockerRun, code_buildGitCommand as buildGitCommand, code_collapseHtmlWhitespace as collapseHtmlWhitespace, code_collapseJsWhitespace as collapseJsWhitespace, code_countProperties as countProperties, code_countRules as countRules, code_detectDialect as detectDialect, code_detectOperationType as detectOperationType, code_envToExport as envToExport, code_envToJson as envToJson, code_formatCss as formatCss, code_formatGql as formatGql, code_formatHtml as formatHtml, code_formatSql as formatSql, code_getEndpointsByTag as getEndpointsByTag, code_getHtmlStats as getHtmlStats, code_getJsStats as getJsStats, code_getMethodColor as getMethodColor, code_isValidTag as isValidTag, code_minifyCss as minifyCss, code_minifyGql as minifyGql, code_minifyHtml as minifyHtml, code_minifyJs as minifyJs, code_minifySql as minifySql, code_normalizeRef as normalizeRef, code_parseDockerImage as parseDockerImage, code_parseEnv as parseEnv, code_parseGitCommand as parseGitCommand, code_parseSpec as parseSpec, code_removeConsoleCalls as removeConsoleCalls, code_removeEmptyAttributes as removeEmptyAttributes, code_removeHtmlComments as removeHtmlComments, code_removeJsComments as removeJsComments, code_removeRedundantAttributes as removeRedundantAttributes, code_searchCheatsheet as searchCheatsheet, code_searchEndpoints as searchEndpoints, code_splitStatements as splitStatements, code_testPattern as testPattern, code_testRegex as testRegex, code_validateEnvKey as validateEnvKey };
367
+ export { code_ALL_FLAGS as ALL_FLAGS, type code_ApiEndpoint as ApiEndpoint, type code_ApiInfo as ApiInfo, code_CHEATSHEET as CHEATSHEET, type code_CheatsheetEntry as CheatsheetEntry, type code_CssResult as CssResult, type code_DockerImageRef as DockerImageRef, type code_EnvEntry as EnvEntry, type code_EnvParseResult as EnvParseResult, type code_GitCommandConfig as GitCommandConfig, type code_GitCommandResult as GitCommandResult, type code_GitOperation as GitOperation, type code_GqlFormatResult as GqlFormatResult, type code_HtmlFormatResult as HtmlFormatResult, type code_HtmlMinifyOptions as HtmlMinifyOptions, type code_HtmlMinifyResult as HtmlMinifyResult, type code_JsMinifyOptions as JsMinifyOptions, type code_JsMinifyResult as JsMinifyResult, code_MIME_TABLE as MIME_TABLE, type code_MatchResult as MatchResult, type code_MimeEntry as MimeEntry, type code_MimeLookupResult as MimeLookupResult, code_OPERATIONS as OPERATIONS, type code_ParsedSpec as ParsedSpec, type code_RegexError as RegexError, type code_RegexFlag as RegexFlag, type code_RegexMatch as RegexMatch, type code_RegexResult as RegexResult, type code_RegexSuccess as RegexSuccess, code_SQL_DEFAULT_OPTIONS as SQL_DEFAULT_OPTIONS, type code_Segment as Segment, type code_SpecVersion as SpecVersion, type code_SqlDialect as SqlDialect, type code_SqlFormatOptions as SqlFormatOptions, type code_TestPatternResult as TestPatternResult, code_buildDockerPull as buildDockerPull, code_buildDockerRun as buildDockerRun, code_buildGitCommand as buildGitCommand, code_collapseHtmlWhitespace as collapseHtmlWhitespace, code_collapseJsWhitespace as collapseJsWhitespace, code_countProperties as countProperties, code_countRules as countRules, code_detectDialect as detectDialect, code_detectOperationType as detectOperationType, code_envToExport as envToExport, code_envToJson as envToJson, code_formatCss as formatCss, code_formatGql as formatGql, code_formatHtml as formatHtml, code_formatSql as formatSql, code_getEndpointsByTag as getEndpointsByTag, code_getHtmlStats as getHtmlStats, code_getJsStats as getJsStats, code_getMethodColor as getMethodColor, code_isValidTag as isValidTag, code_lookupMime as lookupMime, code_minifyCss as minifyCss, code_minifyGql as minifyGql, code_minifyHtml as minifyHtml, code_minifyJs as minifyJs, code_minifySql as minifySql, code_normalizeRef as normalizeRef, code_parseDockerImage as parseDockerImage, code_parseEnv as parseEnv, code_parseGitCommand as parseGitCommand, code_parseSpec as parseSpec, code_removeConsoleCalls as removeConsoleCalls, code_removeEmptyAttributes as removeEmptyAttributes, code_removeHtmlComments as removeHtmlComments, code_removeJsComments as removeJsComments, code_removeRedundantAttributes as removeRedundantAttributes, code_searchCheatsheet as searchCheatsheet, code_searchEndpoints as searchEndpoints, code_splitStatements as splitStatements, code_testPattern as testPattern, code_testRegex as testRegex, code_validateEnvKey as validateEnvKey };
341
368
  }
342
369
 
343
- export { minifyCss as $, ALL_FLAGS as A, countRules as B, CHEATSHEET as C, type DockerImageRef as D, type EnvEntry as E, detectDialect as F, type GitCommandConfig as G, type HtmlFormatResult as H, detectOperationType as I, type JsMinifyOptions as J, envToExport as K, envToJson as L, type MatchResult as M, formatCss as N, OPERATIONS as O, type ParsedSpec as P, formatGql as Q, type RegexError as R, SQL_DEFAULT_OPTIONS as S, type TestPatternResult as T, formatHtml as U, formatSql as V, getEndpointsByTag as W, getHtmlStats as X, getJsStats as Y, getMethodColor as Z, isValidTag as _, type ApiEndpoint as a, minifyGql as a0, minifyHtml as a1, minifyJs as a2, minifySql as a3, normalizeRef as a4, parseDockerImage as a5, parseEnv as a6, parseGitCommand as a7, parseSpec as a8, removeConsoleCalls as a9, removeEmptyAttributes as aa, removeHtmlComments as ab, removeJsComments as ac, removeRedundantAttributes as ad, searchCheatsheet as ae, searchEndpoints as af, splitStatements as ag, testPattern as ah, testRegex as ai, validateEnvKey as aj, type ApiInfo as b, code as c, type CheatsheetEntry as d, type CssResult as e, type EnvParseResult as f, type GitCommandResult as g, type GitOperation as h, type GqlFormatResult as i, type HtmlMinifyOptions as j, type HtmlMinifyResult as k, type JsMinifyResult as l, type RegexFlag as m, type RegexMatch as n, type RegexResult as o, type RegexSuccess as p, type Segment as q, type SpecVersion as r, type SqlDialect as s, type SqlFormatOptions as t, buildDockerPull as u, buildDockerRun as v, buildGitCommand as w, collapseHtmlWhitespace as x, collapseJsWhitespace as y, countProperties as z };
370
+ export { getJsStats as $, ALL_FLAGS as A, collapseHtmlWhitespace as B, CHEATSHEET as C, type DockerImageRef as D, type EnvEntry as E, collapseJsWhitespace as F, type GitCommandConfig as G, type HtmlFormatResult as H, countProperties as I, type JsMinifyOptions as J, countRules as K, detectDialect as L, MIME_TABLE as M, detectOperationType as N, OPERATIONS as O, type ParsedSpec as P, envToExport as Q, type RegexError as R, SQL_DEFAULT_OPTIONS as S, type TestPatternResult as T, envToJson as U, formatCss as V, formatGql as W, formatHtml as X, formatSql as Y, getEndpointsByTag as Z, getHtmlStats as _, type ApiEndpoint as a, getMethodColor as a0, isValidTag as a1, lookupMime as a2, minifyCss as a3, minifyGql as a4, minifyHtml as a5, minifyJs as a6, minifySql as a7, normalizeRef as a8, parseDockerImage as a9, parseEnv as aa, parseGitCommand as ab, parseSpec as ac, removeConsoleCalls as ad, removeEmptyAttributes as ae, removeHtmlComments as af, removeJsComments as ag, removeRedundantAttributes as ah, searchCheatsheet as ai, searchEndpoints as aj, splitStatements as ak, testPattern as al, testRegex as am, validateEnvKey as an, type ApiInfo as b, code as c, type CheatsheetEntry as d, type CssResult as e, type EnvParseResult as f, type GitCommandResult as g, type GitOperation as h, type GqlFormatResult as i, type HtmlMinifyOptions as j, type HtmlMinifyResult as k, type JsMinifyResult as l, type MatchResult as m, type MimeEntry as n, type MimeLookupResult as o, type RegexFlag as p, type RegexMatch as q, type RegexResult as r, type RegexSuccess as s, type Segment as t, type SpecVersion as u, type SqlDialect as v, type SqlFormatOptions as w, buildDockerPull as x, buildDockerRun as y, buildGitCommand as z };
@@ -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 };