@utilix-tech/sdk 0.19.0 → 0.21.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.
Files changed (35) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +22 -5
  3. package/dist/{chunk-F57WMKZO.js → chunk-2I4O5YCT.js} +100 -1
  4. package/dist/{chunk-U34B5XPK.js → chunk-TFNCFD3E.js} +25 -1
  5. package/dist/{chunk-TSAGO3XP.js → chunk-WO3LJMVV.js} +54 -1
  6. package/dist/{chunk-3QMUUTBH.js → chunk-Y5OOP6WN.js} +94 -1
  7. package/dist/index.cjs +269 -0
  8. package/dist/index.d.cts +4 -4
  9. package/dist/index.d.ts +4 -4
  10. package/dist/index.js +4 -4
  11. package/dist/{json-BjSoIS1h.d.cts → json-DEVFIpsC.d.cts} +26 -2
  12. package/dist/{json-BjSoIS1h.d.ts → json-DEVFIpsC.d.ts} +26 -2
  13. package/dist/{network-DZugNyAQ.d.cts → network-BJOjJnmY.d.cts} +45 -2
  14. package/dist/{network-DZugNyAQ.d.ts → network-BJOjJnmY.d.ts} +45 -2
  15. package/dist/{text-Bbx-tZ43.d.cts → text-DS70aMY5.d.cts} +33 -2
  16. package/dist/{text-Bbx-tZ43.d.ts → text-DS70aMY5.d.ts} +33 -2
  17. package/dist/tools/json.cjs +53 -0
  18. package/dist/tools/json.d.cts +1 -1
  19. package/dist/tools/json.d.ts +1 -1
  20. package/dist/tools/json.js +1 -1
  21. package/dist/tools/network.cjs +93 -0
  22. package/dist/tools/network.d.cts +1 -1
  23. package/dist/tools/network.d.ts +1 -1
  24. package/dist/tools/network.js +1 -1
  25. package/dist/tools/text.cjs +99 -0
  26. package/dist/tools/text.d.cts +1 -1
  27. package/dist/tools/text.d.ts +1 -1
  28. package/dist/tools/text.js +1 -1
  29. package/dist/tools/units.cjs +24 -0
  30. package/dist/tools/units.d.cts +1 -1
  31. package/dist/tools/units.d.ts +1 -1
  32. package/dist/tools/units.js +1 -1
  33. package/dist/{units-BFTQwpBu.d.cts → units-pIRkHnsU.d.cts} +24 -2
  34. package/dist/{units-BFTQwpBu.d.ts → units-pIRkHnsU.d.ts} +24 -2
  35. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- export { CASE_FORMATS, DEFAULT_CONVERT_OPTIONS, ESCAPE_MODES, LINE_OPS, MORSE_CODE, addBorder, analyzeText, applyOp, applyOps, centerText, convertAll, convertCase, countWords, csvToHtml, csvToMarkdown, detectDelimiter, detectPassiveVoice, diffLines, diffLinesSimple, diffStats, escapeAll, escapeString, extractHeadings, formatReadingTime, generate, generateDiff, generateHtmlTable, generateMarkdownTable, generateParagraphs, generateSentences, generateWords, getAvailableFonts, getMorseForChar, getMorseTiming, htmlToMarkdown, isValidMorse, markdownToHtml, morseToText, numberToOrdinal, numberToRoman, numberToWords, ordinalWords, parseDiff, parseTableData, readabilityScore, renderMarkdown, romanToNumber, scoreReadability, sentenceCount, slugify, slugifyAll, syllableCount, textToAscii, textToMorse, unescapeString, wordFrequency } from '../chunk-F57WMKZO.js';
1
+ export { CASE_FORMATS, DEFAULT_CONVERT_OPTIONS, ESCAPE_MODES, LINE_OPS, MORSE_CODE, addBorder, analyzeText, applyOp, applyOps, centerText, convertAll, convertCase, countWords, csvToHtml, csvToMarkdown, detectDelimiter, detectFillerWords, detectPassiveVoice, diffLines, diffLinesSimple, diffStats, escapeAll, escapeString, extractHeadings, formatReadingTime, generate, generateDiff, generateHtmlTable, generateMarkdownTable, generateParagraphs, generateSentences, generateWords, getAvailableFonts, getMorseForChar, getMorseTiming, htmlToMarkdown, isValidMorse, markdownToHtml, morseToText, numberToOrdinal, numberToRoman, numberToWords, ordinalWords, parseDiff, parseTableData, readabilityScore, renderMarkdown, romanToNumber, scoreReadability, sentenceCount, slugify, slugifyAll, syllableCount, textToAscii, textToMorse, unescapeString, wordFrequency } from '../chunk-2I4O5YCT.js';
2
2
  import '../chunk-MLKGABMK.js';
@@ -1264,6 +1264,29 @@ function calculateTimeValue(amount, annualRatePercent, years, direction, compoun
1264
1264
  interest: round22(futureValue - presentValue)
1265
1265
  };
1266
1266
  }
1267
+ function calculatePercentageChange(oldValue, newValue) {
1268
+ if (!Number.isFinite(oldValue)) return { error: "Original value must be a finite number" };
1269
+ if (!Number.isFinite(newValue)) return { error: "New value must be a finite number" };
1270
+ if (oldValue === 0 && newValue !== 0) {
1271
+ return { error: "Percentage change from zero is undefined (division by zero); use a nonzero original value" };
1272
+ }
1273
+ const round4 = (n) => Math.round(n * 1e4) / 1e4;
1274
+ const absoluteChange = newValue - oldValue;
1275
+ const percentChange = oldValue === 0 ? 0 : absoluteChange / Math.abs(oldValue) * 100;
1276
+ const multiplier = oldValue === 0 ? 1 : newValue / oldValue;
1277
+ let direction;
1278
+ if (absoluteChange > 0) direction = "increase";
1279
+ else if (absoluteChange < 0) direction = "decrease";
1280
+ else direction = "no change";
1281
+ return {
1282
+ oldValue,
1283
+ newValue,
1284
+ absoluteChange: round4(absoluteChange),
1285
+ percentChange: round4(percentChange),
1286
+ direction,
1287
+ multiplier: round4(multiplier)
1288
+ };
1289
+ }
1267
1290
 
1268
1291
  exports.BASE_LABELS = BASE_LABELS;
1269
1292
  exports.BASE_PREFIXES = BASE_PREFIXES;
@@ -1282,6 +1305,7 @@ exports.calcAspectRatio = calcAspectRatio;
1282
1305
  exports.calcSubnet = calcSubnet;
1283
1306
  exports.calculateCompoundInterest = calculateCompoundInterest;
1284
1307
  exports.calculateLoan = calculateLoan;
1308
+ exports.calculatePercentageChange = calculatePercentageChange;
1285
1309
  exports.calculateSimpleInterest = calculateSimpleInterest;
1286
1310
  exports.calculateTax = calculateTax;
1287
1311
  exports.calculateTimeValue = calculateTimeValue;
@@ -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_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 SimpleInterestResult, E as SubnetInfo, T as TaxDirection, G as TaxResult, H as TimeValueDirection, J as TimeValueResult, K as TipSplitResult, V as ViewportConvertResult, M as autoFormat, O as bumpVersion, Q as calcAspectRatio, R as calcSubnet, U as calculateCompoundInterest, W as calculateLoan, X as calculateSimpleInterest, Y as calculateTax, Z as calculateTimeValue, _ as calculateTipSplit, $ as compareSemver, a0 as convert, a1 as convertBytes, a2 as convertIp, a3 as coverBox, a4 as decimalToIp, a5 as decimalToIpCidr, a6 as describePermissions, a7 as fitIntoBox, a8 as formatNumber, a9 as formatValue, aa as formatVwValue, ab as formatWithSeparator, ac as gcd, ad as ipFromBinary, ae as ipFromDecimal, af as ipFromHex, ag as ipToBinary, ah as ipToDecimal, ai as ipToDecimalCidr, aj as ipToHex, ak as ipToOctal, al as isValid, am as isValidCidr, an as isValidIp, ao as isValidIpv4, ap as octalToPermissions, aq as parseFileSize, ar as parseInput, as as parseNumberString, at as parseSemver, au as permissionsToChmod, av as permissionsToOctal, aw as permissionsToSymbolic, ax as ptToPx, ay as pxToAll, az as pxToViewport, aA as remToPx, aB as satisfiesRange, aC as scaleByHeight, aD as scaleByWidth, aE as sortVersions, aF as splitSubnet, aG as symbolicToPermissions, aH as validateBarcode, aI as validateCardNumber, aJ as validateIban, aK as validateIsbn, aL as viewportToPx } from '../units-BFTQwpBu.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 PercentChangeDirection, y as PercentageChangeResult, z as Permission, E as PxConvertResult, S as SemverVersion, G as SimpleInterestResult, H as SubnetInfo, T as TaxDirection, J as TaxResult, K as TimeValueDirection, M as TimeValueResult, O as TipSplitResult, V as ViewportConvertResult, Q as autoFormat, R as bumpVersion, U as calcAspectRatio, W as calcSubnet, X as calculateCompoundInterest, Y as calculateLoan, Z as calculatePercentageChange, _ as calculateSimpleInterest, $ as calculateTax, a0 as calculateTimeValue, a1 as calculateTipSplit, a2 as compareSemver, a3 as convert, a4 as convertBytes, a5 as convertIp, a6 as coverBox, a7 as decimalToIp, a8 as decimalToIpCidr, a9 as describePermissions, aa as fitIntoBox, ab as formatNumber, ac as formatValue, ad as formatVwValue, ae as formatWithSeparator, af as gcd, ag as ipFromBinary, ah as ipFromDecimal, ai as ipFromHex, aj as ipToBinary, ak as ipToDecimal, al as ipToDecimalCidr, am as ipToHex, an as ipToOctal, ao as isValid, ap as isValidCidr, aq as isValidIp, ar as isValidIpv4, as as octalToPermissions, at as parseFileSize, au as parseInput, av as parseNumberString, aw as parseSemver, ax as permissionsToChmod, ay as permissionsToOctal, az as permissionsToSymbolic, aA as ptToPx, aB as pxToAll, aC as pxToViewport, aD as remToPx, aE as satisfiesRange, aF as scaleByHeight, aG as scaleByWidth, aH as sortVersions, aI as splitSubnet, aJ as symbolicToPermissions, aK as validateBarcode, aL as validateCardNumber, aM as validateIban, aN as validateIsbn, aO as viewportToPx } from '../units-pIRkHnsU.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_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 SimpleInterestResult, E as SubnetInfo, T as TaxDirection, G as TaxResult, H as TimeValueDirection, J as TimeValueResult, K as TipSplitResult, V as ViewportConvertResult, M as autoFormat, O as bumpVersion, Q as calcAspectRatio, R as calcSubnet, U as calculateCompoundInterest, W as calculateLoan, X as calculateSimpleInterest, Y as calculateTax, Z as calculateTimeValue, _ as calculateTipSplit, $ as compareSemver, a0 as convert, a1 as convertBytes, a2 as convertIp, a3 as coverBox, a4 as decimalToIp, a5 as decimalToIpCidr, a6 as describePermissions, a7 as fitIntoBox, a8 as formatNumber, a9 as formatValue, aa as formatVwValue, ab as formatWithSeparator, ac as gcd, ad as ipFromBinary, ae as ipFromDecimal, af as ipFromHex, ag as ipToBinary, ah as ipToDecimal, ai as ipToDecimalCidr, aj as ipToHex, ak as ipToOctal, al as isValid, am as isValidCidr, an as isValidIp, ao as isValidIpv4, ap as octalToPermissions, aq as parseFileSize, ar as parseInput, as as parseNumberString, at as parseSemver, au as permissionsToChmod, av as permissionsToOctal, aw as permissionsToSymbolic, ax as ptToPx, ay as pxToAll, az as pxToViewport, aA as remToPx, aB as satisfiesRange, aC as scaleByHeight, aD as scaleByWidth, aE as sortVersions, aF as splitSubnet, aG as symbolicToPermissions, aH as validateBarcode, aI as validateCardNumber, aJ as validateIban, aK as validateIsbn, aL as viewportToPx } from '../units-BFTQwpBu.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 PercentChangeDirection, y as PercentageChangeResult, z as Permission, E as PxConvertResult, S as SemverVersion, G as SimpleInterestResult, H as SubnetInfo, T as TaxDirection, J as TaxResult, K as TimeValueDirection, M as TimeValueResult, O as TipSplitResult, V as ViewportConvertResult, Q as autoFormat, R as bumpVersion, U as calcAspectRatio, W as calcSubnet, X as calculateCompoundInterest, Y as calculateLoan, Z as calculatePercentageChange, _ as calculateSimpleInterest, $ as calculateTax, a0 as calculateTimeValue, a1 as calculateTipSplit, a2 as compareSemver, a3 as convert, a4 as convertBytes, a5 as convertIp, a6 as coverBox, a7 as decimalToIp, a8 as decimalToIpCidr, a9 as describePermissions, aa as fitIntoBox, ab as formatNumber, ac as formatValue, ad as formatVwValue, ae as formatWithSeparator, af as gcd, ag as ipFromBinary, ah as ipFromDecimal, ai as ipFromHex, aj as ipToBinary, ak as ipToDecimal, al as ipToDecimalCidr, am as ipToHex, an as ipToOctal, ao as isValid, ap as isValidCidr, aq as isValidIp, ar as isValidIpv4, as as octalToPermissions, at as parseFileSize, au as parseInput, av as parseNumberString, aw as parseSemver, ax as permissionsToChmod, ay as permissionsToOctal, az as permissionsToSymbolic, aA as ptToPx, aB as pxToAll, aC as pxToViewport, aD as remToPx, aE as satisfiesRange, aF as scaleByHeight, aG as scaleByWidth, aH as sortVersions, aI as splitSubnet, aJ as symbolicToPermissions, aK as validateBarcode, aL as validateCardNumber, aM as validateIban, aN as validateIsbn, aO as viewportToPx } from '../units-pIRkHnsU.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_TIP_PERCENTAGES, COMMON_VIEWPORTS, autoFormat, bumpVersion, calcAspectRatio, calcSubnet, calculateCompoundInterest, calculateLoan, calculateSimpleInterest, calculateTax, calculateTimeValue, 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-U34B5XPK.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, calculatePercentageChange, calculateSimpleInterest, calculateTax, calculateTimeValue, 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-TFNCFD3E.js';
2
2
  import '../chunk-MLKGABMK.js';
@@ -429,6 +429,25 @@ interface TimeValueResult {
429
429
  declare function calculateTimeValue(amount: number, annualRatePercent: number, years: number, direction: TimeValueDirection, compoundsPerYear?: number): TimeValueResult | {
430
430
  error: string;
431
431
  };
432
+ type PercentChangeDirection = "increase" | "decrease" | "no change";
433
+ interface PercentageChangeResult {
434
+ oldValue: number;
435
+ newValue: number;
436
+ absoluteChange: number;
437
+ percentChange: number;
438
+ direction: PercentChangeDirection;
439
+ multiplier: number;
440
+ }
441
+ /**
442
+ * Percentage change from oldValue to newValue: ((new - old) / |old|) * 100.
443
+ * `absoluteChange` is the raw difference (new - old) and `multiplier` is
444
+ * new / old (how many times the original the new value is). The original
445
+ * value cannot be zero (division by zero) unless the new value is also zero.
446
+ * Pure arithmetic over user-supplied numbers.
447
+ */
448
+ declare function calculatePercentageChange(oldValue: number, newValue: number): PercentageChangeResult | {
449
+ error: string;
450
+ };
432
451
 
433
452
  type units_AmortizationRow = AmortizationRow;
434
453
  type units_AspectRatioResult = AspectRatioResult;
@@ -461,6 +480,8 @@ type units_IsbnResult = IsbnResult;
461
480
  type units_LoanResult = LoanResult;
462
481
  type units_NotationStyle = NotationStyle;
463
482
  type units_NumberBase = NumberBase;
483
+ type units_PercentChangeDirection = PercentChangeDirection;
484
+ type units_PercentageChangeResult = PercentageChangeResult;
464
485
  type units_Permission = Permission;
465
486
  type units_PxConvertResult = PxConvertResult;
466
487
  type units_SemverVersion = SemverVersion;
@@ -478,6 +499,7 @@ declare const units_calcAspectRatio: typeof calcAspectRatio;
478
499
  declare const units_calcSubnet: typeof calcSubnet;
479
500
  declare const units_calculateCompoundInterest: typeof calculateCompoundInterest;
480
501
  declare const units_calculateLoan: typeof calculateLoan;
502
+ declare const units_calculatePercentageChange: typeof calculatePercentageChange;
481
503
  declare const units_calculateSimpleInterest: typeof calculateSimpleInterest;
482
504
  declare const units_calculateTax: typeof calculateTax;
483
505
  declare const units_calculateTimeValue: typeof calculateTimeValue;
@@ -532,7 +554,7 @@ declare const units_validateIban: typeof validateIban;
532
554
  declare const units_validateIsbn: typeof validateIsbn;
533
555
  declare const units_viewportToPx: typeof viewportToPx;
534
556
  declare namespace units {
535
- 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_SimpleInterestResult as SimpleInterestResult, type units_SubnetInfo as SubnetInfo, type units_TaxDirection as TaxDirection, type units_TaxResult as TaxResult, type units_TimeValueDirection as TimeValueDirection, type units_TimeValueResult as TimeValueResult, 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_calculateSimpleInterest as calculateSimpleInterest, units_calculateTax as calculateTax, units_calculateTimeValue as calculateTimeValue, 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 };
557
+ 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_PercentChangeDirection as PercentChangeDirection, type units_PercentageChangeResult as PercentageChangeResult, type units_Permission as Permission, type units_PxConvertResult as PxConvertResult, type units_SemverVersion as SemverVersion, type units_SimpleInterestResult as SimpleInterestResult, type units_SubnetInfo as SubnetInfo, type units_TaxDirection as TaxDirection, type units_TaxResult as TaxResult, type units_TimeValueDirection as TimeValueDirection, type units_TimeValueResult as TimeValueResult, 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_calculatePercentageChange as calculatePercentageChange, units_calculateSimpleInterest as calculateSimpleInterest, units_calculateTax as calculateTax, units_calculateTimeValue as calculateTimeValue, 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 };
536
558
  }
537
559
 
538
- export { compareSemver as $, type AmortizationRow as A, BASE_LABELS as B, COMMON_CURRENCIES as C, type Dimensions as D, type SubnetInfo as E, type FilePermissions as F, type TaxResult as G, type TimeValueDirection as H, type IbanValidationResult as I, type TimeValueResult as J, type TipSplitResult as K, type LoanResult as L, autoFormat as M, type NotationStyle as N, bumpVersion as O, type Permission as P, calcAspectRatio as Q, calcSubnet as R, type SemverVersion as S, type TaxDirection as T, calculateCompoundInterest as U, type ViewportConvertResult as V, calculateLoan as W, calculateSimpleInterest as X, calculateTax as Y, calculateTimeValue as Z, calculateTipSplit as _, type AspectRatioResult as a, convert as a0, convertBytes as a1, convertIp as a2, coverBox as a3, decimalToIp as a4, decimalToIpCidr as a5, describePermissions as a6, fitIntoBox as a7, formatNumber as a8, formatValue as a9, remToPx as aA, satisfiesRange as aB, scaleByHeight as aC, scaleByWidth as aD, sortVersions as aE, splitSubnet as aF, symbolicToPermissions as aG, validateBarcode as aH, validateCardNumber as aI, validateIban as aJ, validateIsbn as aK, viewportToPx as aL, formatVwValue as aa, formatWithSeparator as ab, gcd as ac, ipFromBinary as ad, ipFromDecimal as ae, ipFromHex as af, ipToBinary as ag, ipToDecimal as ah, ipToDecimalCidr as ai, ipToHex as aj, ipToOctal as ak, isValid as al, isValidCidr as am, isValidIp as an, isValidIpv4 as ao, octalToPermissions as ap, parseFileSize as aq, parseInput as ar, parseNumberString as as, parseSemver as at, permissionsToChmod as au, permissionsToOctal as av, permissionsToSymbolic as aw, ptToPx as ax, pxToAll as ay, pxToViewport 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 SimpleInterestResult as z };
560
+ export { calculateTax as $, type AmortizationRow as A, BASE_LABELS as B, COMMON_CURRENCIES as C, type Dimensions as D, type PxConvertResult as E, type FilePermissions as F, type SimpleInterestResult as G, type SubnetInfo as H, type IbanValidationResult as I, type TaxResult as J, type TimeValueDirection as K, type LoanResult as L, type TimeValueResult as M, type NotationStyle as N, type TipSplitResult as O, type PercentChangeDirection as P, autoFormat as Q, bumpVersion as R, type SemverVersion as S, type TaxDirection as T, calcAspectRatio as U, type ViewportConvertResult as V, calcSubnet as W, calculateCompoundInterest as X, calculateLoan as Y, calculatePercentageChange as Z, calculateSimpleInterest as _, type AspectRatioResult as a, calculateTimeValue as a0, calculateTipSplit as a1, compareSemver as a2, convert as a3, convertBytes as a4, convertIp as a5, coverBox as a6, decimalToIp as a7, decimalToIpCidr as a8, describePermissions as a9, ptToPx as aA, pxToAll as aB, pxToViewport as aC, remToPx as aD, satisfiesRange as aE, scaleByHeight as aF, scaleByWidth as aG, sortVersions as aH, splitSubnet as aI, symbolicToPermissions as aJ, validateBarcode as aK, validateCardNumber as aL, validateIban as aM, validateIsbn as aN, viewportToPx as aO, fitIntoBox as aa, formatNumber as ab, formatValue as ac, formatVwValue as ad, formatWithSeparator as ae, gcd as af, ipFromBinary as ag, ipFromDecimal as ah, ipFromHex as ai, ipToBinary as aj, ipToDecimal as ak, ipToDecimalCidr as al, ipToHex as am, ipToOctal as an, isValid as ao, isValidCidr as ap, isValidIp as aq, isValidIpv4 as ar, octalToPermissions as as, parseFileSize as at, parseInput as au, parseNumberString as av, parseSemver as aw, permissionsToChmod as ax, permissionsToOctal as ay, permissionsToSymbolic 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 PercentageChangeResult as y, type Permission as z };
@@ -429,6 +429,25 @@ interface TimeValueResult {
429
429
  declare function calculateTimeValue(amount: number, annualRatePercent: number, years: number, direction: TimeValueDirection, compoundsPerYear?: number): TimeValueResult | {
430
430
  error: string;
431
431
  };
432
+ type PercentChangeDirection = "increase" | "decrease" | "no change";
433
+ interface PercentageChangeResult {
434
+ oldValue: number;
435
+ newValue: number;
436
+ absoluteChange: number;
437
+ percentChange: number;
438
+ direction: PercentChangeDirection;
439
+ multiplier: number;
440
+ }
441
+ /**
442
+ * Percentage change from oldValue to newValue: ((new - old) / |old|) * 100.
443
+ * `absoluteChange` is the raw difference (new - old) and `multiplier` is
444
+ * new / old (how many times the original the new value is). The original
445
+ * value cannot be zero (division by zero) unless the new value is also zero.
446
+ * Pure arithmetic over user-supplied numbers.
447
+ */
448
+ declare function calculatePercentageChange(oldValue: number, newValue: number): PercentageChangeResult | {
449
+ error: string;
450
+ };
432
451
 
433
452
  type units_AmortizationRow = AmortizationRow;
434
453
  type units_AspectRatioResult = AspectRatioResult;
@@ -461,6 +480,8 @@ type units_IsbnResult = IsbnResult;
461
480
  type units_LoanResult = LoanResult;
462
481
  type units_NotationStyle = NotationStyle;
463
482
  type units_NumberBase = NumberBase;
483
+ type units_PercentChangeDirection = PercentChangeDirection;
484
+ type units_PercentageChangeResult = PercentageChangeResult;
464
485
  type units_Permission = Permission;
465
486
  type units_PxConvertResult = PxConvertResult;
466
487
  type units_SemverVersion = SemverVersion;
@@ -478,6 +499,7 @@ declare const units_calcAspectRatio: typeof calcAspectRatio;
478
499
  declare const units_calcSubnet: typeof calcSubnet;
479
500
  declare const units_calculateCompoundInterest: typeof calculateCompoundInterest;
480
501
  declare const units_calculateLoan: typeof calculateLoan;
502
+ declare const units_calculatePercentageChange: typeof calculatePercentageChange;
481
503
  declare const units_calculateSimpleInterest: typeof calculateSimpleInterest;
482
504
  declare const units_calculateTax: typeof calculateTax;
483
505
  declare const units_calculateTimeValue: typeof calculateTimeValue;
@@ -532,7 +554,7 @@ declare const units_validateIban: typeof validateIban;
532
554
  declare const units_validateIsbn: typeof validateIsbn;
533
555
  declare const units_viewportToPx: typeof viewportToPx;
534
556
  declare namespace units {
535
- 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_SimpleInterestResult as SimpleInterestResult, type units_SubnetInfo as SubnetInfo, type units_TaxDirection as TaxDirection, type units_TaxResult as TaxResult, type units_TimeValueDirection as TimeValueDirection, type units_TimeValueResult as TimeValueResult, 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_calculateSimpleInterest as calculateSimpleInterest, units_calculateTax as calculateTax, units_calculateTimeValue as calculateTimeValue, 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 };
557
+ 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_PercentChangeDirection as PercentChangeDirection, type units_PercentageChangeResult as PercentageChangeResult, type units_Permission as Permission, type units_PxConvertResult as PxConvertResult, type units_SemverVersion as SemverVersion, type units_SimpleInterestResult as SimpleInterestResult, type units_SubnetInfo as SubnetInfo, type units_TaxDirection as TaxDirection, type units_TaxResult as TaxResult, type units_TimeValueDirection as TimeValueDirection, type units_TimeValueResult as TimeValueResult, 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_calculatePercentageChange as calculatePercentageChange, units_calculateSimpleInterest as calculateSimpleInterest, units_calculateTax as calculateTax, units_calculateTimeValue as calculateTimeValue, 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 };
536
558
  }
537
559
 
538
- export { compareSemver as $, type AmortizationRow as A, BASE_LABELS as B, COMMON_CURRENCIES as C, type Dimensions as D, type SubnetInfo as E, type FilePermissions as F, type TaxResult as G, type TimeValueDirection as H, type IbanValidationResult as I, type TimeValueResult as J, type TipSplitResult as K, type LoanResult as L, autoFormat as M, type NotationStyle as N, bumpVersion as O, type Permission as P, calcAspectRatio as Q, calcSubnet as R, type SemverVersion as S, type TaxDirection as T, calculateCompoundInterest as U, type ViewportConvertResult as V, calculateLoan as W, calculateSimpleInterest as X, calculateTax as Y, calculateTimeValue as Z, calculateTipSplit as _, type AspectRatioResult as a, convert as a0, convertBytes as a1, convertIp as a2, coverBox as a3, decimalToIp as a4, decimalToIpCidr as a5, describePermissions as a6, fitIntoBox as a7, formatNumber as a8, formatValue as a9, remToPx as aA, satisfiesRange as aB, scaleByHeight as aC, scaleByWidth as aD, sortVersions as aE, splitSubnet as aF, symbolicToPermissions as aG, validateBarcode as aH, validateCardNumber as aI, validateIban as aJ, validateIsbn as aK, viewportToPx as aL, formatVwValue as aa, formatWithSeparator as ab, gcd as ac, ipFromBinary as ad, ipFromDecimal as ae, ipFromHex as af, ipToBinary as ag, ipToDecimal as ah, ipToDecimalCidr as ai, ipToHex as aj, ipToOctal as ak, isValid as al, isValidCidr as am, isValidIp as an, isValidIpv4 as ao, octalToPermissions as ap, parseFileSize as aq, parseInput as ar, parseNumberString as as, parseSemver as at, permissionsToChmod as au, permissionsToOctal as av, permissionsToSymbolic as aw, ptToPx as ax, pxToAll as ay, pxToViewport 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 SimpleInterestResult as z };
560
+ export { calculateTax as $, type AmortizationRow as A, BASE_LABELS as B, COMMON_CURRENCIES as C, type Dimensions as D, type PxConvertResult as E, type FilePermissions as F, type SimpleInterestResult as G, type SubnetInfo as H, type IbanValidationResult as I, type TaxResult as J, type TimeValueDirection as K, type LoanResult as L, type TimeValueResult as M, type NotationStyle as N, type TipSplitResult as O, type PercentChangeDirection as P, autoFormat as Q, bumpVersion as R, type SemverVersion as S, type TaxDirection as T, calcAspectRatio as U, type ViewportConvertResult as V, calcSubnet as W, calculateCompoundInterest as X, calculateLoan as Y, calculatePercentageChange as Z, calculateSimpleInterest as _, type AspectRatioResult as a, calculateTimeValue as a0, calculateTipSplit as a1, compareSemver as a2, convert as a3, convertBytes as a4, convertIp as a5, coverBox as a6, decimalToIp as a7, decimalToIpCidr as a8, describePermissions as a9, ptToPx as aA, pxToAll as aB, pxToViewport as aC, remToPx as aD, satisfiesRange as aE, scaleByHeight as aF, scaleByWidth as aG, sortVersions as aH, splitSubnet as aI, symbolicToPermissions as aJ, validateBarcode as aK, validateCardNumber as aL, validateIban as aM, validateIsbn as aN, viewportToPx as aO, fitIntoBox as aa, formatNumber as ab, formatValue as ac, formatVwValue as ad, formatWithSeparator as ae, gcd as af, ipFromBinary as ag, ipFromDecimal as ah, ipFromHex as ai, ipToBinary as aj, ipToDecimal as ak, ipToDecimalCidr as al, ipToHex as am, ipToOctal as an, isValid as ao, isValidCidr as ap, isValidIp as aq, isValidIpv4 as ar, octalToPermissions as as, parseFileSize as at, parseInput as au, parseNumberString as av, parseSemver as aw, permissionsToChmod as ax, permissionsToOctal as ay, permissionsToSymbolic 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 PercentageChangeResult as y, type Permission as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@utilix-tech/sdk",
3
- "version": "0.19.0",
3
+ "version": "0.21.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",