@utilix-tech/sdk 0.84.0 → 0.86.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  Full release notes for all Utilix surfaces (browser tools, REST API, SDKs, MCP server) live at [utilix.tech/changelog](https://utilix.tech/changelog). This file tracks just this package.
4
4
 
5
+ ## 0.86.0
6
+ - Add `calculateSalesCommission` (sales-commission-calculator): compute a flat or tiered (marginal) sales commission from a sale amount, where tiered mode applies each rate only to the slice of sales within that tier, plus an optional base salary added to the total payout.
7
+ - Add `buildCharacterClass` (regex-character-class-builder): assemble a `[...]` regex character class from named building blocks (lowercase, uppercase, digits, whitespace), custom ranges, and literal custom characters, with optional negation.
8
+
9
+ ## 0.85.0
10
+ - Add `calculateCreditCardMinimumPayment` (credit-card-minimum-payment-calculator): simulate paying only the minimum payment on a revolving credit card balance, where the minimum is the larger of a percent of the balance or a fixed dollar floor, and report months/years to payoff, total interest, and total paid.
11
+ - Add `checkDashUsage` (em-dash-usage-checker): scan text for likely dash misuse: a hyphen surrounded by spaces, an unconverted double hyphen, and inconsistent spacing around em dashes across the same document.
12
+
5
13
  ## 0.84.0
6
14
  - Add `findCronOverlaps` (cron-overlap-detector): walk minute-by-minute over a window of days and flag every minute where two or more cron schedules fire at once, listing which expressions collided.
7
15
  - Add `lintDockerfile` (dockerfile-linter): lint a Dockerfile for an unpinned or `:latest` base image, a final stage missing WORKDIR or USER, and ADD used on a plain local file where COPY would do.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @utilix-tech/sdk
2
2
 
3
- **721 developer utility functions for Node.js: runs locally, no API key required.**
3
+ **724 developer utility functions for Node.js: runs locally, no API key required.**
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/@utilix-tech/sdk?style=flat-square&color=cb3837)](https://www.npmjs.com/package/@utilix-tech/sdk)
6
6
  [![npm downloads](https://img.shields.io/npm/dm/@utilix-tech/sdk?style=flat-square)](https://www.npmjs.com/package/@utilix-tech/sdk)
@@ -363,7 +363,7 @@ formatIso8601Duration(90061); // { iso: "P1DT1H1M1S", ... }
363
363
  ### `/units`: Conversions
364
364
 
365
365
  ```ts
366
- import { convertBytes, pxToAll, convert, formatValue, validateCardNumber, validateIban, calculateLoan, validateBarcode, calculateTax, calculateCompoundInterest, validateIsbn, calculateTipSplit, calculateSimpleInterest, calculateTimeValue, calculatePercentageChange, convertAprApy, calculateMarginMarkup, calculateDiscount, applySuccessiveDiscounts, calculateBreakEven, calculateVideoBitrate, calculateRuleOf72, calculateEmi, calculateRoi, compareUnitPrices, calculatePaybackPeriod, calculateCdMaturity, calculateDepreciationSchedule, calculateCashRounding, calculateMovingAverages, calculateGpa, calculateCreditUtilization, calculateDebtToIncomeRatio, calculateBlendedLoanRate, calculateFreelancerRate, calculateExtraPaymentPayoff, calculateLoanRefinance, validateVin, validateIsin, calculateLoanPrepaymentPenalty, calculateRealRateOfReturn } from "@utilix-tech/sdk/units";
366
+ import { convertBytes, pxToAll, convert, formatValue, validateCardNumber, validateIban, calculateLoan, validateBarcode, calculateTax, calculateCompoundInterest, validateIsbn, calculateTipSplit, calculateSimpleInterest, calculateTimeValue, calculatePercentageChange, convertAprApy, calculateMarginMarkup, calculateDiscount, applySuccessiveDiscounts, calculateBreakEven, calculateVideoBitrate, calculateRuleOf72, calculateEmi, calculateRoi, compareUnitPrices, calculatePaybackPeriod, calculateCdMaturity, calculateDepreciationSchedule, calculateCashRounding, calculateMovingAverages, calculateGpa, calculateCreditUtilization, calculateDebtToIncomeRatio, calculateBlendedLoanRate, calculateFreelancerRate, calculateExtraPaymentPayoff, calculateLoanRefinance, validateVin, validateIsin, calculateLoanPrepaymentPenalty, calculateRealRateOfReturn, calculateCreditCardMinimumPayment, calculateSalesCommission } from "@utilix-tech/sdk/units";
367
367
 
368
368
  // File sizes
369
369
  convertBytes(1073741824, "GB"); // 1
@@ -785,7 +785,7 @@ import { formatSql, minifySql, testRegex, formatHtml, formatGql,
785
785
  detectDialect, splitStatements, lookupMime, parseGithubUrl,
786
786
  detectRedos, analyzeRegexGroups, testGitignorePatterns, validateEditorConfig,
787
787
  validateTsconfig, validatePackageExports, parseConnectionString,
788
- validateFenceLanguageTags, countSqlPlaceholders } from "@utilix-tech/sdk/code";
788
+ validateFenceLanguageTags, countSqlPlaceholders, buildCharacterClass } from "@utilix-tech/sdk/code";
789
789
 
790
790
  // SQL
791
791
  formatSql("SELECT id,name FROM users WHERE active=1 ORDER BY name");
@@ -1052,10 +1052,10 @@ readMidiInfo(new Uint8Array(midiBytes));
1052
1052
  | `@utilix-tech/sdk/data` | CSV, YAML, TOML, XML, INI, NDJSON parse and convert, NDJSON record deduplicator, SRT/WebVTT subtitles, Markdown front matter parser, YAML anchor/alias resolver, CSV column type inferencer, Markdown table column aligner |
1053
1053
  | `@utilix-tech/sdk/generators` | UUID v4/v7, ULID, passwords, strength check, entropy estimator, fake data, CSP nonce generator |
1054
1054
  | `@utilix-tech/sdk/time` | Date diff, timezone convert, cron parse, relative time |
1055
- | `@utilix-tech/sdk/units` | Bytes, CSS px/rem, number bases, currency format, credit card/IBAN/barcode/ISBN/VIN/ISIN validation, loan calculator, EMI calculator, compound/simple interest calculators, VAT/sales tax calculator, tip/bill split calculator, break-even point calculator, Rule of 72 calculator, savings goal calculator, ROI calculator, cash denomination/till calculator, payback period calculator, CD maturity calculator, debt-to-income ratio calculator, freelancer hourly rate calculator, debt snowball/avalanche payoff planner, tax-equivalent yield calculator, mortgage discount points break-even calculator, loan prepayment penalty calculator, data transfer time / required bandwidth estimator, real rate of return (Fisher equation) calculator |
1055
+ | `@utilix-tech/sdk/units` | Bytes, CSS px/rem, number bases, currency format, credit card/IBAN/barcode/ISBN/VIN/ISIN validation, loan calculator, EMI calculator, compound/simple interest calculators, VAT/sales tax calculator, tip/bill split calculator, break-even point calculator, Rule of 72 calculator, savings goal calculator, ROI calculator, cash denomination/till calculator, payback period calculator, CD maturity calculator, debt-to-income ratio calculator, freelancer hourly rate calculator, debt snowball/avalanche payoff planner, tax-equivalent yield calculator, mortgage discount points break-even calculator, loan prepayment penalty calculator, data transfer time / required bandwidth estimator, real rate of return (Fisher equation) calculator, sales commission calculator (flat or tiered) |
1056
1056
  | `@utilix-tech/sdk/network` | HTTP status codes, IP validation, country flags, geolocation URLs, HAR file parsing, User-Agent parsing, IPv6 address compress/expand, Permissions-Policy header builder, Client Hints header builder/parser, Content-Disposition header builder/parser, X-Content-Type-Options header builder/risk assessor, sitemap.xml validator, sitemap index splitter, robots.txt validator, robots.txt generator, Prefer header builder/parser (RFC 7240), Retry-After header builder/parser (RFC 9110), Priority header builder/parser (RFC 9218), WebSocket close code reference/lookup, Strict-Transport-Security (HSTS) header builder/parser, X-Robots-Tag header builder/parser, WebSocket frame opcode reference/lookup, robots meta tag builder/parser, Cookie header byte-size budget calculator |
1057
1057
  | `@utilix-tech/sdk/api` | cURL build/parse, JWT decode/sign, JWKS parse, CORS headers, CSP header, TOTP/HOTP code generator, webhook HMAC signature verifier |
1058
- | `@utilix-tech/sdk/code` | SQL format/minify, HTML format/minify, regex tester, GraphQL format, MIME type lookup, GitHub URL parsing, regex ReDoS detector, Conventional Commits linter, package.json exports field validator, package.json dependency range auditor, regex capture group/backreference visualizer, SVG sprite symbol extractor, ARIA role & attribute validator, database connection string parser, Markdown code fence language tag validator, SQL query parameter placeholder counter, Markdown link reference extractor |
1058
+ | `@utilix-tech/sdk/code` | SQL format/minify, HTML format/minify, regex tester, GraphQL format, MIME type lookup, GitHub URL parsing, regex ReDoS detector, Conventional Commits linter, package.json exports field validator, package.json dependency range auditor, regex capture group/backreference visualizer, SVG sprite symbol extractor, ARIA role & attribute validator, database connection string parser, Markdown code fence language tag validator, SQL query parameter placeholder counter, Markdown link reference extractor, regex character class builder |
1059
1059
  | `@utilix-tech/sdk/color` | Hex/RGB/HSL/HSV/CMYK convert, palette generation, contrast check |
1060
1060
  | `@utilix-tech/sdk/css` | CSS gradient, box-shadow, border-radius, keyframe animation generators |
1061
1061
  | `@utilix-tech/sdk/misc` | SVG optimize/sanitize, file size format, Unicode inspector |
@@ -13,6 +13,7 @@ __export(code_exports, {
13
13
  SQL_DEFAULT_OPTIONS: () => SQL_DEFAULT_OPTIONS,
14
14
  analyzeRegexGroups: () => analyzeRegexGroups,
15
15
  auditDependencyRanges: () => auditDependencyRanges,
16
+ buildCharacterClass: () => buildCharacterClass,
16
17
  buildDockerPull: () => buildDockerPull,
17
18
  buildDockerRun: () => buildDockerRun,
18
19
  buildGitCommand: () => buildGitCommand,
@@ -4433,5 +4434,70 @@ function extractMarkdownLinkReferences(markdown) {
4433
4434
  unusedDefinitions
4434
4435
  };
4435
4436
  }
4437
+ var CHAR_CLASS_SPECIAL_CHARS = /* @__PURE__ */ new Set(["]", "\\", "^", "-"]);
4438
+ function escapeForCharClass(ch) {
4439
+ return CHAR_CLASS_SPECIAL_CHARS.has(ch) ? `\\${ch}` : ch;
4440
+ }
4441
+ var CHAR_CLASS_RANGE_RE = /^(.)-(.)$/u;
4442
+ function buildCharacterClass(options) {
4443
+ const {
4444
+ lowercase = false,
4445
+ uppercase = false,
4446
+ digits = false,
4447
+ whitespace = false,
4448
+ customRanges = [],
4449
+ customChars = "",
4450
+ negate = false
4451
+ } = options ?? {};
4452
+ const hasAny = lowercase || uppercase || digits || whitespace || customRanges.length > 0 || customChars.length > 0;
4453
+ if (!hasAny) {
4454
+ return { error: "At least one character set, custom range, or custom character must be specified" };
4455
+ }
4456
+ const parts = [];
4457
+ const includes = [];
4458
+ if (lowercase) {
4459
+ parts.push("a-z");
4460
+ includes.push("a-z: lowercase letters");
4461
+ }
4462
+ if (uppercase) {
4463
+ parts.push("A-Z");
4464
+ includes.push("A-Z: uppercase letters");
4465
+ }
4466
+ if (digits) {
4467
+ parts.push("0-9");
4468
+ includes.push("0-9: digits");
4469
+ }
4470
+ if (whitespace) {
4471
+ parts.push("\\s");
4472
+ includes.push("\\s: whitespace characters (space, tab, newline, etc.)");
4473
+ }
4474
+ for (let i = 0; i < customRanges.length; i++) {
4475
+ const range = customRanges[i];
4476
+ const match = CHAR_CLASS_RANGE_RE.exec(range);
4477
+ if (!match) {
4478
+ return { error: `customRanges[${i}] ("${range}") must be exactly two characters joined by a hyphen, e.g. "f-k"` };
4479
+ }
4480
+ const [, start, end] = match;
4481
+ if (start.codePointAt(0) > end.codePointAt(0)) {
4482
+ return { error: `customRanges[${i}] ("${range}") has a start character that comes after its end character` };
4483
+ }
4484
+ parts.push(`${escapeForCharClass(start)}-${escapeForCharClass(end)}`);
4485
+ includes.push(`${range}: custom range from '${start}' to '${end}' inclusive`);
4486
+ }
4487
+ if (customChars.length > 0) {
4488
+ const seen = /* @__PURE__ */ new Set();
4489
+ const unique = [];
4490
+ for (const ch of customChars) {
4491
+ if (!seen.has(ch)) {
4492
+ seen.add(ch);
4493
+ unique.push(ch);
4494
+ }
4495
+ }
4496
+ parts.push(unique.map(escapeForCharClass).join(""));
4497
+ includes.push(`custom characters: ${unique.join(", ")}`);
4498
+ }
4499
+ const pattern = `[${negate ? "^" : ""}${parts.join("")}]`;
4500
+ return { pattern, negate, includes };
4501
+ }
4436
4502
 
4437
- export { ALL_FLAGS, CHEATSHEET, DEFAULT_COMMIT_TYPES, KNOWN_LANGUAGE_TAGS, MIME_TABLE, OPERATIONS, SQL_DEFAULT_OPTIONS, analyzeRegexGroups, auditDependencyRanges, buildDockerPull, buildDockerRun, buildGitCommand, code_exports, collapseHtmlWhitespace, collapseJsWhitespace, countProperties, countRules, countSqlPlaceholders, detectDialect, detectOperationType, detectRedos, envToExport, envToJson, extractMarkdownFootnotes, extractMarkdownLinkReferences, extractSvgSpriteSymbols, formatCss, formatGql, formatHtml, formatSql, getEndpointsByTag, getHtmlStats, getJsStats, getMethodColor, isValidTag, lintConventionalCommit, lintDockerfile, lookupMime, minifyCss, minifyGql, minifyHtml, minifyJs, minifySql, normalizeRef, parseCommitTrailers, parseConnectionString, parseDockerImage, parseEnv, parseGitCommand, parseGithubUrl, parseSpec, removeConsoleCalls, removeEmptyAttributes, removeHtmlComments, removeJsComments, removeRedundantAttributes, searchCheatsheet, searchEndpoints, splitStatements, testGitignorePatterns, testPattern, testRegex, validateAria, validateEditorConfig, validateEnvKey, validateFenceLanguageTags, validatePackageExports, validateTsconfig };
4503
+ export { ALL_FLAGS, CHEATSHEET, DEFAULT_COMMIT_TYPES, KNOWN_LANGUAGE_TAGS, MIME_TABLE, OPERATIONS, SQL_DEFAULT_OPTIONS, analyzeRegexGroups, auditDependencyRanges, buildCharacterClass, buildDockerPull, buildDockerRun, buildGitCommand, code_exports, collapseHtmlWhitespace, collapseJsWhitespace, countProperties, countRules, countSqlPlaceholders, detectDialect, detectOperationType, detectRedos, envToExport, envToJson, extractMarkdownFootnotes, extractMarkdownLinkReferences, extractSvgSpriteSymbols, formatCss, formatGql, formatHtml, formatSql, getEndpointsByTag, getHtmlStats, getJsStats, getMethodColor, isValidTag, lintConventionalCommit, lintDockerfile, lookupMime, minifyCss, minifyGql, minifyHtml, minifyJs, minifySql, normalizeRef, parseCommitTrailers, parseConnectionString, parseDockerImage, parseEnv, parseGitCommand, parseGithubUrl, parseSpec, removeConsoleCalls, removeEmptyAttributes, removeHtmlComments, removeJsComments, removeRedundantAttributes, searchCheatsheet, searchEndpoints, splitStatements, testGitignorePatterns, testPattern, testRegex, validateAria, validateEditorConfig, validateEnvKey, validateFenceLanguageTags, validatePackageExports, validateTsconfig };
@@ -18,6 +18,7 @@ __export(text_exports, {
18
18
  applyOps: () => applyOps,
19
19
  calculateStringDistance: () => calculateStringDistance,
20
20
  centerText: () => centerText,
21
+ checkDashUsage: () => checkDashUsage,
21
22
  checkOxfordCommaConsistency: () => checkOxfordCommaConsistency,
22
23
  convertAll: () => convertAll,
23
24
  convertCase: () => convertCase,
@@ -3191,5 +3192,80 @@ function checkOxfordCommaConsistency(text) {
3191
3192
  const consistent = withOxfordComma === 0 || withoutOxfordComma === 0;
3192
3193
  return { totalLists: instances.length, withOxfordComma, withoutOxfordComma, consistent, instances };
3193
3194
  }
3195
+ function dashContextSnippet(text, index, matchLen) {
3196
+ const start = Math.max(0, index - 20);
3197
+ const end = Math.min(text.length, index + matchLen + 20);
3198
+ const body = text.slice(start, end).replace(/\s+/g, " ").trim();
3199
+ return (start > 0 ? "\u2026" : "") + body + (end < text.length ? "\u2026" : "");
3200
+ }
3201
+ function checkDashUsage(text) {
3202
+ const issues = [];
3203
+ const enDashCount = (text.match(/–/g) ?? []).length;
3204
+ const hyphenCount = (text.match(/-/g) ?? []).length;
3205
+ const doubleHyphenMatches = [...text.matchAll(/-{2,}/g)];
3206
+ for (const m of doubleHyphenMatches) {
3207
+ const index = m.index ?? 0;
3208
+ issues.push({
3209
+ type: "double-hyphen",
3210
+ index,
3211
+ context: dashContextSnippet(text, index, m[0].length),
3212
+ message: `Found ${m[0].length} consecutive hyphens ("${m[0]}"); likely meant to be an em dash (\u2014) or en dash (\u2013).`
3213
+ });
3214
+ }
3215
+ const spacedHyphenMatches = [...text.matchAll(/(?<=\S) - (?=\S)/g)];
3216
+ for (const m of spacedHyphenMatches) {
3217
+ const index = m.index ?? 0;
3218
+ issues.push({
3219
+ type: "spaced-hyphen",
3220
+ index,
3221
+ context: dashContextSnippet(text, index, m[0].length),
3222
+ message: "A hyphen surrounded by spaces usually signals an intended em dash (\u2014), not a hyphenated compound word."
3223
+ });
3224
+ }
3225
+ const emDashOccurrences = [...text.matchAll(/—/g)];
3226
+ let spacedEm = 0;
3227
+ let unspacedEm = 0;
3228
+ for (const m of emDashOccurrences) {
3229
+ const idx = m.index ?? 0;
3230
+ const before = text[idx - 1];
3231
+ const after = text[idx + 1];
3232
+ if (before === " " && after === " ") spacedEm++;
3233
+ else if (before !== " " && after !== " ") unspacedEm++;
3234
+ }
3235
+ let dominantEmDashStyle = "none";
3236
+ let emDashSpacingConsistent = true;
3237
+ if (emDashOccurrences.length > 0) {
3238
+ dominantEmDashStyle = spacedEm >= unspacedEm ? "spaced" : "unspaced";
3239
+ emDashSpacingConsistent = spacedEm === 0 || unspacedEm === 0;
3240
+ if (!emDashSpacingConsistent) {
3241
+ for (const m of emDashOccurrences) {
3242
+ const idx = m.index ?? 0;
3243
+ const before = text[idx - 1];
3244
+ const after = text[idx + 1];
3245
+ const isSpaced = before === " " && after === " ";
3246
+ const matchesDominant = dominantEmDashStyle === "spaced" ? isSpaced : !isSpaced;
3247
+ if (!matchesDominant) {
3248
+ issues.push({
3249
+ type: "inconsistent-em-dash-spacing",
3250
+ index: idx,
3251
+ context: dashContextSnippet(text, idx, 1),
3252
+ message: `This em dash is ${isSpaced ? "spaced" : "unspaced"}, but the document mostly uses ${dominantEmDashStyle} em dashes.`
3253
+ });
3254
+ }
3255
+ }
3256
+ }
3257
+ }
3258
+ issues.sort((a, b) => a.index - b.index);
3259
+ return {
3260
+ emDashCount: emDashOccurrences.length,
3261
+ enDashCount,
3262
+ hyphenCount,
3263
+ doubleHyphenCount: doubleHyphenMatches.length,
3264
+ spacedHyphenCount: spacedHyphenMatches.length,
3265
+ emDashSpacingConsistent,
3266
+ dominantEmDashStyle,
3267
+ issues
3268
+ };
3269
+ }
3194
3270
 
3195
- export { CASE_FORMATS, DEFAULT_CONVERT_OPTIONS, EMOJI_TABLE, ESCAPE_MODES, LINE_OPS, MORSE_CODE, addBorder, analyzeKeywordDensity, analyzeSentenceLengths, analyzeText, applyOp, applyOps, calculateStringDistance, centerText, checkOxfordCommaConsistency, convertAll, convertCase, countWords, csvToHtml, csvToMarkdown, detectDelimiter, detectFillerWords, detectPassiveVoice, detectWordyPhrases, diffLines, diffLinesSimple, diffStats, escapeAll, escapeString, extractHeadings, formatReadingTime, generate, generateDiff, generateHtmlTable, generateMarkdownTable, generateParagraphs, generateSentences, generateWords, getAvailableFonts, getEmojiByCategory, getEmojiByChar, getEmojiByShortcode, getEmojiCategories, getMorseForChar, getMorseTiming, htmlToMarkdown, isValidMorse, markdownToHtml, morseToText, numberToOrdinal, numberToRoman, numberToWords, ordinalWords, parseDiff, parseTableData, readabilityScore, renderMarkdown, romanToNumber, scoreReadability, searchEmoji, sentenceCount, slugify, slugifyAll, syllableCount, textToAscii, textToMorse, text_exports, unescapeString, wordFrequency };
3271
+ export { CASE_FORMATS, DEFAULT_CONVERT_OPTIONS, EMOJI_TABLE, ESCAPE_MODES, LINE_OPS, MORSE_CODE, addBorder, analyzeKeywordDensity, analyzeSentenceLengths, analyzeText, applyOp, applyOps, calculateStringDistance, centerText, checkDashUsage, checkOxfordCommaConsistency, convertAll, convertCase, countWords, csvToHtml, csvToMarkdown, detectDelimiter, detectFillerWords, detectPassiveVoice, detectWordyPhrases, diffLines, diffLinesSimple, diffStats, escapeAll, escapeString, extractHeadings, formatReadingTime, generate, generateDiff, generateHtmlTable, generateMarkdownTable, generateParagraphs, generateSentences, generateWords, getAvailableFonts, getEmojiByCategory, getEmojiByChar, getEmojiByShortcode, getEmojiCategories, getMorseForChar, getMorseTiming, htmlToMarkdown, isValidMorse, markdownToHtml, morseToText, numberToOrdinal, numberToRoman, numberToWords, ordinalWords, parseDiff, parseTableData, readabilityScore, renderMarkdown, romanToNumber, scoreReadability, searchEmoji, sentenceCount, slugify, slugifyAll, syllableCount, textToAscii, textToMorse, text_exports, unescapeString, wordFrequency };
@@ -28,6 +28,7 @@ __export(units_exports, {
28
28
  calculateCdMaturity: () => calculateCdMaturity,
29
29
  calculateChange: () => calculateChange,
30
30
  calculateCompoundInterest: () => calculateCompoundInterest,
31
+ calculateCreditCardMinimumPayment: () => calculateCreditCardMinimumPayment,
31
32
  calculateCreditUtilization: () => calculateCreditUtilization,
32
33
  calculateDebtToIncomeRatio: () => calculateDebtToIncomeRatio,
33
34
  calculateDepreciationSchedule: () => calculateDepreciationSchedule,
@@ -48,6 +49,7 @@ __export(units_exports, {
48
49
  calculateRequiredBandwidth: () => calculateRequiredBandwidth,
49
50
  calculateRoi: () => calculateRoi,
50
51
  calculateRuleOf72: () => calculateRuleOf72,
52
+ calculateSalesCommission: () => calculateSalesCommission,
51
53
  calculateSavingsGoal: () => calculateSavingsGoal,
52
54
  calculateSimpleInterest: () => calculateSimpleInterest,
53
55
  calculateTax: () => calculateTax,
@@ -2807,5 +2809,130 @@ function calculateRealRateOfReturn(input) {
2807
2809
  solvedFor
2808
2810
  };
2809
2811
  }
2812
+ var CREDIT_CARD_MIN_PAYMENT_MAX_MONTHS = 1200;
2813
+ function calculateCreditCardMinimumPayment(balance, aprPercent, minPaymentPercent, minPaymentFloor = 0) {
2814
+ if (!Number.isFinite(balance) || balance <= 0) {
2815
+ return { error: "balance must be a finite number greater than zero" };
2816
+ }
2817
+ if (!Number.isFinite(aprPercent) || aprPercent < 0) {
2818
+ return { error: "aprPercent must be a finite, non-negative number" };
2819
+ }
2820
+ if (!Number.isFinite(minPaymentPercent) || minPaymentPercent <= 0) {
2821
+ return { error: "minPaymentPercent must be a finite number greater than zero" };
2822
+ }
2823
+ if (!Number.isFinite(minPaymentFloor) || minPaymentFloor < 0) {
2824
+ return { error: "minPaymentFloor must be a finite, non-negative number" };
2825
+ }
2826
+ const round22 = (n) => Math.round(n * 100) / 100;
2827
+ const monthlyRate = aprPercent / 100 / 12;
2828
+ let bal = balance;
2829
+ let totalInterestPaid = 0;
2830
+ let totalPaid = 0;
2831
+ let firstMonthPayment = 0;
2832
+ let finalMonthPayment = 0;
2833
+ let month = 0;
2834
+ while (bal > 5e-3 && month < CREDIT_CARD_MIN_PAYMENT_MAX_MONTHS) {
2835
+ month++;
2836
+ const interest = bal * monthlyRate;
2837
+ bal += interest;
2838
+ totalInterestPaid += interest;
2839
+ let payment = Math.max(bal * (minPaymentPercent / 100), minPaymentFloor);
2840
+ if (payment > bal) payment = bal;
2841
+ bal -= payment;
2842
+ totalPaid += payment;
2843
+ finalMonthPayment = round22(payment);
2844
+ if (month === 1) firstMonthPayment = round22(payment);
2845
+ }
2846
+ if (bal > 5e-3) {
2847
+ return {
2848
+ error: `balance cannot be paid off within ${CREDIT_CARD_MIN_PAYMENT_MAX_MONTHS} months at this minimum-payment formula; increase minPaymentPercent or minPaymentFloor`
2849
+ };
2850
+ }
2851
+ return {
2852
+ monthsToPayoff: month,
2853
+ yearsToPayoff: round22(month / 12),
2854
+ totalInterestPaid: round22(totalInterestPaid),
2855
+ totalPaid: round22(totalPaid),
2856
+ firstMonthPayment,
2857
+ finalMonthPayment
2858
+ };
2859
+ }
2860
+ function calculateSalesCommission(input) {
2861
+ const { salesAmount, flatRatePercent, tiers, baseSalary = 0 } = input;
2862
+ if (!Number.isFinite(salesAmount) || salesAmount < 0) {
2863
+ return { error: "salesAmount must be a finite, non-negative number" };
2864
+ }
2865
+ if (!Number.isFinite(baseSalary) || baseSalary < 0) {
2866
+ return { error: "baseSalary must be a finite, non-negative number when provided" };
2867
+ }
2868
+ const hasFlat = flatRatePercent !== void 0;
2869
+ const hasTiers = tiers !== void 0;
2870
+ if (hasFlat === hasTiers) {
2871
+ return { error: "Provide exactly one of flatRatePercent or tiers, not both and not neither" };
2872
+ }
2873
+ const round4 = (n) => Math.round(n * 1e4) / 1e4;
2874
+ if (hasFlat) {
2875
+ if (!Number.isFinite(flatRatePercent) || flatRatePercent < 0) {
2876
+ return { error: "flatRatePercent must be a finite, non-negative number" };
2877
+ }
2878
+ const commission2 = salesAmount * flatRatePercent / 100;
2879
+ return {
2880
+ salesAmount: round4(salesAmount),
2881
+ mode: "flat",
2882
+ commission: round4(commission2),
2883
+ baseSalary: round4(baseSalary),
2884
+ totalPayout: round4(baseSalary + commission2)
2885
+ };
2886
+ }
2887
+ const tierList = tiers;
2888
+ if (tierList.length === 0) {
2889
+ return { error: "tiers must contain at least one entry" };
2890
+ }
2891
+ let previousUpTo = 0;
2892
+ for (let i = 0; i < tierList.length; i++) {
2893
+ const tier = tierList[i];
2894
+ const isLast = i === tierList.length - 1;
2895
+ if (!Number.isFinite(tier.ratePercent) || tier.ratePercent < 0) {
2896
+ return { error: `tiers[${i}].ratePercent must be a finite, non-negative number` };
2897
+ }
2898
+ if (tier.upTo === null) {
2899
+ if (!isLast) {
2900
+ return { error: `tiers[${i}].upTo may only be null on the last tier (an unbounded top tier)` };
2901
+ }
2902
+ } else {
2903
+ if (!Number.isFinite(tier.upTo) || tier.upTo <= previousUpTo) {
2904
+ return {
2905
+ error: `tiers[${i}].upTo must be a finite number greater than the previous tier's upTo (${previousUpTo})`
2906
+ };
2907
+ }
2908
+ previousUpTo = tier.upTo;
2909
+ }
2910
+ }
2911
+ let lowerBound = 0;
2912
+ let commission = 0;
2913
+ const breakdown = [];
2914
+ for (const tier of tierList) {
2915
+ const upper = tier.upTo === null ? Infinity : tier.upTo;
2916
+ const amountInRange = Math.min(Math.max(salesAmount - lowerBound, 0), upper - lowerBound);
2917
+ const commissionForRange = amountInRange * tier.ratePercent / 100;
2918
+ commission += commissionForRange;
2919
+ breakdown.push({
2920
+ rangeStart: round4(lowerBound),
2921
+ rangeEnd: tier.upTo === null ? null : round4(tier.upTo),
2922
+ ratePercent: tier.ratePercent,
2923
+ amountInRange: round4(amountInRange),
2924
+ commissionForRange: round4(commissionForRange)
2925
+ });
2926
+ lowerBound = upper;
2927
+ }
2928
+ return {
2929
+ salesAmount: round4(salesAmount),
2930
+ mode: "tiered",
2931
+ commission: round4(commission),
2932
+ baseSalary: round4(baseSalary),
2933
+ totalPayout: round4(baseSalary + commission),
2934
+ breakdown
2935
+ };
2936
+ }
2810
2937
 
2811
- 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, units_exports, validateBarcode, validateCardNumber, validateIban, validateIsbn, validateIsin, validateVin, viewportToPx };
2938
+ 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, calculateCreditCardMinimumPayment, calculateCreditUtilization, calculateDebtToIncomeRatio, calculateDepreciationSchedule, calculateDiscount, calculateEmi, calculateExtraPaymentPayoff, calculateFreelancerRate, calculateGpa, calculateLoan, calculateLoanPrepaymentPenalty, calculateLoanRefinance, calculateMarginMarkup, calculateMortgagePoints, calculateMovingAverages, calculatePaybackPeriod, calculatePercentageChange, calculateRealRateOfReturn, calculateRequiredBandwidth, calculateRoi, calculateRuleOf72, calculateSalesCommission, 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, units_exports, validateBarcode, validateCardNumber, validateIban, validateIsbn, validateIsin, validateVin, viewportToPx };
@@ -35,6 +35,7 @@
35
35
  * - connection-string-parser (parseConnectionString)
36
36
  * - markdown-fence-lang-validator (validateFenceLanguageTags, KNOWN_LANGUAGE_TAGS)
37
37
  * - sql-placeholder-counter (countSqlPlaceholders)
38
+ * - regex-character-class-builder (buildCharacterClass)
38
39
  */
39
40
  type RegexFlag = 'g' | 'i' | 'm' | 's' | 'u';
40
41
  declare const ALL_FLAGS: RegexFlag[];
@@ -780,6 +781,31 @@ interface MarkdownLinkReferenceResult {
780
781
  declare function extractMarkdownLinkReferences(markdown: string): MarkdownLinkReferenceResult | {
781
782
  error: string;
782
783
  };
784
+ interface CharClassOptions {
785
+ lowercase?: boolean;
786
+ uppercase?: boolean;
787
+ digits?: boolean;
788
+ whitespace?: boolean;
789
+ /** Ranges like "f-k", each exactly two characters joined by a hyphen, start <= end. */
790
+ customRanges?: string[];
791
+ /** Literal characters to include as-is (duplicates are ignored). */
792
+ customChars?: string;
793
+ negate?: boolean;
794
+ }
795
+ interface CharClassResult {
796
+ pattern: string;
797
+ negate: boolean;
798
+ includes: string[];
799
+ }
800
+ /**
801
+ * Assemble a `[...]` regex character class from named building blocks
802
+ * (lowercase, uppercase, digits, whitespace), custom character ranges, and
803
+ * literal custom characters, with optional negation. Pure string assembly,
804
+ * it never runs the resulting pattern against any input.
805
+ */
806
+ declare function buildCharacterClass(options: CharClassOptions): CharClassResult | {
807
+ error: string;
808
+ };
783
809
 
784
810
  declare const code_ALL_FLAGS: typeof ALL_FLAGS;
785
811
  type code_ApiEndpoint = ApiEndpoint;
@@ -787,6 +813,8 @@ type code_ApiInfo = ApiInfo;
787
813
  type code_AriaIssue = AriaIssue;
788
814
  type code_AriaValidationResult = AriaValidationResult;
789
815
  declare const code_CHEATSHEET: typeof CHEATSHEET;
816
+ type code_CharClassOptions = CharClassOptions;
817
+ type code_CharClassResult = CharClassResult;
790
818
  type code_CheatsheetEntry = CheatsheetEntry;
791
819
  type code_CommitTrailer = CommitTrailer;
792
820
  type code_CommitTrailerResult = CommitTrailerResult;
@@ -875,6 +903,7 @@ type code_TsconfigIssue = TsconfigIssue;
875
903
  type code_TsconfigValidationResult = TsconfigValidationResult;
876
904
  declare const code_analyzeRegexGroups: typeof analyzeRegexGroups;
877
905
  declare const code_auditDependencyRanges: typeof auditDependencyRanges;
906
+ declare const code_buildCharacterClass: typeof buildCharacterClass;
878
907
  declare const code_buildDockerPull: typeof buildDockerPull;
879
908
  declare const code_buildDockerRun: typeof buildDockerRun;
880
909
  declare const code_buildGitCommand: typeof buildGitCommand;
@@ -934,7 +963,7 @@ declare const code_validateFenceLanguageTags: typeof validateFenceLanguageTags;
934
963
  declare const code_validatePackageExports: typeof validatePackageExports;
935
964
  declare const code_validateTsconfig: typeof validateTsconfig;
936
965
  declare namespace code {
937
- export { code_ALL_FLAGS as ALL_FLAGS, type code_ApiEndpoint as ApiEndpoint, type code_ApiInfo as ApiInfo, type code_AriaIssue as AriaIssue, type code_AriaValidationResult as AriaValidationResult, code_CHEATSHEET as CHEATSHEET, type code_CheatsheetEntry as CheatsheetEntry, type code_CommitTrailer as CommitTrailer, type code_CommitTrailerResult as CommitTrailerResult, type code_ConnectionStringHost as ConnectionStringHost, type code_ConnectionStringResult as ConnectionStringResult, type code_ConventionalCommitFinding as ConventionalCommitFinding, type code_ConventionalCommitFooter as ConventionalCommitFooter, type code_ConventionalCommitOptions as ConventionalCommitOptions, type code_ConventionalCommitParsed as ConventionalCommitParsed, type code_ConventionalCommitResult as ConventionalCommitResult, type code_ConventionalCommitSeverity as ConventionalCommitSeverity, type code_CssResult as CssResult, code_DEFAULT_COMMIT_TYPES as DEFAULT_COMMIT_TYPES, type code_DependencyAuditDuplicate as DependencyAuditDuplicate, type code_DependencyAuditEntry as DependencyAuditEntry, type code_DependencyAuditIssue as DependencyAuditIssue, type code_DependencyAuditResult as DependencyAuditResult, type code_DependencyRangeType as DependencyRangeType, type code_DependencySection as DependencySection, type code_DockerImageRef as DockerImageRef, type code_DockerfileLintFinding as DockerfileLintFinding, type code_DockerfileLintResult as DockerfileLintResult, type code_DockerfileStage as DockerfileStage, type code_EditorConfigIssue as EditorConfigIssue, type code_EditorConfigProperty as EditorConfigProperty, type code_EditorConfigSection as EditorConfigSection, type code_EditorConfigValidationResult as EditorConfigValidationResult, type code_EnvEntry as EnvEntry, type code_EnvParseResult as EnvParseResult, type code_ExportsIssue as ExportsIssue, type code_ExportsShape as ExportsShape, type code_ExportsValidationResult as ExportsValidationResult, type code_FenceTagIssue as FenceTagIssue, type code_FenceTagIssueType as FenceTagIssueType, type code_FenceValidationResult as FenceValidationResult, type code_GitCommandConfig as GitCommandConfig, type code_GitCommandResult as GitCommandResult, type code_GitOperation as GitOperation, type code_GithubUrlInfo as GithubUrlInfo, type code_GithubUrlType as GithubUrlType, type code_GitignoreTestResult as GitignoreTestResult, type code_GqlFormatResult as GqlFormatResult, type code_HtmlFormatResult as HtmlFormatResult, type code_HtmlMinifyOptions as HtmlMinifyOptions, type code_HtmlMinifyResult as HtmlMinifyResult, type code_JsMinifyOptions as JsMinifyOptions, type code_JsMinifyResult as JsMinifyResult, code_KNOWN_LANGUAGE_TAGS as KNOWN_LANGUAGE_TAGS, type code_LinkReferenceDefinition as LinkReferenceDefinition, type code_LinkReferenceUsage as LinkReferenceUsage, code_MIME_TABLE as MIME_TABLE, type code_MarkdownFootnoteDefinition as MarkdownFootnoteDefinition, type code_MarkdownFootnoteReference as MarkdownFootnoteReference, type code_MarkdownFootnoteResult as MarkdownFootnoteResult, type code_MarkdownLinkReferenceResult as MarkdownLinkReferenceResult, type code_MatchResult as MatchResult, type code_MimeEntry as MimeEntry, type code_MimeLookupResult as MimeLookupResult, code_OPERATIONS as OPERATIONS, type code_ParsedSpec as ParsedSpec, type code_PlaceholderStyle as PlaceholderStyle, type code_RedosFinding as RedosFinding, type code_RedosResult as RedosResult, type code_RedosSeverity as RedosSeverity, type code_RegexBackreferenceInfo as RegexBackreferenceInfo, type code_RegexError as RegexError, type code_RegexFlag as RegexFlag, type code_RegexGroupAnalysis as RegexGroupAnalysis, type code_RegexGroupInfo as RegexGroupInfo, type code_RegexGroupIssue as RegexGroupIssue, type code_RegexMatch as RegexMatch, type code_RegexResult as RegexResult, type code_RegexSuccess as RegexSuccess, type code_ResolvedLinkReference as ResolvedLinkReference, code_SQL_DEFAULT_OPTIONS as SQL_DEFAULT_OPTIONS, type code_Segment as Segment, type code_SpecVersion as SpecVersion, type code_SqlDialect as SqlDialect, type code_SqlFormatOptions as SqlFormatOptions, type code_SqlPlaceholder as SqlPlaceholder, type code_SqlPlaceholderResult as SqlPlaceholderResult, type code_SvgSpriteResult as SvgSpriteResult, type code_SvgSpriteSymbol as SvgSpriteSymbol, type code_TestPatternResult as TestPatternResult, type code_TsconfigIssue as TsconfigIssue, type code_TsconfigValidationResult as TsconfigValidationResult, code_analyzeRegexGroups as analyzeRegexGroups, code_auditDependencyRanges as auditDependencyRanges, code_buildDockerPull as buildDockerPull, code_buildDockerRun as buildDockerRun, code_buildGitCommand as buildGitCommand, code_collapseHtmlWhitespace as collapseHtmlWhitespace, code_collapseJsWhitespace as collapseJsWhitespace, code_countProperties as countProperties, code_countRules as countRules, code_countSqlPlaceholders as countSqlPlaceholders, code_detectDialect as detectDialect, code_detectOperationType as detectOperationType, code_detectRedos as detectRedos, code_envToExport as envToExport, code_envToJson as envToJson, code_extractMarkdownFootnotes as extractMarkdownFootnotes, code_extractMarkdownLinkReferences as extractMarkdownLinkReferences, code_extractSvgSpriteSymbols as extractSvgSpriteSymbols, code_formatCss as formatCss, code_formatGql as formatGql, code_formatHtml as formatHtml, code_formatSql as formatSql, code_getEndpointsByTag as getEndpointsByTag, code_getHtmlStats as getHtmlStats, code_getJsStats as getJsStats, code_getMethodColor as getMethodColor, code_isValidTag as isValidTag, code_lintConventionalCommit as lintConventionalCommit, code_lintDockerfile as lintDockerfile, code_lookupMime as lookupMime, code_minifyCss as minifyCss, code_minifyGql as minifyGql, code_minifyHtml as minifyHtml, code_minifyJs as minifyJs, code_minifySql as minifySql, code_normalizeRef as normalizeRef, code_parseCommitTrailers as parseCommitTrailers, code_parseConnectionString as parseConnectionString, code_parseDockerImage as parseDockerImage, code_parseEnv as parseEnv, code_parseGitCommand as parseGitCommand, code_parseGithubUrl as parseGithubUrl, code_parseSpec as parseSpec, code_removeConsoleCalls as removeConsoleCalls, code_removeEmptyAttributes as removeEmptyAttributes, code_removeHtmlComments as removeHtmlComments, code_removeJsComments as removeJsComments, code_removeRedundantAttributes as removeRedundantAttributes, code_searchCheatsheet as searchCheatsheet, code_searchEndpoints as searchEndpoints, code_splitStatements as splitStatements, code_testGitignorePatterns as testGitignorePatterns, code_testPattern as testPattern, code_testRegex as testRegex, code_validateAria as validateAria, code_validateEditorConfig as validateEditorConfig, code_validateEnvKey as validateEnvKey, code_validateFenceLanguageTags as validateFenceLanguageTags, code_validatePackageExports as validatePackageExports, code_validateTsconfig as validateTsconfig };
966
+ export { code_ALL_FLAGS as ALL_FLAGS, type code_ApiEndpoint as ApiEndpoint, type code_ApiInfo as ApiInfo, type code_AriaIssue as AriaIssue, type code_AriaValidationResult as AriaValidationResult, code_CHEATSHEET as CHEATSHEET, type code_CharClassOptions as CharClassOptions, type code_CharClassResult as CharClassResult, type code_CheatsheetEntry as CheatsheetEntry, type code_CommitTrailer as CommitTrailer, type code_CommitTrailerResult as CommitTrailerResult, type code_ConnectionStringHost as ConnectionStringHost, type code_ConnectionStringResult as ConnectionStringResult, type code_ConventionalCommitFinding as ConventionalCommitFinding, type code_ConventionalCommitFooter as ConventionalCommitFooter, type code_ConventionalCommitOptions as ConventionalCommitOptions, type code_ConventionalCommitParsed as ConventionalCommitParsed, type code_ConventionalCommitResult as ConventionalCommitResult, type code_ConventionalCommitSeverity as ConventionalCommitSeverity, type code_CssResult as CssResult, code_DEFAULT_COMMIT_TYPES as DEFAULT_COMMIT_TYPES, type code_DependencyAuditDuplicate as DependencyAuditDuplicate, type code_DependencyAuditEntry as DependencyAuditEntry, type code_DependencyAuditIssue as DependencyAuditIssue, type code_DependencyAuditResult as DependencyAuditResult, type code_DependencyRangeType as DependencyRangeType, type code_DependencySection as DependencySection, type code_DockerImageRef as DockerImageRef, type code_DockerfileLintFinding as DockerfileLintFinding, type code_DockerfileLintResult as DockerfileLintResult, type code_DockerfileStage as DockerfileStage, type code_EditorConfigIssue as EditorConfigIssue, type code_EditorConfigProperty as EditorConfigProperty, type code_EditorConfigSection as EditorConfigSection, type code_EditorConfigValidationResult as EditorConfigValidationResult, type code_EnvEntry as EnvEntry, type code_EnvParseResult as EnvParseResult, type code_ExportsIssue as ExportsIssue, type code_ExportsShape as ExportsShape, type code_ExportsValidationResult as ExportsValidationResult, type code_FenceTagIssue as FenceTagIssue, type code_FenceTagIssueType as FenceTagIssueType, type code_FenceValidationResult as FenceValidationResult, type code_GitCommandConfig as GitCommandConfig, type code_GitCommandResult as GitCommandResult, type code_GitOperation as GitOperation, type code_GithubUrlInfo as GithubUrlInfo, type code_GithubUrlType as GithubUrlType, type code_GitignoreTestResult as GitignoreTestResult, type code_GqlFormatResult as GqlFormatResult, type code_HtmlFormatResult as HtmlFormatResult, type code_HtmlMinifyOptions as HtmlMinifyOptions, type code_HtmlMinifyResult as HtmlMinifyResult, type code_JsMinifyOptions as JsMinifyOptions, type code_JsMinifyResult as JsMinifyResult, code_KNOWN_LANGUAGE_TAGS as KNOWN_LANGUAGE_TAGS, type code_LinkReferenceDefinition as LinkReferenceDefinition, type code_LinkReferenceUsage as LinkReferenceUsage, code_MIME_TABLE as MIME_TABLE, type code_MarkdownFootnoteDefinition as MarkdownFootnoteDefinition, type code_MarkdownFootnoteReference as MarkdownFootnoteReference, type code_MarkdownFootnoteResult as MarkdownFootnoteResult, type code_MarkdownLinkReferenceResult as MarkdownLinkReferenceResult, type code_MatchResult as MatchResult, type code_MimeEntry as MimeEntry, type code_MimeLookupResult as MimeLookupResult, code_OPERATIONS as OPERATIONS, type code_ParsedSpec as ParsedSpec, type code_PlaceholderStyle as PlaceholderStyle, type code_RedosFinding as RedosFinding, type code_RedosResult as RedosResult, type code_RedosSeverity as RedosSeverity, type code_RegexBackreferenceInfo as RegexBackreferenceInfo, type code_RegexError as RegexError, type code_RegexFlag as RegexFlag, type code_RegexGroupAnalysis as RegexGroupAnalysis, type code_RegexGroupInfo as RegexGroupInfo, type code_RegexGroupIssue as RegexGroupIssue, type code_RegexMatch as RegexMatch, type code_RegexResult as RegexResult, type code_RegexSuccess as RegexSuccess, type code_ResolvedLinkReference as ResolvedLinkReference, code_SQL_DEFAULT_OPTIONS as SQL_DEFAULT_OPTIONS, type code_Segment as Segment, type code_SpecVersion as SpecVersion, type code_SqlDialect as SqlDialect, type code_SqlFormatOptions as SqlFormatOptions, type code_SqlPlaceholder as SqlPlaceholder, type code_SqlPlaceholderResult as SqlPlaceholderResult, type code_SvgSpriteResult as SvgSpriteResult, type code_SvgSpriteSymbol as SvgSpriteSymbol, type code_TestPatternResult as TestPatternResult, type code_TsconfigIssue as TsconfigIssue, type code_TsconfigValidationResult as TsconfigValidationResult, code_analyzeRegexGroups as analyzeRegexGroups, code_auditDependencyRanges as auditDependencyRanges, code_buildCharacterClass as buildCharacterClass, code_buildDockerPull as buildDockerPull, code_buildDockerRun as buildDockerRun, code_buildGitCommand as buildGitCommand, code_collapseHtmlWhitespace as collapseHtmlWhitespace, code_collapseJsWhitespace as collapseJsWhitespace, code_countProperties as countProperties, code_countRules as countRules, code_countSqlPlaceholders as countSqlPlaceholders, code_detectDialect as detectDialect, code_detectOperationType as detectOperationType, code_detectRedos as detectRedos, code_envToExport as envToExport, code_envToJson as envToJson, code_extractMarkdownFootnotes as extractMarkdownFootnotes, code_extractMarkdownLinkReferences as extractMarkdownLinkReferences, code_extractSvgSpriteSymbols as extractSvgSpriteSymbols, code_formatCss as formatCss, code_formatGql as formatGql, code_formatHtml as formatHtml, code_formatSql as formatSql, code_getEndpointsByTag as getEndpointsByTag, code_getHtmlStats as getHtmlStats, code_getJsStats as getJsStats, code_getMethodColor as getMethodColor, code_isValidTag as isValidTag, code_lintConventionalCommit as lintConventionalCommit, code_lintDockerfile as lintDockerfile, code_lookupMime as lookupMime, code_minifyCss as minifyCss, code_minifyGql as minifyGql, code_minifyHtml as minifyHtml, code_minifyJs as minifyJs, code_minifySql as minifySql, code_normalizeRef as normalizeRef, code_parseCommitTrailers as parseCommitTrailers, code_parseConnectionString as parseConnectionString, code_parseDockerImage as parseDockerImage, code_parseEnv as parseEnv, code_parseGitCommand as parseGitCommand, code_parseGithubUrl as parseGithubUrl, code_parseSpec as parseSpec, code_removeConsoleCalls as removeConsoleCalls, code_removeEmptyAttributes as removeEmptyAttributes, code_removeHtmlComments as removeHtmlComments, code_removeJsComments as removeJsComments, code_removeRedundantAttributes as removeRedundantAttributes, code_searchCheatsheet as searchCheatsheet, code_searchEndpoints as searchEndpoints, code_splitStatements as splitStatements, code_testGitignorePatterns as testGitignorePatterns, code_testPattern as testPattern, code_testRegex as testRegex, code_validateAria as validateAria, code_validateEditorConfig as validateEditorConfig, code_validateEnvKey as validateEnvKey, code_validateFenceLanguageTags as validateFenceLanguageTags, code_validatePackageExports as validatePackageExports, code_validateTsconfig as validateTsconfig };
938
967
  }
939
968
 
940
- export { type JsMinifyResult as $, ALL_FLAGS as A, type DockerfileStage as B, CHEATSHEET as C, DEFAULT_COMMIT_TYPES as D, type EditorConfigIssue as E, type EditorConfigProperty as F, type EditorConfigSection as G, type EditorConfigValidationResult as H, type EnvEntry as I, type EnvParseResult as J, type ExportsIssue as K, type ExportsShape as L, type ExportsValidationResult as M, type FenceTagIssue as N, type FenceTagIssueType as O, type FenceValidationResult as P, type GitCommandConfig as Q, type GitCommandResult as R, type GitOperation as S, type GithubUrlInfo as T, type GithubUrlType as U, type GitignoreTestResult as V, type GqlFormatResult as W, type HtmlFormatResult as X, type HtmlMinifyOptions as Y, type HtmlMinifyResult as Z, type JsMinifyOptions as _, type ApiEndpoint as a, getJsStats as a$, KNOWN_LANGUAGE_TAGS as a0, type LinkReferenceDefinition as a1, type LinkReferenceUsage as a2, MIME_TABLE as a3, type MarkdownFootnoteDefinition as a4, type MarkdownFootnoteReference as a5, type MarkdownFootnoteResult as a6, type MarkdownLinkReferenceResult as a7, type MatchResult as a8, type MimeEntry as a9, type TestPatternResult as aA, type TsconfigIssue as aB, type TsconfigValidationResult as aC, analyzeRegexGroups as aD, auditDependencyRanges as aE, buildDockerPull as aF, buildDockerRun as aG, buildGitCommand as aH, collapseHtmlWhitespace as aI, collapseJsWhitespace as aJ, countProperties as aK, countRules as aL, countSqlPlaceholders as aM, detectDialect as aN, detectOperationType as aO, detectRedos as aP, envToExport as aQ, envToJson as aR, extractMarkdownFootnotes as aS, extractMarkdownLinkReferences as aT, extractSvgSpriteSymbols as aU, formatCss as aV, formatGql as aW, formatHtml as aX, formatSql as aY, getEndpointsByTag as aZ, getHtmlStats as a_, type MimeLookupResult as aa, OPERATIONS as ab, type ParsedSpec as ac, type PlaceholderStyle as ad, type RedosFinding as ae, type RedosResult as af, type RedosSeverity as ag, type RegexBackreferenceInfo as ah, type RegexError as ai, type RegexFlag as aj, type RegexGroupAnalysis as ak, type RegexGroupInfo as al, type RegexGroupIssue as am, type RegexMatch as an, type RegexResult as ao, type RegexSuccess as ap, type ResolvedLinkReference as aq, SQL_DEFAULT_OPTIONS as ar, type Segment as as, type SpecVersion as at, type SqlDialect as au, type SqlFormatOptions as av, type SqlPlaceholder as aw, type SqlPlaceholderResult as ax, type SvgSpriteResult as ay, type SvgSpriteSymbol as az, type ApiInfo as b, getMethodColor as b0, isValidTag as b1, lintConventionalCommit as b2, lintDockerfile as b3, lookupMime as b4, minifyCss as b5, minifyGql as b6, minifyHtml as b7, minifyJs as b8, minifySql as b9, normalizeRef as ba, parseCommitTrailers as bb, parseConnectionString as bc, parseDockerImage as bd, parseEnv as be, parseGitCommand as bf, parseGithubUrl as bg, parseSpec as bh, removeConsoleCalls as bi, removeEmptyAttributes as bj, removeHtmlComments as bk, removeJsComments as bl, removeRedundantAttributes as bm, searchCheatsheet as bn, searchEndpoints as bo, splitStatements as bp, testGitignorePatterns as bq, testPattern as br, testRegex as bs, validateAria as bt, validateEditorConfig as bu, validateEnvKey as bv, validateFenceLanguageTags as bw, validatePackageExports as bx, validateTsconfig as by, code as c, type AriaIssue as d, type AriaValidationResult as e, type CheatsheetEntry as f, type CommitTrailer as g, type CommitTrailerResult as h, type ConnectionStringHost as i, type ConnectionStringResult as j, type ConventionalCommitFinding as k, type ConventionalCommitFooter as l, type ConventionalCommitOptions as m, type ConventionalCommitParsed as n, type ConventionalCommitResult as o, type ConventionalCommitSeverity as p, type CssResult as q, type DependencyAuditDuplicate as r, type DependencyAuditEntry as s, type DependencyAuditIssue as t, type DependencyAuditResult as u, type DependencyRangeType as v, type DependencySection as w, type DockerImageRef as x, type DockerfileLintFinding as y, type DockerfileLintResult as z };
969
+ export { type HtmlMinifyResult as $, ALL_FLAGS as A, type DockerfileLintFinding as B, CHEATSHEET as C, DEFAULT_COMMIT_TYPES as D, type DockerfileLintResult as E, type DockerfileStage as F, type EditorConfigIssue as G, type EditorConfigProperty as H, type EditorConfigSection as I, type EditorConfigValidationResult as J, type EnvEntry as K, type EnvParseResult as L, type ExportsIssue as M, type ExportsShape as N, type ExportsValidationResult as O, type FenceTagIssue as P, type FenceTagIssueType as Q, type FenceValidationResult as R, type GitCommandConfig as S, type GitCommandResult as T, type GitOperation as U, type GithubUrlInfo as V, type GithubUrlType as W, type GitignoreTestResult as X, type GqlFormatResult as Y, type HtmlFormatResult as Z, type HtmlMinifyOptions as _, type ApiEndpoint as a, formatSql as a$, type JsMinifyOptions as a0, type JsMinifyResult as a1, KNOWN_LANGUAGE_TAGS as a2, type LinkReferenceDefinition as a3, type LinkReferenceUsage as a4, MIME_TABLE as a5, type MarkdownFootnoteDefinition as a6, type MarkdownFootnoteReference as a7, type MarkdownFootnoteResult as a8, type MarkdownLinkReferenceResult as a9, type SvgSpriteResult as aA, type SvgSpriteSymbol as aB, type TestPatternResult as aC, type TsconfigIssue as aD, type TsconfigValidationResult as aE, analyzeRegexGroups as aF, auditDependencyRanges as aG, buildCharacterClass as aH, buildDockerPull as aI, buildDockerRun as aJ, buildGitCommand as aK, collapseHtmlWhitespace as aL, collapseJsWhitespace as aM, countProperties as aN, countRules as aO, countSqlPlaceholders as aP, detectDialect as aQ, detectOperationType as aR, detectRedos as aS, envToExport as aT, envToJson as aU, extractMarkdownFootnotes as aV, extractMarkdownLinkReferences as aW, extractSvgSpriteSymbols as aX, formatCss as aY, formatGql as aZ, formatHtml as a_, type MatchResult as aa, type MimeEntry as ab, type MimeLookupResult as ac, OPERATIONS as ad, type ParsedSpec as ae, type PlaceholderStyle as af, type RedosFinding as ag, type RedosResult as ah, type RedosSeverity as ai, type RegexBackreferenceInfo as aj, type RegexError as ak, type RegexFlag as al, type RegexGroupAnalysis as am, type RegexGroupInfo as an, type RegexGroupIssue as ao, type RegexMatch as ap, type RegexResult as aq, type RegexSuccess as ar, type ResolvedLinkReference as as, SQL_DEFAULT_OPTIONS as at, type Segment as au, type SpecVersion as av, type SqlDialect as aw, type SqlFormatOptions as ax, type SqlPlaceholder as ay, type SqlPlaceholderResult as az, type ApiInfo as b, getEndpointsByTag as b0, getHtmlStats as b1, getJsStats as b2, getMethodColor as b3, isValidTag as b4, lintConventionalCommit as b5, lintDockerfile as b6, lookupMime as b7, minifyCss as b8, minifyGql as b9, validatePackageExports as bA, validateTsconfig as bB, minifyHtml as ba, minifyJs as bb, minifySql as bc, normalizeRef as bd, parseCommitTrailers as be, parseConnectionString as bf, parseDockerImage as bg, parseEnv as bh, parseGitCommand as bi, parseGithubUrl as bj, parseSpec as bk, removeConsoleCalls as bl, removeEmptyAttributes as bm, removeHtmlComments as bn, removeJsComments as bo, removeRedundantAttributes as bp, searchCheatsheet as bq, searchEndpoints as br, splitStatements as bs, testGitignorePatterns as bt, testPattern as bu, testRegex as bv, validateAria as bw, validateEditorConfig as bx, validateEnvKey as by, validateFenceLanguageTags as bz, code as c, type AriaIssue as d, type AriaValidationResult as e, type CharClassOptions as f, type CharClassResult as g, type CheatsheetEntry as h, type CommitTrailer as i, type CommitTrailerResult as j, type ConnectionStringHost as k, type ConnectionStringResult as l, type ConventionalCommitFinding as m, type ConventionalCommitFooter as n, type ConventionalCommitOptions as o, type ConventionalCommitParsed as p, type ConventionalCommitResult as q, type ConventionalCommitSeverity as r, type CssResult as s, type DependencyAuditDuplicate as t, type DependencyAuditEntry as u, type DependencyAuditIssue as v, type DependencyAuditResult as w, type DependencyRangeType as x, type DependencySection as y, type DockerImageRef as z };
@@ -35,6 +35,7 @@
35
35
  * - connection-string-parser (parseConnectionString)
36
36
  * - markdown-fence-lang-validator (validateFenceLanguageTags, KNOWN_LANGUAGE_TAGS)
37
37
  * - sql-placeholder-counter (countSqlPlaceholders)
38
+ * - regex-character-class-builder (buildCharacterClass)
38
39
  */
39
40
  type RegexFlag = 'g' | 'i' | 'm' | 's' | 'u';
40
41
  declare const ALL_FLAGS: RegexFlag[];
@@ -780,6 +781,31 @@ interface MarkdownLinkReferenceResult {
780
781
  declare function extractMarkdownLinkReferences(markdown: string): MarkdownLinkReferenceResult | {
781
782
  error: string;
782
783
  };
784
+ interface CharClassOptions {
785
+ lowercase?: boolean;
786
+ uppercase?: boolean;
787
+ digits?: boolean;
788
+ whitespace?: boolean;
789
+ /** Ranges like "f-k", each exactly two characters joined by a hyphen, start <= end. */
790
+ customRanges?: string[];
791
+ /** Literal characters to include as-is (duplicates are ignored). */
792
+ customChars?: string;
793
+ negate?: boolean;
794
+ }
795
+ interface CharClassResult {
796
+ pattern: string;
797
+ negate: boolean;
798
+ includes: string[];
799
+ }
800
+ /**
801
+ * Assemble a `[...]` regex character class from named building blocks
802
+ * (lowercase, uppercase, digits, whitespace), custom character ranges, and
803
+ * literal custom characters, with optional negation. Pure string assembly,
804
+ * it never runs the resulting pattern against any input.
805
+ */
806
+ declare function buildCharacterClass(options: CharClassOptions): CharClassResult | {
807
+ error: string;
808
+ };
783
809
 
784
810
  declare const code_ALL_FLAGS: typeof ALL_FLAGS;
785
811
  type code_ApiEndpoint = ApiEndpoint;
@@ -787,6 +813,8 @@ type code_ApiInfo = ApiInfo;
787
813
  type code_AriaIssue = AriaIssue;
788
814
  type code_AriaValidationResult = AriaValidationResult;
789
815
  declare const code_CHEATSHEET: typeof CHEATSHEET;
816
+ type code_CharClassOptions = CharClassOptions;
817
+ type code_CharClassResult = CharClassResult;
790
818
  type code_CheatsheetEntry = CheatsheetEntry;
791
819
  type code_CommitTrailer = CommitTrailer;
792
820
  type code_CommitTrailerResult = CommitTrailerResult;
@@ -875,6 +903,7 @@ type code_TsconfigIssue = TsconfigIssue;
875
903
  type code_TsconfigValidationResult = TsconfigValidationResult;
876
904
  declare const code_analyzeRegexGroups: typeof analyzeRegexGroups;
877
905
  declare const code_auditDependencyRanges: typeof auditDependencyRanges;
906
+ declare const code_buildCharacterClass: typeof buildCharacterClass;
878
907
  declare const code_buildDockerPull: typeof buildDockerPull;
879
908
  declare const code_buildDockerRun: typeof buildDockerRun;
880
909
  declare const code_buildGitCommand: typeof buildGitCommand;
@@ -934,7 +963,7 @@ declare const code_validateFenceLanguageTags: typeof validateFenceLanguageTags;
934
963
  declare const code_validatePackageExports: typeof validatePackageExports;
935
964
  declare const code_validateTsconfig: typeof validateTsconfig;
936
965
  declare namespace code {
937
- export { code_ALL_FLAGS as ALL_FLAGS, type code_ApiEndpoint as ApiEndpoint, type code_ApiInfo as ApiInfo, type code_AriaIssue as AriaIssue, type code_AriaValidationResult as AriaValidationResult, code_CHEATSHEET as CHEATSHEET, type code_CheatsheetEntry as CheatsheetEntry, type code_CommitTrailer as CommitTrailer, type code_CommitTrailerResult as CommitTrailerResult, type code_ConnectionStringHost as ConnectionStringHost, type code_ConnectionStringResult as ConnectionStringResult, type code_ConventionalCommitFinding as ConventionalCommitFinding, type code_ConventionalCommitFooter as ConventionalCommitFooter, type code_ConventionalCommitOptions as ConventionalCommitOptions, type code_ConventionalCommitParsed as ConventionalCommitParsed, type code_ConventionalCommitResult as ConventionalCommitResult, type code_ConventionalCommitSeverity as ConventionalCommitSeverity, type code_CssResult as CssResult, code_DEFAULT_COMMIT_TYPES as DEFAULT_COMMIT_TYPES, type code_DependencyAuditDuplicate as DependencyAuditDuplicate, type code_DependencyAuditEntry as DependencyAuditEntry, type code_DependencyAuditIssue as DependencyAuditIssue, type code_DependencyAuditResult as DependencyAuditResult, type code_DependencyRangeType as DependencyRangeType, type code_DependencySection as DependencySection, type code_DockerImageRef as DockerImageRef, type code_DockerfileLintFinding as DockerfileLintFinding, type code_DockerfileLintResult as DockerfileLintResult, type code_DockerfileStage as DockerfileStage, type code_EditorConfigIssue as EditorConfigIssue, type code_EditorConfigProperty as EditorConfigProperty, type code_EditorConfigSection as EditorConfigSection, type code_EditorConfigValidationResult as EditorConfigValidationResult, type code_EnvEntry as EnvEntry, type code_EnvParseResult as EnvParseResult, type code_ExportsIssue as ExportsIssue, type code_ExportsShape as ExportsShape, type code_ExportsValidationResult as ExportsValidationResult, type code_FenceTagIssue as FenceTagIssue, type code_FenceTagIssueType as FenceTagIssueType, type code_FenceValidationResult as FenceValidationResult, type code_GitCommandConfig as GitCommandConfig, type code_GitCommandResult as GitCommandResult, type code_GitOperation as GitOperation, type code_GithubUrlInfo as GithubUrlInfo, type code_GithubUrlType as GithubUrlType, type code_GitignoreTestResult as GitignoreTestResult, type code_GqlFormatResult as GqlFormatResult, type code_HtmlFormatResult as HtmlFormatResult, type code_HtmlMinifyOptions as HtmlMinifyOptions, type code_HtmlMinifyResult as HtmlMinifyResult, type code_JsMinifyOptions as JsMinifyOptions, type code_JsMinifyResult as JsMinifyResult, code_KNOWN_LANGUAGE_TAGS as KNOWN_LANGUAGE_TAGS, type code_LinkReferenceDefinition as LinkReferenceDefinition, type code_LinkReferenceUsage as LinkReferenceUsage, code_MIME_TABLE as MIME_TABLE, type code_MarkdownFootnoteDefinition as MarkdownFootnoteDefinition, type code_MarkdownFootnoteReference as MarkdownFootnoteReference, type code_MarkdownFootnoteResult as MarkdownFootnoteResult, type code_MarkdownLinkReferenceResult as MarkdownLinkReferenceResult, type code_MatchResult as MatchResult, type code_MimeEntry as MimeEntry, type code_MimeLookupResult as MimeLookupResult, code_OPERATIONS as OPERATIONS, type code_ParsedSpec as ParsedSpec, type code_PlaceholderStyle as PlaceholderStyle, type code_RedosFinding as RedosFinding, type code_RedosResult as RedosResult, type code_RedosSeverity as RedosSeverity, type code_RegexBackreferenceInfo as RegexBackreferenceInfo, type code_RegexError as RegexError, type code_RegexFlag as RegexFlag, type code_RegexGroupAnalysis as RegexGroupAnalysis, type code_RegexGroupInfo as RegexGroupInfo, type code_RegexGroupIssue as RegexGroupIssue, type code_RegexMatch as RegexMatch, type code_RegexResult as RegexResult, type code_RegexSuccess as RegexSuccess, type code_ResolvedLinkReference as ResolvedLinkReference, code_SQL_DEFAULT_OPTIONS as SQL_DEFAULT_OPTIONS, type code_Segment as Segment, type code_SpecVersion as SpecVersion, type code_SqlDialect as SqlDialect, type code_SqlFormatOptions as SqlFormatOptions, type code_SqlPlaceholder as SqlPlaceholder, type code_SqlPlaceholderResult as SqlPlaceholderResult, type code_SvgSpriteResult as SvgSpriteResult, type code_SvgSpriteSymbol as SvgSpriteSymbol, type code_TestPatternResult as TestPatternResult, type code_TsconfigIssue as TsconfigIssue, type code_TsconfigValidationResult as TsconfigValidationResult, code_analyzeRegexGroups as analyzeRegexGroups, code_auditDependencyRanges as auditDependencyRanges, code_buildDockerPull as buildDockerPull, code_buildDockerRun as buildDockerRun, code_buildGitCommand as buildGitCommand, code_collapseHtmlWhitespace as collapseHtmlWhitespace, code_collapseJsWhitespace as collapseJsWhitespace, code_countProperties as countProperties, code_countRules as countRules, code_countSqlPlaceholders as countSqlPlaceholders, code_detectDialect as detectDialect, code_detectOperationType as detectOperationType, code_detectRedos as detectRedos, code_envToExport as envToExport, code_envToJson as envToJson, code_extractMarkdownFootnotes as extractMarkdownFootnotes, code_extractMarkdownLinkReferences as extractMarkdownLinkReferences, code_extractSvgSpriteSymbols as extractSvgSpriteSymbols, code_formatCss as formatCss, code_formatGql as formatGql, code_formatHtml as formatHtml, code_formatSql as formatSql, code_getEndpointsByTag as getEndpointsByTag, code_getHtmlStats as getHtmlStats, code_getJsStats as getJsStats, code_getMethodColor as getMethodColor, code_isValidTag as isValidTag, code_lintConventionalCommit as lintConventionalCommit, code_lintDockerfile as lintDockerfile, code_lookupMime as lookupMime, code_minifyCss as minifyCss, code_minifyGql as minifyGql, code_minifyHtml as minifyHtml, code_minifyJs as minifyJs, code_minifySql as minifySql, code_normalizeRef as normalizeRef, code_parseCommitTrailers as parseCommitTrailers, code_parseConnectionString as parseConnectionString, code_parseDockerImage as parseDockerImage, code_parseEnv as parseEnv, code_parseGitCommand as parseGitCommand, code_parseGithubUrl as parseGithubUrl, code_parseSpec as parseSpec, code_removeConsoleCalls as removeConsoleCalls, code_removeEmptyAttributes as removeEmptyAttributes, code_removeHtmlComments as removeHtmlComments, code_removeJsComments as removeJsComments, code_removeRedundantAttributes as removeRedundantAttributes, code_searchCheatsheet as searchCheatsheet, code_searchEndpoints as searchEndpoints, code_splitStatements as splitStatements, code_testGitignorePatterns as testGitignorePatterns, code_testPattern as testPattern, code_testRegex as testRegex, code_validateAria as validateAria, code_validateEditorConfig as validateEditorConfig, code_validateEnvKey as validateEnvKey, code_validateFenceLanguageTags as validateFenceLanguageTags, code_validatePackageExports as validatePackageExports, code_validateTsconfig as validateTsconfig };
966
+ export { code_ALL_FLAGS as ALL_FLAGS, type code_ApiEndpoint as ApiEndpoint, type code_ApiInfo as ApiInfo, type code_AriaIssue as AriaIssue, type code_AriaValidationResult as AriaValidationResult, code_CHEATSHEET as CHEATSHEET, type code_CharClassOptions as CharClassOptions, type code_CharClassResult as CharClassResult, type code_CheatsheetEntry as CheatsheetEntry, type code_CommitTrailer as CommitTrailer, type code_CommitTrailerResult as CommitTrailerResult, type code_ConnectionStringHost as ConnectionStringHost, type code_ConnectionStringResult as ConnectionStringResult, type code_ConventionalCommitFinding as ConventionalCommitFinding, type code_ConventionalCommitFooter as ConventionalCommitFooter, type code_ConventionalCommitOptions as ConventionalCommitOptions, type code_ConventionalCommitParsed as ConventionalCommitParsed, type code_ConventionalCommitResult as ConventionalCommitResult, type code_ConventionalCommitSeverity as ConventionalCommitSeverity, type code_CssResult as CssResult, code_DEFAULT_COMMIT_TYPES as DEFAULT_COMMIT_TYPES, type code_DependencyAuditDuplicate as DependencyAuditDuplicate, type code_DependencyAuditEntry as DependencyAuditEntry, type code_DependencyAuditIssue as DependencyAuditIssue, type code_DependencyAuditResult as DependencyAuditResult, type code_DependencyRangeType as DependencyRangeType, type code_DependencySection as DependencySection, type code_DockerImageRef as DockerImageRef, type code_DockerfileLintFinding as DockerfileLintFinding, type code_DockerfileLintResult as DockerfileLintResult, type code_DockerfileStage as DockerfileStage, type code_EditorConfigIssue as EditorConfigIssue, type code_EditorConfigProperty as EditorConfigProperty, type code_EditorConfigSection as EditorConfigSection, type code_EditorConfigValidationResult as EditorConfigValidationResult, type code_EnvEntry as EnvEntry, type code_EnvParseResult as EnvParseResult, type code_ExportsIssue as ExportsIssue, type code_ExportsShape as ExportsShape, type code_ExportsValidationResult as ExportsValidationResult, type code_FenceTagIssue as FenceTagIssue, type code_FenceTagIssueType as FenceTagIssueType, type code_FenceValidationResult as FenceValidationResult, type code_GitCommandConfig as GitCommandConfig, type code_GitCommandResult as GitCommandResult, type code_GitOperation as GitOperation, type code_GithubUrlInfo as GithubUrlInfo, type code_GithubUrlType as GithubUrlType, type code_GitignoreTestResult as GitignoreTestResult, type code_GqlFormatResult as GqlFormatResult, type code_HtmlFormatResult as HtmlFormatResult, type code_HtmlMinifyOptions as HtmlMinifyOptions, type code_HtmlMinifyResult as HtmlMinifyResult, type code_JsMinifyOptions as JsMinifyOptions, type code_JsMinifyResult as JsMinifyResult, code_KNOWN_LANGUAGE_TAGS as KNOWN_LANGUAGE_TAGS, type code_LinkReferenceDefinition as LinkReferenceDefinition, type code_LinkReferenceUsage as LinkReferenceUsage, code_MIME_TABLE as MIME_TABLE, type code_MarkdownFootnoteDefinition as MarkdownFootnoteDefinition, type code_MarkdownFootnoteReference as MarkdownFootnoteReference, type code_MarkdownFootnoteResult as MarkdownFootnoteResult, type code_MarkdownLinkReferenceResult as MarkdownLinkReferenceResult, type code_MatchResult as MatchResult, type code_MimeEntry as MimeEntry, type code_MimeLookupResult as MimeLookupResult, code_OPERATIONS as OPERATIONS, type code_ParsedSpec as ParsedSpec, type code_PlaceholderStyle as PlaceholderStyle, type code_RedosFinding as RedosFinding, type code_RedosResult as RedosResult, type code_RedosSeverity as RedosSeverity, type code_RegexBackreferenceInfo as RegexBackreferenceInfo, type code_RegexError as RegexError, type code_RegexFlag as RegexFlag, type code_RegexGroupAnalysis as RegexGroupAnalysis, type code_RegexGroupInfo as RegexGroupInfo, type code_RegexGroupIssue as RegexGroupIssue, type code_RegexMatch as RegexMatch, type code_RegexResult as RegexResult, type code_RegexSuccess as RegexSuccess, type code_ResolvedLinkReference as ResolvedLinkReference, code_SQL_DEFAULT_OPTIONS as SQL_DEFAULT_OPTIONS, type code_Segment as Segment, type code_SpecVersion as SpecVersion, type code_SqlDialect as SqlDialect, type code_SqlFormatOptions as SqlFormatOptions, type code_SqlPlaceholder as SqlPlaceholder, type code_SqlPlaceholderResult as SqlPlaceholderResult, type code_SvgSpriteResult as SvgSpriteResult, type code_SvgSpriteSymbol as SvgSpriteSymbol, type code_TestPatternResult as TestPatternResult, type code_TsconfigIssue as TsconfigIssue, type code_TsconfigValidationResult as TsconfigValidationResult, code_analyzeRegexGroups as analyzeRegexGroups, code_auditDependencyRanges as auditDependencyRanges, code_buildCharacterClass as buildCharacterClass, code_buildDockerPull as buildDockerPull, code_buildDockerRun as buildDockerRun, code_buildGitCommand as buildGitCommand, code_collapseHtmlWhitespace as collapseHtmlWhitespace, code_collapseJsWhitespace as collapseJsWhitespace, code_countProperties as countProperties, code_countRules as countRules, code_countSqlPlaceholders as countSqlPlaceholders, code_detectDialect as detectDialect, code_detectOperationType as detectOperationType, code_detectRedos as detectRedos, code_envToExport as envToExport, code_envToJson as envToJson, code_extractMarkdownFootnotes as extractMarkdownFootnotes, code_extractMarkdownLinkReferences as extractMarkdownLinkReferences, code_extractSvgSpriteSymbols as extractSvgSpriteSymbols, code_formatCss as formatCss, code_formatGql as formatGql, code_formatHtml as formatHtml, code_formatSql as formatSql, code_getEndpointsByTag as getEndpointsByTag, code_getHtmlStats as getHtmlStats, code_getJsStats as getJsStats, code_getMethodColor as getMethodColor, code_isValidTag as isValidTag, code_lintConventionalCommit as lintConventionalCommit, code_lintDockerfile as lintDockerfile, code_lookupMime as lookupMime, code_minifyCss as minifyCss, code_minifyGql as minifyGql, code_minifyHtml as minifyHtml, code_minifyJs as minifyJs, code_minifySql as minifySql, code_normalizeRef as normalizeRef, code_parseCommitTrailers as parseCommitTrailers, code_parseConnectionString as parseConnectionString, code_parseDockerImage as parseDockerImage, code_parseEnv as parseEnv, code_parseGitCommand as parseGitCommand, code_parseGithubUrl as parseGithubUrl, code_parseSpec as parseSpec, code_removeConsoleCalls as removeConsoleCalls, code_removeEmptyAttributes as removeEmptyAttributes, code_removeHtmlComments as removeHtmlComments, code_removeJsComments as removeJsComments, code_removeRedundantAttributes as removeRedundantAttributes, code_searchCheatsheet as searchCheatsheet, code_searchEndpoints as searchEndpoints, code_splitStatements as splitStatements, code_testGitignorePatterns as testGitignorePatterns, code_testPattern as testPattern, code_testRegex as testRegex, code_validateAria as validateAria, code_validateEditorConfig as validateEditorConfig, code_validateEnvKey as validateEnvKey, code_validateFenceLanguageTags as validateFenceLanguageTags, code_validatePackageExports as validatePackageExports, code_validateTsconfig as validateTsconfig };
938
967
  }
939
968
 
940
- export { type JsMinifyResult as $, ALL_FLAGS as A, type DockerfileStage as B, CHEATSHEET as C, DEFAULT_COMMIT_TYPES as D, type EditorConfigIssue as E, type EditorConfigProperty as F, type EditorConfigSection as G, type EditorConfigValidationResult as H, type EnvEntry as I, type EnvParseResult as J, type ExportsIssue as K, type ExportsShape as L, type ExportsValidationResult as M, type FenceTagIssue as N, type FenceTagIssueType as O, type FenceValidationResult as P, type GitCommandConfig as Q, type GitCommandResult as R, type GitOperation as S, type GithubUrlInfo as T, type GithubUrlType as U, type GitignoreTestResult as V, type GqlFormatResult as W, type HtmlFormatResult as X, type HtmlMinifyOptions as Y, type HtmlMinifyResult as Z, type JsMinifyOptions as _, type ApiEndpoint as a, getJsStats as a$, KNOWN_LANGUAGE_TAGS as a0, type LinkReferenceDefinition as a1, type LinkReferenceUsage as a2, MIME_TABLE as a3, type MarkdownFootnoteDefinition as a4, type MarkdownFootnoteReference as a5, type MarkdownFootnoteResult as a6, type MarkdownLinkReferenceResult as a7, type MatchResult as a8, type MimeEntry as a9, type TestPatternResult as aA, type TsconfigIssue as aB, type TsconfigValidationResult as aC, analyzeRegexGroups as aD, auditDependencyRanges as aE, buildDockerPull as aF, buildDockerRun as aG, buildGitCommand as aH, collapseHtmlWhitespace as aI, collapseJsWhitespace as aJ, countProperties as aK, countRules as aL, countSqlPlaceholders as aM, detectDialect as aN, detectOperationType as aO, detectRedos as aP, envToExport as aQ, envToJson as aR, extractMarkdownFootnotes as aS, extractMarkdownLinkReferences as aT, extractSvgSpriteSymbols as aU, formatCss as aV, formatGql as aW, formatHtml as aX, formatSql as aY, getEndpointsByTag as aZ, getHtmlStats as a_, type MimeLookupResult as aa, OPERATIONS as ab, type ParsedSpec as ac, type PlaceholderStyle as ad, type RedosFinding as ae, type RedosResult as af, type RedosSeverity as ag, type RegexBackreferenceInfo as ah, type RegexError as ai, type RegexFlag as aj, type RegexGroupAnalysis as ak, type RegexGroupInfo as al, type RegexGroupIssue as am, type RegexMatch as an, type RegexResult as ao, type RegexSuccess as ap, type ResolvedLinkReference as aq, SQL_DEFAULT_OPTIONS as ar, type Segment as as, type SpecVersion as at, type SqlDialect as au, type SqlFormatOptions as av, type SqlPlaceholder as aw, type SqlPlaceholderResult as ax, type SvgSpriteResult as ay, type SvgSpriteSymbol as az, type ApiInfo as b, getMethodColor as b0, isValidTag as b1, lintConventionalCommit as b2, lintDockerfile as b3, lookupMime as b4, minifyCss as b5, minifyGql as b6, minifyHtml as b7, minifyJs as b8, minifySql as b9, normalizeRef as ba, parseCommitTrailers as bb, parseConnectionString as bc, parseDockerImage as bd, parseEnv as be, parseGitCommand as bf, parseGithubUrl as bg, parseSpec as bh, removeConsoleCalls as bi, removeEmptyAttributes as bj, removeHtmlComments as bk, removeJsComments as bl, removeRedundantAttributes as bm, searchCheatsheet as bn, searchEndpoints as bo, splitStatements as bp, testGitignorePatterns as bq, testPattern as br, testRegex as bs, validateAria as bt, validateEditorConfig as bu, validateEnvKey as bv, validateFenceLanguageTags as bw, validatePackageExports as bx, validateTsconfig as by, code as c, type AriaIssue as d, type AriaValidationResult as e, type CheatsheetEntry as f, type CommitTrailer as g, type CommitTrailerResult as h, type ConnectionStringHost as i, type ConnectionStringResult as j, type ConventionalCommitFinding as k, type ConventionalCommitFooter as l, type ConventionalCommitOptions as m, type ConventionalCommitParsed as n, type ConventionalCommitResult as o, type ConventionalCommitSeverity as p, type CssResult as q, type DependencyAuditDuplicate as r, type DependencyAuditEntry as s, type DependencyAuditIssue as t, type DependencyAuditResult as u, type DependencyRangeType as v, type DependencySection as w, type DockerImageRef as x, type DockerfileLintFinding as y, type DockerfileLintResult as z };
969
+ export { type HtmlMinifyResult as $, ALL_FLAGS as A, type DockerfileLintFinding as B, CHEATSHEET as C, DEFAULT_COMMIT_TYPES as D, type DockerfileLintResult as E, type DockerfileStage as F, type EditorConfigIssue as G, type EditorConfigProperty as H, type EditorConfigSection as I, type EditorConfigValidationResult as J, type EnvEntry as K, type EnvParseResult as L, type ExportsIssue as M, type ExportsShape as N, type ExportsValidationResult as O, type FenceTagIssue as P, type FenceTagIssueType as Q, type FenceValidationResult as R, type GitCommandConfig as S, type GitCommandResult as T, type GitOperation as U, type GithubUrlInfo as V, type GithubUrlType as W, type GitignoreTestResult as X, type GqlFormatResult as Y, type HtmlFormatResult as Z, type HtmlMinifyOptions as _, type ApiEndpoint as a, formatSql as a$, type JsMinifyOptions as a0, type JsMinifyResult as a1, KNOWN_LANGUAGE_TAGS as a2, type LinkReferenceDefinition as a3, type LinkReferenceUsage as a4, MIME_TABLE as a5, type MarkdownFootnoteDefinition as a6, type MarkdownFootnoteReference as a7, type MarkdownFootnoteResult as a8, type MarkdownLinkReferenceResult as a9, type SvgSpriteResult as aA, type SvgSpriteSymbol as aB, type TestPatternResult as aC, type TsconfigIssue as aD, type TsconfigValidationResult as aE, analyzeRegexGroups as aF, auditDependencyRanges as aG, buildCharacterClass as aH, buildDockerPull as aI, buildDockerRun as aJ, buildGitCommand as aK, collapseHtmlWhitespace as aL, collapseJsWhitespace as aM, countProperties as aN, countRules as aO, countSqlPlaceholders as aP, detectDialect as aQ, detectOperationType as aR, detectRedos as aS, envToExport as aT, envToJson as aU, extractMarkdownFootnotes as aV, extractMarkdownLinkReferences as aW, extractSvgSpriteSymbols as aX, formatCss as aY, formatGql as aZ, formatHtml as a_, type MatchResult as aa, type MimeEntry as ab, type MimeLookupResult as ac, OPERATIONS as ad, type ParsedSpec as ae, type PlaceholderStyle as af, type RedosFinding as ag, type RedosResult as ah, type RedosSeverity as ai, type RegexBackreferenceInfo as aj, type RegexError as ak, type RegexFlag as al, type RegexGroupAnalysis as am, type RegexGroupInfo as an, type RegexGroupIssue as ao, type RegexMatch as ap, type RegexResult as aq, type RegexSuccess as ar, type ResolvedLinkReference as as, SQL_DEFAULT_OPTIONS as at, type Segment as au, type SpecVersion as av, type SqlDialect as aw, type SqlFormatOptions as ax, type SqlPlaceholder as ay, type SqlPlaceholderResult as az, type ApiInfo as b, getEndpointsByTag as b0, getHtmlStats as b1, getJsStats as b2, getMethodColor as b3, isValidTag as b4, lintConventionalCommit as b5, lintDockerfile as b6, lookupMime as b7, minifyCss as b8, minifyGql as b9, validatePackageExports as bA, validateTsconfig as bB, minifyHtml as ba, minifyJs as bb, minifySql as bc, normalizeRef as bd, parseCommitTrailers as be, parseConnectionString as bf, parseDockerImage as bg, parseEnv as bh, parseGitCommand as bi, parseGithubUrl as bj, parseSpec as bk, removeConsoleCalls as bl, removeEmptyAttributes as bm, removeHtmlComments as bn, removeJsComments as bo, removeRedundantAttributes as bp, searchCheatsheet as bq, searchEndpoints as br, splitStatements as bs, testGitignorePatterns as bt, testPattern as bu, testRegex as bv, validateAria as bw, validateEditorConfig as bx, validateEnvKey as by, validateFenceLanguageTags as bz, code as c, type AriaIssue as d, type AriaValidationResult as e, type CharClassOptions as f, type CharClassResult as g, type CheatsheetEntry as h, type CommitTrailer as i, type CommitTrailerResult as j, type ConnectionStringHost as k, type ConnectionStringResult as l, type ConventionalCommitFinding as m, type ConventionalCommitFooter as n, type ConventionalCommitOptions as o, type ConventionalCommitParsed as p, type ConventionalCommitResult as q, type ConventionalCommitSeverity as r, type CssResult as s, type DependencyAuditDuplicate as t, type DependencyAuditEntry as u, type DependencyAuditIssue as v, type DependencyAuditResult as w, type DependencyRangeType as x, type DependencySection as y, type DockerImageRef as z };