@utilix-tech/sdk 0.14.0 → 0.15.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,9 @@
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.15.0
6
+ - Added MIME Type Lookup (`lookupMime`) and Tip / Bill Split Calculator (`calculateTipSplit`).
7
+
5
8
  ## 0.14.0
6
9
  - Added Compound Interest Calculator (`calculateCompoundInterest`) and ISBN Validator / Converter (`validateIsbn`).
7
10
 
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
+ **543 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)
@@ -242,7 +242,7 @@ getNextRuns("*/5 * * * *", 5); // next 5 run timestamps
242
242
  ### `/units`: Conversions
243
243
 
244
244
  ```ts
245
- import { convertBytes, pxToAll, convert, formatValue, validateCardNumber, validateIban, calculateLoan, validateBarcode, calculateTax, calculateCompoundInterest, validateIsbn } from "@utilix-tech/sdk/units";
245
+ import { convertBytes, pxToAll, convert, formatValue, validateCardNumber, validateIban, calculateLoan, validateBarcode, calculateTax, calculateCompoundInterest, validateIsbn, calculateTipSplit } from "@utilix-tech/sdk/units";
246
246
 
247
247
  // File sizes
248
248
  convertBytes(1073741824, "GB"); // 1
@@ -288,6 +288,10 @@ calculateCompoundInterest(1000, 5, 10, 1);
288
288
  // ISBN-10 / ISBN-13 checksum validation + format conversion
289
289
  validateIsbn("0-306-40615-2");
290
290
  // { valid: true, format: "ISBN-10", converted: "9780306406157", ... }
291
+
292
+ // Tip / bill split: tip amount, total, and an even per-person split
293
+ calculateTipSplit(84.5, 18, 2);
294
+ // { tipAmount: 15.21, totalAmount: 99.71, perPersonTotal: 49.86, ... }
291
295
  ```
292
296
 
293
297
  ---
@@ -366,7 +370,7 @@ generateCspHeader({ "default-src": ["'self'"], "script-src": ["'self'", "cdn.exa
366
370
 
367
371
  ```ts
368
372
  import { formatSql, minifySql, testRegex, formatHtml, formatGql,
369
- detectDialect, splitStatements } from "@utilix-tech/sdk/code";
373
+ detectDialect, splitStatements, lookupMime } from "@utilix-tech/sdk/code";
370
374
 
371
375
  // SQL
372
376
  formatSql("SELECT id,name FROM users WHERE active=1 ORDER BY name");
@@ -390,6 +394,10 @@ minifyHtml("<div> <p> hello </p> </div>");
390
394
 
391
395
  // GraphQL
392
396
  formatGql("query { user(id: 1) { name email } }");
397
+
398
+ // MIME type lookup, either direction
399
+ lookupMime("json"); // { kind: "extension", matches: [{ extension: "json", mimeType: "application/json" }] }
400
+ lookupMime("image/jpeg"); // { kind: "mime", matches: [{ extension: "jpg", ... }, { extension: "jpeg", ... }] }
393
401
  ```
394
402
 
395
403
  ---
@@ -518,10 +526,10 @@ readIcoInfo(new Uint8Array(icoBytes));
518
526
  | `@utilix-tech/sdk/data` | CSV, YAML, TOML, XML, INI, NDJSON parse and convert |
519
527
  | `@utilix-tech/sdk/generators` | UUID v4/v7, ULID, passwords, strength check, fake data |
520
528
  | `@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 |
529
+ | `@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, tip/bill split calculator |
522
530
  | `@utilix-tech/sdk/network` | HTTP status codes, IP validation, country flags, geolocation URLs, HAR file parsing |
523
531
  | `@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 |
532
+ | `@utilix-tech/sdk/code` | SQL format/minify, HTML format/minify, regex tester, GraphQL format, MIME type lookup |
525
533
  | `@utilix-tech/sdk/color` | Hex/RGB/HSL/HSV/CMYK convert, palette generation, contrast check |
526
534
  | `@utilix-tech/sdk/css` | CSS gradient, box-shadow, border-radius, keyframe animation generators |
527
535
  | `@utilix-tech/sdk/misc` | SVG optimize/sanitize, file size format, Unicode inspector |
@@ -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,
@@ -20,6 +21,7 @@ __export(units_exports, {
20
21
  calculateCompoundInterest: () => calculateCompoundInterest,
21
22
  calculateLoan: () => calculateLoan,
22
23
  calculateTax: () => calculateTax,
24
+ calculateTipSplit: () => calculateTipSplit,
23
25
  compareSemver: () => compareSemver,
24
26
  convert: () => convert,
25
27
  convertBytes: () => convertBytes,
@@ -1258,5 +1260,25 @@ function validateIsbn(input) {
1258
1260
  }
1259
1261
  return { error: `Unsupported length (${cleaned.length} characters); expected 10 (ISBN-10) or 13 (ISBN-13)` };
1260
1262
  }
1263
+ var COMMON_TIP_PERCENTAGES = [10, 15, 18, 20, 25];
1264
+ function calculateTipSplit(billAmount, tipPercent, numPeople = 1) {
1265
+ if (!Number.isFinite(billAmount) || billAmount < 0) return { error: "Bill amount must be zero or a positive number" };
1266
+ if (!Number.isFinite(tipPercent) || tipPercent < 0) return { error: "Tip percent must be zero or a positive number" };
1267
+ if (!Number.isInteger(numPeople) || numPeople < 1) return { error: "Number of people must be a positive whole number" };
1268
+ const round22 = (n) => Math.round(n * 100) / 100;
1269
+ const billRounded = round22(billAmount);
1270
+ const tipAmount = round22(billAmount * (tipPercent / 100));
1271
+ const totalAmount = round22(billRounded + tipAmount);
1272
+ return {
1273
+ billAmount: billRounded,
1274
+ tipPercent,
1275
+ tipAmount,
1276
+ totalAmount,
1277
+ numPeople,
1278
+ perPersonBill: round22(billRounded / numPeople),
1279
+ perPersonTip: round22(tipAmount / numPeople),
1280
+ perPersonTotal: round22(totalAmount / numPeople)
1281
+ };
1282
+ }
1261
1283
 
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 };
1284
+ 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, 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 };
package/dist/index.cjs CHANGED
@@ -6617,6 +6617,7 @@ __export(units_exports, {
6617
6617
  COMMON_RATIOS: () => COMMON_RATIOS,
6618
6618
  COMMON_SIZES: () => COMMON_SIZES,
6619
6619
  COMMON_TAX_RATES: () => COMMON_TAX_RATES,
6620
+ COMMON_TIP_PERCENTAGES: () => COMMON_TIP_PERCENTAGES,
6620
6621
  COMMON_VIEWPORTS: () => COMMON_VIEWPORTS,
6621
6622
  autoFormat: () => autoFormat,
6622
6623
  bumpVersion: () => bumpVersion,
@@ -6625,6 +6626,7 @@ __export(units_exports, {
6625
6626
  calculateCompoundInterest: () => calculateCompoundInterest,
6626
6627
  calculateLoan: () => calculateLoan,
6627
6628
  calculateTax: () => calculateTax,
6629
+ calculateTipSplit: () => calculateTipSplit,
6628
6630
  compareSemver: () => compareSemver,
6629
6631
  convert: () => convert,
6630
6632
  convertBytes: () => convertBytes,
@@ -7863,6 +7865,26 @@ function validateIsbn(input) {
7863
7865
  }
7864
7866
  return { error: `Unsupported length (${cleaned.length} characters); expected 10 (ISBN-10) or 13 (ISBN-13)` };
7865
7867
  }
7868
+ var COMMON_TIP_PERCENTAGES = [10, 15, 18, 20, 25];
7869
+ function calculateTipSplit(billAmount, tipPercent, numPeople = 1) {
7870
+ if (!Number.isFinite(billAmount) || billAmount < 0) return { error: "Bill amount must be zero or a positive number" };
7871
+ if (!Number.isFinite(tipPercent) || tipPercent < 0) return { error: "Tip percent must be zero or a positive number" };
7872
+ if (!Number.isInteger(numPeople) || numPeople < 1) return { error: "Number of people must be a positive whole number" };
7873
+ const round23 = (n) => Math.round(n * 100) / 100;
7874
+ const billRounded = round23(billAmount);
7875
+ const tipAmount = round23(billAmount * (tipPercent / 100));
7876
+ const totalAmount = round23(billRounded + tipAmount);
7877
+ return {
7878
+ billAmount: billRounded,
7879
+ tipPercent,
7880
+ tipAmount,
7881
+ totalAmount,
7882
+ numPeople,
7883
+ perPersonBill: round23(billRounded / numPeople),
7884
+ perPersonTip: round23(tipAmount / numPeople),
7885
+ perPersonTotal: round23(totalAmount / numPeople)
7886
+ };
7887
+ }
7866
7888
 
7867
7889
  // src/tools/network.ts
7868
7890
  var network_exports = {};
@@ -10750,6 +10772,7 @@ var code_exports = {};
10750
10772
  __export(code_exports, {
10751
10773
  ALL_FLAGS: () => ALL_FLAGS,
10752
10774
  CHEATSHEET: () => CHEATSHEET,
10775
+ MIME_TABLE: () => MIME_TABLE,
10753
10776
  OPERATIONS: () => OPERATIONS,
10754
10777
  SQL_DEFAULT_OPTIONS: () => SQL_DEFAULT_OPTIONS,
10755
10778
  buildDockerPull: () => buildDockerPull,
@@ -10772,6 +10795,7 @@ __export(code_exports, {
10772
10795
  getJsStats: () => getJsStats,
10773
10796
  getMethodColor: () => getMethodColor,
10774
10797
  isValidTag: () => isValidTag,
10798
+ lookupMime: () => lookupMime,
10775
10799
  minifyCss: () => minifyCss,
10776
10800
  minifyGql: () => minifyGql,
10777
10801
  minifyHtml: () => minifyHtml,
@@ -13022,6 +13046,138 @@ function countProperties(css) {
13022
13046
  });
13023
13047
  return count;
13024
13048
  }
13049
+ var MIME_TABLE = [
13050
+ // Text / web
13051
+ { extension: "txt", mimeType: "text/plain" },
13052
+ { extension: "html", mimeType: "text/html" },
13053
+ { extension: "htm", mimeType: "text/html" },
13054
+ { extension: "css", mimeType: "text/css" },
13055
+ { extension: "js", mimeType: "text/javascript" },
13056
+ { extension: "mjs", mimeType: "text/javascript" },
13057
+ { extension: "json", mimeType: "application/json" },
13058
+ { extension: "jsonld", mimeType: "application/ld+json" },
13059
+ { extension: "xml", mimeType: "application/xml" },
13060
+ { extension: "csv", mimeType: "text/csv" },
13061
+ { extension: "tsv", mimeType: "text/tab-separated-values" },
13062
+ { extension: "md", mimeType: "text/markdown" },
13063
+ { extension: "rtf", mimeType: "application/rtf" },
13064
+ { extension: "yaml", mimeType: "application/x-yaml" },
13065
+ { extension: "yml", mimeType: "application/x-yaml" },
13066
+ { extension: "toml", mimeType: "application/toml" },
13067
+ { extension: "ini", mimeType: "text/plain" },
13068
+ { extension: "ics", mimeType: "text/calendar" },
13069
+ { extension: "vcf", mimeType: "text/vcard" },
13070
+ { extension: "atom", mimeType: "application/atom+xml" },
13071
+ { extension: "rss", mimeType: "application/rss+xml" },
13072
+ // Images
13073
+ { extension: "png", mimeType: "image/png" },
13074
+ { extension: "jpg", mimeType: "image/jpeg" },
13075
+ { extension: "jpeg", mimeType: "image/jpeg" },
13076
+ { extension: "gif", mimeType: "image/gif" },
13077
+ { extension: "bmp", mimeType: "image/bmp" },
13078
+ { extension: "webp", mimeType: "image/webp" },
13079
+ { extension: "svg", mimeType: "image/svg+xml" },
13080
+ { extension: "ico", mimeType: "image/x-icon" },
13081
+ { extension: "tif", mimeType: "image/tiff" },
13082
+ { extension: "tiff", mimeType: "image/tiff" },
13083
+ { extension: "avif", mimeType: "image/avif" },
13084
+ { extension: "heic", mimeType: "image/heic" },
13085
+ { extension: "psd", mimeType: "image/vnd.adobe.photoshop" },
13086
+ // Fonts
13087
+ { extension: "ttf", mimeType: "font/ttf" },
13088
+ { extension: "otf", mimeType: "font/otf" },
13089
+ { extension: "woff", mimeType: "font/woff" },
13090
+ { extension: "woff2", mimeType: "font/woff2" },
13091
+ { extension: "eot", mimeType: "application/vnd.ms-fontobject" },
13092
+ // Documents
13093
+ { extension: "pdf", mimeType: "application/pdf" },
13094
+ { extension: "doc", mimeType: "application/msword" },
13095
+ { extension: "docx", mimeType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document" },
13096
+ { extension: "xls", mimeType: "application/vnd.ms-excel" },
13097
+ { extension: "xlsx", mimeType: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" },
13098
+ { extension: "ppt", mimeType: "application/vnd.ms-powerpoint" },
13099
+ { extension: "pptx", mimeType: "application/vnd.openxmlformats-officedocument.presentationml.presentation" },
13100
+ { extension: "odt", mimeType: "application/vnd.oasis.opendocument.text" },
13101
+ { extension: "ods", mimeType: "application/vnd.oasis.opendocument.spreadsheet" },
13102
+ { extension: "odp", mimeType: "application/vnd.oasis.opendocument.presentation" },
13103
+ { extension: "epub", mimeType: "application/epub+zip" },
13104
+ // Archives
13105
+ { extension: "zip", mimeType: "application/zip" },
13106
+ { extension: "rar", mimeType: "application/vnd.rar" },
13107
+ { extension: "7z", mimeType: "application/x-7z-compressed" },
13108
+ { extension: "tar", mimeType: "application/x-tar" },
13109
+ { extension: "gz", mimeType: "application/gzip" },
13110
+ { extension: "bz2", mimeType: "application/x-bzip2" },
13111
+ { extension: "jar", mimeType: "application/java-archive" },
13112
+ // Audio
13113
+ { extension: "mp3", mimeType: "audio/mpeg" },
13114
+ { extension: "wav", mimeType: "audio/wav" },
13115
+ { extension: "ogg", mimeType: "audio/ogg" },
13116
+ { extension: "oga", mimeType: "audio/ogg" },
13117
+ { extension: "flac", mimeType: "audio/flac" },
13118
+ { extension: "aac", mimeType: "audio/aac" },
13119
+ { extension: "m4a", mimeType: "audio/mp4" },
13120
+ { extension: "mid", mimeType: "audio/midi" },
13121
+ { extension: "midi", mimeType: "audio/midi" },
13122
+ { extension: "weba", mimeType: "audio/webm" },
13123
+ // Video
13124
+ { extension: "mp4", mimeType: "video/mp4" },
13125
+ { extension: "m4v", mimeType: "video/mp4" },
13126
+ { extension: "webm", mimeType: "video/webm" },
13127
+ { extension: "mov", mimeType: "video/quicktime" },
13128
+ { extension: "avi", mimeType: "video/x-msvideo" },
13129
+ { extension: "mkv", mimeType: "video/x-matroska" },
13130
+ { extension: "wmv", mimeType: "video/x-ms-wmv" },
13131
+ { extension: "flv", mimeType: "video/x-flv" },
13132
+ { extension: "mpeg", mimeType: "video/mpeg" },
13133
+ { extension: "mpg", mimeType: "video/mpeg" },
13134
+ { extension: "3gp", mimeType: "video/3gpp" },
13135
+ { extension: "ts", mimeType: "video/mp2t" },
13136
+ // Application / binary
13137
+ { extension: "bin", mimeType: "application/octet-stream" },
13138
+ { extension: "exe", mimeType: "application/vnd.microsoft.portable-executable" },
13139
+ { extension: "dmg", mimeType: "application/x-apple-diskimage" },
13140
+ { extension: "apk", mimeType: "application/vnd.android.package-archive" },
13141
+ { extension: "iso", mimeType: "application/x-iso9660-image" },
13142
+ { extension: "deb", mimeType: "application/vnd.debian.binary-package" },
13143
+ { extension: "rpm", mimeType: "application/x-rpm" },
13144
+ { extension: "msi", mimeType: "application/x-msi" },
13145
+ { extension: "dll", mimeType: "application/x-msdownload" },
13146
+ { extension: "so", mimeType: "application/octet-stream" },
13147
+ { extension: "wasm", mimeType: "application/wasm" },
13148
+ { extension: "swf", mimeType: "application/x-shockwave-flash" },
13149
+ { extension: "crx", mimeType: "application/x-chrome-extension" },
13150
+ { extension: "torrent", mimeType: "application/x-bittorrent" },
13151
+ // Code / config
13152
+ { extension: "sh", mimeType: "application/x-sh" },
13153
+ { extension: "bat", mimeType: "application/x-bat" },
13154
+ { extension: "py", mimeType: "text/x-python" },
13155
+ { extension: "java", mimeType: "text/x-java-source" },
13156
+ { extension: "c", mimeType: "text/x-c" },
13157
+ { extension: "h", mimeType: "text/x-c" },
13158
+ { extension: "cpp", mimeType: "text/x-c++src" },
13159
+ { extension: "rb", mimeType: "text/x-ruby" },
13160
+ { extension: "php", mimeType: "application/x-httpd-php" },
13161
+ { extension: "go", mimeType: "text/x-go" },
13162
+ { extension: "rs", mimeType: "text/x-rust" },
13163
+ { extension: "swift", mimeType: "text/x-swift" },
13164
+ { extension: "sql", mimeType: "application/sql" },
13165
+ { extension: "log", mimeType: "text/plain" }
13166
+ ];
13167
+ function lookupMime(query) {
13168
+ if (!query || !query.trim()) return { error: "Input is empty" };
13169
+ const trimmed = query.trim();
13170
+ if (trimmed.includes("/")) {
13171
+ const mime = trimmed.toLowerCase();
13172
+ const matches2 = MIME_TABLE.filter((e) => e.mimeType.toLowerCase() === mime);
13173
+ if (matches2.length === 0) return { error: `No known file extension for MIME type "${trimmed}"` };
13174
+ return { query: trimmed, kind: "mime", matches: matches2 };
13175
+ }
13176
+ const ext = trimmed.replace(/^\./, "").toLowerCase();
13177
+ const matches = MIME_TABLE.filter((e) => e.extension === ext);
13178
+ if (matches.length === 0) return { error: `No known MIME type for extension ".${ext}"` };
13179
+ return { query: trimmed, kind: "extension", matches };
13180
+ }
13025
13181
 
13026
13182
  // src/tools/color.ts
13027
13183
  var color_exports = {};
package/dist/index.d.cts CHANGED
@@ -5,10 +5,10 @@ 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-CADUCiYZ.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
@@ -5,10 +5,10 @@ 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-CADUCiYZ.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,8 +1,8 @@
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-RJPYVCKQ.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';
@@ -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';
@@ -1189,6 +1189,26 @@ function validateIsbn(input) {
1189
1189
  }
1190
1190
  return { error: `Unsupported length (${cleaned.length} characters); expected 10 (ISBN-10) or 13 (ISBN-13)` };
1191
1191
  }
1192
+ var COMMON_TIP_PERCENTAGES = [10, 15, 18, 20, 25];
1193
+ function calculateTipSplit(billAmount, tipPercent, numPeople = 1) {
1194
+ if (!Number.isFinite(billAmount) || billAmount < 0) return { error: "Bill amount must be zero or a positive number" };
1195
+ if (!Number.isFinite(tipPercent) || tipPercent < 0) return { error: "Tip percent must be zero or a positive number" };
1196
+ if (!Number.isInteger(numPeople) || numPeople < 1) return { error: "Number of people must be a positive whole number" };
1197
+ const round22 = (n) => Math.round(n * 100) / 100;
1198
+ const billRounded = round22(billAmount);
1199
+ const tipAmount = round22(billAmount * (tipPercent / 100));
1200
+ const totalAmount = round22(billRounded + tipAmount);
1201
+ return {
1202
+ billAmount: billRounded,
1203
+ tipPercent,
1204
+ tipAmount,
1205
+ totalAmount,
1206
+ numPeople,
1207
+ perPersonBill: round22(billRounded / numPeople),
1208
+ perPersonTip: round22(tipAmount / numPeople),
1209
+ perPersonTotal: round22(totalAmount / numPeople)
1210
+ };
1211
+ }
1192
1212
 
1193
1213
  exports.BASE_LABELS = BASE_LABELS;
1194
1214
  exports.BASE_PREFIXES = BASE_PREFIXES;
@@ -1199,6 +1219,7 @@ exports.COMMON_PERMISSIONS = COMMON_PERMISSIONS;
1199
1219
  exports.COMMON_RATIOS = COMMON_RATIOS;
1200
1220
  exports.COMMON_SIZES = COMMON_SIZES;
1201
1221
  exports.COMMON_TAX_RATES = COMMON_TAX_RATES;
1222
+ exports.COMMON_TIP_PERCENTAGES = COMMON_TIP_PERCENTAGES;
1202
1223
  exports.COMMON_VIEWPORTS = COMMON_VIEWPORTS;
1203
1224
  exports.autoFormat = autoFormat;
1204
1225
  exports.bumpVersion = bumpVersion;
@@ -1207,6 +1228,7 @@ exports.calcSubnet = calcSubnet;
1207
1228
  exports.calculateCompoundInterest = calculateCompoundInterest;
1208
1229
  exports.calculateLoan = calculateLoan;
1209
1230
  exports.calculateTax = calculateTax;
1231
+ exports.calculateTipSplit = calculateTipSplit;
1210
1232
  exports.compareSemver = compareSemver;
1211
1233
  exports.convert = convert;
1212
1234
  exports.convertBytes = convertBytes;
@@ -1 +1 @@
1
- export { A as AmortizationRow, a as AspectRatioResult, B as BASE_LABELS, b as BASE_PREFIXES, c as BYTE_UNITS, d as BarcodeFormat, e as BarcodeValidationResult, f as BaseConvertResult, g as ByteConvertResult, h as ByteUnit, C as COMMON_CURRENCIES, i as COMMON_LOCALES, j as COMMON_PERMISSIONS, k as COMMON_RATIOS, l as COMMON_SIZES, m as COMMON_TAX_RATES, n as COMMON_VIEWPORTS, o as CardValidationResult, p as CompoundInterestResult, q as CompoundYearRow, D as Dimensions, F as FilePermissions, r as FormatOptions, I as IbanValidationResult, s as IpConversion, t as IsbnFormat, v as IsbnResult, L as LoanResult, N as NotationStyle, w as NumberBase, P as Permission, x as PxConvertResult, S as SemverVersion, y as SubnetInfo, T as TaxDirection, z as TaxResult, V as ViewportConvertResult, E as autoFormat, G as bumpVersion, H as calcAspectRatio, J as calcSubnet, K as calculateCompoundInterest, M as calculateLoan, O as calculateTax, Q as compareSemver, R as convert, U as convertBytes, W as convertIp, X as coverBox, Y as decimalToIp, Z as decimalToIpCidr, _ as describePermissions, $ as fitIntoBox, a0 as formatNumber, a1 as formatValue, a2 as formatVwValue, a3 as formatWithSeparator, a4 as gcd, a5 as ipFromBinary, a6 as ipFromDecimal, a7 as ipFromHex, a8 as ipToBinary, a9 as ipToDecimal, aa as ipToDecimalCidr, ab as ipToHex, ac as ipToOctal, ad as isValid, ae as isValidCidr, af as isValidIp, ag as isValidIpv4, ah as octalToPermissions, ai as parseFileSize, aj as parseInput, ak as parseNumberString, al as parseSemver, am as permissionsToChmod, an as permissionsToOctal, ao as permissionsToSymbolic, ap as ptToPx, aq as pxToAll, ar as pxToViewport, as as remToPx, at as satisfiesRange, au as scaleByHeight, av as scaleByWidth, aw as sortVersions, ax as splitSubnet, ay as symbolicToPermissions, az as validateBarcode, aA as validateCardNumber, aB as validateIban, aC as validateIsbn, aD as viewportToPx } from '../units-C4N1Dq7_.cjs';
1
+ export { A as AmortizationRow, a as AspectRatioResult, B as BASE_LABELS, b as BASE_PREFIXES, c as BYTE_UNITS, d as BarcodeFormat, e as BarcodeValidationResult, f as BaseConvertResult, g as ByteConvertResult, h as ByteUnit, C as COMMON_CURRENCIES, i as COMMON_LOCALES, j as COMMON_PERMISSIONS, k as COMMON_RATIOS, l as COMMON_SIZES, m as COMMON_TAX_RATES, n as COMMON_TIP_PERCENTAGES, o as COMMON_VIEWPORTS, p as CardValidationResult, q as CompoundInterestResult, r as CompoundYearRow, D as Dimensions, F as FilePermissions, s as FormatOptions, I as IbanValidationResult, t as IpConversion, v as IsbnFormat, w as IsbnResult, L as LoanResult, N as NotationStyle, x as NumberBase, P as Permission, y as PxConvertResult, S as SemverVersion, z as SubnetInfo, T as TaxDirection, E as TaxResult, G as TipSplitResult, V as ViewportConvertResult, H as autoFormat, J as bumpVersion, K as calcAspectRatio, M as calcSubnet, O as calculateCompoundInterest, Q as calculateLoan, R as calculateTax, U as calculateTipSplit, W as compareSemver, X as convert, Y as convertBytes, Z as convertIp, _ as coverBox, $ as decimalToIp, a0 as decimalToIpCidr, a1 as describePermissions, a2 as fitIntoBox, a3 as formatNumber, a4 as formatValue, a5 as formatVwValue, a6 as formatWithSeparator, a7 as gcd, a8 as ipFromBinary, a9 as ipFromDecimal, aa as ipFromHex, ab as ipToBinary, ac as ipToDecimal, ad as ipToDecimalCidr, ae as ipToHex, af as ipToOctal, ag as isValid, ah as isValidCidr, ai as isValidIp, aj as isValidIpv4, ak as octalToPermissions, al as parseFileSize, am as parseInput, an as parseNumberString, ao as parseSemver, ap as permissionsToChmod, aq as permissionsToOctal, ar as permissionsToSymbolic, as as ptToPx, at as pxToAll, au as pxToViewport, av as remToPx, aw as satisfiesRange, ax as scaleByHeight, ay as scaleByWidth, az as sortVersions, aA as splitSubnet, aB as symbolicToPermissions, aC as validateBarcode, aD as validateCardNumber, aE as validateIban, aF as validateIsbn, aG as viewportToPx } from '../units-CADUCiYZ.cjs';
@@ -1 +1 @@
1
- export { A as AmortizationRow, a as AspectRatioResult, B as BASE_LABELS, b as BASE_PREFIXES, c as BYTE_UNITS, d as BarcodeFormat, e as BarcodeValidationResult, f as BaseConvertResult, g as ByteConvertResult, h as ByteUnit, C as COMMON_CURRENCIES, i as COMMON_LOCALES, j as COMMON_PERMISSIONS, k as COMMON_RATIOS, l as COMMON_SIZES, m as COMMON_TAX_RATES, n as COMMON_VIEWPORTS, o as CardValidationResult, p as CompoundInterestResult, q as CompoundYearRow, D as Dimensions, F as FilePermissions, r as FormatOptions, I as IbanValidationResult, s as IpConversion, t as IsbnFormat, v as IsbnResult, L as LoanResult, N as NotationStyle, w as NumberBase, P as Permission, x as PxConvertResult, S as SemverVersion, y as SubnetInfo, T as TaxDirection, z as TaxResult, V as ViewportConvertResult, E as autoFormat, G as bumpVersion, H as calcAspectRatio, J as calcSubnet, K as calculateCompoundInterest, M as calculateLoan, O as calculateTax, Q as compareSemver, R as convert, U as convertBytes, W as convertIp, X as coverBox, Y as decimalToIp, Z as decimalToIpCidr, _ as describePermissions, $ as fitIntoBox, a0 as formatNumber, a1 as formatValue, a2 as formatVwValue, a3 as formatWithSeparator, a4 as gcd, a5 as ipFromBinary, a6 as ipFromDecimal, a7 as ipFromHex, a8 as ipToBinary, a9 as ipToDecimal, aa as ipToDecimalCidr, ab as ipToHex, ac as ipToOctal, ad as isValid, ae as isValidCidr, af as isValidIp, ag as isValidIpv4, ah as octalToPermissions, ai as parseFileSize, aj as parseInput, ak as parseNumberString, al as parseSemver, am as permissionsToChmod, an as permissionsToOctal, ao as permissionsToSymbolic, ap as ptToPx, aq as pxToAll, ar as pxToViewport, as as remToPx, at as satisfiesRange, au as scaleByHeight, av as scaleByWidth, aw as sortVersions, ax as splitSubnet, ay as symbolicToPermissions, az as validateBarcode, aA as validateCardNumber, aB as validateIban, aC as validateIsbn, aD as viewportToPx } from '../units-C4N1Dq7_.js';
1
+ export { A as AmortizationRow, a as AspectRatioResult, B as BASE_LABELS, b as BASE_PREFIXES, c as BYTE_UNITS, d as BarcodeFormat, e as BarcodeValidationResult, f as BaseConvertResult, g as ByteConvertResult, h as ByteUnit, C as COMMON_CURRENCIES, i as COMMON_LOCALES, j as COMMON_PERMISSIONS, k as COMMON_RATIOS, l as COMMON_SIZES, m as COMMON_TAX_RATES, n as COMMON_TIP_PERCENTAGES, o as COMMON_VIEWPORTS, p as CardValidationResult, q as CompoundInterestResult, r as CompoundYearRow, D as Dimensions, F as FilePermissions, s as FormatOptions, I as IbanValidationResult, t as IpConversion, v as IsbnFormat, w as IsbnResult, L as LoanResult, N as NotationStyle, x as NumberBase, P as Permission, y as PxConvertResult, S as SemverVersion, z as SubnetInfo, T as TaxDirection, E as TaxResult, G as TipSplitResult, V as ViewportConvertResult, H as autoFormat, J as bumpVersion, K as calcAspectRatio, M as calcSubnet, O as calculateCompoundInterest, Q as calculateLoan, R as calculateTax, U as calculateTipSplit, W as compareSemver, X as convert, Y as convertBytes, Z as convertIp, _ as coverBox, $ as decimalToIp, a0 as decimalToIpCidr, a1 as describePermissions, a2 as fitIntoBox, a3 as formatNumber, a4 as formatValue, a5 as formatVwValue, a6 as formatWithSeparator, a7 as gcd, a8 as ipFromBinary, a9 as ipFromDecimal, aa as ipFromHex, ab as ipToBinary, ac as ipToDecimal, ad as ipToDecimalCidr, ae as ipToHex, af as ipToOctal, ag as isValid, ah as isValidCidr, ai as isValidIp, aj as isValidIpv4, ak as octalToPermissions, al as parseFileSize, am as parseInput, an as parseNumberString, ao as parseSemver, ap as permissionsToChmod, aq as permissionsToOctal, ar as permissionsToSymbolic, as as ptToPx, at as pxToAll, au as pxToViewport, av as remToPx, aw as satisfiesRange, ax as scaleByHeight, ay as scaleByWidth, az as sortVersions, aA as splitSubnet, aB as symbolicToPermissions, aC as validateBarcode, aD as validateCardNumber, aE as validateIban, aF as validateIsbn, aG as viewportToPx } from '../units-CADUCiYZ.js';
@@ -1,2 +1,2 @@
1
- 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, validateBarcode, validateCardNumber, validateIban, validateIsbn, viewportToPx } from '../chunk-2TQTKZCN.js';
1
+ 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, 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, validateBarcode, validateCardNumber, validateIban, validateIsbn, viewportToPx } from '../chunk-RJPYVCKQ.js';
2
2
  import '../chunk-MLKGABMK.js';
@@ -19,6 +19,7 @@
19
19
  * - vat-calculator : calculateTax
20
20
  * - compound-interest-calculator : calculateCompoundInterest
21
21
  * - isbn-validator : validateIsbn
22
+ * - tip-calculator : calculateTipSplit
22
23
  */
23
24
  interface PxConvertResult {
24
25
  px: number;
@@ -366,6 +367,26 @@ interface IsbnResult {
366
367
  declare function validateIsbn(input: string): IsbnResult | {
367
368
  error: string;
368
369
  };
370
+ interface TipSplitResult {
371
+ billAmount: number;
372
+ tipPercent: number;
373
+ tipAmount: number;
374
+ totalAmount: number;
375
+ numPeople: number;
376
+ perPersonBill: number;
377
+ perPersonTip: number;
378
+ perPersonTotal: number;
379
+ }
380
+ /** Common tip percentages shown as quick-select buttons in the UI. */
381
+ declare const COMMON_TIP_PERCENTAGES: number[];
382
+ /**
383
+ * Compute a tip on a bill amount and split the bill, tip, and total evenly
384
+ * across a number of people. Pure arithmetic over user-supplied numbers, no
385
+ * live rate feed and no uneven per-item splitting.
386
+ */
387
+ declare function calculateTipSplit(billAmount: number, tipPercent: number, numPeople?: number): TipSplitResult | {
388
+ error: string;
389
+ };
369
390
 
370
391
  type units_AmortizationRow = AmortizationRow;
371
392
  type units_AspectRatioResult = AspectRatioResult;
@@ -383,6 +404,7 @@ declare const units_COMMON_PERMISSIONS: typeof COMMON_PERMISSIONS;
383
404
  declare const units_COMMON_RATIOS: typeof COMMON_RATIOS;
384
405
  declare const units_COMMON_SIZES: typeof COMMON_SIZES;
385
406
  declare const units_COMMON_TAX_RATES: typeof COMMON_TAX_RATES;
407
+ declare const units_COMMON_TIP_PERCENTAGES: typeof COMMON_TIP_PERCENTAGES;
386
408
  declare const units_COMMON_VIEWPORTS: typeof COMMON_VIEWPORTS;
387
409
  type units_CardValidationResult = CardValidationResult;
388
410
  type units_CompoundInterestResult = CompoundInterestResult;
@@ -403,6 +425,7 @@ type units_SemverVersion = SemverVersion;
403
425
  type units_SubnetInfo = SubnetInfo;
404
426
  type units_TaxDirection = TaxDirection;
405
427
  type units_TaxResult = TaxResult;
428
+ type units_TipSplitResult = TipSplitResult;
406
429
  type units_ViewportConvertResult = ViewportConvertResult;
407
430
  declare const units_autoFormat: typeof autoFormat;
408
431
  declare const units_bumpVersion: typeof bumpVersion;
@@ -411,6 +434,7 @@ declare const units_calcSubnet: typeof calcSubnet;
411
434
  declare const units_calculateCompoundInterest: typeof calculateCompoundInterest;
412
435
  declare const units_calculateLoan: typeof calculateLoan;
413
436
  declare const units_calculateTax: typeof calculateTax;
437
+ declare const units_calculateTipSplit: typeof calculateTipSplit;
414
438
  declare const units_compareSemver: typeof compareSemver;
415
439
  declare const units_convert: typeof convert;
416
440
  declare const units_convertBytes: typeof convertBytes;
@@ -461,7 +485,7 @@ declare const units_validateIban: typeof validateIban;
461
485
  declare const units_validateIsbn: typeof validateIsbn;
462
486
  declare const units_viewportToPx: typeof viewportToPx;
463
487
  declare namespace units {
464
- export { type units_AmortizationRow as AmortizationRow, type units_AspectRatioResult as AspectRatioResult, units_BASE_LABELS as BASE_LABELS, units_BASE_PREFIXES as BASE_PREFIXES, units_BYTE_UNITS as BYTE_UNITS, type units_BarcodeFormat as BarcodeFormat, type units_BarcodeValidationResult as BarcodeValidationResult, type units_BaseConvertResult as BaseConvertResult, type units_ByteConvertResult as ByteConvertResult, type units_ByteUnit as ByteUnit, units_COMMON_CURRENCIES as COMMON_CURRENCIES, units_COMMON_LOCALES as COMMON_LOCALES, units_COMMON_PERMISSIONS as COMMON_PERMISSIONS, units_COMMON_RATIOS as COMMON_RATIOS, units_COMMON_SIZES as COMMON_SIZES, units_COMMON_TAX_RATES as COMMON_TAX_RATES, units_COMMON_VIEWPORTS as COMMON_VIEWPORTS, type units_CardValidationResult as CardValidationResult, type units_CompoundInterestResult as CompoundInterestResult, type units_CompoundYearRow as CompoundYearRow, type units_Dimensions as Dimensions, type units_FilePermissions as FilePermissions, type units_FormatOptions as FormatOptions, type units_IbanValidationResult as IbanValidationResult, type units_IpConversion as IpConversion, type units_IsbnFormat as IsbnFormat, type units_IsbnResult as IsbnResult, type units_LoanResult as LoanResult, type units_NotationStyle as NotationStyle, type units_NumberBase as NumberBase, type units_Permission as Permission, type units_PxConvertResult as PxConvertResult, type units_SemverVersion as SemverVersion, type units_SubnetInfo as SubnetInfo, type units_TaxDirection as TaxDirection, type units_TaxResult as TaxResult, type units_ViewportConvertResult as ViewportConvertResult, units_autoFormat as autoFormat, units_bumpVersion as bumpVersion, units_calcAspectRatio as calcAspectRatio, units_calcSubnet as calcSubnet, units_calculateCompoundInterest as calculateCompoundInterest, units_calculateLoan as calculateLoan, units_calculateTax as calculateTax, units_compareSemver as compareSemver, units_convert as convert, units_convertBytes as convertBytes, units_convertIp as convertIp, units_coverBox as coverBox, units_decimalToIp as decimalToIp, units_decimalToIpCidr as decimalToIpCidr, units_describePermissions as describePermissions, units_fitIntoBox as fitIntoBox, units_formatNumber as formatNumber, units_formatValue as formatValue, units_formatVwValue as formatVwValue, units_formatWithSeparator as formatWithSeparator, units_gcd as gcd, units_ipFromBinary as ipFromBinary, units_ipFromDecimal as ipFromDecimal, units_ipFromHex as ipFromHex, units_ipToBinary as ipToBinary, units_ipToDecimal as ipToDecimal, units_ipToDecimalCidr as ipToDecimalCidr, units_ipToHex as ipToHex, units_ipToOctal as ipToOctal, units_isValid as isValid, units_isValidCidr as isValidCidr, units_isValidIp as isValidIp, units_isValidIpv4 as isValidIpv4, units_octalToPermissions as octalToPermissions, units_parseFileSize as parseFileSize, units_parseInput as parseInput, units_parseNumberString as parseNumberString, units_parseSemver as parseSemver, units_permissionsToChmod as permissionsToChmod, units_permissionsToOctal as permissionsToOctal, units_permissionsToSymbolic as permissionsToSymbolic, units_ptToPx as ptToPx, units_pxToAll as pxToAll, units_pxToViewport as pxToViewport, units_remToPx as remToPx, units_satisfiesRange as satisfiesRange, units_scaleByHeight as scaleByHeight, units_scaleByWidth as scaleByWidth, units_sortVersions as sortVersions, units_splitSubnet as splitSubnet, units_symbolicToPermissions as symbolicToPermissions, units_validateBarcode as validateBarcode, units_validateCardNumber as validateCardNumber, units_validateIban as validateIban, units_validateIsbn as validateIsbn, units_viewportToPx as viewportToPx };
488
+ export { type units_AmortizationRow as AmortizationRow, type units_AspectRatioResult as AspectRatioResult, units_BASE_LABELS as BASE_LABELS, units_BASE_PREFIXES as BASE_PREFIXES, units_BYTE_UNITS as BYTE_UNITS, type units_BarcodeFormat as BarcodeFormat, type units_BarcodeValidationResult as BarcodeValidationResult, type units_BaseConvertResult as BaseConvertResult, type units_ByteConvertResult as ByteConvertResult, type units_ByteUnit as ByteUnit, units_COMMON_CURRENCIES as COMMON_CURRENCIES, units_COMMON_LOCALES as COMMON_LOCALES, units_COMMON_PERMISSIONS as COMMON_PERMISSIONS, units_COMMON_RATIOS as COMMON_RATIOS, units_COMMON_SIZES as COMMON_SIZES, units_COMMON_TAX_RATES as COMMON_TAX_RATES, units_COMMON_TIP_PERCENTAGES as COMMON_TIP_PERCENTAGES, units_COMMON_VIEWPORTS as COMMON_VIEWPORTS, type units_CardValidationResult as CardValidationResult, type units_CompoundInterestResult as CompoundInterestResult, type units_CompoundYearRow as CompoundYearRow, type units_Dimensions as Dimensions, type units_FilePermissions as FilePermissions, type units_FormatOptions as FormatOptions, type units_IbanValidationResult as IbanValidationResult, type units_IpConversion as IpConversion, type units_IsbnFormat as IsbnFormat, type units_IsbnResult as IsbnResult, type units_LoanResult as LoanResult, type units_NotationStyle as NotationStyle, type units_NumberBase as NumberBase, type units_Permission as Permission, type units_PxConvertResult as PxConvertResult, type units_SemverVersion as SemverVersion, type units_SubnetInfo as SubnetInfo, type units_TaxDirection as TaxDirection, type units_TaxResult as TaxResult, type units_TipSplitResult as TipSplitResult, type units_ViewportConvertResult as ViewportConvertResult, units_autoFormat as autoFormat, units_bumpVersion as bumpVersion, units_calcAspectRatio as calcAspectRatio, units_calcSubnet as calcSubnet, units_calculateCompoundInterest as calculateCompoundInterest, units_calculateLoan as calculateLoan, units_calculateTax as calculateTax, units_calculateTipSplit as calculateTipSplit, units_compareSemver as compareSemver, units_convert as convert, units_convertBytes as convertBytes, units_convertIp as convertIp, units_coverBox as coverBox, units_decimalToIp as decimalToIp, units_decimalToIpCidr as decimalToIpCidr, units_describePermissions as describePermissions, units_fitIntoBox as fitIntoBox, units_formatNumber as formatNumber, units_formatValue as formatValue, units_formatVwValue as formatVwValue, units_formatWithSeparator as formatWithSeparator, units_gcd as gcd, units_ipFromBinary as ipFromBinary, units_ipFromDecimal as ipFromDecimal, units_ipFromHex as ipFromHex, units_ipToBinary as ipToBinary, units_ipToDecimal as ipToDecimal, units_ipToDecimalCidr as ipToDecimalCidr, units_ipToHex as ipToHex, units_ipToOctal as ipToOctal, units_isValid as isValid, units_isValidCidr as isValidCidr, units_isValidIp as isValidIp, units_isValidIpv4 as isValidIpv4, units_octalToPermissions as octalToPermissions, units_parseFileSize as parseFileSize, units_parseInput as parseInput, units_parseNumberString as parseNumberString, units_parseSemver as parseSemver, units_permissionsToChmod as permissionsToChmod, units_permissionsToOctal as permissionsToOctal, units_permissionsToSymbolic as permissionsToSymbolic, units_ptToPx as ptToPx, units_pxToAll as pxToAll, units_pxToViewport as pxToViewport, units_remToPx as remToPx, units_satisfiesRange as satisfiesRange, units_scaleByHeight as scaleByHeight, units_scaleByWidth as scaleByWidth, units_sortVersions as sortVersions, units_splitSubnet as splitSubnet, units_symbolicToPermissions as symbolicToPermissions, units_validateBarcode as validateBarcode, units_validateCardNumber as validateCardNumber, units_validateIban as validateIban, units_validateIsbn as validateIsbn, units_viewportToPx as viewportToPx };
465
489
  }
466
490
 
467
- export { fitIntoBox as $, type AmortizationRow as A, BASE_LABELS as B, COMMON_CURRENCIES as C, type Dimensions as D, autoFormat as E, type FilePermissions as F, bumpVersion as G, calcAspectRatio as H, type IbanValidationResult as I, calcSubnet as J, calculateCompoundInterest as K, type LoanResult as L, calculateLoan as M, type NotationStyle as N, calculateTax as O, type Permission as P, compareSemver as Q, convert as R, type SemverVersion as S, type TaxDirection as T, convertBytes as U, type ViewportConvertResult as V, convertIp as W, coverBox as X, decimalToIp as Y, decimalToIpCidr as Z, describePermissions as _, type AspectRatioResult as a, formatNumber as a0, formatValue as a1, formatVwValue as a2, formatWithSeparator as a3, gcd as a4, ipFromBinary as a5, ipFromDecimal as a6, ipFromHex as a7, ipToBinary as a8, ipToDecimal as a9, validateCardNumber as aA, validateIban as aB, validateIsbn as aC, viewportToPx as aD, ipToDecimalCidr as aa, ipToHex as ab, ipToOctal as ac, isValid as ad, isValidCidr as ae, isValidIp as af, isValidIpv4 as ag, octalToPermissions as ah, parseFileSize as ai, parseInput as aj, parseNumberString as ak, parseSemver as al, permissionsToChmod as am, permissionsToOctal as an, permissionsToSymbolic as ao, ptToPx as ap, pxToAll as aq, pxToViewport as ar, remToPx as as, satisfiesRange as at, scaleByHeight as au, scaleByWidth as av, sortVersions as aw, splitSubnet as ax, symbolicToPermissions as ay, validateBarcode as az, BASE_PREFIXES as b, BYTE_UNITS as c, type BarcodeFormat as d, type BarcodeValidationResult as e, type BaseConvertResult as f, type ByteConvertResult as g, type ByteUnit as h, COMMON_LOCALES as i, COMMON_PERMISSIONS as j, COMMON_RATIOS as k, COMMON_SIZES as l, COMMON_TAX_RATES as m, COMMON_VIEWPORTS as n, type CardValidationResult as o, type CompoundInterestResult as p, type CompoundYearRow as q, type FormatOptions as r, type IpConversion as s, type IsbnFormat as t, units as u, type IsbnResult as v, type NumberBase as w, type PxConvertResult as x, type SubnetInfo as y, type TaxResult as z };
491
+ export { decimalToIp as $, type AmortizationRow as A, BASE_LABELS as B, COMMON_CURRENCIES as C, type Dimensions as D, type TaxResult as E, type FilePermissions as F, type TipSplitResult as G, autoFormat as H, type IbanValidationResult as I, bumpVersion as J, calcAspectRatio as K, type LoanResult as L, calcSubnet as M, type NotationStyle as N, calculateCompoundInterest as O, type Permission as P, calculateLoan as Q, calculateTax as R, type SemverVersion as S, type TaxDirection as T, calculateTipSplit as U, type ViewportConvertResult as V, compareSemver as W, convert as X, convertBytes as Y, convertIp as Z, coverBox as _, type AspectRatioResult as a, decimalToIpCidr as a0, describePermissions as a1, fitIntoBox as a2, formatNumber as a3, formatValue as a4, formatVwValue as a5, formatWithSeparator as a6, gcd as a7, ipFromBinary as a8, ipFromDecimal as a9, splitSubnet as aA, symbolicToPermissions as aB, validateBarcode as aC, validateCardNumber as aD, validateIban as aE, validateIsbn as aF, viewportToPx as aG, ipFromHex as aa, ipToBinary as ab, ipToDecimal as ac, ipToDecimalCidr as ad, ipToHex as ae, ipToOctal as af, isValid as ag, isValidCidr as ah, isValidIp as ai, isValidIpv4 as aj, octalToPermissions as ak, parseFileSize as al, parseInput as am, parseNumberString as an, parseSemver as ao, permissionsToChmod as ap, permissionsToOctal as aq, permissionsToSymbolic as ar, ptToPx as as, pxToAll as at, pxToViewport as au, remToPx as av, satisfiesRange as aw, scaleByHeight as ax, scaleByWidth as ay, sortVersions as az, BASE_PREFIXES as b, BYTE_UNITS as c, type BarcodeFormat as d, type BarcodeValidationResult as e, type BaseConvertResult as f, type ByteConvertResult as g, type ByteUnit as h, COMMON_LOCALES as i, COMMON_PERMISSIONS as j, COMMON_RATIOS as k, COMMON_SIZES as l, COMMON_TAX_RATES as m, COMMON_TIP_PERCENTAGES as n, COMMON_VIEWPORTS as o, type CardValidationResult as p, type CompoundInterestResult as q, type CompoundYearRow as r, type FormatOptions as s, type IpConversion as t, units as u, type IsbnFormat as v, type IsbnResult as w, type NumberBase as x, type PxConvertResult as y, type SubnetInfo as z };
@@ -19,6 +19,7 @@
19
19
  * - vat-calculator : calculateTax
20
20
  * - compound-interest-calculator : calculateCompoundInterest
21
21
  * - isbn-validator : validateIsbn
22
+ * - tip-calculator : calculateTipSplit
22
23
  */
23
24
  interface PxConvertResult {
24
25
  px: number;
@@ -366,6 +367,26 @@ interface IsbnResult {
366
367
  declare function validateIsbn(input: string): IsbnResult | {
367
368
  error: string;
368
369
  };
370
+ interface TipSplitResult {
371
+ billAmount: number;
372
+ tipPercent: number;
373
+ tipAmount: number;
374
+ totalAmount: number;
375
+ numPeople: number;
376
+ perPersonBill: number;
377
+ perPersonTip: number;
378
+ perPersonTotal: number;
379
+ }
380
+ /** Common tip percentages shown as quick-select buttons in the UI. */
381
+ declare const COMMON_TIP_PERCENTAGES: number[];
382
+ /**
383
+ * Compute a tip on a bill amount and split the bill, tip, and total evenly
384
+ * across a number of people. Pure arithmetic over user-supplied numbers, no
385
+ * live rate feed and no uneven per-item splitting.
386
+ */
387
+ declare function calculateTipSplit(billAmount: number, tipPercent: number, numPeople?: number): TipSplitResult | {
388
+ error: string;
389
+ };
369
390
 
370
391
  type units_AmortizationRow = AmortizationRow;
371
392
  type units_AspectRatioResult = AspectRatioResult;
@@ -383,6 +404,7 @@ declare const units_COMMON_PERMISSIONS: typeof COMMON_PERMISSIONS;
383
404
  declare const units_COMMON_RATIOS: typeof COMMON_RATIOS;
384
405
  declare const units_COMMON_SIZES: typeof COMMON_SIZES;
385
406
  declare const units_COMMON_TAX_RATES: typeof COMMON_TAX_RATES;
407
+ declare const units_COMMON_TIP_PERCENTAGES: typeof COMMON_TIP_PERCENTAGES;
386
408
  declare const units_COMMON_VIEWPORTS: typeof COMMON_VIEWPORTS;
387
409
  type units_CardValidationResult = CardValidationResult;
388
410
  type units_CompoundInterestResult = CompoundInterestResult;
@@ -403,6 +425,7 @@ type units_SemverVersion = SemverVersion;
403
425
  type units_SubnetInfo = SubnetInfo;
404
426
  type units_TaxDirection = TaxDirection;
405
427
  type units_TaxResult = TaxResult;
428
+ type units_TipSplitResult = TipSplitResult;
406
429
  type units_ViewportConvertResult = ViewportConvertResult;
407
430
  declare const units_autoFormat: typeof autoFormat;
408
431
  declare const units_bumpVersion: typeof bumpVersion;
@@ -411,6 +434,7 @@ declare const units_calcSubnet: typeof calcSubnet;
411
434
  declare const units_calculateCompoundInterest: typeof calculateCompoundInterest;
412
435
  declare const units_calculateLoan: typeof calculateLoan;
413
436
  declare const units_calculateTax: typeof calculateTax;
437
+ declare const units_calculateTipSplit: typeof calculateTipSplit;
414
438
  declare const units_compareSemver: typeof compareSemver;
415
439
  declare const units_convert: typeof convert;
416
440
  declare const units_convertBytes: typeof convertBytes;
@@ -461,7 +485,7 @@ declare const units_validateIban: typeof validateIban;
461
485
  declare const units_validateIsbn: typeof validateIsbn;
462
486
  declare const units_viewportToPx: typeof viewportToPx;
463
487
  declare namespace units {
464
- export { type units_AmortizationRow as AmortizationRow, type units_AspectRatioResult as AspectRatioResult, units_BASE_LABELS as BASE_LABELS, units_BASE_PREFIXES as BASE_PREFIXES, units_BYTE_UNITS as BYTE_UNITS, type units_BarcodeFormat as BarcodeFormat, type units_BarcodeValidationResult as BarcodeValidationResult, type units_BaseConvertResult as BaseConvertResult, type units_ByteConvertResult as ByteConvertResult, type units_ByteUnit as ByteUnit, units_COMMON_CURRENCIES as COMMON_CURRENCIES, units_COMMON_LOCALES as COMMON_LOCALES, units_COMMON_PERMISSIONS as COMMON_PERMISSIONS, units_COMMON_RATIOS as COMMON_RATIOS, units_COMMON_SIZES as COMMON_SIZES, units_COMMON_TAX_RATES as COMMON_TAX_RATES, units_COMMON_VIEWPORTS as COMMON_VIEWPORTS, type units_CardValidationResult as CardValidationResult, type units_CompoundInterestResult as CompoundInterestResult, type units_CompoundYearRow as CompoundYearRow, type units_Dimensions as Dimensions, type units_FilePermissions as FilePermissions, type units_FormatOptions as FormatOptions, type units_IbanValidationResult as IbanValidationResult, type units_IpConversion as IpConversion, type units_IsbnFormat as IsbnFormat, type units_IsbnResult as IsbnResult, type units_LoanResult as LoanResult, type units_NotationStyle as NotationStyle, type units_NumberBase as NumberBase, type units_Permission as Permission, type units_PxConvertResult as PxConvertResult, type units_SemverVersion as SemverVersion, type units_SubnetInfo as SubnetInfo, type units_TaxDirection as TaxDirection, type units_TaxResult as TaxResult, type units_ViewportConvertResult as ViewportConvertResult, units_autoFormat as autoFormat, units_bumpVersion as bumpVersion, units_calcAspectRatio as calcAspectRatio, units_calcSubnet as calcSubnet, units_calculateCompoundInterest as calculateCompoundInterest, units_calculateLoan as calculateLoan, units_calculateTax as calculateTax, units_compareSemver as compareSemver, units_convert as convert, units_convertBytes as convertBytes, units_convertIp as convertIp, units_coverBox as coverBox, units_decimalToIp as decimalToIp, units_decimalToIpCidr as decimalToIpCidr, units_describePermissions as describePermissions, units_fitIntoBox as fitIntoBox, units_formatNumber as formatNumber, units_formatValue as formatValue, units_formatVwValue as formatVwValue, units_formatWithSeparator as formatWithSeparator, units_gcd as gcd, units_ipFromBinary as ipFromBinary, units_ipFromDecimal as ipFromDecimal, units_ipFromHex as ipFromHex, units_ipToBinary as ipToBinary, units_ipToDecimal as ipToDecimal, units_ipToDecimalCidr as ipToDecimalCidr, units_ipToHex as ipToHex, units_ipToOctal as ipToOctal, units_isValid as isValid, units_isValidCidr as isValidCidr, units_isValidIp as isValidIp, units_isValidIpv4 as isValidIpv4, units_octalToPermissions as octalToPermissions, units_parseFileSize as parseFileSize, units_parseInput as parseInput, units_parseNumberString as parseNumberString, units_parseSemver as parseSemver, units_permissionsToChmod as permissionsToChmod, units_permissionsToOctal as permissionsToOctal, units_permissionsToSymbolic as permissionsToSymbolic, units_ptToPx as ptToPx, units_pxToAll as pxToAll, units_pxToViewport as pxToViewport, units_remToPx as remToPx, units_satisfiesRange as satisfiesRange, units_scaleByHeight as scaleByHeight, units_scaleByWidth as scaleByWidth, units_sortVersions as sortVersions, units_splitSubnet as splitSubnet, units_symbolicToPermissions as symbolicToPermissions, units_validateBarcode as validateBarcode, units_validateCardNumber as validateCardNumber, units_validateIban as validateIban, units_validateIsbn as validateIsbn, units_viewportToPx as viewportToPx };
488
+ export { type units_AmortizationRow as AmortizationRow, type units_AspectRatioResult as AspectRatioResult, units_BASE_LABELS as BASE_LABELS, units_BASE_PREFIXES as BASE_PREFIXES, units_BYTE_UNITS as BYTE_UNITS, type units_BarcodeFormat as BarcodeFormat, type units_BarcodeValidationResult as BarcodeValidationResult, type units_BaseConvertResult as BaseConvertResult, type units_ByteConvertResult as ByteConvertResult, type units_ByteUnit as ByteUnit, units_COMMON_CURRENCIES as COMMON_CURRENCIES, units_COMMON_LOCALES as COMMON_LOCALES, units_COMMON_PERMISSIONS as COMMON_PERMISSIONS, units_COMMON_RATIOS as COMMON_RATIOS, units_COMMON_SIZES as COMMON_SIZES, units_COMMON_TAX_RATES as COMMON_TAX_RATES, units_COMMON_TIP_PERCENTAGES as COMMON_TIP_PERCENTAGES, units_COMMON_VIEWPORTS as COMMON_VIEWPORTS, type units_CardValidationResult as CardValidationResult, type units_CompoundInterestResult as CompoundInterestResult, type units_CompoundYearRow as CompoundYearRow, type units_Dimensions as Dimensions, type units_FilePermissions as FilePermissions, type units_FormatOptions as FormatOptions, type units_IbanValidationResult as IbanValidationResult, type units_IpConversion as IpConversion, type units_IsbnFormat as IsbnFormat, type units_IsbnResult as IsbnResult, type units_LoanResult as LoanResult, type units_NotationStyle as NotationStyle, type units_NumberBase as NumberBase, type units_Permission as Permission, type units_PxConvertResult as PxConvertResult, type units_SemverVersion as SemverVersion, type units_SubnetInfo as SubnetInfo, type units_TaxDirection as TaxDirection, type units_TaxResult as TaxResult, type units_TipSplitResult as TipSplitResult, type units_ViewportConvertResult as ViewportConvertResult, units_autoFormat as autoFormat, units_bumpVersion as bumpVersion, units_calcAspectRatio as calcAspectRatio, units_calcSubnet as calcSubnet, units_calculateCompoundInterest as calculateCompoundInterest, units_calculateLoan as calculateLoan, units_calculateTax as calculateTax, units_calculateTipSplit as calculateTipSplit, units_compareSemver as compareSemver, units_convert as convert, units_convertBytes as convertBytes, units_convertIp as convertIp, units_coverBox as coverBox, units_decimalToIp as decimalToIp, units_decimalToIpCidr as decimalToIpCidr, units_describePermissions as describePermissions, units_fitIntoBox as fitIntoBox, units_formatNumber as formatNumber, units_formatValue as formatValue, units_formatVwValue as formatVwValue, units_formatWithSeparator as formatWithSeparator, units_gcd as gcd, units_ipFromBinary as ipFromBinary, units_ipFromDecimal as ipFromDecimal, units_ipFromHex as ipFromHex, units_ipToBinary as ipToBinary, units_ipToDecimal as ipToDecimal, units_ipToDecimalCidr as ipToDecimalCidr, units_ipToHex as ipToHex, units_ipToOctal as ipToOctal, units_isValid as isValid, units_isValidCidr as isValidCidr, units_isValidIp as isValidIp, units_isValidIpv4 as isValidIpv4, units_octalToPermissions as octalToPermissions, units_parseFileSize as parseFileSize, units_parseInput as parseInput, units_parseNumberString as parseNumberString, units_parseSemver as parseSemver, units_permissionsToChmod as permissionsToChmod, units_permissionsToOctal as permissionsToOctal, units_permissionsToSymbolic as permissionsToSymbolic, units_ptToPx as ptToPx, units_pxToAll as pxToAll, units_pxToViewport as pxToViewport, units_remToPx as remToPx, units_satisfiesRange as satisfiesRange, units_scaleByHeight as scaleByHeight, units_scaleByWidth as scaleByWidth, units_sortVersions as sortVersions, units_splitSubnet as splitSubnet, units_symbolicToPermissions as symbolicToPermissions, units_validateBarcode as validateBarcode, units_validateCardNumber as validateCardNumber, units_validateIban as validateIban, units_validateIsbn as validateIsbn, units_viewportToPx as viewportToPx };
465
489
  }
466
490
 
467
- export { fitIntoBox as $, type AmortizationRow as A, BASE_LABELS as B, COMMON_CURRENCIES as C, type Dimensions as D, autoFormat as E, type FilePermissions as F, bumpVersion as G, calcAspectRatio as H, type IbanValidationResult as I, calcSubnet as J, calculateCompoundInterest as K, type LoanResult as L, calculateLoan as M, type NotationStyle as N, calculateTax as O, type Permission as P, compareSemver as Q, convert as R, type SemverVersion as S, type TaxDirection as T, convertBytes as U, type ViewportConvertResult as V, convertIp as W, coverBox as X, decimalToIp as Y, decimalToIpCidr as Z, describePermissions as _, type AspectRatioResult as a, formatNumber as a0, formatValue as a1, formatVwValue as a2, formatWithSeparator as a3, gcd as a4, ipFromBinary as a5, ipFromDecimal as a6, ipFromHex as a7, ipToBinary as a8, ipToDecimal as a9, validateCardNumber as aA, validateIban as aB, validateIsbn as aC, viewportToPx as aD, ipToDecimalCidr as aa, ipToHex as ab, ipToOctal as ac, isValid as ad, isValidCidr as ae, isValidIp as af, isValidIpv4 as ag, octalToPermissions as ah, parseFileSize as ai, parseInput as aj, parseNumberString as ak, parseSemver as al, permissionsToChmod as am, permissionsToOctal as an, permissionsToSymbolic as ao, ptToPx as ap, pxToAll as aq, pxToViewport as ar, remToPx as as, satisfiesRange as at, scaleByHeight as au, scaleByWidth as av, sortVersions as aw, splitSubnet as ax, symbolicToPermissions as ay, validateBarcode as az, BASE_PREFIXES as b, BYTE_UNITS as c, type BarcodeFormat as d, type BarcodeValidationResult as e, type BaseConvertResult as f, type ByteConvertResult as g, type ByteUnit as h, COMMON_LOCALES as i, COMMON_PERMISSIONS as j, COMMON_RATIOS as k, COMMON_SIZES as l, COMMON_TAX_RATES as m, COMMON_VIEWPORTS as n, type CardValidationResult as o, type CompoundInterestResult as p, type CompoundYearRow as q, type FormatOptions as r, type IpConversion as s, type IsbnFormat as t, units as u, type IsbnResult as v, type NumberBase as w, type PxConvertResult as x, type SubnetInfo as y, type TaxResult as z };
491
+ export { decimalToIp as $, type AmortizationRow as A, BASE_LABELS as B, COMMON_CURRENCIES as C, type Dimensions as D, type TaxResult as E, type FilePermissions as F, type TipSplitResult as G, autoFormat as H, type IbanValidationResult as I, bumpVersion as J, calcAspectRatio as K, type LoanResult as L, calcSubnet as M, type NotationStyle as N, calculateCompoundInterest as O, type Permission as P, calculateLoan as Q, calculateTax as R, type SemverVersion as S, type TaxDirection as T, calculateTipSplit as U, type ViewportConvertResult as V, compareSemver as W, convert as X, convertBytes as Y, convertIp as Z, coverBox as _, type AspectRatioResult as a, decimalToIpCidr as a0, describePermissions as a1, fitIntoBox as a2, formatNumber as a3, formatValue as a4, formatVwValue as a5, formatWithSeparator as a6, gcd as a7, ipFromBinary as a8, ipFromDecimal as a9, splitSubnet as aA, symbolicToPermissions as aB, validateBarcode as aC, validateCardNumber as aD, validateIban as aE, validateIsbn as aF, viewportToPx as aG, ipFromHex as aa, ipToBinary as ab, ipToDecimal as ac, ipToDecimalCidr as ad, ipToHex as ae, ipToOctal as af, isValid as ag, isValidCidr as ah, isValidIp as ai, isValidIpv4 as aj, octalToPermissions as ak, parseFileSize as al, parseInput as am, parseNumberString as an, parseSemver as ao, permissionsToChmod as ap, permissionsToOctal as aq, permissionsToSymbolic as ar, ptToPx as as, pxToAll as at, pxToViewport as au, remToPx as av, satisfiesRange as aw, scaleByHeight as ax, scaleByWidth as ay, sortVersions as az, BASE_PREFIXES as b, BYTE_UNITS as c, type BarcodeFormat as d, type BarcodeValidationResult as e, type BaseConvertResult as f, type ByteConvertResult as g, type ByteUnit as h, COMMON_LOCALES as i, COMMON_PERMISSIONS as j, COMMON_RATIOS as k, COMMON_SIZES as l, COMMON_TAX_RATES as m, COMMON_TIP_PERCENTAGES as n, COMMON_VIEWPORTS as o, type CardValidationResult as p, type CompoundInterestResult as q, type CompoundYearRow as r, type FormatOptions as s, type IpConversion as t, units as u, type IsbnFormat as v, type IsbnResult as w, type NumberBase as x, type PxConvertResult as y, type SubnetInfo as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@utilix-tech/sdk",
3
- "version": "0.14.0",
3
+ "version": "0.15.0",
4
4
  "description": "154+ developer utility tools for Node.js: JSON, encoding, hashing, color, CSS, network and more. Runs locally, no API key required.",
5
5
  "author": "Utilix <hello@utilix.tech>",
6
6
  "license": "MIT",