@utilix-tech/sdk 0.77.0 → 0.79.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/dist/index.cjs CHANGED
@@ -5312,6 +5312,7 @@ __export(data_exports, {
5312
5312
  minifyNdjson: () => minifyNdjson,
5313
5313
  minifyToml: () => minifyToml,
5314
5314
  minifyXml: () => minifyXml,
5315
+ ndjsonToCsv: () => ndjsonToCsv,
5315
5316
  ndjsonToJsonArray: () => ndjsonToJsonArray,
5316
5317
  parseCsv: () => parseCsv,
5317
5318
  parseEnv: () => parseEnv,
@@ -6449,6 +6450,37 @@ function jsonArrayToNdjson(input) {
6449
6450
  if (!Array.isArray(parsed)) return { error: "Input must be a JSON array" };
6450
6451
  return parsed.map((item) => JSON.stringify(item)).join("\n");
6451
6452
  }
6453
+ function _stringifyCsvValue(value) {
6454
+ if (value === void 0 || value === null) return "";
6455
+ if (typeof value === "string") return value;
6456
+ if (typeof value === "object") return JSON.stringify(value);
6457
+ return String(value);
6458
+ }
6459
+ function ndjsonToCsv(input) {
6460
+ const result = validateNdjson(input);
6461
+ if (!result.valid) return { error: _firstNdjsonError(result) };
6462
+ if (result.lines.length === 0) return { error: "No records found" };
6463
+ const records = result.lines.map((l) => JSON.parse(l.raw));
6464
+ for (const record of records) {
6465
+ if (typeof record !== "object" || record === null || Array.isArray(record)) {
6466
+ return { error: "Every line must be a flat JSON object to convert to CSV" };
6467
+ }
6468
+ }
6469
+ const headers = [];
6470
+ const seen = /* @__PURE__ */ new Set();
6471
+ for (const record of records) {
6472
+ for (const key of Object.keys(record)) {
6473
+ if (!seen.has(key)) {
6474
+ seen.add(key);
6475
+ headers.push(key);
6476
+ }
6477
+ }
6478
+ }
6479
+ const rows = records.map(
6480
+ (record) => headers.map((h) => _stringifyCsvValue(record[h]))
6481
+ );
6482
+ return toCsvString(headers, rows);
6483
+ }
6452
6484
  function dedupeNdjson(input, keyField) {
6453
6485
  const validated = validateNdjson(input);
6454
6486
  if (!validated.valid) return { error: _firstNdjsonError(validated) };
@@ -8674,6 +8706,7 @@ __export(units_exports, {
8674
8706
  calculateMovingAverages: () => calculateMovingAverages,
8675
8707
  calculatePaybackPeriod: () => calculatePaybackPeriod,
8676
8708
  calculatePercentageChange: () => calculatePercentageChange,
8709
+ calculateRealRateOfReturn: () => calculateRealRateOfReturn,
8677
8710
  calculateRequiredBandwidth: () => calculateRequiredBandwidth,
8678
8711
  calculateRoi: () => calculateRoi,
8679
8712
  calculateRuleOf72: () => calculateRuleOf72,
@@ -11392,6 +11425,50 @@ function calculateRequiredBandwidth(fileSize, fileSizeUnit, targetSeconds) {
11392
11425
  requiredMBps: requiredBitsPerSecond / 8 / 1e6
11393
11426
  };
11394
11427
  }
11428
+ var _REAL_RATE_FIELDS = ["nominalRatePercent", "inflationRatePercent", "realRatePercent"];
11429
+ function calculateRealRateOfReturn(input) {
11430
+ const provided = (v) => typeof v === "number" && Number.isFinite(v);
11431
+ const given = _REAL_RATE_FIELDS.filter((f) => provided(input[f]));
11432
+ if (given.length !== 2) {
11433
+ return { error: `Provide exactly two of nominalRatePercent, inflationRatePercent, realRatePercent (got ${given.length})` };
11434
+ }
11435
+ for (const f of given) {
11436
+ const v = input[f];
11437
+ if (v <= -100) return { error: `${f} must be greater than -100` };
11438
+ }
11439
+ const has = (f) => given.includes(f);
11440
+ const nominal0 = input.nominalRatePercent;
11441
+ const inflation0 = input.inflationRatePercent;
11442
+ const real0 = input.realRatePercent;
11443
+ let nominalRatePercent;
11444
+ let inflationRatePercent;
11445
+ let realRatePercent;
11446
+ let solvedFor;
11447
+ if (has("nominalRatePercent") && has("inflationRatePercent")) {
11448
+ nominalRatePercent = nominal0;
11449
+ inflationRatePercent = inflation0;
11450
+ realRatePercent = ((1 + nominal0 / 100) / (1 + inflation0 / 100) - 1) * 100;
11451
+ solvedFor = "realRatePercent";
11452
+ } else if (has("realRatePercent") && has("inflationRatePercent")) {
11453
+ realRatePercent = real0;
11454
+ inflationRatePercent = inflation0;
11455
+ nominalRatePercent = ((1 + real0 / 100) * (1 + inflation0 / 100) - 1) * 100;
11456
+ solvedFor = "nominalRatePercent";
11457
+ } else {
11458
+ nominalRatePercent = nominal0;
11459
+ realRatePercent = real0;
11460
+ inflationRatePercent = ((1 + nominal0 / 100) / (1 + real0 / 100) - 1) * 100;
11461
+ solvedFor = "inflationRatePercent";
11462
+ }
11463
+ const round4 = (n) => Math.round(n * 1e4) / 1e4;
11464
+ return {
11465
+ nominalRatePercent: round4(nominalRatePercent),
11466
+ inflationRatePercent: round4(inflationRatePercent),
11467
+ realRatePercent: round4(realRatePercent),
11468
+ given,
11469
+ solvedFor
11470
+ };
11471
+ }
11395
11472
 
11396
11473
  // src/tools/network.ts
11397
11474
  var network_exports = {};
@@ -23896,6 +23973,7 @@ function generateMetaHtml2(tags) {
23896
23973
  var ai_agent_exports = {};
23897
23974
  __export(ai_agent_exports, {
23898
23975
  MODEL_PRICING: () => MODEL_PRICING,
23976
+ calculateRetryBackoffSchedule: () => calculateRetryBackoffSchedule,
23899
23977
  chunkText: () => chunkText,
23900
23978
  compressHtml: () => compressHtml,
23901
23979
  compressJson: () => compressJson,
@@ -25008,6 +25086,62 @@ function lintToolSchema(jsonText) {
25008
25086
  const valid = !issues.some((i) => i.severity === "error");
25009
25087
  return { toolCount: normalized.length, issues, valid };
25010
25088
  }
25089
+ function calculateRetryBackoffSchedule(input) {
25090
+ const { baseDelayMs, multiplier, maxRetries, maxDelayMs, jitter = "none" } = input;
25091
+ if (!Number.isFinite(baseDelayMs) || baseDelayMs <= 0) {
25092
+ return { error: "baseDelayMs must be a finite number greater than zero" };
25093
+ }
25094
+ if (!Number.isFinite(multiplier) || multiplier < 1) {
25095
+ return { error: "multiplier must be a finite number of at least 1" };
25096
+ }
25097
+ if (!Number.isInteger(maxRetries) || maxRetries < 1 || maxRetries > 50) {
25098
+ return { error: "maxRetries must be a whole number between 1 and 50" };
25099
+ }
25100
+ if (maxDelayMs !== void 0 && maxDelayMs !== null) {
25101
+ if (!Number.isFinite(maxDelayMs) || maxDelayMs <= 0) {
25102
+ return { error: "maxDelayMs must be a finite number greater than zero when provided" };
25103
+ }
25104
+ }
25105
+ if (jitter !== "none" && jitter !== "full" && jitter !== "equal") {
25106
+ return { error: "jitter must be one of 'none', 'full', or 'equal'" };
25107
+ }
25108
+ const round0 = (n) => Math.round(n);
25109
+ const attempts = [];
25110
+ let totalBestCaseMs = 0;
25111
+ let totalWorstCaseMs = 0;
25112
+ for (let i = 1; i <= maxRetries; i++) {
25113
+ let nominal = baseDelayMs * Math.pow(multiplier, i - 1);
25114
+ if (maxDelayMs !== void 0 && maxDelayMs !== null) {
25115
+ nominal = Math.min(nominal, maxDelayMs);
25116
+ }
25117
+ let minDelay;
25118
+ let maxDelay;
25119
+ if (jitter === "full") {
25120
+ minDelay = 0;
25121
+ maxDelay = nominal;
25122
+ } else if (jitter === "equal") {
25123
+ minDelay = nominal / 2;
25124
+ maxDelay = nominal;
25125
+ } else {
25126
+ minDelay = nominal;
25127
+ maxDelay = nominal;
25128
+ }
25129
+ attempts.push({
25130
+ attempt: i,
25131
+ nominalDelayMs: round0(nominal),
25132
+ minDelayMs: round0(minDelay),
25133
+ maxDelayMs: round0(maxDelay)
25134
+ });
25135
+ totalBestCaseMs += minDelay;
25136
+ totalWorstCaseMs += maxDelay;
25137
+ }
25138
+ return {
25139
+ attempts,
25140
+ jitter,
25141
+ totalBestCaseMs: round0(totalBestCaseMs),
25142
+ totalWorstCaseMs: round0(totalWorstCaseMs)
25143
+ };
25144
+ }
25011
25145
 
25012
25146
  // src/tools/media.ts
25013
25147
  var media_exports = {};
package/dist/index.d.cts CHANGED
@@ -2,17 +2,17 @@ export { j as json } from './json-CaiYsGDQ.cjs';
2
2
  export { e as encoding } from './encoding-Dk3wpmb3.cjs';
3
3
  export { h as hashing } from './hashing-CJjlvqS_.cjs';
4
4
  export { t as text } from './text-CNn3whZA.cjs';
5
- export { d as data } from './data-26TALa9U.cjs';
5
+ export { d as data } from './data-DIyBrJ6l.cjs';
6
6
  export { g as generators } from './generators-DAXXrMvG.cjs';
7
7
  export { t as time } from './time-KqJjdqII.cjs';
8
- export { u as units } from './units-BqegyALA.cjs';
8
+ export { u as units } from './units-D7YRRwei.cjs';
9
9
  export { n as network } from './network-BskZe1n2.cjs';
10
10
  export { a as api } from './api-CQnIUrVB.cjs';
11
11
  export { c as code } from './code-46xO9xFf.cjs';
12
12
  export { c as color } from './color-tPwZCr9H.cjs';
13
13
  export { c as css } from './css-Cf7AMGM-.cjs';
14
14
  export { m as misc } from './misc-CA3N198T.cjs';
15
- export { a as ai_agent } from './ai_agent-CmrVjvYH.cjs';
15
+ export { a as ai_agent } from './ai_agent-DeCy0oZK.cjs';
16
16
  export { m as media } from './media-DF8BS-iA.cjs';
17
17
 
18
18
  declare const version = "0.1.0";
package/dist/index.d.ts CHANGED
@@ -2,17 +2,17 @@ export { j as json } from './json-CaiYsGDQ.js';
2
2
  export { e as encoding } from './encoding-Dk3wpmb3.js';
3
3
  export { h as hashing } from './hashing-CJjlvqS_.js';
4
4
  export { t as text } from './text-CNn3whZA.js';
5
- export { d as data } from './data-26TALa9U.js';
5
+ export { d as data } from './data-DIyBrJ6l.js';
6
6
  export { g as generators } from './generators-DAXXrMvG.js';
7
7
  export { t as time } from './time-KqJjdqII.js';
8
- export { u as units } from './units-BqegyALA.js';
8
+ export { u as units } from './units-D7YRRwei.js';
9
9
  export { n as network } from './network-BskZe1n2.js';
10
10
  export { a as api } from './api-CQnIUrVB.js';
11
11
  export { c as code } from './code-46xO9xFf.js';
12
12
  export { c as color } from './color-tPwZCr9H.js';
13
13
  export { c as css } from './css-Cf7AMGM-.js';
14
14
  export { m as misc } from './misc-CA3N198T.js';
15
- export { a as ai_agent } from './ai_agent-CmrVjvYH.js';
15
+ export { a as ai_agent } from './ai_agent-DeCy0oZK.js';
16
16
  export { m as media } from './media-DF8BS-iA.js';
17
17
 
18
18
  declare const version = "0.1.0";
package/dist/index.js CHANGED
@@ -1,17 +1,17 @@
1
1
  export { media_exports as media } from './chunk-ZWFZRDQ4.js';
2
- export { units_exports as units } from './chunk-RP574L5Z.js';
2
+ export { units_exports as units } from './chunk-OFLNVDNX.js';
3
3
  export { network_exports as network } from './chunk-KWS4ZCYG.js';
4
4
  export { api_exports as api } from './chunk-U2HREMZU.js';
5
5
  export { code_exports as code } from './chunk-XT2BQWXT.js';
6
6
  export { color_exports as color } from './chunk-BPVAB4P2.js';
7
7
  export { css_exports as css } from './chunk-6YPV2AB5.js';
8
8
  export { misc_exports as misc } from './chunk-GX7H6TAX.js';
9
- export { ai_agent_exports as ai_agent } from './chunk-EKIXOA7B.js';
9
+ export { ai_agent_exports as ai_agent } from './chunk-HJLGUNSO.js';
10
10
  export { json_exports as json } from './chunk-34C6GXCC.js';
11
11
  export { encoding_exports as encoding } from './chunk-DOWQZUTP.js';
12
12
  export { hashing_exports as hashing } from './chunk-PET2CGTH.js';
13
13
  export { text_exports as text } from './chunk-QVOK3BXM.js';
14
- export { data_exports as data } from './chunk-HJVSH7FQ.js';
14
+ export { data_exports as data } from './chunk-XOUS3M5Z.js';
15
15
  export { generators_exports as generators } from './chunk-422ICOZX.js';
16
16
  export { time_exports as time } from './chunk-IEPWZERQ.js';
17
17
  import './chunk-MLKGABMK.js';
@@ -1081,8 +1081,65 @@ function lintToolSchema(jsonText) {
1081
1081
  const valid = !issues.some((i) => i.severity === "error");
1082
1082
  return { toolCount: normalized.length, issues, valid };
1083
1083
  }
1084
+ function calculateRetryBackoffSchedule(input) {
1085
+ const { baseDelayMs, multiplier, maxRetries, maxDelayMs, jitter = "none" } = input;
1086
+ if (!Number.isFinite(baseDelayMs) || baseDelayMs <= 0) {
1087
+ return { error: "baseDelayMs must be a finite number greater than zero" };
1088
+ }
1089
+ if (!Number.isFinite(multiplier) || multiplier < 1) {
1090
+ return { error: "multiplier must be a finite number of at least 1" };
1091
+ }
1092
+ if (!Number.isInteger(maxRetries) || maxRetries < 1 || maxRetries > 50) {
1093
+ return { error: "maxRetries must be a whole number between 1 and 50" };
1094
+ }
1095
+ if (maxDelayMs !== void 0 && maxDelayMs !== null) {
1096
+ if (!Number.isFinite(maxDelayMs) || maxDelayMs <= 0) {
1097
+ return { error: "maxDelayMs must be a finite number greater than zero when provided" };
1098
+ }
1099
+ }
1100
+ if (jitter !== "none" && jitter !== "full" && jitter !== "equal") {
1101
+ return { error: "jitter must be one of 'none', 'full', or 'equal'" };
1102
+ }
1103
+ const round0 = (n) => Math.round(n);
1104
+ const attempts = [];
1105
+ let totalBestCaseMs = 0;
1106
+ let totalWorstCaseMs = 0;
1107
+ for (let i = 1; i <= maxRetries; i++) {
1108
+ let nominal = baseDelayMs * Math.pow(multiplier, i - 1);
1109
+ if (maxDelayMs !== void 0 && maxDelayMs !== null) {
1110
+ nominal = Math.min(nominal, maxDelayMs);
1111
+ }
1112
+ let minDelay;
1113
+ let maxDelay;
1114
+ if (jitter === "full") {
1115
+ minDelay = 0;
1116
+ maxDelay = nominal;
1117
+ } else if (jitter === "equal") {
1118
+ minDelay = nominal / 2;
1119
+ maxDelay = nominal;
1120
+ } else {
1121
+ minDelay = nominal;
1122
+ maxDelay = nominal;
1123
+ }
1124
+ attempts.push({
1125
+ attempt: i,
1126
+ nominalDelayMs: round0(nominal),
1127
+ minDelayMs: round0(minDelay),
1128
+ maxDelayMs: round0(maxDelay)
1129
+ });
1130
+ totalBestCaseMs += minDelay;
1131
+ totalWorstCaseMs += maxDelay;
1132
+ }
1133
+ return {
1134
+ attempts,
1135
+ jitter,
1136
+ totalBestCaseMs: round0(totalBestCaseMs),
1137
+ totalWorstCaseMs: round0(totalWorstCaseMs)
1138
+ };
1139
+ }
1084
1140
 
1085
1141
  exports.MODEL_PRICING = MODEL_PRICING;
1142
+ exports.calculateRetryBackoffSchedule = calculateRetryBackoffSchedule;
1086
1143
  exports.chunkText = chunkText;
1087
1144
  exports.compressHtml = compressHtml;
1088
1145
  exports.compressJson = compressJson;
@@ -1 +1 @@
1
- export { C as ChunkStrategy, b as CompressHtmlResult, c as CompressJsonResult, d as CompressMarkdownResult, e as CostEstimate, D as DedupeResult, f as DedupeStrategy, g as DiffEntry2, h as DiffOp2, i as DiffResult2, E as Entity2, j as EntityType2, k as ExtractJsonResult, l as ExtractKeywordsResult, m as ExtractUrlsResult, F as FewShotExample, n as FewShotFormat, o as FewShotFormatResult, I as InjectionDetectResult, p as InjectionFinding, J as JsonBlock, q as JsonRepairResult, K as Keyword, M as MODEL_PRICING, r as MergeResult, s as MergeStrategy, t as ModelPricing, P as PiiDetectResult, u as PiiFinding, v as PiiType, R as RankedChunk, w as RelevanceResult, S as SanitizeResult, x as SecretDetectResult, y as SecretFinding, z as SecretType, A as SummaryResult, T as TableResult2, B as TextChunk, G as TokenEstimate, H as TokenEstimateResult, L as ToolSchemaIssue, N as ToolSchemaLintResult, O as TrimResult, Q as TrimStrategy, U as UrlMatch, V as ValidationError, W as ValidationResult, X as VectorSimilarityResult, Y as chunkText, Z as compressHtml, _ as compressJson, $ as compressMarkdown, a0 as deduplicateLines, a1 as detectPii, a2 as detectPromptInjection, a3 as detectSecrets, a4 as diffJson, a5 as estimateCost, a6 as estimateTokens, a7 as expandQuery, a8 as extractEntities, a9 as extractJson, aa as extractKeywords, ab as extractTables, ac as extractUrls, ad as flattenJson, ae as formatFewShotExamples, af as lintToolSchema, ag as mergeJson, ah as redactPii, ai as repairJson, aj as rerankChunks, ak as sanitizeHtml, al as scoreRelevance, am as summarizeForLlm, an as trimToTokens, ao as unflattenJson, ap as validateJsonSchema, aq as vectorSimilarity } from '../ai_agent-CmrVjvYH.cjs';
1
+ export { C as ChunkStrategy, b as CompressHtmlResult, c as CompressJsonResult, d as CompressMarkdownResult, e as CostEstimate, D as DedupeResult, f as DedupeStrategy, g as DiffEntry2, h as DiffOp2, i as DiffResult2, E as Entity2, j as EntityType2, k as ExtractJsonResult, l as ExtractKeywordsResult, m as ExtractUrlsResult, F as FewShotExample, n as FewShotFormat, o as FewShotFormatResult, I as InjectionDetectResult, p as InjectionFinding, J as JsonBlock, q as JsonRepairResult, K as Keyword, M as MODEL_PRICING, r as MergeResult, s as MergeStrategy, t as ModelPricing, P as PiiDetectResult, u as PiiFinding, v as PiiType, R as RankedChunk, w as RelevanceResult, x as RetryBackoffAttempt, y as RetryBackoffInput, z as RetryBackoffResult, A as RetryJitterMode, S as SanitizeResult, B as SecretDetectResult, G as SecretFinding, H as SecretType, L as SummaryResult, T as TableResult2, N as TextChunk, O as TokenEstimate, Q as TokenEstimateResult, U as ToolSchemaIssue, V as ToolSchemaLintResult, W as TrimResult, X as TrimStrategy, Y as UrlMatch, Z as ValidationError, _ as ValidationResult, $ as VectorSimilarityResult, a0 as calculateRetryBackoffSchedule, a1 as chunkText, a2 as compressHtml, a3 as compressJson, a4 as compressMarkdown, a5 as deduplicateLines, a6 as detectPii, a7 as detectPromptInjection, a8 as detectSecrets, a9 as diffJson, aa as estimateCost, ab as estimateTokens, ac as expandQuery, ad as extractEntities, ae as extractJson, af as extractKeywords, ag as extractTables, ah as extractUrls, ai as flattenJson, aj as formatFewShotExamples, ak as lintToolSchema, al as mergeJson, am as redactPii, an as repairJson, ao as rerankChunks, ap as sanitizeHtml, aq as scoreRelevance, ar as summarizeForLlm, as as trimToTokens, at as unflattenJson, au as validateJsonSchema, av as vectorSimilarity } from '../ai_agent-DeCy0oZK.cjs';
@@ -1 +1 @@
1
- export { C as ChunkStrategy, b as CompressHtmlResult, c as CompressJsonResult, d as CompressMarkdownResult, e as CostEstimate, D as DedupeResult, f as DedupeStrategy, g as DiffEntry2, h as DiffOp2, i as DiffResult2, E as Entity2, j as EntityType2, k as ExtractJsonResult, l as ExtractKeywordsResult, m as ExtractUrlsResult, F as FewShotExample, n as FewShotFormat, o as FewShotFormatResult, I as InjectionDetectResult, p as InjectionFinding, J as JsonBlock, q as JsonRepairResult, K as Keyword, M as MODEL_PRICING, r as MergeResult, s as MergeStrategy, t as ModelPricing, P as PiiDetectResult, u as PiiFinding, v as PiiType, R as RankedChunk, w as RelevanceResult, S as SanitizeResult, x as SecretDetectResult, y as SecretFinding, z as SecretType, A as SummaryResult, T as TableResult2, B as TextChunk, G as TokenEstimate, H as TokenEstimateResult, L as ToolSchemaIssue, N as ToolSchemaLintResult, O as TrimResult, Q as TrimStrategy, U as UrlMatch, V as ValidationError, W as ValidationResult, X as VectorSimilarityResult, Y as chunkText, Z as compressHtml, _ as compressJson, $ as compressMarkdown, a0 as deduplicateLines, a1 as detectPii, a2 as detectPromptInjection, a3 as detectSecrets, a4 as diffJson, a5 as estimateCost, a6 as estimateTokens, a7 as expandQuery, a8 as extractEntities, a9 as extractJson, aa as extractKeywords, ab as extractTables, ac as extractUrls, ad as flattenJson, ae as formatFewShotExamples, af as lintToolSchema, ag as mergeJson, ah as redactPii, ai as repairJson, aj as rerankChunks, ak as sanitizeHtml, al as scoreRelevance, am as summarizeForLlm, an as trimToTokens, ao as unflattenJson, ap as validateJsonSchema, aq as vectorSimilarity } from '../ai_agent-CmrVjvYH.js';
1
+ export { C as ChunkStrategy, b as CompressHtmlResult, c as CompressJsonResult, d as CompressMarkdownResult, e as CostEstimate, D as DedupeResult, f as DedupeStrategy, g as DiffEntry2, h as DiffOp2, i as DiffResult2, E as Entity2, j as EntityType2, k as ExtractJsonResult, l as ExtractKeywordsResult, m as ExtractUrlsResult, F as FewShotExample, n as FewShotFormat, o as FewShotFormatResult, I as InjectionDetectResult, p as InjectionFinding, J as JsonBlock, q as JsonRepairResult, K as Keyword, M as MODEL_PRICING, r as MergeResult, s as MergeStrategy, t as ModelPricing, P as PiiDetectResult, u as PiiFinding, v as PiiType, R as RankedChunk, w as RelevanceResult, x as RetryBackoffAttempt, y as RetryBackoffInput, z as RetryBackoffResult, A as RetryJitterMode, S as SanitizeResult, B as SecretDetectResult, G as SecretFinding, H as SecretType, L as SummaryResult, T as TableResult2, N as TextChunk, O as TokenEstimate, Q as TokenEstimateResult, U as ToolSchemaIssue, V as ToolSchemaLintResult, W as TrimResult, X as TrimStrategy, Y as UrlMatch, Z as ValidationError, _ as ValidationResult, $ as VectorSimilarityResult, a0 as calculateRetryBackoffSchedule, a1 as chunkText, a2 as compressHtml, a3 as compressJson, a4 as compressMarkdown, a5 as deduplicateLines, a6 as detectPii, a7 as detectPromptInjection, a8 as detectSecrets, a9 as diffJson, aa as estimateCost, ab as estimateTokens, ac as expandQuery, ad as extractEntities, ae as extractJson, af as extractKeywords, ag as extractTables, ah as extractUrls, ai as flattenJson, aj as formatFewShotExamples, ak as lintToolSchema, al as mergeJson, am as redactPii, an as repairJson, ao as rerankChunks, ap as sanitizeHtml, aq as scoreRelevance, ar as summarizeForLlm, as as trimToTokens, at as unflattenJson, au as validateJsonSchema, av as vectorSimilarity } from '../ai_agent-DeCy0oZK.js';
@@ -1,2 +1,2 @@
1
- export { MODEL_PRICING, chunkText, compressHtml, compressJson, compressMarkdown, deduplicateLines, detectPii, detectPromptInjection, detectSecrets, diffJson, estimateCost, estimateTokens, expandQuery, extractEntities, extractJson, extractKeywords, extractTables, extractUrls, flattenJson, formatFewShotExamples, lintToolSchema, mergeJson, redactPii, repairJson, rerankChunks, sanitizeHtml, scoreRelevance, summarizeForLlm, trimToTokens, unflattenJson, validateJsonSchema, vectorSimilarity } from '../chunk-EKIXOA7B.js';
1
+ export { MODEL_PRICING, calculateRetryBackoffSchedule, chunkText, compressHtml, compressJson, compressMarkdown, deduplicateLines, detectPii, detectPromptInjection, detectSecrets, diffJson, estimateCost, estimateTokens, expandQuery, extractEntities, extractJson, extractKeywords, extractTables, extractUrls, flattenJson, formatFewShotExamples, lintToolSchema, mergeJson, redactPii, repairJson, rerankChunks, sanitizeHtml, scoreRelevance, summarizeForLlm, trimToTokens, unflattenJson, validateJsonSchema, vectorSimilarity } from '../chunk-HJLGUNSO.js';
2
2
  import '../chunk-MLKGABMK.js';
@@ -1139,6 +1139,37 @@ function jsonArrayToNdjson(input) {
1139
1139
  if (!Array.isArray(parsed)) return { error: "Input must be a JSON array" };
1140
1140
  return parsed.map((item) => JSON.stringify(item)).join("\n");
1141
1141
  }
1142
+ function _stringifyCsvValue(value) {
1143
+ if (value === void 0 || value === null) return "";
1144
+ if (typeof value === "string") return value;
1145
+ if (typeof value === "object") return JSON.stringify(value);
1146
+ return String(value);
1147
+ }
1148
+ function ndjsonToCsv(input) {
1149
+ const result = validateNdjson(input);
1150
+ if (!result.valid) return { error: _firstNdjsonError(result) };
1151
+ if (result.lines.length === 0) return { error: "No records found" };
1152
+ const records = result.lines.map((l) => JSON.parse(l.raw));
1153
+ for (const record of records) {
1154
+ if (typeof record !== "object" || record === null || Array.isArray(record)) {
1155
+ return { error: "Every line must be a flat JSON object to convert to CSV" };
1156
+ }
1157
+ }
1158
+ const headers = [];
1159
+ const seen = /* @__PURE__ */ new Set();
1160
+ for (const record of records) {
1161
+ for (const key of Object.keys(record)) {
1162
+ if (!seen.has(key)) {
1163
+ seen.add(key);
1164
+ headers.push(key);
1165
+ }
1166
+ }
1167
+ }
1168
+ const rows = records.map(
1169
+ (record) => headers.map((h) => _stringifyCsvValue(record[h]))
1170
+ );
1171
+ return toCsvString(headers, rows);
1172
+ }
1142
1173
  function dedupeNdjson(input, keyField) {
1143
1174
  const validated = validateNdjson(input);
1144
1175
  if (!validated.valid) return { error: _firstNdjsonError(validated) };
@@ -1941,6 +1972,7 @@ exports.jsonToXml = jsonToXml;
1941
1972
  exports.minifyNdjson = minifyNdjson;
1942
1973
  exports.minifyToml = minifyToml;
1943
1974
  exports.minifyXml = minifyXml;
1975
+ exports.ndjsonToCsv = ndjsonToCsv;
1944
1976
  exports.ndjsonToJsonArray = ndjsonToJsonArray;
1945
1977
  exports.parseCsv = parseCsv;
1946
1978
  exports.parseEnv = parseEnv;
@@ -1 +1 @@
1
- export { C as CaptionSpeedCue, a as CaptionSpeedResult, b as ConvertedSubtitles, c as CsvColumnType, e as CsvColumnTypeInfo, f as CsvColumnTypeOptions, g as CsvColumnTypeResult, h as CsvDuplicateGroup, i as CsvDuplicateOptions, j as CsvDuplicateResult, k as CsvParseResult, l as CsvToSqlOptions, m as CsvToSqlResult, E as EnvDiffError, n as EnvDiffResult, o as EnvEntry, p as EnvParseResult, F as FrontMatterError, q as FrontMatterResult, I as IniSection, M as MarkdownTableAlignResult, r as MarkdownTableColumnAlignment, s as MarkdownTableInfo, t as MarkdownTaskListItem, u as MarkdownTaskListProgressResult, v as MarkdownTaskListSectionSummary, w as MarkdownTocEntry, x as MarkdownTocOptions, y as MarkdownTocResult, N as NdjsonDedupeResult, z as NdjsonLineResult, A as NdjsonValidateResult, P as ParseOptions, B as ParsedIni, D as ParsedSubtitles, S as SubtitleCue, G as SubtitleFormat, T as TomlFormatResult, V as ValidationResult, X as XmlFormatResult, H as XmlToJsonOptions, Y as YamlAnchorInfo, J as YamlAnchorResolveError, K as YamlAnchorResolveResult, L as alignMarkdownTables, O as analyzeCaptionSpeed, Q as calculateMarkdownTaskListProgress, R as convertSubtitles, U as csvToJson, W as csvToSqlInsert, Z as dedupeNdjson, _ as detectDelimiter, $ as detectSubtitleFormat, a0 as diffEnvExample, a1 as envToExport, a2 as envToJson, a3 as findCsvDuplicateRows, a4 as formatNdjson, a5 as formatSubtitleTimestamp, a6 as formatToml, a7 as formatXml, a8 as generateMarkdownToc, a9 as getSection, aa as getSectionNames, ab as getTomlStats, ac as getXmlStats, ad as getYamlStats, ae as inferCsvColumnTypes, af as iniToJson, ag as jsonArrayToNdjson, ah as jsonToIni, ai as jsonToToml, aj as jsonToXml, ak as minifyNdjson, al as minifyToml, am as minifyXml, an as ndjsonToJsonArray, ao as parseCsv, ap as parseEnv, aq as parseFrontMatter, ar as parseIni, as as parseSubtitleTimestamp, at as parseSubtitles, au as parseXmlToObject, av as resolveYamlAnchors, aw as serializeSubtitles, ax as shiftSubtitles, ay as stringifyIni, az as toCsvString, aA as tomlToJson, aB as validateEnvKey, aC as validateIni, aD as validateNdjson, aE as validateToml, aF as validateXml, aG as validateYaml, aH as xmlToJson } from '../data-26TALa9U.cjs';
1
+ export { C as CaptionSpeedCue, a as CaptionSpeedResult, b as ConvertedSubtitles, c as CsvColumnType, e as CsvColumnTypeInfo, f as CsvColumnTypeOptions, g as CsvColumnTypeResult, h as CsvDuplicateGroup, i as CsvDuplicateOptions, j as CsvDuplicateResult, k as CsvParseResult, l as CsvToSqlOptions, m as CsvToSqlResult, E as EnvDiffError, n as EnvDiffResult, o as EnvEntry, p as EnvParseResult, F as FrontMatterError, q as FrontMatterResult, I as IniSection, M as MarkdownTableAlignResult, r as MarkdownTableColumnAlignment, s as MarkdownTableInfo, t as MarkdownTaskListItem, u as MarkdownTaskListProgressResult, v as MarkdownTaskListSectionSummary, w as MarkdownTocEntry, x as MarkdownTocOptions, y as MarkdownTocResult, N as NdjsonDedupeResult, z as NdjsonLineResult, A as NdjsonValidateResult, P as ParseOptions, B as ParsedIni, D as ParsedSubtitles, S as SubtitleCue, G as SubtitleFormat, T as TomlFormatResult, V as ValidationResult, X as XmlFormatResult, H as XmlToJsonOptions, Y as YamlAnchorInfo, J as YamlAnchorResolveError, K as YamlAnchorResolveResult, L as alignMarkdownTables, O as analyzeCaptionSpeed, Q as calculateMarkdownTaskListProgress, R as convertSubtitles, U as csvToJson, W as csvToSqlInsert, Z as dedupeNdjson, _ as detectDelimiter, $ as detectSubtitleFormat, a0 as diffEnvExample, a1 as envToExport, a2 as envToJson, a3 as findCsvDuplicateRows, a4 as formatNdjson, a5 as formatSubtitleTimestamp, a6 as formatToml, a7 as formatXml, a8 as generateMarkdownToc, a9 as getSection, aa as getSectionNames, ab as getTomlStats, ac as getXmlStats, ad as getYamlStats, ae as inferCsvColumnTypes, af as iniToJson, ag as jsonArrayToNdjson, ah as jsonToIni, ai as jsonToToml, aj as jsonToXml, ak as minifyNdjson, al as minifyToml, am as minifyXml, an as ndjsonToCsv, ao as ndjsonToJsonArray, ap as parseCsv, aq as parseEnv, ar as parseFrontMatter, as as parseIni, at as parseSubtitleTimestamp, au as parseSubtitles, av as parseXmlToObject, aw as resolveYamlAnchors, ax as serializeSubtitles, ay as shiftSubtitles, az as stringifyIni, aA as toCsvString, aB as tomlToJson, aC as validateEnvKey, aD as validateIni, aE as validateNdjson, aF as validateToml, aG as validateXml, aH as validateYaml, aI as xmlToJson } from '../data-DIyBrJ6l.cjs';
@@ -1 +1 @@
1
- export { C as CaptionSpeedCue, a as CaptionSpeedResult, b as ConvertedSubtitles, c as CsvColumnType, e as CsvColumnTypeInfo, f as CsvColumnTypeOptions, g as CsvColumnTypeResult, h as CsvDuplicateGroup, i as CsvDuplicateOptions, j as CsvDuplicateResult, k as CsvParseResult, l as CsvToSqlOptions, m as CsvToSqlResult, E as EnvDiffError, n as EnvDiffResult, o as EnvEntry, p as EnvParseResult, F as FrontMatterError, q as FrontMatterResult, I as IniSection, M as MarkdownTableAlignResult, r as MarkdownTableColumnAlignment, s as MarkdownTableInfo, t as MarkdownTaskListItem, u as MarkdownTaskListProgressResult, v as MarkdownTaskListSectionSummary, w as MarkdownTocEntry, x as MarkdownTocOptions, y as MarkdownTocResult, N as NdjsonDedupeResult, z as NdjsonLineResult, A as NdjsonValidateResult, P as ParseOptions, B as ParsedIni, D as ParsedSubtitles, S as SubtitleCue, G as SubtitleFormat, T as TomlFormatResult, V as ValidationResult, X as XmlFormatResult, H as XmlToJsonOptions, Y as YamlAnchorInfo, J as YamlAnchorResolveError, K as YamlAnchorResolveResult, L as alignMarkdownTables, O as analyzeCaptionSpeed, Q as calculateMarkdownTaskListProgress, R as convertSubtitles, U as csvToJson, W as csvToSqlInsert, Z as dedupeNdjson, _ as detectDelimiter, $ as detectSubtitleFormat, a0 as diffEnvExample, a1 as envToExport, a2 as envToJson, a3 as findCsvDuplicateRows, a4 as formatNdjson, a5 as formatSubtitleTimestamp, a6 as formatToml, a7 as formatXml, a8 as generateMarkdownToc, a9 as getSection, aa as getSectionNames, ab as getTomlStats, ac as getXmlStats, ad as getYamlStats, ae as inferCsvColumnTypes, af as iniToJson, ag as jsonArrayToNdjson, ah as jsonToIni, ai as jsonToToml, aj as jsonToXml, ak as minifyNdjson, al as minifyToml, am as minifyXml, an as ndjsonToJsonArray, ao as parseCsv, ap as parseEnv, aq as parseFrontMatter, ar as parseIni, as as parseSubtitleTimestamp, at as parseSubtitles, au as parseXmlToObject, av as resolveYamlAnchors, aw as serializeSubtitles, ax as shiftSubtitles, ay as stringifyIni, az as toCsvString, aA as tomlToJson, aB as validateEnvKey, aC as validateIni, aD as validateNdjson, aE as validateToml, aF as validateXml, aG as validateYaml, aH as xmlToJson } from '../data-26TALa9U.js';
1
+ export { C as CaptionSpeedCue, a as CaptionSpeedResult, b as ConvertedSubtitles, c as CsvColumnType, e as CsvColumnTypeInfo, f as CsvColumnTypeOptions, g as CsvColumnTypeResult, h as CsvDuplicateGroup, i as CsvDuplicateOptions, j as CsvDuplicateResult, k as CsvParseResult, l as CsvToSqlOptions, m as CsvToSqlResult, E as EnvDiffError, n as EnvDiffResult, o as EnvEntry, p as EnvParseResult, F as FrontMatterError, q as FrontMatterResult, I as IniSection, M as MarkdownTableAlignResult, r as MarkdownTableColumnAlignment, s as MarkdownTableInfo, t as MarkdownTaskListItem, u as MarkdownTaskListProgressResult, v as MarkdownTaskListSectionSummary, w as MarkdownTocEntry, x as MarkdownTocOptions, y as MarkdownTocResult, N as NdjsonDedupeResult, z as NdjsonLineResult, A as NdjsonValidateResult, P as ParseOptions, B as ParsedIni, D as ParsedSubtitles, S as SubtitleCue, G as SubtitleFormat, T as TomlFormatResult, V as ValidationResult, X as XmlFormatResult, H as XmlToJsonOptions, Y as YamlAnchorInfo, J as YamlAnchorResolveError, K as YamlAnchorResolveResult, L as alignMarkdownTables, O as analyzeCaptionSpeed, Q as calculateMarkdownTaskListProgress, R as convertSubtitles, U as csvToJson, W as csvToSqlInsert, Z as dedupeNdjson, _ as detectDelimiter, $ as detectSubtitleFormat, a0 as diffEnvExample, a1 as envToExport, a2 as envToJson, a3 as findCsvDuplicateRows, a4 as formatNdjson, a5 as formatSubtitleTimestamp, a6 as formatToml, a7 as formatXml, a8 as generateMarkdownToc, a9 as getSection, aa as getSectionNames, ab as getTomlStats, ac as getXmlStats, ad as getYamlStats, ae as inferCsvColumnTypes, af as iniToJson, ag as jsonArrayToNdjson, ah as jsonToIni, ai as jsonToToml, aj as jsonToXml, ak as minifyNdjson, al as minifyToml, am as minifyXml, an as ndjsonToCsv, ao as ndjsonToJsonArray, ap as parseCsv, aq as parseEnv, ar as parseFrontMatter, as as parseIni, at as parseSubtitleTimestamp, au as parseSubtitles, av as parseXmlToObject, aw as resolveYamlAnchors, ax as serializeSubtitles, ay as shiftSubtitles, az as stringifyIni, aA as toCsvString, aB as tomlToJson, aC as validateEnvKey, aD as validateIni, aE as validateNdjson, aF as validateToml, aG as validateXml, aH as validateYaml, aI as xmlToJson } from '../data-DIyBrJ6l.js';
@@ -1,2 +1,2 @@
1
- export { alignMarkdownTables, analyzeCaptionSpeed, calculateMarkdownTaskListProgress, convertSubtitles, csvToJson, csvToSqlInsert, dedupeNdjson, detectDelimiter, detectSubtitleFormat, diffEnvExample, envToExport, envToJson, findCsvDuplicateRows, formatNdjson, formatSubtitleTimestamp, formatToml, formatXml, generateMarkdownToc, getSection, getSectionNames, getTomlStats, getXmlStats, getYamlStats, inferCsvColumnTypes, iniToJson, jsonArrayToNdjson, jsonToIni, jsonToToml, jsonToXml, minifyNdjson, minifyToml, minifyXml, ndjsonToJsonArray, parseCsv, parseEnv, parseFrontMatter, parseIni, parseSubtitleTimestamp, parseSubtitles, parseXmlToObject, resolveYamlAnchors, serializeSubtitles, shiftSubtitles, stringifyIni, toCsvString, tomlToJson, validateEnvKey, validateIni, validateNdjson, validateToml, validateXml, validateYaml, xmlToJson } from '../chunk-HJVSH7FQ.js';
1
+ export { alignMarkdownTables, analyzeCaptionSpeed, calculateMarkdownTaskListProgress, convertSubtitles, csvToJson, csvToSqlInsert, dedupeNdjson, detectDelimiter, detectSubtitleFormat, diffEnvExample, envToExport, envToJson, findCsvDuplicateRows, formatNdjson, formatSubtitleTimestamp, formatToml, formatXml, generateMarkdownToc, getSection, getSectionNames, getTomlStats, getXmlStats, getYamlStats, inferCsvColumnTypes, iniToJson, jsonArrayToNdjson, jsonToIni, jsonToToml, jsonToXml, minifyNdjson, minifyToml, minifyXml, ndjsonToCsv, ndjsonToJsonArray, parseCsv, parseEnv, parseFrontMatter, parseIni, parseSubtitleTimestamp, parseSubtitles, parseXmlToObject, resolveYamlAnchors, serializeSubtitles, shiftSubtitles, stringifyIni, toCsvString, tomlToJson, validateEnvKey, validateIni, validateNdjson, validateToml, validateXml, validateYaml, xmlToJson } from '../chunk-XOUS3M5Z.js';
2
2
  import '../chunk-MLKGABMK.js';
@@ -2651,6 +2651,50 @@ function calculateRequiredBandwidth(fileSize, fileSizeUnit, targetSeconds) {
2651
2651
  requiredMBps: requiredBitsPerSecond / 8 / 1e6
2652
2652
  };
2653
2653
  }
2654
+ var _REAL_RATE_FIELDS = ["nominalRatePercent", "inflationRatePercent", "realRatePercent"];
2655
+ function calculateRealRateOfReturn(input) {
2656
+ const provided = (v) => typeof v === "number" && Number.isFinite(v);
2657
+ const given = _REAL_RATE_FIELDS.filter((f) => provided(input[f]));
2658
+ if (given.length !== 2) {
2659
+ return { error: `Provide exactly two of nominalRatePercent, inflationRatePercent, realRatePercent (got ${given.length})` };
2660
+ }
2661
+ for (const f of given) {
2662
+ const v = input[f];
2663
+ if (v <= -100) return { error: `${f} must be greater than -100` };
2664
+ }
2665
+ const has = (f) => given.includes(f);
2666
+ const nominal0 = input.nominalRatePercent;
2667
+ const inflation0 = input.inflationRatePercent;
2668
+ const real0 = input.realRatePercent;
2669
+ let nominalRatePercent;
2670
+ let inflationRatePercent;
2671
+ let realRatePercent;
2672
+ let solvedFor;
2673
+ if (has("nominalRatePercent") && has("inflationRatePercent")) {
2674
+ nominalRatePercent = nominal0;
2675
+ inflationRatePercent = inflation0;
2676
+ realRatePercent = ((1 + nominal0 / 100) / (1 + inflation0 / 100) - 1) * 100;
2677
+ solvedFor = "realRatePercent";
2678
+ } else if (has("realRatePercent") && has("inflationRatePercent")) {
2679
+ realRatePercent = real0;
2680
+ inflationRatePercent = inflation0;
2681
+ nominalRatePercent = ((1 + real0 / 100) * (1 + inflation0 / 100) - 1) * 100;
2682
+ solvedFor = "nominalRatePercent";
2683
+ } else {
2684
+ nominalRatePercent = nominal0;
2685
+ realRatePercent = real0;
2686
+ inflationRatePercent = ((1 + nominal0 / 100) / (1 + real0 / 100) - 1) * 100;
2687
+ solvedFor = "inflationRatePercent";
2688
+ }
2689
+ const round4 = (n) => Math.round(n * 1e4) / 1e4;
2690
+ return {
2691
+ nominalRatePercent: round4(nominalRatePercent),
2692
+ inflationRatePercent: round4(inflationRatePercent),
2693
+ realRatePercent: round4(realRatePercent),
2694
+ given,
2695
+ solvedFor
2696
+ };
2697
+ }
2654
2698
 
2655
2699
  exports.BASE_LABELS = BASE_LABELS;
2656
2700
  exports.BASE_PREFIXES = BASE_PREFIXES;
@@ -2693,6 +2737,7 @@ exports.calculateMortgagePoints = calculateMortgagePoints;
2693
2737
  exports.calculateMovingAverages = calculateMovingAverages;
2694
2738
  exports.calculatePaybackPeriod = calculatePaybackPeriod;
2695
2739
  exports.calculatePercentageChange = calculatePercentageChange;
2740
+ exports.calculateRealRateOfReturn = calculateRealRateOfReturn;
2696
2741
  exports.calculateRequiredBandwidth = calculateRequiredBandwidth;
2697
2742
  exports.calculateRoi = calculateRoi;
2698
2743
  exports.calculateRuleOf72 = calculateRuleOf72;
@@ -1 +1 @@
1
- export { A as AmortizationRow, a as AprApyDirection, b as AprApyResult, c as AspectRatioResult, B as BASE_LABELS, d as BASE_PREFIXES, e as BYTE_UNITS, f as BarcodeFormat, g as BarcodeValidationResult, h as BaseConvertResult, i as BlendedLoanRateResult, j as BreakEvenInput, k as BreakEvenResult, l as ByteConvertResult, m as ByteUnit, C as COMMON_CURRENCIES, n as COMMON_LOCALES, o as COMMON_PERMISSIONS, p as COMMON_RATIOS, q as COMMON_SIZES, r as COMMON_TAX_RATES, s as COMMON_TIP_PERCENTAGES, t as COMMON_VIEWPORTS, v as CardValidationResult, w as CashBreakdownResult, x as CashChangeResult, y as CashDenominationItem, z as CashRoundingMode, D as CashRoundingResult, E as CdMaturityResult, F as CompareUnitPricesResult, G as CompoundInterestResult, H as CompoundYearRow, I as CreditAccountInput, J as CreditAccountResult, K as CreditUtilizationResult, L as DebtItemInput, M as DebtItemResult, N as DebtPayoffComparison, O as DebtPayoffInput, P as DebtPayoffPlanResult, Q as DebtPayoffScheduleEntry, R as DebtPayoffStrategy, S as DebtPayoffStrategyResult, T as DebtToIncomeRatioResult, U as DepreciationMethod, V as DepreciationResult, W as DepreciationYear, X as Dimensions, Y as DiscountField, Z as DiscountInput, _ as DiscountResult, $ as DtiTier, a0 as EmiResult, a1 as EmiTenureUnit, a2 as EmiYearlyBreakdownRow, a3 as ExtraPaymentPayoffResult, a4 as FilePermissions, a5 as FileSizeUnit, a6 as FormatOptions, a7 as FreelancerRateInput, a8 as FreelancerRateResult, a9 as GPA_GRADE_POINTS, aa as GpaCourse, ab as GpaCourseResult, ac as GpaResult, ad as IbanValidationResult, ae as IpConversion, af as IsbnFormat, ag as IsbnResult, ah as IsinValidationResult, ai as LoanBalanceInput, aj as LoanBalanceResult, ak as LoanPrepaymentPenaltyResult, al as LoanRefinanceResult, am as LoanResult, an as MarginMarkupField, ao as MarginMarkupInput, ap as MarginMarkupResult, aq as MortgagePointsResult, ar as MovingAveragePoint, as as MovingAverageResult, at as NotationStyle, au as NumberBase, av as PaybackPeriodInput, aw as PaybackPeriodResult, ax as PercentChangeDirection, ay as PercentageChangeResult, az as Permission, aA as PrepaymentPenaltyType, aB as PxConvertResult, aC as RequiredBandwidthResult, aD as RoiInput, aE as RoiResult, aF as RuleOf72Direction, aG as RuleOf72Result, aH as SavingsGoalInput, aI as SavingsGoalMode, aJ as SavingsGoalResult, aK as SemverVersion, aL as SimpleInterestResult, aM as SubnetInfo, aN as SuccessiveDiscountResult, aO as SuccessiveDiscountStep, aP as TaxDirection, aQ as TaxEquivalentYieldDirection, aR as TaxEquivalentYieldResult, aS as TaxResult, aT as TimeValueDirection, aU as TimeValueResult, aV as TipSplitResult, aW as TransferSpeedUnit, aX as TransferTimeResult, aY as USD_DENOMINATIONS, aZ as UnitPriceItem, a_ as UnitPriceResult, a$ as UtilizationTier, b0 as VideoBitrateInput, b1 as VideoBitrateMode, b2 as VideoBitrateResult, b3 as ViewportConvertResult, b4 as VinValidationResult, b5 as applySuccessiveDiscounts, b6 as autoFormat, b7 as bumpVersion, b8 as calcAspectRatio, b9 as calcSubnet, ba as calculateBlendedLoanRate, bb as calculateBreakEven, bc as calculateCashBreakdown, bd as calculateCashRounding, be as calculateCdMaturity, bf as calculateChange, bg as calculateCompoundInterest, bh as calculateCreditUtilization, bi as calculateDebtToIncomeRatio, bj as calculateDepreciationSchedule, bk as calculateDiscount, bl as calculateEmi, bm as calculateExtraPaymentPayoff, bn as calculateFreelancerRate, bo as calculateGpa, bp as calculateLoan, bq as calculateLoanPrepaymentPenalty, br as calculateLoanRefinance, bs as calculateMarginMarkup, bt as calculateMortgagePoints, bu as calculateMovingAverages, bv as calculatePaybackPeriod, bw as calculatePercentageChange, bx as calculateRequiredBandwidth, by as calculateRoi, bz as calculateRuleOf72, bA as calculateSavingsGoal, bB as calculateSimpleInterest, bC as calculateTax, bD as calculateTaxEquivalentYield, bE as calculateTimeValue, bF as calculateTipSplit, bG as calculateTransferTime, bH as calculateVideoBitrate, bI as compareSemver, bJ as compareUnitPrices, bK as convert, bL as convertAprApy, bM as convertBytes, bN as convertIp, bO as coverBox, bP as decimalToIp, bQ as decimalToIpCidr, bR as describePermissions, bS as fitIntoBox, bT as formatNumber, bU as formatValue, bV as formatVwValue, bW as formatWithSeparator, bX as gcd, bY as ipFromBinary, bZ as ipFromDecimal, b_ as ipFromHex, b$ as ipToBinary, c0 as ipToDecimal, c1 as ipToDecimalCidr, c2 as ipToHex, c3 as ipToOctal, c4 as isValid, c5 as isValidCidr, c6 as isValidIp, c7 as isValidIpv4, c8 as marginToMarkup, c9 as markupToMargin, ca as octalToPermissions, cb as parseFileSize, cc as parseInput, cd as parseNumberString, ce as parseSemver, cf as permissionsToChmod, cg as permissionsToOctal, ch as permissionsToSymbolic, ci as planDebtPayoff, cj as ptToPx, ck as pxToAll, cl as pxToViewport, cm as remToPx, cn as satisfiesRange, co as scaleByHeight, cp as scaleByWidth, cq as sortVersions, cr as splitSubnet, cs as symbolicToPermissions, ct as validateBarcode, cu as validateCardNumber, cv as validateIban, cw as validateIsbn, cx as validateIsin, cy as validateVin, cz as viewportToPx } from '../units-BqegyALA.cjs';
1
+ export { A as AmortizationRow, a as AprApyDirection, b as AprApyResult, c as AspectRatioResult, B as BASE_LABELS, d as BASE_PREFIXES, e as BYTE_UNITS, f as BarcodeFormat, g as BarcodeValidationResult, h as BaseConvertResult, i as BlendedLoanRateResult, j as BreakEvenInput, k as BreakEvenResult, l as ByteConvertResult, m as ByteUnit, C as COMMON_CURRENCIES, n as COMMON_LOCALES, o as COMMON_PERMISSIONS, p as COMMON_RATIOS, q as COMMON_SIZES, r as COMMON_TAX_RATES, s as COMMON_TIP_PERCENTAGES, t as COMMON_VIEWPORTS, v as CardValidationResult, w as CashBreakdownResult, x as CashChangeResult, y as CashDenominationItem, z as CashRoundingMode, D as CashRoundingResult, E as CdMaturityResult, F as CompareUnitPricesResult, G as CompoundInterestResult, H as CompoundYearRow, I as CreditAccountInput, J as CreditAccountResult, K as CreditUtilizationResult, L as DebtItemInput, M as DebtItemResult, N as DebtPayoffComparison, O as DebtPayoffInput, P as DebtPayoffPlanResult, Q as DebtPayoffScheduleEntry, R as DebtPayoffStrategy, S as DebtPayoffStrategyResult, T as DebtToIncomeRatioResult, U as DepreciationMethod, V as DepreciationResult, W as DepreciationYear, X as Dimensions, Y as DiscountField, Z as DiscountInput, _ as DiscountResult, $ as DtiTier, a0 as EmiResult, a1 as EmiTenureUnit, a2 as EmiYearlyBreakdownRow, a3 as ExtraPaymentPayoffResult, a4 as FilePermissions, a5 as FileSizeUnit, a6 as FormatOptions, a7 as FreelancerRateInput, a8 as FreelancerRateResult, a9 as GPA_GRADE_POINTS, aa as GpaCourse, ab as GpaCourseResult, ac as GpaResult, ad as IbanValidationResult, ae as IpConversion, af as IsbnFormat, ag as IsbnResult, ah as IsinValidationResult, ai as LoanBalanceInput, aj as LoanBalanceResult, ak as LoanPrepaymentPenaltyResult, al as LoanRefinanceResult, am as LoanResult, an as MarginMarkupField, ao as MarginMarkupInput, ap as MarginMarkupResult, aq as MortgagePointsResult, ar as MovingAveragePoint, as as MovingAverageResult, at as NotationStyle, au as NumberBase, av as PaybackPeriodInput, aw as PaybackPeriodResult, ax as PercentChangeDirection, ay as PercentageChangeResult, az as Permission, aA as PrepaymentPenaltyType, aB as PxConvertResult, aC as RealRateField, aD as RealRateOfReturnInput, aE as RealRateOfReturnResult, aF as RequiredBandwidthResult, aG as RoiInput, aH as RoiResult, aI as RuleOf72Direction, aJ as RuleOf72Result, aK as SavingsGoalInput, aL as SavingsGoalMode, aM as SavingsGoalResult, aN as SemverVersion, aO as SimpleInterestResult, aP as SubnetInfo, aQ as SuccessiveDiscountResult, aR as SuccessiveDiscountStep, aS as TaxDirection, aT as TaxEquivalentYieldDirection, aU as TaxEquivalentYieldResult, aV as TaxResult, aW as TimeValueDirection, aX as TimeValueResult, aY as TipSplitResult, aZ as TransferSpeedUnit, a_ as TransferTimeResult, a$ as USD_DENOMINATIONS, b0 as UnitPriceItem, b1 as UnitPriceResult, b2 as UtilizationTier, b3 as VideoBitrateInput, b4 as VideoBitrateMode, b5 as VideoBitrateResult, b6 as ViewportConvertResult, b7 as VinValidationResult, b8 as applySuccessiveDiscounts, b9 as autoFormat, ba as bumpVersion, bb as calcAspectRatio, bc as calcSubnet, bd as calculateBlendedLoanRate, be as calculateBreakEven, bf as calculateCashBreakdown, bg as calculateCashRounding, bh as calculateCdMaturity, bi as calculateChange, bj as calculateCompoundInterest, bk as calculateCreditUtilization, bl as calculateDebtToIncomeRatio, bm as calculateDepreciationSchedule, bn as calculateDiscount, bo as calculateEmi, bp as calculateExtraPaymentPayoff, bq as calculateFreelancerRate, br as calculateGpa, bs as calculateLoan, bt as calculateLoanPrepaymentPenalty, bu as calculateLoanRefinance, bv as calculateMarginMarkup, bw as calculateMortgagePoints, bx as calculateMovingAverages, by as calculatePaybackPeriod, bz as calculatePercentageChange, bA as calculateRealRateOfReturn, bB as calculateRequiredBandwidth, bC as calculateRoi, bD as calculateRuleOf72, bE as calculateSavingsGoal, bF as calculateSimpleInterest, bG as calculateTax, bH as calculateTaxEquivalentYield, bI as calculateTimeValue, bJ as calculateTipSplit, bK as calculateTransferTime, bL as calculateVideoBitrate, bM as compareSemver, bN as compareUnitPrices, bO as convert, bP as convertAprApy, bQ as convertBytes, bR as convertIp, bS as coverBox, bT as decimalToIp, bU as decimalToIpCidr, bV as describePermissions, bW as fitIntoBox, bX as formatNumber, bY as formatValue, bZ as formatVwValue, b_ as formatWithSeparator, b$ as gcd, c0 as ipFromBinary, c1 as ipFromDecimal, c2 as ipFromHex, c3 as ipToBinary, c4 as ipToDecimal, c5 as ipToDecimalCidr, c6 as ipToHex, c7 as ipToOctal, c8 as isValid, c9 as isValidCidr, ca as isValidIp, cb as isValidIpv4, cc as marginToMarkup, cd as markupToMargin, ce as octalToPermissions, cf as parseFileSize, cg as parseInput, ch as parseNumberString, ci as parseSemver, cj as permissionsToChmod, ck as permissionsToOctal, cl as permissionsToSymbolic, cm as planDebtPayoff, cn as ptToPx, co as pxToAll, cp as pxToViewport, cq as remToPx, cr as satisfiesRange, cs as scaleByHeight, ct as scaleByWidth, cu as sortVersions, cv as splitSubnet, cw as symbolicToPermissions, cx as validateBarcode, cy as validateCardNumber, cz as validateIban, cA as validateIsbn, cB as validateIsin, cC as validateVin, cD as viewportToPx } from '../units-D7YRRwei.cjs';
@@ -1 +1 @@
1
- export { A as AmortizationRow, a as AprApyDirection, b as AprApyResult, c as AspectRatioResult, B as BASE_LABELS, d as BASE_PREFIXES, e as BYTE_UNITS, f as BarcodeFormat, g as BarcodeValidationResult, h as BaseConvertResult, i as BlendedLoanRateResult, j as BreakEvenInput, k as BreakEvenResult, l as ByteConvertResult, m as ByteUnit, C as COMMON_CURRENCIES, n as COMMON_LOCALES, o as COMMON_PERMISSIONS, p as COMMON_RATIOS, q as COMMON_SIZES, r as COMMON_TAX_RATES, s as COMMON_TIP_PERCENTAGES, t as COMMON_VIEWPORTS, v as CardValidationResult, w as CashBreakdownResult, x as CashChangeResult, y as CashDenominationItem, z as CashRoundingMode, D as CashRoundingResult, E as CdMaturityResult, F as CompareUnitPricesResult, G as CompoundInterestResult, H as CompoundYearRow, I as CreditAccountInput, J as CreditAccountResult, K as CreditUtilizationResult, L as DebtItemInput, M as DebtItemResult, N as DebtPayoffComparison, O as DebtPayoffInput, P as DebtPayoffPlanResult, Q as DebtPayoffScheduleEntry, R as DebtPayoffStrategy, S as DebtPayoffStrategyResult, T as DebtToIncomeRatioResult, U as DepreciationMethod, V as DepreciationResult, W as DepreciationYear, X as Dimensions, Y as DiscountField, Z as DiscountInput, _ as DiscountResult, $ as DtiTier, a0 as EmiResult, a1 as EmiTenureUnit, a2 as EmiYearlyBreakdownRow, a3 as ExtraPaymentPayoffResult, a4 as FilePermissions, a5 as FileSizeUnit, a6 as FormatOptions, a7 as FreelancerRateInput, a8 as FreelancerRateResult, a9 as GPA_GRADE_POINTS, aa as GpaCourse, ab as GpaCourseResult, ac as GpaResult, ad as IbanValidationResult, ae as IpConversion, af as IsbnFormat, ag as IsbnResult, ah as IsinValidationResult, ai as LoanBalanceInput, aj as LoanBalanceResult, ak as LoanPrepaymentPenaltyResult, al as LoanRefinanceResult, am as LoanResult, an as MarginMarkupField, ao as MarginMarkupInput, ap as MarginMarkupResult, aq as MortgagePointsResult, ar as MovingAveragePoint, as as MovingAverageResult, at as NotationStyle, au as NumberBase, av as PaybackPeriodInput, aw as PaybackPeriodResult, ax as PercentChangeDirection, ay as PercentageChangeResult, az as Permission, aA as PrepaymentPenaltyType, aB as PxConvertResult, aC as RequiredBandwidthResult, aD as RoiInput, aE as RoiResult, aF as RuleOf72Direction, aG as RuleOf72Result, aH as SavingsGoalInput, aI as SavingsGoalMode, aJ as SavingsGoalResult, aK as SemverVersion, aL as SimpleInterestResult, aM as SubnetInfo, aN as SuccessiveDiscountResult, aO as SuccessiveDiscountStep, aP as TaxDirection, aQ as TaxEquivalentYieldDirection, aR as TaxEquivalentYieldResult, aS as TaxResult, aT as TimeValueDirection, aU as TimeValueResult, aV as TipSplitResult, aW as TransferSpeedUnit, aX as TransferTimeResult, aY as USD_DENOMINATIONS, aZ as UnitPriceItem, a_ as UnitPriceResult, a$ as UtilizationTier, b0 as VideoBitrateInput, b1 as VideoBitrateMode, b2 as VideoBitrateResult, b3 as ViewportConvertResult, b4 as VinValidationResult, b5 as applySuccessiveDiscounts, b6 as autoFormat, b7 as bumpVersion, b8 as calcAspectRatio, b9 as calcSubnet, ba as calculateBlendedLoanRate, bb as calculateBreakEven, bc as calculateCashBreakdown, bd as calculateCashRounding, be as calculateCdMaturity, bf as calculateChange, bg as calculateCompoundInterest, bh as calculateCreditUtilization, bi as calculateDebtToIncomeRatio, bj as calculateDepreciationSchedule, bk as calculateDiscount, bl as calculateEmi, bm as calculateExtraPaymentPayoff, bn as calculateFreelancerRate, bo as calculateGpa, bp as calculateLoan, bq as calculateLoanPrepaymentPenalty, br as calculateLoanRefinance, bs as calculateMarginMarkup, bt as calculateMortgagePoints, bu as calculateMovingAverages, bv as calculatePaybackPeriod, bw as calculatePercentageChange, bx as calculateRequiredBandwidth, by as calculateRoi, bz as calculateRuleOf72, bA as calculateSavingsGoal, bB as calculateSimpleInterest, bC as calculateTax, bD as calculateTaxEquivalentYield, bE as calculateTimeValue, bF as calculateTipSplit, bG as calculateTransferTime, bH as calculateVideoBitrate, bI as compareSemver, bJ as compareUnitPrices, bK as convert, bL as convertAprApy, bM as convertBytes, bN as convertIp, bO as coverBox, bP as decimalToIp, bQ as decimalToIpCidr, bR as describePermissions, bS as fitIntoBox, bT as formatNumber, bU as formatValue, bV as formatVwValue, bW as formatWithSeparator, bX as gcd, bY as ipFromBinary, bZ as ipFromDecimal, b_ as ipFromHex, b$ as ipToBinary, c0 as ipToDecimal, c1 as ipToDecimalCidr, c2 as ipToHex, c3 as ipToOctal, c4 as isValid, c5 as isValidCidr, c6 as isValidIp, c7 as isValidIpv4, c8 as marginToMarkup, c9 as markupToMargin, ca as octalToPermissions, cb as parseFileSize, cc as parseInput, cd as parseNumberString, ce as parseSemver, cf as permissionsToChmod, cg as permissionsToOctal, ch as permissionsToSymbolic, ci as planDebtPayoff, cj as ptToPx, ck as pxToAll, cl as pxToViewport, cm as remToPx, cn as satisfiesRange, co as scaleByHeight, cp as scaleByWidth, cq as sortVersions, cr as splitSubnet, cs as symbolicToPermissions, ct as validateBarcode, cu as validateCardNumber, cv as validateIban, cw as validateIsbn, cx as validateIsin, cy as validateVin, cz as viewportToPx } from '../units-BqegyALA.js';
1
+ export { A as AmortizationRow, a as AprApyDirection, b as AprApyResult, c as AspectRatioResult, B as BASE_LABELS, d as BASE_PREFIXES, e as BYTE_UNITS, f as BarcodeFormat, g as BarcodeValidationResult, h as BaseConvertResult, i as BlendedLoanRateResult, j as BreakEvenInput, k as BreakEvenResult, l as ByteConvertResult, m as ByteUnit, C as COMMON_CURRENCIES, n as COMMON_LOCALES, o as COMMON_PERMISSIONS, p as COMMON_RATIOS, q as COMMON_SIZES, r as COMMON_TAX_RATES, s as COMMON_TIP_PERCENTAGES, t as COMMON_VIEWPORTS, v as CardValidationResult, w as CashBreakdownResult, x as CashChangeResult, y as CashDenominationItem, z as CashRoundingMode, D as CashRoundingResult, E as CdMaturityResult, F as CompareUnitPricesResult, G as CompoundInterestResult, H as CompoundYearRow, I as CreditAccountInput, J as CreditAccountResult, K as CreditUtilizationResult, L as DebtItemInput, M as DebtItemResult, N as DebtPayoffComparison, O as DebtPayoffInput, P as DebtPayoffPlanResult, Q as DebtPayoffScheduleEntry, R as DebtPayoffStrategy, S as DebtPayoffStrategyResult, T as DebtToIncomeRatioResult, U as DepreciationMethod, V as DepreciationResult, W as DepreciationYear, X as Dimensions, Y as DiscountField, Z as DiscountInput, _ as DiscountResult, $ as DtiTier, a0 as EmiResult, a1 as EmiTenureUnit, a2 as EmiYearlyBreakdownRow, a3 as ExtraPaymentPayoffResult, a4 as FilePermissions, a5 as FileSizeUnit, a6 as FormatOptions, a7 as FreelancerRateInput, a8 as FreelancerRateResult, a9 as GPA_GRADE_POINTS, aa as GpaCourse, ab as GpaCourseResult, ac as GpaResult, ad as IbanValidationResult, ae as IpConversion, af as IsbnFormat, ag as IsbnResult, ah as IsinValidationResult, ai as LoanBalanceInput, aj as LoanBalanceResult, ak as LoanPrepaymentPenaltyResult, al as LoanRefinanceResult, am as LoanResult, an as MarginMarkupField, ao as MarginMarkupInput, ap as MarginMarkupResult, aq as MortgagePointsResult, ar as MovingAveragePoint, as as MovingAverageResult, at as NotationStyle, au as NumberBase, av as PaybackPeriodInput, aw as PaybackPeriodResult, ax as PercentChangeDirection, ay as PercentageChangeResult, az as Permission, aA as PrepaymentPenaltyType, aB as PxConvertResult, aC as RealRateField, aD as RealRateOfReturnInput, aE as RealRateOfReturnResult, aF as RequiredBandwidthResult, aG as RoiInput, aH as RoiResult, aI as RuleOf72Direction, aJ as RuleOf72Result, aK as SavingsGoalInput, aL as SavingsGoalMode, aM as SavingsGoalResult, aN as SemverVersion, aO as SimpleInterestResult, aP as SubnetInfo, aQ as SuccessiveDiscountResult, aR as SuccessiveDiscountStep, aS as TaxDirection, aT as TaxEquivalentYieldDirection, aU as TaxEquivalentYieldResult, aV as TaxResult, aW as TimeValueDirection, aX as TimeValueResult, aY as TipSplitResult, aZ as TransferSpeedUnit, a_ as TransferTimeResult, a$ as USD_DENOMINATIONS, b0 as UnitPriceItem, b1 as UnitPriceResult, b2 as UtilizationTier, b3 as VideoBitrateInput, b4 as VideoBitrateMode, b5 as VideoBitrateResult, b6 as ViewportConvertResult, b7 as VinValidationResult, b8 as applySuccessiveDiscounts, b9 as autoFormat, ba as bumpVersion, bb as calcAspectRatio, bc as calcSubnet, bd as calculateBlendedLoanRate, be as calculateBreakEven, bf as calculateCashBreakdown, bg as calculateCashRounding, bh as calculateCdMaturity, bi as calculateChange, bj as calculateCompoundInterest, bk as calculateCreditUtilization, bl as calculateDebtToIncomeRatio, bm as calculateDepreciationSchedule, bn as calculateDiscount, bo as calculateEmi, bp as calculateExtraPaymentPayoff, bq as calculateFreelancerRate, br as calculateGpa, bs as calculateLoan, bt as calculateLoanPrepaymentPenalty, bu as calculateLoanRefinance, bv as calculateMarginMarkup, bw as calculateMortgagePoints, bx as calculateMovingAverages, by as calculatePaybackPeriod, bz as calculatePercentageChange, bA as calculateRealRateOfReturn, bB as calculateRequiredBandwidth, bC as calculateRoi, bD as calculateRuleOf72, bE as calculateSavingsGoal, bF as calculateSimpleInterest, bG as calculateTax, bH as calculateTaxEquivalentYield, bI as calculateTimeValue, bJ as calculateTipSplit, bK as calculateTransferTime, bL as calculateVideoBitrate, bM as compareSemver, bN as compareUnitPrices, bO as convert, bP as convertAprApy, bQ as convertBytes, bR as convertIp, bS as coverBox, bT as decimalToIp, bU as decimalToIpCidr, bV as describePermissions, bW as fitIntoBox, bX as formatNumber, bY as formatValue, bZ as formatVwValue, b_ as formatWithSeparator, b$ as gcd, c0 as ipFromBinary, c1 as ipFromDecimal, c2 as ipFromHex, c3 as ipToBinary, c4 as ipToDecimal, c5 as ipToDecimalCidr, c6 as ipToHex, c7 as ipToOctal, c8 as isValid, c9 as isValidCidr, ca as isValidIp, cb as isValidIpv4, cc as marginToMarkup, cd as markupToMargin, ce as octalToPermissions, cf as parseFileSize, cg as parseInput, ch as parseNumberString, ci as parseSemver, cj as permissionsToChmod, ck as permissionsToOctal, cl as permissionsToSymbolic, cm as planDebtPayoff, cn as ptToPx, co as pxToAll, cp as pxToViewport, cq as remToPx, cr as satisfiesRange, cs as scaleByHeight, ct as scaleByWidth, cu as sortVersions, cv as splitSubnet, cw as symbolicToPermissions, cx as validateBarcode, cy as validateCardNumber, cz as validateIban, cA as validateIsbn, cB as validateIsin, cC as validateVin, cD as viewportToPx } from '../units-D7YRRwei.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, GPA_GRADE_POINTS, USD_DENOMINATIONS, applySuccessiveDiscounts, autoFormat, bumpVersion, calcAspectRatio, calcSubnet, calculateBlendedLoanRate, calculateBreakEven, calculateCashBreakdown, calculateCashRounding, calculateCdMaturity, calculateChange, calculateCompoundInterest, calculateCreditUtilization, calculateDebtToIncomeRatio, calculateDepreciationSchedule, calculateDiscount, calculateEmi, calculateExtraPaymentPayoff, calculateFreelancerRate, calculateGpa, calculateLoan, calculateLoanPrepaymentPenalty, calculateLoanRefinance, calculateMarginMarkup, calculateMortgagePoints, calculateMovingAverages, calculatePaybackPeriod, calculatePercentageChange, calculateRequiredBandwidth, calculateRoi, calculateRuleOf72, calculateSavingsGoal, calculateSimpleInterest, calculateTax, calculateTaxEquivalentYield, calculateTimeValue, calculateTipSplit, calculateTransferTime, calculateVideoBitrate, compareSemver, compareUnitPrices, convert, convertAprApy, convertBytes, convertIp, coverBox, decimalToIp, decimalToIpCidr, describePermissions, fitIntoBox, formatNumber, formatValue, formatVwValue, formatWithSeparator, gcd, ipFromBinary, ipFromDecimal, ipFromHex, ipToBinary, ipToDecimal, ipToDecimalCidr, ipToHex, ipToOctal, isValid, isValidCidr, isValidIp, isValidIpv4, marginToMarkup, markupToMargin, octalToPermissions, parseFileSize, parseInput, parseNumberString, parseSemver, permissionsToChmod, permissionsToOctal, permissionsToSymbolic, planDebtPayoff, ptToPx, pxToAll, pxToViewport, remToPx, satisfiesRange, scaleByHeight, scaleByWidth, sortVersions, splitSubnet, symbolicToPermissions, validateBarcode, validateCardNumber, validateIban, validateIsbn, validateIsin, validateVin, viewportToPx } from '../chunk-RP574L5Z.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, GPA_GRADE_POINTS, USD_DENOMINATIONS, applySuccessiveDiscounts, autoFormat, bumpVersion, calcAspectRatio, calcSubnet, calculateBlendedLoanRate, calculateBreakEven, calculateCashBreakdown, calculateCashRounding, calculateCdMaturity, calculateChange, calculateCompoundInterest, calculateCreditUtilization, calculateDebtToIncomeRatio, calculateDepreciationSchedule, calculateDiscount, calculateEmi, calculateExtraPaymentPayoff, calculateFreelancerRate, calculateGpa, calculateLoan, calculateLoanPrepaymentPenalty, calculateLoanRefinance, calculateMarginMarkup, calculateMortgagePoints, calculateMovingAverages, calculatePaybackPeriod, calculatePercentageChange, calculateRealRateOfReturn, calculateRequiredBandwidth, calculateRoi, calculateRuleOf72, calculateSavingsGoal, calculateSimpleInterest, calculateTax, calculateTaxEquivalentYield, calculateTimeValue, calculateTipSplit, calculateTransferTime, calculateVideoBitrate, compareSemver, compareUnitPrices, convert, convertAprApy, convertBytes, convertIp, coverBox, decimalToIp, decimalToIpCidr, describePermissions, fitIntoBox, formatNumber, formatValue, formatVwValue, formatWithSeparator, gcd, ipFromBinary, ipFromDecimal, ipFromHex, ipToBinary, ipToDecimal, ipToDecimalCidr, ipToHex, ipToOctal, isValid, isValidCidr, isValidIp, isValidIpv4, marginToMarkup, markupToMargin, octalToPermissions, parseFileSize, parseInput, parseNumberString, parseSemver, permissionsToChmod, permissionsToOctal, permissionsToSymbolic, planDebtPayoff, ptToPx, pxToAll, pxToViewport, remToPx, satisfiesRange, scaleByHeight, scaleByWidth, sortVersions, splitSubnet, symbolicToPermissions, validateBarcode, validateCardNumber, validateIban, validateIsbn, validateIsin, validateVin, viewportToPx } from '../chunk-OFLNVDNX.js';
2
2
  import '../chunk-MLKGABMK.js';