@utilix-tech/sdk 0.12.0 → 0.13.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.13.0
6
+ - Added VAT / Sales Tax Calculator (`calculateTax`).
7
+
5
8
  ## 0.12.0
6
9
  - Added ICO Favicon Inspector (`readIcoInfo`) and Barcode Checksum Validator (`validateBarcode`).
7
10
 
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @utilix-tech/sdk
2
2
 
3
- **535 developer utility functions for Node.js: runs locally, no API key required.**
3
+ **537 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 } from "@utilix-tech/sdk/units";
245
+ import { convertBytes, pxToAll, convert, formatValue, validateCardNumber, validateIban, calculateLoan, validateBarcode, calculateTax } from "@utilix-tech/sdk/units";
246
246
 
247
247
  // File sizes
248
248
  convertBytes(1073741824, "GB"); // 1
@@ -276,6 +276,10 @@ calculateLoan(200000, 6.5, 360);
276
276
  // EAN-13 / EAN-8 / UPC-A barcode checksum validation
277
277
  validateBarcode("4006381333931");
278
278
  // { valid: true, format: "EAN-13", digits: "4006381333931", checkDigit: 1, expectedCheckDigit: 1 }
279
+
280
+ // VAT / sales tax: add or remove tax in either direction
281
+ calculateTax(100, 20, "add");
282
+ // { netAmount: 100, taxAmount: 20, grossAmount: 120, ratePercent: 20, direction: "add" }
279
283
  ```
280
284
 
281
285
  ---
@@ -506,7 +510,7 @@ readIcoInfo(new Uint8Array(icoBytes));
506
510
  | `@utilix-tech/sdk/data` | CSV, YAML, TOML, XML, INI, NDJSON parse and convert |
507
511
  | `@utilix-tech/sdk/generators` | UUID v4/v7, ULID, passwords, strength check, fake data |
508
512
  | `@utilix-tech/sdk/time` | Date diff, timezone convert, cron parse, relative time |
509
- | `@utilix-tech/sdk/units` | Bytes, CSS px/rem, number bases, currency format, credit card/IBAN/barcode validation, loan calculator |
513
+ | `@utilix-tech/sdk/units` | Bytes, CSS px/rem, number bases, currency format, credit card/IBAN/barcode validation, loan calculator, VAT/sales tax calculator |
510
514
  | `@utilix-tech/sdk/network` | HTTP status codes, IP validation, country flags, geolocation URLs, HAR file parsing |
511
515
  | `@utilix-tech/sdk/api` | cURL build/parse, JWT decode/sign, JWKS parse, CORS headers, CSP header |
512
516
  | `@utilix-tech/sdk/code` | SQL format/minify, HTML format/minify, regex tester, GraphQL format |
@@ -11,12 +11,14 @@ __export(units_exports, {
11
11
  COMMON_PERMISSIONS: () => COMMON_PERMISSIONS,
12
12
  COMMON_RATIOS: () => COMMON_RATIOS,
13
13
  COMMON_SIZES: () => COMMON_SIZES,
14
+ COMMON_TAX_RATES: () => COMMON_TAX_RATES,
14
15
  COMMON_VIEWPORTS: () => COMMON_VIEWPORTS,
15
16
  autoFormat: () => autoFormat,
16
17
  bumpVersion: () => bumpVersion,
17
18
  calcAspectRatio: () => calcAspectRatio,
18
19
  calcSubnet: () => calcSubnet,
19
20
  calculateLoan: () => calculateLoan,
21
+ calculateTax: () => calculateTax,
20
22
  compareSemver: () => compareSemver,
21
23
  convert: () => convert,
22
24
  convertBytes: () => convertBytes,
@@ -1140,5 +1142,30 @@ function validateBarcode(input) {
1140
1142
  const expectedCheckDigit = computeBarcodeCheckDigit(dataDigits);
1141
1143
  return { valid: checkDigit === expectedCheckDigit, format, digits, checkDigit, expectedCheckDigit };
1142
1144
  }
1145
+ var COMMON_TAX_RATES = [
1146
+ { country: "US", label: "US (avg. state sales tax)", ratePercent: 7.25 },
1147
+ { country: "GB", label: "UK VAT (standard)", ratePercent: 20 },
1148
+ { country: "DE", label: "Germany VAT (standard)", ratePercent: 19 },
1149
+ { country: "FR", label: "France VAT (standard)", ratePercent: 20 },
1150
+ { country: "CA", label: "Canada GST", ratePercent: 5 },
1151
+ { country: "AU", label: "Australia GST", ratePercent: 10 },
1152
+ { country: "IN", label: "India GST (standard)", ratePercent: 18 },
1153
+ { country: "JP", label: "Japan consumption tax", ratePercent: 10 }
1154
+ ];
1155
+ function calculateTax(amount, ratePercent, direction) {
1156
+ if (!Number.isFinite(amount) || amount < 0) return { error: "Amount must be zero or a positive number" };
1157
+ if (!Number.isFinite(ratePercent) || ratePercent < 0) return { error: "Tax rate must be zero or a positive number" };
1158
+ if (direction !== "add" && direction !== "remove") return { error: 'Direction must be "add" or "remove"' };
1159
+ const round22 = (n) => Math.round(n * 100) / 100;
1160
+ if (direction === "add") {
1161
+ const netAmount2 = round22(amount);
1162
+ const taxAmount2 = round22(amount * (ratePercent / 100));
1163
+ return { netAmount: netAmount2, taxAmount: taxAmount2, grossAmount: round22(netAmount2 + taxAmount2), ratePercent, direction };
1164
+ }
1165
+ const grossAmount = round22(amount);
1166
+ const netAmount = round22(amount / (1 + ratePercent / 100));
1167
+ const taxAmount = round22(grossAmount - netAmount);
1168
+ return { netAmount, taxAmount, grossAmount, ratePercent, direction };
1169
+ }
1143
1170
 
1144
- export { BASE_LABELS, BASE_PREFIXES, BYTE_UNITS, COMMON_CURRENCIES, COMMON_LOCALES, COMMON_PERMISSIONS, COMMON_RATIOS, COMMON_SIZES, COMMON_VIEWPORTS, autoFormat, bumpVersion, calcAspectRatio, calcSubnet, calculateLoan, 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, viewportToPx };
1171
+ 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, 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, viewportToPx };
package/dist/index.cjs CHANGED
@@ -6616,12 +6616,14 @@ __export(units_exports, {
6616
6616
  COMMON_PERMISSIONS: () => COMMON_PERMISSIONS,
6617
6617
  COMMON_RATIOS: () => COMMON_RATIOS,
6618
6618
  COMMON_SIZES: () => COMMON_SIZES,
6619
+ COMMON_TAX_RATES: () => COMMON_TAX_RATES,
6619
6620
  COMMON_VIEWPORTS: () => COMMON_VIEWPORTS,
6620
6621
  autoFormat: () => autoFormat,
6621
6622
  bumpVersion: () => bumpVersion,
6622
6623
  calcAspectRatio: () => calcAspectRatio,
6623
6624
  calcSubnet: () => calcSubnet,
6624
6625
  calculateLoan: () => calculateLoan,
6626
+ calculateTax: () => calculateTax,
6625
6627
  compareSemver: () => compareSemver,
6626
6628
  convert: () => convert,
6627
6629
  convertBytes: () => convertBytes,
@@ -7745,6 +7747,31 @@ function validateBarcode(input) {
7745
7747
  const expectedCheckDigit = computeBarcodeCheckDigit(dataDigits);
7746
7748
  return { valid: checkDigit === expectedCheckDigit, format, digits, checkDigit, expectedCheckDigit };
7747
7749
  }
7750
+ var COMMON_TAX_RATES = [
7751
+ { country: "US", label: "US (avg. state sales tax)", ratePercent: 7.25 },
7752
+ { country: "GB", label: "UK VAT (standard)", ratePercent: 20 },
7753
+ { country: "DE", label: "Germany VAT (standard)", ratePercent: 19 },
7754
+ { country: "FR", label: "France VAT (standard)", ratePercent: 20 },
7755
+ { country: "CA", label: "Canada GST", ratePercent: 5 },
7756
+ { country: "AU", label: "Australia GST", ratePercent: 10 },
7757
+ { country: "IN", label: "India GST (standard)", ratePercent: 18 },
7758
+ { country: "JP", label: "Japan consumption tax", ratePercent: 10 }
7759
+ ];
7760
+ function calculateTax(amount, ratePercent, direction) {
7761
+ if (!Number.isFinite(amount) || amount < 0) return { error: "Amount must be zero or a positive number" };
7762
+ if (!Number.isFinite(ratePercent) || ratePercent < 0) return { error: "Tax rate must be zero or a positive number" };
7763
+ if (direction !== "add" && direction !== "remove") return { error: 'Direction must be "add" or "remove"' };
7764
+ const round23 = (n) => Math.round(n * 100) / 100;
7765
+ if (direction === "add") {
7766
+ const netAmount2 = round23(amount);
7767
+ const taxAmount2 = round23(amount * (ratePercent / 100));
7768
+ return { netAmount: netAmount2, taxAmount: taxAmount2, grossAmount: round23(netAmount2 + taxAmount2), ratePercent, direction };
7769
+ }
7770
+ const grossAmount = round23(amount);
7771
+ const netAmount = round23(amount / (1 + ratePercent / 100));
7772
+ const taxAmount = round23(grossAmount - netAmount);
7773
+ return { netAmount, taxAmount, grossAmount, ratePercent, direction };
7774
+ }
7748
7775
 
7749
7776
  // src/tools/network.ts
7750
7777
  var network_exports = {};
package/dist/index.d.cts CHANGED
@@ -5,7 +5,7 @@ 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-Dt80-S2j.cjs';
8
+ export { u as units } from './units-CKS5W_ih.cjs';
9
9
  export { n as network } from './network-DaNoZ5ER.cjs';
10
10
  export { a as api } from './api-Xl7OzIgq.cjs';
11
11
  export { c as code } from './code-BUqyaofO.cjs';
package/dist/index.d.ts CHANGED
@@ -5,7 +5,7 @@ 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-Dt80-S2j.js';
8
+ export { u as units } from './units-CKS5W_ih.js';
9
9
  export { n as network } from './network-DaNoZ5ER.js';
10
10
  export { a as api } from './api-Xl7OzIgq.js';
11
11
  export { c as code } from './code-BUqyaofO.js';
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { media_exports as media } from './chunk-XMKJYVKB.js';
2
- export { units_exports as units } from './chunk-CJGHHS5M.js';
2
+ export { units_exports as units } from './chunk-BI3SOWM7.js';
3
3
  export { network_exports as network } from './chunk-OB56VNKJ.js';
4
4
  export { api_exports as api } from './chunk-Q3B3YWOA.js';
5
5
  export { code_exports as code } from './chunk-V5S6OJ4A.js';
@@ -1075,6 +1075,31 @@ function validateBarcode(input) {
1075
1075
  const expectedCheckDigit = computeBarcodeCheckDigit(dataDigits);
1076
1076
  return { valid: checkDigit === expectedCheckDigit, format, digits, checkDigit, expectedCheckDigit };
1077
1077
  }
1078
+ var COMMON_TAX_RATES = [
1079
+ { country: "US", label: "US (avg. state sales tax)", ratePercent: 7.25 },
1080
+ { country: "GB", label: "UK VAT (standard)", ratePercent: 20 },
1081
+ { country: "DE", label: "Germany VAT (standard)", ratePercent: 19 },
1082
+ { country: "FR", label: "France VAT (standard)", ratePercent: 20 },
1083
+ { country: "CA", label: "Canada GST", ratePercent: 5 },
1084
+ { country: "AU", label: "Australia GST", ratePercent: 10 },
1085
+ { country: "IN", label: "India GST (standard)", ratePercent: 18 },
1086
+ { country: "JP", label: "Japan consumption tax", ratePercent: 10 }
1087
+ ];
1088
+ function calculateTax(amount, ratePercent, direction) {
1089
+ if (!Number.isFinite(amount) || amount < 0) return { error: "Amount must be zero or a positive number" };
1090
+ if (!Number.isFinite(ratePercent) || ratePercent < 0) return { error: "Tax rate must be zero or a positive number" };
1091
+ if (direction !== "add" && direction !== "remove") return { error: 'Direction must be "add" or "remove"' };
1092
+ const round22 = (n) => Math.round(n * 100) / 100;
1093
+ if (direction === "add") {
1094
+ const netAmount2 = round22(amount);
1095
+ const taxAmount2 = round22(amount * (ratePercent / 100));
1096
+ return { netAmount: netAmount2, taxAmount: taxAmount2, grossAmount: round22(netAmount2 + taxAmount2), ratePercent, direction };
1097
+ }
1098
+ const grossAmount = round22(amount);
1099
+ const netAmount = round22(amount / (1 + ratePercent / 100));
1100
+ const taxAmount = round22(grossAmount - netAmount);
1101
+ return { netAmount, taxAmount, grossAmount, ratePercent, direction };
1102
+ }
1078
1103
 
1079
1104
  exports.BASE_LABELS = BASE_LABELS;
1080
1105
  exports.BASE_PREFIXES = BASE_PREFIXES;
@@ -1084,12 +1109,14 @@ exports.COMMON_LOCALES = COMMON_LOCALES;
1084
1109
  exports.COMMON_PERMISSIONS = COMMON_PERMISSIONS;
1085
1110
  exports.COMMON_RATIOS = COMMON_RATIOS;
1086
1111
  exports.COMMON_SIZES = COMMON_SIZES;
1112
+ exports.COMMON_TAX_RATES = COMMON_TAX_RATES;
1087
1113
  exports.COMMON_VIEWPORTS = COMMON_VIEWPORTS;
1088
1114
  exports.autoFormat = autoFormat;
1089
1115
  exports.bumpVersion = bumpVersion;
1090
1116
  exports.calcAspectRatio = calcAspectRatio;
1091
1117
  exports.calcSubnet = calcSubnet;
1092
1118
  exports.calculateLoan = calculateLoan;
1119
+ exports.calculateTax = calculateTax;
1093
1120
  exports.compareSemver = compareSemver;
1094
1121
  exports.convert = convert;
1095
1122
  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_VIEWPORTS, n as CardValidationResult, D as Dimensions, F as FilePermissions, o as FormatOptions, I as IbanValidationResult, p as IpConversion, L as LoanResult, N as NotationStyle, q as NumberBase, P as Permission, r as PxConvertResult, S as SemverVersion, s as SubnetInfo, V as ViewportConvertResult, t as autoFormat, v as bumpVersion, w as calcAspectRatio, x as calcSubnet, y as calculateLoan, z as compareSemver, E as convert, G as convertBytes, H as convertIp, J as coverBox, K as decimalToIp, M as decimalToIpCidr, O as describePermissions, Q as fitIntoBox, R as formatNumber, T as formatValue, U as formatVwValue, W as formatWithSeparator, X as gcd, Y as ipFromBinary, Z as ipFromDecimal, _ as ipFromHex, $ as ipToBinary, a0 as ipToDecimal, a1 as ipToDecimalCidr, a2 as ipToHex, a3 as ipToOctal, a4 as isValid, a5 as isValidCidr, a6 as isValidIp, a7 as isValidIpv4, a8 as octalToPermissions, a9 as parseFileSize, aa as parseInput, ab as parseNumberString, ac as parseSemver, ad as permissionsToChmod, ae as permissionsToOctal, af as permissionsToSymbolic, ag as ptToPx, ah as pxToAll, ai as pxToViewport, aj as remToPx, ak as satisfiesRange, al as scaleByHeight, am as scaleByWidth, an as sortVersions, ao as splitSubnet, ap as symbolicToPermissions, aq as validateBarcode, ar as validateCardNumber, as as validateIban, at as viewportToPx } from '../units-Dt80-S2j.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_VIEWPORTS, o as CardValidationResult, D as Dimensions, F as FilePermissions, p as FormatOptions, I as IbanValidationResult, q as IpConversion, L as LoanResult, N as NotationStyle, r as NumberBase, P as Permission, s as PxConvertResult, S as SemverVersion, t as SubnetInfo, T as TaxDirection, v as TaxResult, V as ViewportConvertResult, w as autoFormat, x as bumpVersion, y as calcAspectRatio, z as calcSubnet, E as calculateLoan, G as calculateTax, H as compareSemver, J as convert, K as convertBytes, M as convertIp, O as coverBox, Q as decimalToIp, R as decimalToIpCidr, U as describePermissions, W as fitIntoBox, X as formatNumber, Y as formatValue, Z as formatVwValue, _ as formatWithSeparator, $ as gcd, a0 as ipFromBinary, a1 as ipFromDecimal, a2 as ipFromHex, a3 as ipToBinary, a4 as ipToDecimal, a5 as ipToDecimalCidr, a6 as ipToHex, a7 as ipToOctal, a8 as isValid, a9 as isValidCidr, aa as isValidIp, ab as isValidIpv4, ac as octalToPermissions, ad as parseFileSize, ae as parseInput, af as parseNumberString, ag as parseSemver, ah as permissionsToChmod, ai as permissionsToOctal, aj as permissionsToSymbolic, ak as ptToPx, al as pxToAll, am as pxToViewport, an as remToPx, ao as satisfiesRange, ap as scaleByHeight, aq as scaleByWidth, ar as sortVersions, as as splitSubnet, at as symbolicToPermissions, au as validateBarcode, av as validateCardNumber, aw as validateIban, ax as viewportToPx } from '../units-CKS5W_ih.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_VIEWPORTS, n as CardValidationResult, D as Dimensions, F as FilePermissions, o as FormatOptions, I as IbanValidationResult, p as IpConversion, L as LoanResult, N as NotationStyle, q as NumberBase, P as Permission, r as PxConvertResult, S as SemverVersion, s as SubnetInfo, V as ViewportConvertResult, t as autoFormat, v as bumpVersion, w as calcAspectRatio, x as calcSubnet, y as calculateLoan, z as compareSemver, E as convert, G as convertBytes, H as convertIp, J as coverBox, K as decimalToIp, M as decimalToIpCidr, O as describePermissions, Q as fitIntoBox, R as formatNumber, T as formatValue, U as formatVwValue, W as formatWithSeparator, X as gcd, Y as ipFromBinary, Z as ipFromDecimal, _ as ipFromHex, $ as ipToBinary, a0 as ipToDecimal, a1 as ipToDecimalCidr, a2 as ipToHex, a3 as ipToOctal, a4 as isValid, a5 as isValidCidr, a6 as isValidIp, a7 as isValidIpv4, a8 as octalToPermissions, a9 as parseFileSize, aa as parseInput, ab as parseNumberString, ac as parseSemver, ad as permissionsToChmod, ae as permissionsToOctal, af as permissionsToSymbolic, ag as ptToPx, ah as pxToAll, ai as pxToViewport, aj as remToPx, ak as satisfiesRange, al as scaleByHeight, am as scaleByWidth, an as sortVersions, ao as splitSubnet, ap as symbolicToPermissions, aq as validateBarcode, ar as validateCardNumber, as as validateIban, at as viewportToPx } from '../units-Dt80-S2j.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_VIEWPORTS, o as CardValidationResult, D as Dimensions, F as FilePermissions, p as FormatOptions, I as IbanValidationResult, q as IpConversion, L as LoanResult, N as NotationStyle, r as NumberBase, P as Permission, s as PxConvertResult, S as SemverVersion, t as SubnetInfo, T as TaxDirection, v as TaxResult, V as ViewportConvertResult, w as autoFormat, x as bumpVersion, y as calcAspectRatio, z as calcSubnet, E as calculateLoan, G as calculateTax, H as compareSemver, J as convert, K as convertBytes, M as convertIp, O as coverBox, Q as decimalToIp, R as decimalToIpCidr, U as describePermissions, W as fitIntoBox, X as formatNumber, Y as formatValue, Z as formatVwValue, _ as formatWithSeparator, $ as gcd, a0 as ipFromBinary, a1 as ipFromDecimal, a2 as ipFromHex, a3 as ipToBinary, a4 as ipToDecimal, a5 as ipToDecimalCidr, a6 as ipToHex, a7 as ipToOctal, a8 as isValid, a9 as isValidCidr, aa as isValidIp, ab as isValidIpv4, ac as octalToPermissions, ad as parseFileSize, ae as parseInput, af as parseNumberString, ag as parseSemver, ah as permissionsToChmod, ai as permissionsToOctal, aj as permissionsToSymbolic, ak as ptToPx, al as pxToAll, am as pxToViewport, an as remToPx, ao as satisfiesRange, ap as scaleByHeight, aq as scaleByWidth, ar as sortVersions, as as splitSubnet, at as symbolicToPermissions, au as validateBarcode, av as validateCardNumber, aw as validateIban, ax as viewportToPx } from '../units-CKS5W_ih.js';
@@ -1,2 +1,2 @@
1
- export { BASE_LABELS, BASE_PREFIXES, BYTE_UNITS, COMMON_CURRENCIES, COMMON_LOCALES, COMMON_PERMISSIONS, COMMON_RATIOS, COMMON_SIZES, COMMON_VIEWPORTS, autoFormat, bumpVersion, calcAspectRatio, calcSubnet, calculateLoan, 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, viewportToPx } from '../chunk-CJGHHS5M.js';
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, 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, viewportToPx } from '../chunk-BI3SOWM7.js';
2
2
  import '../chunk-MLKGABMK.js';
@@ -295,6 +295,29 @@ interface BarcodeValidationResult {
295
295
  declare function validateBarcode(input: string): BarcodeValidationResult | {
296
296
  error: string;
297
297
  };
298
+ type TaxDirection = "add" | "remove";
299
+ interface TaxResult {
300
+ netAmount: number;
301
+ taxAmount: number;
302
+ grossAmount: number;
303
+ ratePercent: number;
304
+ direction: TaxDirection;
305
+ }
306
+ /** Reference table of well-known published VAT/GST/sales-tax rates. Not a live feed. */
307
+ declare const COMMON_TAX_RATES: Array<{
308
+ country: string;
309
+ label: string;
310
+ ratePercent: number;
311
+ }>;
312
+ /**
313
+ * Add or remove tax from a price given a rate, in either direction: "add"
314
+ * treats the input as the net (pre-tax) amount and computes the gross,
315
+ * "remove" treats the input as the gross (tax-inclusive) amount and backs
316
+ * out the net. Pure formula over user-supplied numbers, no live rate feed.
317
+ */
318
+ declare function calculateTax(amount: number, ratePercent: number, direction: TaxDirection): TaxResult | {
319
+ error: string;
320
+ };
298
321
 
299
322
  type units_AmortizationRow = AmortizationRow;
300
323
  type units_AspectRatioResult = AspectRatioResult;
@@ -311,6 +334,7 @@ declare const units_COMMON_LOCALES: typeof COMMON_LOCALES;
311
334
  declare const units_COMMON_PERMISSIONS: typeof COMMON_PERMISSIONS;
312
335
  declare const units_COMMON_RATIOS: typeof COMMON_RATIOS;
313
336
  declare const units_COMMON_SIZES: typeof COMMON_SIZES;
337
+ declare const units_COMMON_TAX_RATES: typeof COMMON_TAX_RATES;
314
338
  declare const units_COMMON_VIEWPORTS: typeof COMMON_VIEWPORTS;
315
339
  type units_CardValidationResult = CardValidationResult;
316
340
  type units_Dimensions = Dimensions;
@@ -325,12 +349,15 @@ type units_Permission = Permission;
325
349
  type units_PxConvertResult = PxConvertResult;
326
350
  type units_SemverVersion = SemverVersion;
327
351
  type units_SubnetInfo = SubnetInfo;
352
+ type units_TaxDirection = TaxDirection;
353
+ type units_TaxResult = TaxResult;
328
354
  type units_ViewportConvertResult = ViewportConvertResult;
329
355
  declare const units_autoFormat: typeof autoFormat;
330
356
  declare const units_bumpVersion: typeof bumpVersion;
331
357
  declare const units_calcAspectRatio: typeof calcAspectRatio;
332
358
  declare const units_calcSubnet: typeof calcSubnet;
333
359
  declare const units_calculateLoan: typeof calculateLoan;
360
+ declare const units_calculateTax: typeof calculateTax;
334
361
  declare const units_compareSemver: typeof compareSemver;
335
362
  declare const units_convert: typeof convert;
336
363
  declare const units_convertBytes: typeof convertBytes;
@@ -380,7 +407,7 @@ declare const units_validateCardNumber: typeof validateCardNumber;
380
407
  declare const units_validateIban: typeof validateIban;
381
408
  declare const units_viewportToPx: typeof viewportToPx;
382
409
  declare namespace units {
383
- 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_VIEWPORTS as COMMON_VIEWPORTS, type units_CardValidationResult as CardValidationResult, 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_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_ViewportConvertResult as ViewportConvertResult, units_autoFormat as autoFormat, units_bumpVersion as bumpVersion, units_calcAspectRatio as calcAspectRatio, units_calcSubnet as calcSubnet, units_calculateLoan as calculateLoan, 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_viewportToPx as viewportToPx };
410
+ 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_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_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_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_viewportToPx as viewportToPx };
384
411
  }
385
412
 
386
- export { ipToBinary as $, type AmortizationRow as A, BASE_LABELS as B, COMMON_CURRENCIES as C, type Dimensions as D, convert as E, type FilePermissions as F, convertBytes as G, convertIp as H, type IbanValidationResult as I, coverBox as J, decimalToIp as K, type LoanResult as L, decimalToIpCidr as M, type NotationStyle as N, describePermissions as O, type Permission as P, fitIntoBox as Q, formatNumber as R, type SemverVersion as S, formatValue as T, formatVwValue as U, type ViewportConvertResult as V, formatWithSeparator as W, gcd as X, ipFromBinary as Y, ipFromDecimal as Z, ipFromHex as _, type AspectRatioResult as a, ipToDecimal as a0, ipToDecimalCidr as a1, ipToHex as a2, ipToOctal as a3, isValid as a4, isValidCidr as a5, isValidIp as a6, isValidIpv4 as a7, octalToPermissions as a8, parseFileSize as a9, parseInput as aa, parseNumberString as ab, parseSemver as ac, permissionsToChmod as ad, permissionsToOctal as ae, permissionsToSymbolic as af, ptToPx as ag, pxToAll as ah, pxToViewport as ai, remToPx as aj, satisfiesRange as ak, scaleByHeight as al, scaleByWidth as am, sortVersions as an, splitSubnet as ao, symbolicToPermissions as ap, validateBarcode as aq, validateCardNumber as ar, validateIban as as, viewportToPx as at, 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_VIEWPORTS as m, type CardValidationResult as n, type FormatOptions as o, type IpConversion as p, type NumberBase as q, type PxConvertResult as r, type SubnetInfo as s, autoFormat as t, units as u, bumpVersion as v, calcAspectRatio as w, calcSubnet as x, calculateLoan as y, compareSemver as z };
413
+ export { gcd as $, type AmortizationRow as A, BASE_LABELS as B, COMMON_CURRENCIES as C, type Dimensions as D, calculateLoan as E, type FilePermissions as F, calculateTax as G, compareSemver as H, type IbanValidationResult as I, convert as J, convertBytes as K, type LoanResult as L, convertIp as M, type NotationStyle as N, coverBox as O, type Permission as P, decimalToIp as Q, decimalToIpCidr as R, type SemverVersion as S, type TaxDirection as T, describePermissions as U, type ViewportConvertResult as V, fitIntoBox as W, formatNumber as X, formatValue as Y, formatVwValue as Z, formatWithSeparator as _, type AspectRatioResult as a, ipFromBinary as a0, ipFromDecimal as a1, ipFromHex as a2, ipToBinary as a3, ipToDecimal as a4, ipToDecimalCidr as a5, ipToHex as a6, ipToOctal as a7, isValid as a8, isValidCidr as a9, isValidIp as aa, isValidIpv4 as ab, octalToPermissions as ac, parseFileSize as ad, parseInput as ae, parseNumberString as af, parseSemver as ag, permissionsToChmod as ah, permissionsToOctal as ai, permissionsToSymbolic as aj, ptToPx as ak, pxToAll as al, pxToViewport as am, remToPx as an, satisfiesRange as ao, scaleByHeight as ap, scaleByWidth as aq, sortVersions as ar, splitSubnet as as, symbolicToPermissions as at, validateBarcode as au, validateCardNumber as av, validateIban as aw, viewportToPx as ax, 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 FormatOptions as p, type IpConversion as q, type NumberBase as r, type PxConvertResult as s, type SubnetInfo as t, units as u, type TaxResult as v, autoFormat as w, bumpVersion as x, calcAspectRatio as y, calcSubnet as z };
@@ -295,6 +295,29 @@ interface BarcodeValidationResult {
295
295
  declare function validateBarcode(input: string): BarcodeValidationResult | {
296
296
  error: string;
297
297
  };
298
+ type TaxDirection = "add" | "remove";
299
+ interface TaxResult {
300
+ netAmount: number;
301
+ taxAmount: number;
302
+ grossAmount: number;
303
+ ratePercent: number;
304
+ direction: TaxDirection;
305
+ }
306
+ /** Reference table of well-known published VAT/GST/sales-tax rates. Not a live feed. */
307
+ declare const COMMON_TAX_RATES: Array<{
308
+ country: string;
309
+ label: string;
310
+ ratePercent: number;
311
+ }>;
312
+ /**
313
+ * Add or remove tax from a price given a rate, in either direction: "add"
314
+ * treats the input as the net (pre-tax) amount and computes the gross,
315
+ * "remove" treats the input as the gross (tax-inclusive) amount and backs
316
+ * out the net. Pure formula over user-supplied numbers, no live rate feed.
317
+ */
318
+ declare function calculateTax(amount: number, ratePercent: number, direction: TaxDirection): TaxResult | {
319
+ error: string;
320
+ };
298
321
 
299
322
  type units_AmortizationRow = AmortizationRow;
300
323
  type units_AspectRatioResult = AspectRatioResult;
@@ -311,6 +334,7 @@ declare const units_COMMON_LOCALES: typeof COMMON_LOCALES;
311
334
  declare const units_COMMON_PERMISSIONS: typeof COMMON_PERMISSIONS;
312
335
  declare const units_COMMON_RATIOS: typeof COMMON_RATIOS;
313
336
  declare const units_COMMON_SIZES: typeof COMMON_SIZES;
337
+ declare const units_COMMON_TAX_RATES: typeof COMMON_TAX_RATES;
314
338
  declare const units_COMMON_VIEWPORTS: typeof COMMON_VIEWPORTS;
315
339
  type units_CardValidationResult = CardValidationResult;
316
340
  type units_Dimensions = Dimensions;
@@ -325,12 +349,15 @@ type units_Permission = Permission;
325
349
  type units_PxConvertResult = PxConvertResult;
326
350
  type units_SemverVersion = SemverVersion;
327
351
  type units_SubnetInfo = SubnetInfo;
352
+ type units_TaxDirection = TaxDirection;
353
+ type units_TaxResult = TaxResult;
328
354
  type units_ViewportConvertResult = ViewportConvertResult;
329
355
  declare const units_autoFormat: typeof autoFormat;
330
356
  declare const units_bumpVersion: typeof bumpVersion;
331
357
  declare const units_calcAspectRatio: typeof calcAspectRatio;
332
358
  declare const units_calcSubnet: typeof calcSubnet;
333
359
  declare const units_calculateLoan: typeof calculateLoan;
360
+ declare const units_calculateTax: typeof calculateTax;
334
361
  declare const units_compareSemver: typeof compareSemver;
335
362
  declare const units_convert: typeof convert;
336
363
  declare const units_convertBytes: typeof convertBytes;
@@ -380,7 +407,7 @@ declare const units_validateCardNumber: typeof validateCardNumber;
380
407
  declare const units_validateIban: typeof validateIban;
381
408
  declare const units_viewportToPx: typeof viewportToPx;
382
409
  declare namespace units {
383
- 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_VIEWPORTS as COMMON_VIEWPORTS, type units_CardValidationResult as CardValidationResult, 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_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_ViewportConvertResult as ViewportConvertResult, units_autoFormat as autoFormat, units_bumpVersion as bumpVersion, units_calcAspectRatio as calcAspectRatio, units_calcSubnet as calcSubnet, units_calculateLoan as calculateLoan, 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_viewportToPx as viewportToPx };
410
+ 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_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_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_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_viewportToPx as viewportToPx };
384
411
  }
385
412
 
386
- export { ipToBinary as $, type AmortizationRow as A, BASE_LABELS as B, COMMON_CURRENCIES as C, type Dimensions as D, convert as E, type FilePermissions as F, convertBytes as G, convertIp as H, type IbanValidationResult as I, coverBox as J, decimalToIp as K, type LoanResult as L, decimalToIpCidr as M, type NotationStyle as N, describePermissions as O, type Permission as P, fitIntoBox as Q, formatNumber as R, type SemverVersion as S, formatValue as T, formatVwValue as U, type ViewportConvertResult as V, formatWithSeparator as W, gcd as X, ipFromBinary as Y, ipFromDecimal as Z, ipFromHex as _, type AspectRatioResult as a, ipToDecimal as a0, ipToDecimalCidr as a1, ipToHex as a2, ipToOctal as a3, isValid as a4, isValidCidr as a5, isValidIp as a6, isValidIpv4 as a7, octalToPermissions as a8, parseFileSize as a9, parseInput as aa, parseNumberString as ab, parseSemver as ac, permissionsToChmod as ad, permissionsToOctal as ae, permissionsToSymbolic as af, ptToPx as ag, pxToAll as ah, pxToViewport as ai, remToPx as aj, satisfiesRange as ak, scaleByHeight as al, scaleByWidth as am, sortVersions as an, splitSubnet as ao, symbolicToPermissions as ap, validateBarcode as aq, validateCardNumber as ar, validateIban as as, viewportToPx as at, 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_VIEWPORTS as m, type CardValidationResult as n, type FormatOptions as o, type IpConversion as p, type NumberBase as q, type PxConvertResult as r, type SubnetInfo as s, autoFormat as t, units as u, bumpVersion as v, calcAspectRatio as w, calcSubnet as x, calculateLoan as y, compareSemver as z };
413
+ export { gcd as $, type AmortizationRow as A, BASE_LABELS as B, COMMON_CURRENCIES as C, type Dimensions as D, calculateLoan as E, type FilePermissions as F, calculateTax as G, compareSemver as H, type IbanValidationResult as I, convert as J, convertBytes as K, type LoanResult as L, convertIp as M, type NotationStyle as N, coverBox as O, type Permission as P, decimalToIp as Q, decimalToIpCidr as R, type SemverVersion as S, type TaxDirection as T, describePermissions as U, type ViewportConvertResult as V, fitIntoBox as W, formatNumber as X, formatValue as Y, formatVwValue as Z, formatWithSeparator as _, type AspectRatioResult as a, ipFromBinary as a0, ipFromDecimal as a1, ipFromHex as a2, ipToBinary as a3, ipToDecimal as a4, ipToDecimalCidr as a5, ipToHex as a6, ipToOctal as a7, isValid as a8, isValidCidr as a9, isValidIp as aa, isValidIpv4 as ab, octalToPermissions as ac, parseFileSize as ad, parseInput as ae, parseNumberString as af, parseSemver as ag, permissionsToChmod as ah, permissionsToOctal as ai, permissionsToSymbolic as aj, ptToPx as ak, pxToAll as al, pxToViewport as am, remToPx as an, satisfiesRange as ao, scaleByHeight as ap, scaleByWidth as aq, sortVersions as ar, splitSubnet as as, symbolicToPermissions as at, validateBarcode as au, validateCardNumber as av, validateIban as aw, viewportToPx as ax, 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 FormatOptions as p, type IpConversion as q, type NumberBase as r, type PxConvertResult as s, type SubnetInfo as t, units as u, type TaxResult as v, autoFormat as w, bumpVersion as x, calcAspectRatio as y, calcSubnet as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@utilix-tech/sdk",
3
- "version": "0.12.0",
3
+ "version": "0.13.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",