@utilix-tech/sdk 0.73.0 → 0.74.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 +4 -0
- package/README.md +13 -4
- package/dist/{chunk-XOUKIGJ4.js → chunk-AKVWWLNJ.js} +36 -1
- package/dist/{chunk-DAD2ZOTJ.js → chunk-XT2BQWXT.js} +163 -1
- package/dist/{code-CoeD4Fmq.d.cts → code-46xO9xFf.d.cts} +32 -2
- package/dist/{code-CoeD4Fmq.d.ts → code-46xO9xFf.d.ts} +32 -2
- package/dist/index.cjs +197 -0
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/tools/code.cjs +162 -0
- package/dist/tools/code.d.cts +1 -1
- package/dist/tools/code.d.ts +1 -1
- package/dist/tools/code.js +1 -1
- package/dist/tools/units.cjs +35 -0
- package/dist/tools/units.d.cts +1 -1
- package/dist/tools/units.d.ts +1 -1
- package/dist/tools/units.js +1 -1
- package/dist/{units-BgaUAUG5.d.cts → units-BAwyBk4x.d.cts} +30 -2
- package/dist/{units-BgaUAUG5.d.ts → units-BAwyBk4x.d.ts} +30 -2
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -8571,6 +8571,7 @@ __export(units_exports, {
|
|
|
8571
8571
|
calculateFreelancerRate: () => calculateFreelancerRate,
|
|
8572
8572
|
calculateGpa: () => calculateGpa,
|
|
8573
8573
|
calculateLoan: () => calculateLoan,
|
|
8574
|
+
calculateLoanPrepaymentPenalty: () => calculateLoanPrepaymentPenalty,
|
|
8574
8575
|
calculateLoanRefinance: () => calculateLoanRefinance,
|
|
8575
8576
|
calculateMarginMarkup: () => calculateMarginMarkup,
|
|
8576
8577
|
calculateMortgagePoints: () => calculateMortgagePoints,
|
|
@@ -11196,6 +11197,40 @@ function calculateMortgagePoints(loanAmount, baseRatePercent, termMonths, points
|
|
|
11196
11197
|
totalInterestSavings: round2(withoutPoints.totalInterest - withPoints.totalInterest)
|
|
11197
11198
|
};
|
|
11198
11199
|
}
|
|
11200
|
+
function calculateLoanPrepaymentPenalty(payoffBalance, penaltyType, params) {
|
|
11201
|
+
if (!Number.isFinite(payoffBalance) || payoffBalance <= 0) {
|
|
11202
|
+
return { error: "Payoff balance must be a positive number" };
|
|
11203
|
+
}
|
|
11204
|
+
if (penaltyType !== "percent-of-balance" && penaltyType !== "months-of-interest") {
|
|
11205
|
+
return { error: 'penaltyType must be "percent-of-balance" or "months-of-interest"' };
|
|
11206
|
+
}
|
|
11207
|
+
let penaltyAmount;
|
|
11208
|
+
if (penaltyType === "percent-of-balance") {
|
|
11209
|
+
const penaltyPercent = params.penaltyPercent;
|
|
11210
|
+
if (!Number.isFinite(penaltyPercent) || penaltyPercent < 0) {
|
|
11211
|
+
return { error: "penaltyPercent must be zero or a positive number" };
|
|
11212
|
+
}
|
|
11213
|
+
penaltyAmount = round2(payoffBalance * (penaltyPercent / 100));
|
|
11214
|
+
} else {
|
|
11215
|
+
const monthsOfInterest = params.monthsOfInterest;
|
|
11216
|
+
const annualRatePercent = params.annualRatePercent;
|
|
11217
|
+
if (!Number.isFinite(monthsOfInterest) || monthsOfInterest < 0) {
|
|
11218
|
+
return { error: "monthsOfInterest must be zero or a positive number" };
|
|
11219
|
+
}
|
|
11220
|
+
if (!Number.isFinite(annualRatePercent) || annualRatePercent < 0) {
|
|
11221
|
+
return { error: "annualRatePercent must be zero or a positive number" };
|
|
11222
|
+
}
|
|
11223
|
+
const monthlyInterest = payoffBalance * (annualRatePercent / 100 / 12);
|
|
11224
|
+
penaltyAmount = round2(monthlyInterest * monthsOfInterest);
|
|
11225
|
+
}
|
|
11226
|
+
return {
|
|
11227
|
+
payoffBalance: round2(payoffBalance),
|
|
11228
|
+
penaltyType,
|
|
11229
|
+
penaltyAmount,
|
|
11230
|
+
effectivePenaltyPercent: round2(penaltyAmount / payoffBalance * 100),
|
|
11231
|
+
totalPayoffCost: round2(payoffBalance + penaltyAmount)
|
|
11232
|
+
};
|
|
11233
|
+
}
|
|
11199
11234
|
|
|
11200
11235
|
// src/tools/network.ts
|
|
11201
11236
|
var network_exports = {};
|
|
@@ -16147,6 +16182,7 @@ __export(code_exports, {
|
|
|
16147
16182
|
testGitignorePatterns: () => testGitignorePatterns,
|
|
16148
16183
|
testPattern: () => testPattern,
|
|
16149
16184
|
testRegex: () => testRegex,
|
|
16185
|
+
validateAria: () => validateAria,
|
|
16150
16186
|
validateEditorConfig: () => validateEditorConfig,
|
|
16151
16187
|
validateEnvKey: () => validateEnvKey2,
|
|
16152
16188
|
validatePackageExports: () => validatePackageExports,
|
|
@@ -19801,6 +19837,167 @@ function extractMarkdownFootnotes(markdown) {
|
|
|
19801
19837
|
}
|
|
19802
19838
|
return { definitionCount: definitions.length, referenceCount, definitions, references, unresolvedReferences, unusedDefinitions };
|
|
19803
19839
|
}
|
|
19840
|
+
var ARIA_GLOBAL_ATTRS = /* @__PURE__ */ new Set([
|
|
19841
|
+
"aria-atomic",
|
|
19842
|
+
"aria-busy",
|
|
19843
|
+
"aria-controls",
|
|
19844
|
+
"aria-current",
|
|
19845
|
+
"aria-describedby",
|
|
19846
|
+
"aria-details",
|
|
19847
|
+
"aria-disabled",
|
|
19848
|
+
"aria-dropeffect",
|
|
19849
|
+
"aria-errormessage",
|
|
19850
|
+
"aria-flowto",
|
|
19851
|
+
"aria-grabbed",
|
|
19852
|
+
"aria-haspopup",
|
|
19853
|
+
"aria-hidden",
|
|
19854
|
+
"aria-invalid",
|
|
19855
|
+
"aria-keyshortcuts",
|
|
19856
|
+
"aria-label",
|
|
19857
|
+
"aria-labelledby",
|
|
19858
|
+
"aria-live",
|
|
19859
|
+
"aria-owns",
|
|
19860
|
+
"aria-relevant",
|
|
19861
|
+
"aria-roledescription"
|
|
19862
|
+
]);
|
|
19863
|
+
var ARIA_ROLE_TABLE = {
|
|
19864
|
+
alert: { supported: ["aria-live", "aria-atomic"] },
|
|
19865
|
+
alertdialog: { supported: ["aria-modal"] },
|
|
19866
|
+
article: {},
|
|
19867
|
+
banner: {},
|
|
19868
|
+
button: { supported: ["aria-pressed", "aria-expanded", "aria-disabled"] },
|
|
19869
|
+
checkbox: { required: ["aria-checked"], supported: ["aria-readonly"] },
|
|
19870
|
+
columnheader: { supported: ["aria-sort", "aria-selected", "aria-readonly"] },
|
|
19871
|
+
combobox: { required: ["aria-expanded"], supported: ["aria-controls", "aria-autocomplete", "aria-activedescendant"] },
|
|
19872
|
+
complementary: {},
|
|
19873
|
+
contentinfo: {},
|
|
19874
|
+
dialog: { supported: ["aria-modal"] },
|
|
19875
|
+
form: {},
|
|
19876
|
+
grid: { supported: ["aria-multiselectable", "aria-activedescendant", "aria-level", "aria-readonly"] },
|
|
19877
|
+
gridcell: { supported: ["aria-selected", "aria-readonly", "aria-expanded"] },
|
|
19878
|
+
group: { supported: ["aria-activedescendant", "aria-disabled"] },
|
|
19879
|
+
heading: { required: ["aria-level"] },
|
|
19880
|
+
img: {},
|
|
19881
|
+
link: { supported: ["aria-disabled", "aria-expanded"] },
|
|
19882
|
+
list: {},
|
|
19883
|
+
listbox: { supported: ["aria-multiselectable", "aria-activedescendant", "aria-orientation"] },
|
|
19884
|
+
listitem: { supported: ["aria-level", "aria-posinset", "aria-setsize"] },
|
|
19885
|
+
log: { supported: ["aria-live", "aria-atomic"] },
|
|
19886
|
+
main: {},
|
|
19887
|
+
marquee: {},
|
|
19888
|
+
menu: { supported: ["aria-orientation", "aria-activedescendant"] },
|
|
19889
|
+
menubar: { supported: ["aria-orientation", "aria-activedescendant"] },
|
|
19890
|
+
menuitem: { supported: ["aria-disabled"] },
|
|
19891
|
+
menuitemcheckbox: { required: ["aria-checked"] },
|
|
19892
|
+
menuitemradio: { required: ["aria-checked"] },
|
|
19893
|
+
meter: { required: ["aria-valuenow"], supported: ["aria-valuemin", "aria-valuemax", "aria-valuetext"] },
|
|
19894
|
+
navigation: {},
|
|
19895
|
+
none: {},
|
|
19896
|
+
option: { supported: ["aria-selected", "aria-checked", "aria-posinset", "aria-setsize"] },
|
|
19897
|
+
presentation: {},
|
|
19898
|
+
progressbar: { supported: ["aria-valuenow", "aria-valuemin", "aria-valuemax", "aria-valuetext"] },
|
|
19899
|
+
radio: { required: ["aria-checked"] },
|
|
19900
|
+
radiogroup: { supported: ["aria-activedescendant"] },
|
|
19901
|
+
region: {},
|
|
19902
|
+
row: { supported: ["aria-selected", "aria-level", "aria-expanded"] },
|
|
19903
|
+
rowheader: { supported: ["aria-sort", "aria-selected", "aria-readonly"] },
|
|
19904
|
+
scrollbar: { required: ["aria-valuenow", "aria-controls"], supported: ["aria-valuemin", "aria-valuemax", "aria-orientation"] },
|
|
19905
|
+
search: {},
|
|
19906
|
+
searchbox: { supported: ["aria-multiline", "aria-placeholder", "aria-readonly", "aria-required", "aria-activedescendant", "aria-autocomplete"] },
|
|
19907
|
+
separator: { supported: ["aria-orientation", "aria-valuenow", "aria-valuemin", "aria-valuemax"] },
|
|
19908
|
+
slider: { required: ["aria-valuenow"], supported: ["aria-valuemin", "aria-valuemax", "aria-valuetext", "aria-orientation"] },
|
|
19909
|
+
spinbutton: { supported: ["aria-valuenow", "aria-valuemin", "aria-valuemax", "aria-valuetext", "aria-required"] },
|
|
19910
|
+
status: { supported: ["aria-live", "aria-atomic"] },
|
|
19911
|
+
switch: { required: ["aria-checked"] },
|
|
19912
|
+
tab: { supported: ["aria-selected", "aria-controls", "aria-disabled"] },
|
|
19913
|
+
table: { supported: ["aria-colcount", "aria-rowcount"] },
|
|
19914
|
+
tablist: { supported: ["aria-orientation", "aria-activedescendant", "aria-level"] },
|
|
19915
|
+
tabpanel: {},
|
|
19916
|
+
textbox: { supported: ["aria-multiline", "aria-placeholder", "aria-readonly", "aria-required", "aria-activedescendant", "aria-autocomplete"] },
|
|
19917
|
+
timer: {},
|
|
19918
|
+
toolbar: { supported: ["aria-orientation"] },
|
|
19919
|
+
tooltip: {},
|
|
19920
|
+
tree: { supported: ["aria-multiselectable", "aria-activedescendant", "aria-orientation"] },
|
|
19921
|
+
treegrid: { supported: ["aria-multiselectable", "aria-activedescendant", "aria-orientation", "aria-level", "aria-readonly"] },
|
|
19922
|
+
treeitem: { supported: ["aria-expanded", "aria-selected", "aria-checked", "aria-level"] }
|
|
19923
|
+
};
|
|
19924
|
+
var ARIA_ALL_KNOWN_ATTRS = new Set(ARIA_GLOBAL_ATTRS);
|
|
19925
|
+
for (const entry of Object.values(ARIA_ROLE_TABLE)) {
|
|
19926
|
+
for (const a of entry.required ?? []) ARIA_ALL_KNOWN_ATTRS.add(a);
|
|
19927
|
+
for (const a of entry.supported ?? []) ARIA_ALL_KNOWN_ATTRS.add(a);
|
|
19928
|
+
}
|
|
19929
|
+
var TAG_REGEX = /<([a-zA-Z][a-zA-Z0-9]*)\b((?:[^>"'/]|"[^"]*"|'[^']*')*)\/?>/g;
|
|
19930
|
+
var ATTR_REGEX = /([a-zA-Z][a-zA-Z0-9-]*)\s*=\s*(?:"([^"]*)"|'([^']*)')/g;
|
|
19931
|
+
function parseElements(html) {
|
|
19932
|
+
const elements = [];
|
|
19933
|
+
let match;
|
|
19934
|
+
TAG_REGEX.lastIndex = 0;
|
|
19935
|
+
while ((match = TAG_REGEX.exec(html)) !== null) {
|
|
19936
|
+
const tag = match[1].toLowerCase();
|
|
19937
|
+
if (tag === "script" || tag === "style" || tag === "!--") continue;
|
|
19938
|
+
const attrsStr = match[2] ?? "";
|
|
19939
|
+
const attrs = {};
|
|
19940
|
+
let attrMatch;
|
|
19941
|
+
ATTR_REGEX.lastIndex = 0;
|
|
19942
|
+
while ((attrMatch = ATTR_REGEX.exec(attrsStr)) !== null) {
|
|
19943
|
+
const name = attrMatch[1].toLowerCase();
|
|
19944
|
+
const value = attrMatch[2] ?? attrMatch[3] ?? "";
|
|
19945
|
+
attrs[name] = value;
|
|
19946
|
+
}
|
|
19947
|
+
elements.push({ tag, attrs, raw: match[0].length > 80 ? match[0].slice(0, 77) + "..." : match[0] });
|
|
19948
|
+
}
|
|
19949
|
+
return elements;
|
|
19950
|
+
}
|
|
19951
|
+
function validateAria(html) {
|
|
19952
|
+
if (!html || !html.trim()) return { error: "Input is empty" };
|
|
19953
|
+
const elements = parseElements(html);
|
|
19954
|
+
if (elements.length === 0) return { error: "No HTML elements found" };
|
|
19955
|
+
const issues = [];
|
|
19956
|
+
let elementsWithRoleOrAria = 0;
|
|
19957
|
+
for (const el of elements) {
|
|
19958
|
+
const roleAttr = el.attrs["role"];
|
|
19959
|
+
const ariaAttrNames = Object.keys(el.attrs).filter((a) => a.startsWith("aria-"));
|
|
19960
|
+
if (roleAttr === void 0 && ariaAttrNames.length === 0) continue;
|
|
19961
|
+
elementsWithRoleOrAria++;
|
|
19962
|
+
const roles = roleAttr !== void 0 ? roleAttr.trim().split(/\s+/).filter(Boolean) : [];
|
|
19963
|
+
const knownRoles = roles.filter((r) => Object.prototype.hasOwnProperty.call(ARIA_ROLE_TABLE, r));
|
|
19964
|
+
const unknownRoles = roles.filter((r) => !Object.prototype.hasOwnProperty.call(ARIA_ROLE_TABLE, r));
|
|
19965
|
+
for (const r of unknownRoles) {
|
|
19966
|
+
issues.push({ element: el.raw, role: r, severity: "error", message: `Unknown ARIA role "${r}"` });
|
|
19967
|
+
}
|
|
19968
|
+
const primaryRole = knownRoles[0];
|
|
19969
|
+
const roleDef = primaryRole ? ARIA_ROLE_TABLE[primaryRole] : void 0;
|
|
19970
|
+
if (roleDef?.required) {
|
|
19971
|
+
for (const req of roleDef.required) {
|
|
19972
|
+
if (el.attrs[req] === void 0) {
|
|
19973
|
+
issues.push({ element: el.raw, role: primaryRole, severity: "error", message: `role="${primaryRole}" is missing required attribute ${req}` });
|
|
19974
|
+
}
|
|
19975
|
+
}
|
|
19976
|
+
}
|
|
19977
|
+
for (const attrName of ariaAttrNames) {
|
|
19978
|
+
if (ARIA_GLOBAL_ATTRS.has(attrName)) continue;
|
|
19979
|
+
if (roleDef) {
|
|
19980
|
+
const allowed = /* @__PURE__ */ new Set([...roleDef.required ?? [], ...roleDef.supported ?? []]);
|
|
19981
|
+
if (!allowed.has(attrName)) {
|
|
19982
|
+
issues.push({
|
|
19983
|
+
element: el.raw,
|
|
19984
|
+
role: primaryRole ?? null,
|
|
19985
|
+
severity: "error",
|
|
19986
|
+
message: primaryRole ? `${attrName} is not permitted on role="${primaryRole}"` : `${attrName} is not a global aria-* attribute`
|
|
19987
|
+
});
|
|
19988
|
+
}
|
|
19989
|
+
} else if (!ARIA_ALL_KNOWN_ATTRS.has(attrName)) {
|
|
19990
|
+
issues.push({ element: el.raw, role: null, severity: "warning", message: `${attrName} is not a recognized aria-* attribute (possible typo)` });
|
|
19991
|
+
}
|
|
19992
|
+
}
|
|
19993
|
+
}
|
|
19994
|
+
return {
|
|
19995
|
+
elementCount: elements.length,
|
|
19996
|
+
elementsWithRoleOrAria,
|
|
19997
|
+
issues,
|
|
19998
|
+
valid: issues.every((i) => i.severity !== "error")
|
|
19999
|
+
};
|
|
20000
|
+
}
|
|
19804
20001
|
|
|
19805
20002
|
// src/tools/color.ts
|
|
19806
20003
|
var color_exports = {};
|
package/dist/index.d.cts
CHANGED
|
@@ -5,10 +5,10 @@ export { t as text } from './text-DWUcY8H1.cjs';
|
|
|
5
5
|
export { d as data } from './data-26TALa9U.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-
|
|
8
|
+
export { u as units } from './units-BAwyBk4x.cjs';
|
|
9
9
|
export { n as network } from './network-Da3meCWM.cjs';
|
|
10
10
|
export { a as api } from './api-C8rImfka.cjs';
|
|
11
|
-
export { c as code } from './code-
|
|
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';
|
package/dist/index.d.ts
CHANGED
|
@@ -5,10 +5,10 @@ export { t as text } from './text-DWUcY8H1.js';
|
|
|
5
5
|
export { d as data } from './data-26TALa9U.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-
|
|
8
|
+
export { u as units } from './units-BAwyBk4x.js';
|
|
9
9
|
export { n as network } from './network-Da3meCWM.js';
|
|
10
10
|
export { a as api } from './api-C8rImfka.js';
|
|
11
|
-
export { c as code } from './code-
|
|
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';
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { media_exports as media } from './chunk-PT4N4UBL.js';
|
|
2
|
-
export { units_exports as units } from './chunk-
|
|
2
|
+
export { units_exports as units } from './chunk-AKVWWLNJ.js';
|
|
3
3
|
export { network_exports as network } from './chunk-CXUOV672.js';
|
|
4
4
|
export { api_exports as api } from './chunk-4S63T7Y4.js';
|
|
5
|
-
export { code_exports as code } from './chunk-
|
|
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';
|
package/dist/tools/code.cjs
CHANGED
|
@@ -3652,6 +3652,167 @@ function extractMarkdownFootnotes(markdown) {
|
|
|
3652
3652
|
}
|
|
3653
3653
|
return { definitionCount: definitions.length, referenceCount, definitions, references, unresolvedReferences, unusedDefinitions };
|
|
3654
3654
|
}
|
|
3655
|
+
var ARIA_GLOBAL_ATTRS = /* @__PURE__ */ new Set([
|
|
3656
|
+
"aria-atomic",
|
|
3657
|
+
"aria-busy",
|
|
3658
|
+
"aria-controls",
|
|
3659
|
+
"aria-current",
|
|
3660
|
+
"aria-describedby",
|
|
3661
|
+
"aria-details",
|
|
3662
|
+
"aria-disabled",
|
|
3663
|
+
"aria-dropeffect",
|
|
3664
|
+
"aria-errormessage",
|
|
3665
|
+
"aria-flowto",
|
|
3666
|
+
"aria-grabbed",
|
|
3667
|
+
"aria-haspopup",
|
|
3668
|
+
"aria-hidden",
|
|
3669
|
+
"aria-invalid",
|
|
3670
|
+
"aria-keyshortcuts",
|
|
3671
|
+
"aria-label",
|
|
3672
|
+
"aria-labelledby",
|
|
3673
|
+
"aria-live",
|
|
3674
|
+
"aria-owns",
|
|
3675
|
+
"aria-relevant",
|
|
3676
|
+
"aria-roledescription"
|
|
3677
|
+
]);
|
|
3678
|
+
var ARIA_ROLE_TABLE = {
|
|
3679
|
+
alert: { supported: ["aria-live", "aria-atomic"] },
|
|
3680
|
+
alertdialog: { supported: ["aria-modal"] },
|
|
3681
|
+
article: {},
|
|
3682
|
+
banner: {},
|
|
3683
|
+
button: { supported: ["aria-pressed", "aria-expanded", "aria-disabled"] },
|
|
3684
|
+
checkbox: { required: ["aria-checked"], supported: ["aria-readonly"] },
|
|
3685
|
+
columnheader: { supported: ["aria-sort", "aria-selected", "aria-readonly"] },
|
|
3686
|
+
combobox: { required: ["aria-expanded"], supported: ["aria-controls", "aria-autocomplete", "aria-activedescendant"] },
|
|
3687
|
+
complementary: {},
|
|
3688
|
+
contentinfo: {},
|
|
3689
|
+
dialog: { supported: ["aria-modal"] },
|
|
3690
|
+
form: {},
|
|
3691
|
+
grid: { supported: ["aria-multiselectable", "aria-activedescendant", "aria-level", "aria-readonly"] },
|
|
3692
|
+
gridcell: { supported: ["aria-selected", "aria-readonly", "aria-expanded"] },
|
|
3693
|
+
group: { supported: ["aria-activedescendant", "aria-disabled"] },
|
|
3694
|
+
heading: { required: ["aria-level"] },
|
|
3695
|
+
img: {},
|
|
3696
|
+
link: { supported: ["aria-disabled", "aria-expanded"] },
|
|
3697
|
+
list: {},
|
|
3698
|
+
listbox: { supported: ["aria-multiselectable", "aria-activedescendant", "aria-orientation"] },
|
|
3699
|
+
listitem: { supported: ["aria-level", "aria-posinset", "aria-setsize"] },
|
|
3700
|
+
log: { supported: ["aria-live", "aria-atomic"] },
|
|
3701
|
+
main: {},
|
|
3702
|
+
marquee: {},
|
|
3703
|
+
menu: { supported: ["aria-orientation", "aria-activedescendant"] },
|
|
3704
|
+
menubar: { supported: ["aria-orientation", "aria-activedescendant"] },
|
|
3705
|
+
menuitem: { supported: ["aria-disabled"] },
|
|
3706
|
+
menuitemcheckbox: { required: ["aria-checked"] },
|
|
3707
|
+
menuitemradio: { required: ["aria-checked"] },
|
|
3708
|
+
meter: { required: ["aria-valuenow"], supported: ["aria-valuemin", "aria-valuemax", "aria-valuetext"] },
|
|
3709
|
+
navigation: {},
|
|
3710
|
+
none: {},
|
|
3711
|
+
option: { supported: ["aria-selected", "aria-checked", "aria-posinset", "aria-setsize"] },
|
|
3712
|
+
presentation: {},
|
|
3713
|
+
progressbar: { supported: ["aria-valuenow", "aria-valuemin", "aria-valuemax", "aria-valuetext"] },
|
|
3714
|
+
radio: { required: ["aria-checked"] },
|
|
3715
|
+
radiogroup: { supported: ["aria-activedescendant"] },
|
|
3716
|
+
region: {},
|
|
3717
|
+
row: { supported: ["aria-selected", "aria-level", "aria-expanded"] },
|
|
3718
|
+
rowheader: { supported: ["aria-sort", "aria-selected", "aria-readonly"] },
|
|
3719
|
+
scrollbar: { required: ["aria-valuenow", "aria-controls"], supported: ["aria-valuemin", "aria-valuemax", "aria-orientation"] },
|
|
3720
|
+
search: {},
|
|
3721
|
+
searchbox: { supported: ["aria-multiline", "aria-placeholder", "aria-readonly", "aria-required", "aria-activedescendant", "aria-autocomplete"] },
|
|
3722
|
+
separator: { supported: ["aria-orientation", "aria-valuenow", "aria-valuemin", "aria-valuemax"] },
|
|
3723
|
+
slider: { required: ["aria-valuenow"], supported: ["aria-valuemin", "aria-valuemax", "aria-valuetext", "aria-orientation"] },
|
|
3724
|
+
spinbutton: { supported: ["aria-valuenow", "aria-valuemin", "aria-valuemax", "aria-valuetext", "aria-required"] },
|
|
3725
|
+
status: { supported: ["aria-live", "aria-atomic"] },
|
|
3726
|
+
switch: { required: ["aria-checked"] },
|
|
3727
|
+
tab: { supported: ["aria-selected", "aria-controls", "aria-disabled"] },
|
|
3728
|
+
table: { supported: ["aria-colcount", "aria-rowcount"] },
|
|
3729
|
+
tablist: { supported: ["aria-orientation", "aria-activedescendant", "aria-level"] },
|
|
3730
|
+
tabpanel: {},
|
|
3731
|
+
textbox: { supported: ["aria-multiline", "aria-placeholder", "aria-readonly", "aria-required", "aria-activedescendant", "aria-autocomplete"] },
|
|
3732
|
+
timer: {},
|
|
3733
|
+
toolbar: { supported: ["aria-orientation"] },
|
|
3734
|
+
tooltip: {},
|
|
3735
|
+
tree: { supported: ["aria-multiselectable", "aria-activedescendant", "aria-orientation"] },
|
|
3736
|
+
treegrid: { supported: ["aria-multiselectable", "aria-activedescendant", "aria-orientation", "aria-level", "aria-readonly"] },
|
|
3737
|
+
treeitem: { supported: ["aria-expanded", "aria-selected", "aria-checked", "aria-level"] }
|
|
3738
|
+
};
|
|
3739
|
+
var ARIA_ALL_KNOWN_ATTRS = new Set(ARIA_GLOBAL_ATTRS);
|
|
3740
|
+
for (const entry of Object.values(ARIA_ROLE_TABLE)) {
|
|
3741
|
+
for (const a of entry.required ?? []) ARIA_ALL_KNOWN_ATTRS.add(a);
|
|
3742
|
+
for (const a of entry.supported ?? []) ARIA_ALL_KNOWN_ATTRS.add(a);
|
|
3743
|
+
}
|
|
3744
|
+
var TAG_REGEX = /<([a-zA-Z][a-zA-Z0-9]*)\b((?:[^>"'/]|"[^"]*"|'[^']*')*)\/?>/g;
|
|
3745
|
+
var ATTR_REGEX = /([a-zA-Z][a-zA-Z0-9-]*)\s*=\s*(?:"([^"]*)"|'([^']*)')/g;
|
|
3746
|
+
function parseElements(html) {
|
|
3747
|
+
const elements = [];
|
|
3748
|
+
let match;
|
|
3749
|
+
TAG_REGEX.lastIndex = 0;
|
|
3750
|
+
while ((match = TAG_REGEX.exec(html)) !== null) {
|
|
3751
|
+
const tag = match[1].toLowerCase();
|
|
3752
|
+
if (tag === "script" || tag === "style" || tag === "!--") continue;
|
|
3753
|
+
const attrsStr = match[2] ?? "";
|
|
3754
|
+
const attrs = {};
|
|
3755
|
+
let attrMatch;
|
|
3756
|
+
ATTR_REGEX.lastIndex = 0;
|
|
3757
|
+
while ((attrMatch = ATTR_REGEX.exec(attrsStr)) !== null) {
|
|
3758
|
+
const name = attrMatch[1].toLowerCase();
|
|
3759
|
+
const value = attrMatch[2] ?? attrMatch[3] ?? "";
|
|
3760
|
+
attrs[name] = value;
|
|
3761
|
+
}
|
|
3762
|
+
elements.push({ tag, attrs, raw: match[0].length > 80 ? match[0].slice(0, 77) + "..." : match[0] });
|
|
3763
|
+
}
|
|
3764
|
+
return elements;
|
|
3765
|
+
}
|
|
3766
|
+
function validateAria(html) {
|
|
3767
|
+
if (!html || !html.trim()) return { error: "Input is empty" };
|
|
3768
|
+
const elements = parseElements(html);
|
|
3769
|
+
if (elements.length === 0) return { error: "No HTML elements found" };
|
|
3770
|
+
const issues = [];
|
|
3771
|
+
let elementsWithRoleOrAria = 0;
|
|
3772
|
+
for (const el of elements) {
|
|
3773
|
+
const roleAttr = el.attrs["role"];
|
|
3774
|
+
const ariaAttrNames = Object.keys(el.attrs).filter((a) => a.startsWith("aria-"));
|
|
3775
|
+
if (roleAttr === void 0 && ariaAttrNames.length === 0) continue;
|
|
3776
|
+
elementsWithRoleOrAria++;
|
|
3777
|
+
const roles = roleAttr !== void 0 ? roleAttr.trim().split(/\s+/).filter(Boolean) : [];
|
|
3778
|
+
const knownRoles = roles.filter((r) => Object.prototype.hasOwnProperty.call(ARIA_ROLE_TABLE, r));
|
|
3779
|
+
const unknownRoles = roles.filter((r) => !Object.prototype.hasOwnProperty.call(ARIA_ROLE_TABLE, r));
|
|
3780
|
+
for (const r of unknownRoles) {
|
|
3781
|
+
issues.push({ element: el.raw, role: r, severity: "error", message: `Unknown ARIA role "${r}"` });
|
|
3782
|
+
}
|
|
3783
|
+
const primaryRole = knownRoles[0];
|
|
3784
|
+
const roleDef = primaryRole ? ARIA_ROLE_TABLE[primaryRole] : void 0;
|
|
3785
|
+
if (roleDef?.required) {
|
|
3786
|
+
for (const req of roleDef.required) {
|
|
3787
|
+
if (el.attrs[req] === void 0) {
|
|
3788
|
+
issues.push({ element: el.raw, role: primaryRole, severity: "error", message: `role="${primaryRole}" is missing required attribute ${req}` });
|
|
3789
|
+
}
|
|
3790
|
+
}
|
|
3791
|
+
}
|
|
3792
|
+
for (const attrName of ariaAttrNames) {
|
|
3793
|
+
if (ARIA_GLOBAL_ATTRS.has(attrName)) continue;
|
|
3794
|
+
if (roleDef) {
|
|
3795
|
+
const allowed = /* @__PURE__ */ new Set([...roleDef.required ?? [], ...roleDef.supported ?? []]);
|
|
3796
|
+
if (!allowed.has(attrName)) {
|
|
3797
|
+
issues.push({
|
|
3798
|
+
element: el.raw,
|
|
3799
|
+
role: primaryRole ?? null,
|
|
3800
|
+
severity: "error",
|
|
3801
|
+
message: primaryRole ? `${attrName} is not permitted on role="${primaryRole}"` : `${attrName} is not a global aria-* attribute`
|
|
3802
|
+
});
|
|
3803
|
+
}
|
|
3804
|
+
} else if (!ARIA_ALL_KNOWN_ATTRS.has(attrName)) {
|
|
3805
|
+
issues.push({ element: el.raw, role: null, severity: "warning", message: `${attrName} is not a recognized aria-* attribute (possible typo)` });
|
|
3806
|
+
}
|
|
3807
|
+
}
|
|
3808
|
+
}
|
|
3809
|
+
return {
|
|
3810
|
+
elementCount: elements.length,
|
|
3811
|
+
elementsWithRoleOrAria,
|
|
3812
|
+
issues,
|
|
3813
|
+
valid: issues.every((i) => i.severity !== "error")
|
|
3814
|
+
};
|
|
3815
|
+
}
|
|
3655
3816
|
|
|
3656
3817
|
exports.ALL_FLAGS = ALL_FLAGS;
|
|
3657
3818
|
exports.CHEATSHEET = CHEATSHEET;
|
|
@@ -3709,6 +3870,7 @@ exports.splitStatements = splitStatements;
|
|
|
3709
3870
|
exports.testGitignorePatterns = testGitignorePatterns;
|
|
3710
3871
|
exports.testPattern = testPattern;
|
|
3711
3872
|
exports.testRegex = testRegex;
|
|
3873
|
+
exports.validateAria = validateAria;
|
|
3712
3874
|
exports.validateEditorConfig = validateEditorConfig;
|
|
3713
3875
|
exports.validateEnvKey = validateEnvKey;
|
|
3714
3876
|
exports.validatePackageExports = validatePackageExports;
|
package/dist/tools/code.d.cts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { A as ALL_FLAGS, a as ApiEndpoint, b as ApiInfo, C as CHEATSHEET,
|
|
1
|
+
export { A as ALL_FLAGS, a as ApiEndpoint, b as ApiInfo, d as AriaIssue, e as AriaValidationResult, C as CHEATSHEET, f as CheatsheetEntry, g as CommitTrailer, h as CommitTrailerResult, i as ConventionalCommitFinding, j as ConventionalCommitFooter, k as ConventionalCommitOptions, l as ConventionalCommitParsed, m as ConventionalCommitResult, n as ConventionalCommitSeverity, o as CssResult, D as DEFAULT_COMMIT_TYPES, p as DependencyAuditDuplicate, q as DependencyAuditEntry, r as DependencyAuditIssue, s as DependencyAuditResult, t as DependencyRangeType, u as DependencySection, v as DockerImageRef, E as EditorConfigIssue, w as EditorConfigProperty, x as EditorConfigSection, y as EditorConfigValidationResult, z as EnvEntry, B as EnvParseResult, F as ExportsIssue, G as ExportsShape, H as ExportsValidationResult, I as GitCommandConfig, J as GitCommandResult, K as GitOperation, L as GithubUrlInfo, M as GithubUrlType, N as GitignoreTestResult, O as GqlFormatResult, P as HtmlFormatResult, Q as HtmlMinifyOptions, R as HtmlMinifyResult, S as JsMinifyOptions, T as JsMinifyResult, U as MIME_TABLE, V as MarkdownFootnoteDefinition, W as MarkdownFootnoteReference, X as MarkdownFootnoteResult, Y as MatchResult, Z as MimeEntry, _ as MimeLookupResult, $ as OPERATIONS, a0 as ParsedSpec, a1 as RedosFinding, a2 as RedosResult, a3 as RedosSeverity, a4 as RegexBackreferenceInfo, a5 as RegexError, a6 as RegexFlag, a7 as RegexGroupAnalysis, a8 as RegexGroupInfo, a9 as RegexGroupIssue, aa as RegexMatch, ab as RegexResult, ac as RegexSuccess, ad as SQL_DEFAULT_OPTIONS, ae as Segment, af as SpecVersion, ag as SqlDialect, ah as SqlFormatOptions, ai as SvgSpriteResult, aj as SvgSpriteSymbol, ak as TestPatternResult, al as TsconfigIssue, am as TsconfigValidationResult, an as analyzeRegexGroups, ao as auditDependencyRanges, ap as buildDockerPull, aq as buildDockerRun, ar as buildGitCommand, as as collapseHtmlWhitespace, at as collapseJsWhitespace, au as countProperties, av as countRules, aw as detectDialect, ax as detectOperationType, ay as detectRedos, az as envToExport, aA as envToJson, aB as extractMarkdownFootnotes, aC as extractSvgSpriteSymbols, aD as formatCss, aE as formatGql, aF as formatHtml, aG as formatSql, aH as getEndpointsByTag, aI as getHtmlStats, aJ as getJsStats, aK as getMethodColor, aL as isValidTag, aM as lintConventionalCommit, aN as lookupMime, aO as minifyCss, aP as minifyGql, aQ as minifyHtml, aR as minifyJs, aS as minifySql, aT as normalizeRef, aU as parseCommitTrailers, aV as parseDockerImage, aW as parseEnv, aX as parseGitCommand, aY as parseGithubUrl, aZ as parseSpec, a_ as removeConsoleCalls, a$ as removeEmptyAttributes, b0 as removeHtmlComments, b1 as removeJsComments, b2 as removeRedundantAttributes, b3 as searchCheatsheet, b4 as searchEndpoints, b5 as splitStatements, b6 as testGitignorePatterns, b7 as testPattern, b8 as testRegex, b9 as validateAria, ba as validateEditorConfig, bb as validateEnvKey, bc as validatePackageExports, bd as validateTsconfig } from '../code-46xO9xFf.cjs';
|
package/dist/tools/code.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { A as ALL_FLAGS, a as ApiEndpoint, b as ApiInfo, C as CHEATSHEET,
|
|
1
|
+
export { A as ALL_FLAGS, a as ApiEndpoint, b as ApiInfo, d as AriaIssue, e as AriaValidationResult, C as CHEATSHEET, f as CheatsheetEntry, g as CommitTrailer, h as CommitTrailerResult, i as ConventionalCommitFinding, j as ConventionalCommitFooter, k as ConventionalCommitOptions, l as ConventionalCommitParsed, m as ConventionalCommitResult, n as ConventionalCommitSeverity, o as CssResult, D as DEFAULT_COMMIT_TYPES, p as DependencyAuditDuplicate, q as DependencyAuditEntry, r as DependencyAuditIssue, s as DependencyAuditResult, t as DependencyRangeType, u as DependencySection, v as DockerImageRef, E as EditorConfigIssue, w as EditorConfigProperty, x as EditorConfigSection, y as EditorConfigValidationResult, z as EnvEntry, B as EnvParseResult, F as ExportsIssue, G as ExportsShape, H as ExportsValidationResult, I as GitCommandConfig, J as GitCommandResult, K as GitOperation, L as GithubUrlInfo, M as GithubUrlType, N as GitignoreTestResult, O as GqlFormatResult, P as HtmlFormatResult, Q as HtmlMinifyOptions, R as HtmlMinifyResult, S as JsMinifyOptions, T as JsMinifyResult, U as MIME_TABLE, V as MarkdownFootnoteDefinition, W as MarkdownFootnoteReference, X as MarkdownFootnoteResult, Y as MatchResult, Z as MimeEntry, _ as MimeLookupResult, $ as OPERATIONS, a0 as ParsedSpec, a1 as RedosFinding, a2 as RedosResult, a3 as RedosSeverity, a4 as RegexBackreferenceInfo, a5 as RegexError, a6 as RegexFlag, a7 as RegexGroupAnalysis, a8 as RegexGroupInfo, a9 as RegexGroupIssue, aa as RegexMatch, ab as RegexResult, ac as RegexSuccess, ad as SQL_DEFAULT_OPTIONS, ae as Segment, af as SpecVersion, ag as SqlDialect, ah as SqlFormatOptions, ai as SvgSpriteResult, aj as SvgSpriteSymbol, ak as TestPatternResult, al as TsconfigIssue, am as TsconfigValidationResult, an as analyzeRegexGroups, ao as auditDependencyRanges, ap as buildDockerPull, aq as buildDockerRun, ar as buildGitCommand, as as collapseHtmlWhitespace, at as collapseJsWhitespace, au as countProperties, av as countRules, aw as detectDialect, ax as detectOperationType, ay as detectRedos, az as envToExport, aA as envToJson, aB as extractMarkdownFootnotes, aC as extractSvgSpriteSymbols, aD as formatCss, aE as formatGql, aF as formatHtml, aG as formatSql, aH as getEndpointsByTag, aI as getHtmlStats, aJ as getJsStats, aK as getMethodColor, aL as isValidTag, aM as lintConventionalCommit, aN as lookupMime, aO as minifyCss, aP as minifyGql, aQ as minifyHtml, aR as minifyJs, aS as minifySql, aT as normalizeRef, aU as parseCommitTrailers, aV as parseDockerImage, aW as parseEnv, aX as parseGitCommand, aY as parseGithubUrl, aZ as parseSpec, a_ as removeConsoleCalls, a$ as removeEmptyAttributes, b0 as removeHtmlComments, b1 as removeJsComments, b2 as removeRedundantAttributes, b3 as searchCheatsheet, b4 as searchEndpoints, b5 as splitStatements, b6 as testGitignorePatterns, b7 as testPattern, b8 as testRegex, b9 as validateAria, ba as validateEditorConfig, bb as validateEnvKey, bc as validatePackageExports, bd as validateTsconfig } from '../code-46xO9xFf.js';
|
package/dist/tools/code.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { ALL_FLAGS, CHEATSHEET, DEFAULT_COMMIT_TYPES, MIME_TABLE, OPERATIONS, SQL_DEFAULT_OPTIONS, analyzeRegexGroups, auditDependencyRanges, buildDockerPull, buildDockerRun, buildGitCommand, collapseHtmlWhitespace, collapseJsWhitespace, countProperties, countRules, detectDialect, detectOperationType, detectRedos, envToExport, envToJson, extractMarkdownFootnotes, extractSvgSpriteSymbols, formatCss, formatGql, formatHtml, formatSql, getEndpointsByTag, getHtmlStats, getJsStats, getMethodColor, isValidTag, lintConventionalCommit, lookupMime, minifyCss, minifyGql, minifyHtml, minifyJs, minifySql, normalizeRef, parseCommitTrailers, parseDockerImage, parseEnv, parseGitCommand, parseGithubUrl, parseSpec, removeConsoleCalls, removeEmptyAttributes, removeHtmlComments, removeJsComments, removeRedundantAttributes, searchCheatsheet, searchEndpoints, splitStatements, testGitignorePatterns, testPattern, testRegex, validateEditorConfig, validateEnvKey, validatePackageExports, validateTsconfig } from '../chunk-
|
|
1
|
+
export { ALL_FLAGS, CHEATSHEET, DEFAULT_COMMIT_TYPES, MIME_TABLE, OPERATIONS, SQL_DEFAULT_OPTIONS, analyzeRegexGroups, auditDependencyRanges, buildDockerPull, buildDockerRun, buildGitCommand, collapseHtmlWhitespace, collapseJsWhitespace, countProperties, countRules, detectDialect, detectOperationType, detectRedos, envToExport, envToJson, extractMarkdownFootnotes, extractSvgSpriteSymbols, formatCss, formatGql, formatHtml, formatSql, getEndpointsByTag, getHtmlStats, getJsStats, getMethodColor, isValidTag, lintConventionalCommit, lookupMime, minifyCss, minifyGql, minifyHtml, minifyJs, minifySql, normalizeRef, parseCommitTrailers, parseDockerImage, parseEnv, parseGitCommand, parseGithubUrl, parseSpec, removeConsoleCalls, removeEmptyAttributes, removeHtmlComments, removeJsComments, removeRedundantAttributes, searchCheatsheet, searchEndpoints, splitStatements, testGitignorePatterns, testPattern, testRegex, validateAria, validateEditorConfig, validateEnvKey, validatePackageExports, validateTsconfig } from '../chunk-XT2BQWXT.js';
|
|
2
2
|
import '../chunk-MLKGABMK.js';
|
package/dist/tools/units.cjs
CHANGED
|
@@ -2554,6 +2554,40 @@ function calculateMortgagePoints(loanAmount, baseRatePercent, termMonths, points
|
|
|
2554
2554
|
totalInterestSavings: round2(withoutPoints.totalInterest - withPoints.totalInterest)
|
|
2555
2555
|
};
|
|
2556
2556
|
}
|
|
2557
|
+
function calculateLoanPrepaymentPenalty(payoffBalance, penaltyType, params) {
|
|
2558
|
+
if (!Number.isFinite(payoffBalance) || payoffBalance <= 0) {
|
|
2559
|
+
return { error: "Payoff balance must be a positive number" };
|
|
2560
|
+
}
|
|
2561
|
+
if (penaltyType !== "percent-of-balance" && penaltyType !== "months-of-interest") {
|
|
2562
|
+
return { error: 'penaltyType must be "percent-of-balance" or "months-of-interest"' };
|
|
2563
|
+
}
|
|
2564
|
+
let penaltyAmount;
|
|
2565
|
+
if (penaltyType === "percent-of-balance") {
|
|
2566
|
+
const penaltyPercent = params.penaltyPercent;
|
|
2567
|
+
if (!Number.isFinite(penaltyPercent) || penaltyPercent < 0) {
|
|
2568
|
+
return { error: "penaltyPercent must be zero or a positive number" };
|
|
2569
|
+
}
|
|
2570
|
+
penaltyAmount = round2(payoffBalance * (penaltyPercent / 100));
|
|
2571
|
+
} else {
|
|
2572
|
+
const monthsOfInterest = params.monthsOfInterest;
|
|
2573
|
+
const annualRatePercent = params.annualRatePercent;
|
|
2574
|
+
if (!Number.isFinite(monthsOfInterest) || monthsOfInterest < 0) {
|
|
2575
|
+
return { error: "monthsOfInterest must be zero or a positive number" };
|
|
2576
|
+
}
|
|
2577
|
+
if (!Number.isFinite(annualRatePercent) || annualRatePercent < 0) {
|
|
2578
|
+
return { error: "annualRatePercent must be zero or a positive number" };
|
|
2579
|
+
}
|
|
2580
|
+
const monthlyInterest = payoffBalance * (annualRatePercent / 100 / 12);
|
|
2581
|
+
penaltyAmount = round2(monthlyInterest * monthsOfInterest);
|
|
2582
|
+
}
|
|
2583
|
+
return {
|
|
2584
|
+
payoffBalance: round2(payoffBalance),
|
|
2585
|
+
penaltyType,
|
|
2586
|
+
penaltyAmount,
|
|
2587
|
+
effectivePenaltyPercent: round2(penaltyAmount / payoffBalance * 100),
|
|
2588
|
+
totalPayoffCost: round2(payoffBalance + penaltyAmount)
|
|
2589
|
+
};
|
|
2590
|
+
}
|
|
2557
2591
|
|
|
2558
2592
|
exports.BASE_LABELS = BASE_LABELS;
|
|
2559
2593
|
exports.BASE_PREFIXES = BASE_PREFIXES;
|
|
@@ -2589,6 +2623,7 @@ exports.calculateExtraPaymentPayoff = calculateExtraPaymentPayoff;
|
|
|
2589
2623
|
exports.calculateFreelancerRate = calculateFreelancerRate;
|
|
2590
2624
|
exports.calculateGpa = calculateGpa;
|
|
2591
2625
|
exports.calculateLoan = calculateLoan;
|
|
2626
|
+
exports.calculateLoanPrepaymentPenalty = calculateLoanPrepaymentPenalty;
|
|
2592
2627
|
exports.calculateLoanRefinance = calculateLoanRefinance;
|
|
2593
2628
|
exports.calculateMarginMarkup = calculateMarginMarkup;
|
|
2594
2629
|
exports.calculateMortgagePoints = calculateMortgagePoints;
|
package/dist/tools/units.d.cts
CHANGED
|
@@ -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 FormatOptions, a6 as FreelancerRateInput, a7 as FreelancerRateResult, a8 as GPA_GRADE_POINTS, a9 as GpaCourse, aa as GpaCourseResult, ab as GpaResult, ac as IbanValidationResult, ad as IpConversion, ae as IsbnFormat, af as IsbnResult, ag as IsinValidationResult, ah as LoanBalanceInput, ai as LoanBalanceResult, aj as
|
|
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 FormatOptions, a6 as FreelancerRateInput, a7 as FreelancerRateResult, a8 as GPA_GRADE_POINTS, a9 as GpaCourse, aa as GpaCourseResult, ab as GpaResult, ac as IbanValidationResult, ad as IpConversion, ae as IsbnFormat, af as IsbnResult, ag as IsinValidationResult, ah as LoanBalanceInput, ai as LoanBalanceResult, aj as LoanPrepaymentPenaltyResult, ak as LoanRefinanceResult, al as LoanResult, am as MarginMarkupField, an as MarginMarkupInput, ao as MarginMarkupResult, ap as MortgagePointsResult, aq as MovingAveragePoint, ar as MovingAverageResult, as as NotationStyle, at as NumberBase, au as PaybackPeriodInput, av as PaybackPeriodResult, aw as PercentChangeDirection, ax as PercentageChangeResult, ay as Permission, az as PrepaymentPenaltyType, aA as PxConvertResult, aB as RoiInput, aC as RoiResult, aD as RuleOf72Direction, aE as RuleOf72Result, aF as SavingsGoalInput, aG as SavingsGoalMode, aH as SavingsGoalResult, aI as SemverVersion, aJ as SimpleInterestResult, aK as SubnetInfo, aL as SuccessiveDiscountResult, aM as SuccessiveDiscountStep, aN as TaxDirection, aO as TaxEquivalentYieldDirection, aP as TaxEquivalentYieldResult, aQ as TaxResult, aR as TimeValueDirection, aS as TimeValueResult, aT as TipSplitResult, aU as USD_DENOMINATIONS, aV as UnitPriceItem, aW as UnitPriceResult, aX as UtilizationTier, aY as VideoBitrateInput, aZ as VideoBitrateMode, a_ as VideoBitrateResult, a$ as ViewportConvertResult, b0 as VinValidationResult, b1 as applySuccessiveDiscounts, b2 as autoFormat, b3 as bumpVersion, b4 as calcAspectRatio, b5 as calcSubnet, b6 as calculateBlendedLoanRate, b7 as calculateBreakEven, b8 as calculateCashBreakdown, b9 as calculateCashRounding, ba as calculateCdMaturity, bb as calculateChange, bc as calculateCompoundInterest, bd as calculateCreditUtilization, be as calculateDebtToIncomeRatio, bf as calculateDepreciationSchedule, bg as calculateDiscount, bh as calculateEmi, bi as calculateExtraPaymentPayoff, bj as calculateFreelancerRate, bk as calculateGpa, bl as calculateLoan, bm as calculateLoanPrepaymentPenalty, bn as calculateLoanRefinance, bo as calculateMarginMarkup, bp as calculateMortgagePoints, bq as calculateMovingAverages, br as calculatePaybackPeriod, bs as calculatePercentageChange, bt as calculateRoi, bu as calculateRuleOf72, bv as calculateSavingsGoal, bw as calculateSimpleInterest, bx as calculateTax, by as calculateTaxEquivalentYield, bz as calculateTimeValue, bA as calculateTipSplit, bB as calculateVideoBitrate, bC as compareSemver, bD as compareUnitPrices, bE as convert, bF as convertAprApy, bG as convertBytes, bH as convertIp, bI as coverBox, bJ as decimalToIp, bK as decimalToIpCidr, bL as describePermissions, bM as fitIntoBox, bN as formatNumber, bO as formatValue, bP as formatVwValue, bQ as formatWithSeparator, bR as gcd, bS as ipFromBinary, bT as ipFromDecimal, bU as ipFromHex, bV as ipToBinary, bW as ipToDecimal, bX as ipToDecimalCidr, bY as ipToHex, bZ as ipToOctal, b_ as isValid, b$ as isValidCidr, c0 as isValidIp, c1 as isValidIpv4, c2 as marginToMarkup, c3 as markupToMargin, c4 as octalToPermissions, c5 as parseFileSize, c6 as parseInput, c7 as parseNumberString, c8 as parseSemver, c9 as permissionsToChmod, ca as permissionsToOctal, cb as permissionsToSymbolic, cc as planDebtPayoff, cd as ptToPx, ce as pxToAll, cf as pxToViewport, cg as remToPx, ch as satisfiesRange, ci as scaleByHeight, cj as scaleByWidth, ck as sortVersions, cl as splitSubnet, cm as symbolicToPermissions, cn as validateBarcode, co as validateCardNumber, cp as validateIban, cq as validateIsbn, cr as validateIsin, cs as validateVin, ct as viewportToPx } from '../units-BAwyBk4x.cjs';
|
package/dist/tools/units.d.ts
CHANGED
|
@@ -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 FormatOptions, a6 as FreelancerRateInput, a7 as FreelancerRateResult, a8 as GPA_GRADE_POINTS, a9 as GpaCourse, aa as GpaCourseResult, ab as GpaResult, ac as IbanValidationResult, ad as IpConversion, ae as IsbnFormat, af as IsbnResult, ag as IsinValidationResult, ah as LoanBalanceInput, ai as LoanBalanceResult, aj as
|
|
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 FormatOptions, a6 as FreelancerRateInput, a7 as FreelancerRateResult, a8 as GPA_GRADE_POINTS, a9 as GpaCourse, aa as GpaCourseResult, ab as GpaResult, ac as IbanValidationResult, ad as IpConversion, ae as IsbnFormat, af as IsbnResult, ag as IsinValidationResult, ah as LoanBalanceInput, ai as LoanBalanceResult, aj as LoanPrepaymentPenaltyResult, ak as LoanRefinanceResult, al as LoanResult, am as MarginMarkupField, an as MarginMarkupInput, ao as MarginMarkupResult, ap as MortgagePointsResult, aq as MovingAveragePoint, ar as MovingAverageResult, as as NotationStyle, at as NumberBase, au as PaybackPeriodInput, av as PaybackPeriodResult, aw as PercentChangeDirection, ax as PercentageChangeResult, ay as Permission, az as PrepaymentPenaltyType, aA as PxConvertResult, aB as RoiInput, aC as RoiResult, aD as RuleOf72Direction, aE as RuleOf72Result, aF as SavingsGoalInput, aG as SavingsGoalMode, aH as SavingsGoalResult, aI as SemverVersion, aJ as SimpleInterestResult, aK as SubnetInfo, aL as SuccessiveDiscountResult, aM as SuccessiveDiscountStep, aN as TaxDirection, aO as TaxEquivalentYieldDirection, aP as TaxEquivalentYieldResult, aQ as TaxResult, aR as TimeValueDirection, aS as TimeValueResult, aT as TipSplitResult, aU as USD_DENOMINATIONS, aV as UnitPriceItem, aW as UnitPriceResult, aX as UtilizationTier, aY as VideoBitrateInput, aZ as VideoBitrateMode, a_ as VideoBitrateResult, a$ as ViewportConvertResult, b0 as VinValidationResult, b1 as applySuccessiveDiscounts, b2 as autoFormat, b3 as bumpVersion, b4 as calcAspectRatio, b5 as calcSubnet, b6 as calculateBlendedLoanRate, b7 as calculateBreakEven, b8 as calculateCashBreakdown, b9 as calculateCashRounding, ba as calculateCdMaturity, bb as calculateChange, bc as calculateCompoundInterest, bd as calculateCreditUtilization, be as calculateDebtToIncomeRatio, bf as calculateDepreciationSchedule, bg as calculateDiscount, bh as calculateEmi, bi as calculateExtraPaymentPayoff, bj as calculateFreelancerRate, bk as calculateGpa, bl as calculateLoan, bm as calculateLoanPrepaymentPenalty, bn as calculateLoanRefinance, bo as calculateMarginMarkup, bp as calculateMortgagePoints, bq as calculateMovingAverages, br as calculatePaybackPeriod, bs as calculatePercentageChange, bt as calculateRoi, bu as calculateRuleOf72, bv as calculateSavingsGoal, bw as calculateSimpleInterest, bx as calculateTax, by as calculateTaxEquivalentYield, bz as calculateTimeValue, bA as calculateTipSplit, bB as calculateVideoBitrate, bC as compareSemver, bD as compareUnitPrices, bE as convert, bF as convertAprApy, bG as convertBytes, bH as convertIp, bI as coverBox, bJ as decimalToIp, bK as decimalToIpCidr, bL as describePermissions, bM as fitIntoBox, bN as formatNumber, bO as formatValue, bP as formatVwValue, bQ as formatWithSeparator, bR as gcd, bS as ipFromBinary, bT as ipFromDecimal, bU as ipFromHex, bV as ipToBinary, bW as ipToDecimal, bX as ipToDecimalCidr, bY as ipToHex, bZ as ipToOctal, b_ as isValid, b$ as isValidCidr, c0 as isValidIp, c1 as isValidIpv4, c2 as marginToMarkup, c3 as markupToMargin, c4 as octalToPermissions, c5 as parseFileSize, c6 as parseInput, c7 as parseNumberString, c8 as parseSemver, c9 as permissionsToChmod, ca as permissionsToOctal, cb as permissionsToSymbolic, cc as planDebtPayoff, cd as ptToPx, ce as pxToAll, cf as pxToViewport, cg as remToPx, ch as satisfiesRange, ci as scaleByHeight, cj as scaleByWidth, ck as sortVersions, cl as splitSubnet, cm as symbolicToPermissions, cn as validateBarcode, co as validateCardNumber, cp as validateIban, cq as validateIsbn, cr as validateIsin, cs as validateVin, ct as viewportToPx } from '../units-BAwyBk4x.js';
|
package/dist/tools/units.js
CHANGED
|
@@ -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, calculateLoanRefinance, calculateMarginMarkup, calculateMortgagePoints, calculateMovingAverages, calculatePaybackPeriod, calculatePercentageChange, calculateRoi, calculateRuleOf72, calculateSavingsGoal, calculateSimpleInterest, calculateTax, calculateTaxEquivalentYield, calculateTimeValue, calculateTipSplit, 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-
|
|
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, calculateRoi, calculateRuleOf72, calculateSavingsGoal, calculateSimpleInterest, calculateTax, calculateTaxEquivalentYield, calculateTimeValue, calculateTipSplit, 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-AKVWWLNJ.js';
|
|
2
2
|
import '../chunk-MLKGABMK.js';
|