@utilix-tech/sdk 0.95.0 → 0.97.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 +8 -0
- package/README.md +21 -1
- package/dist/{chunk-YQJ7CEUL.js → chunk-2YWKRNDM.js} +58 -1
- package/dist/{chunk-G5NUC5MV.js → chunk-NFTUG3XP.js} +88 -1
- package/dist/{chunk-PEMPPDMM.js → chunk-NTHUTIZH.js} +86 -1
- package/dist/{data-3qMdFIF5.d.ts → data-Dg5dEwWl.d.cts} +37 -2
- package/dist/{data-3qMdFIF5.d.cts → data-Dg5dEwWl.d.ts} +37 -2
- package/dist/index.cjs +229 -0
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -3
- package/dist/{text-DOopHoK3.d.cts → text-DFCNpyvH.d.cts} +26 -2
- package/dist/{text-DOopHoK3.d.ts → text-DFCNpyvH.d.ts} +26 -2
- package/dist/tools/data.cjs +85 -0
- package/dist/tools/data.d.cts +1 -1
- package/dist/tools/data.d.ts +1 -1
- package/dist/tools/data.js +1 -1
- package/dist/tools/text.cjs +57 -0
- package/dist/tools/text.d.cts +1 -1
- package/dist/tools/text.d.ts +1 -1
- package/dist/tools/text.js +1 -1
- package/dist/tools/units.cjs +87 -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-BBzv0VIt.d.ts → units-7rkeDBbW.d.cts} +68 -2
- package/dist/{units-BBzv0VIt.d.cts → units-7rkeDBbW.d.ts} +68 -2
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -2330,6 +2330,7 @@ __export(text_exports, {
|
|
|
2330
2330
|
detectDelimiter: () => detectDelimiter,
|
|
2331
2331
|
detectFillerWords: () => detectFillerWords,
|
|
2332
2332
|
detectPassiveVoice: () => detectPassiveVoice,
|
|
2333
|
+
detectWeaselWords: () => detectWeaselWords,
|
|
2333
2334
|
detectWordyPhrases: () => detectWordyPhrases,
|
|
2334
2335
|
diffLines: () => diffLines,
|
|
2335
2336
|
diffLinesSimple: () => diffLinesSimple,
|
|
@@ -5631,12 +5632,69 @@ function checkAcronymExpansion(text) {
|
|
|
5631
5632
|
issues.sort((a, b) => a.index - b.index);
|
|
5632
5633
|
return { acronyms, issues };
|
|
5633
5634
|
}
|
|
5635
|
+
var WEASEL_PHRASES = [
|
|
5636
|
+
"many experts believe",
|
|
5637
|
+
"some experts say",
|
|
5638
|
+
"experts agree",
|
|
5639
|
+
"critics argue",
|
|
5640
|
+
"studies show",
|
|
5641
|
+
"studies have shown",
|
|
5642
|
+
"research shows",
|
|
5643
|
+
"research suggests",
|
|
5644
|
+
"it is widely believed",
|
|
5645
|
+
"it is widely known",
|
|
5646
|
+
"it is widely regarded",
|
|
5647
|
+
"it is generally accepted",
|
|
5648
|
+
"it is often said",
|
|
5649
|
+
"it has been suggested",
|
|
5650
|
+
"it is said that",
|
|
5651
|
+
"some say",
|
|
5652
|
+
"some people believe",
|
|
5653
|
+
"some people think",
|
|
5654
|
+
"many believe",
|
|
5655
|
+
"many people think",
|
|
5656
|
+
"many claim",
|
|
5657
|
+
"observers note",
|
|
5658
|
+
"sources say",
|
|
5659
|
+
"according to some",
|
|
5660
|
+
"widely regarded as",
|
|
5661
|
+
"many consider",
|
|
5662
|
+
"some scientists believe",
|
|
5663
|
+
"some argue",
|
|
5664
|
+
"reportedly",
|
|
5665
|
+
"allegedly"
|
|
5666
|
+
];
|
|
5667
|
+
function _weaselRegex(phrase) {
|
|
5668
|
+
const tokens = phrase.split(/\s+/).map((t) => t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
|
|
5669
|
+
return new RegExp("\\b" + tokens.join("\\s+") + "\\b", "gi");
|
|
5670
|
+
}
|
|
5671
|
+
function detectWeaselWords(text) {
|
|
5672
|
+
const totalWords = (text.match(/[A-Za-z0-9']+/g) ?? []).length;
|
|
5673
|
+
const matches = [];
|
|
5674
|
+
for (const phrase of WEASEL_PHRASES) {
|
|
5675
|
+
const re = _weaselRegex(phrase);
|
|
5676
|
+
const indices = [];
|
|
5677
|
+
let m;
|
|
5678
|
+
while ((m = re.exec(text)) !== null) {
|
|
5679
|
+
indices.push(m.index);
|
|
5680
|
+
if (m.index === re.lastIndex) re.lastIndex++;
|
|
5681
|
+
}
|
|
5682
|
+
if (indices.length > 0) {
|
|
5683
|
+
matches.push({ phrase, count: indices.length, indices });
|
|
5684
|
+
}
|
|
5685
|
+
}
|
|
5686
|
+
matches.sort((a, b) => b.count - a.count || a.phrase.localeCompare(b.phrase));
|
|
5687
|
+
const totalMatches = matches.reduce((s, x) => s + x.count, 0);
|
|
5688
|
+
const density = totalWords > 0 ? Math.round(totalMatches / totalWords * 1e3) / 10 : 0;
|
|
5689
|
+
return { totalWords, totalMatches, density, matches };
|
|
5690
|
+
}
|
|
5634
5691
|
|
|
5635
5692
|
// src/tools/data.ts
|
|
5636
5693
|
var data_exports = {};
|
|
5637
5694
|
__export(data_exports, {
|
|
5638
5695
|
alignMarkdownTables: () => alignMarkdownTables,
|
|
5639
5696
|
analyzeCaptionSpeed: () => analyzeCaptionSpeed,
|
|
5697
|
+
auditMarkdownImageAltText: () => auditMarkdownImageAltText,
|
|
5640
5698
|
calculateMarkdownTaskListProgress: () => calculateMarkdownTaskListProgress,
|
|
5641
5699
|
checkMarkdownInternalLinks: () => checkMarkdownInternalLinks,
|
|
5642
5700
|
convertSubtitles: () => convertSubtitles,
|
|
@@ -7853,6 +7911,90 @@ function summarizeCsvColumnStats(input, options) {
|
|
|
7853
7911
|
});
|
|
7854
7912
|
return { columns, rowCount: parsed.rows.length };
|
|
7855
7913
|
}
|
|
7914
|
+
var MARKDOWN_IMAGE_RE = /!\[([^\]]*)\]\(([^)\s]+)(?:\s+"[^"]*")?\)/g;
|
|
7915
|
+
var MARKDOWN_IMAGE_GENERIC_ALT_WORDS = /* @__PURE__ */ new Set([
|
|
7916
|
+
"image",
|
|
7917
|
+
"picture",
|
|
7918
|
+
"photo",
|
|
7919
|
+
"photograph",
|
|
7920
|
+
"pic",
|
|
7921
|
+
"img",
|
|
7922
|
+
"graphic",
|
|
7923
|
+
"screenshot",
|
|
7924
|
+
"icon",
|
|
7925
|
+
"logo"
|
|
7926
|
+
]);
|
|
7927
|
+
var MARKDOWN_IMAGE_REDUNDANT_PREFIX_RE = /^(image|picture|photo|photograph)\s+of\s+/i;
|
|
7928
|
+
var MARKDOWN_IMAGE_FILENAME_EXT_RE = /\.(png|jpe?g|gif|svg|webp|bmp|avif|tiff?)$/i;
|
|
7929
|
+
function markdownImageBasenameWithoutExt(src) {
|
|
7930
|
+
const withoutQuery = src.split(/[?#]/)[0];
|
|
7931
|
+
const file = withoutQuery.split("/").pop() ?? withoutQuery;
|
|
7932
|
+
return file.replace(MARKDOWN_IMAGE_FILENAME_EXT_RE, "");
|
|
7933
|
+
}
|
|
7934
|
+
function auditMarkdownImageAltText(markdown) {
|
|
7935
|
+
if (typeof markdown !== "string") return { error: "markdown must be a string" };
|
|
7936
|
+
const lines = markdown.replace(/\r\n/g, "\n").split("\n");
|
|
7937
|
+
const images = [];
|
|
7938
|
+
const issues = [];
|
|
7939
|
+
let inFence = false;
|
|
7940
|
+
let fenceMarker = "";
|
|
7941
|
+
lines.forEach((line, idx) => {
|
|
7942
|
+
const fenceMatch = line.match(/^\s*(```+|~~~+)/);
|
|
7943
|
+
if (fenceMatch) {
|
|
7944
|
+
if (!inFence) {
|
|
7945
|
+
inFence = true;
|
|
7946
|
+
fenceMarker = fenceMatch[1][0];
|
|
7947
|
+
} else if (fenceMatch[1][0] === fenceMarker) {
|
|
7948
|
+
inFence = false;
|
|
7949
|
+
}
|
|
7950
|
+
return;
|
|
7951
|
+
}
|
|
7952
|
+
if (inFence) return;
|
|
7953
|
+
const lineNo = idx + 1;
|
|
7954
|
+
MARKDOWN_IMAGE_RE.lastIndex = 0;
|
|
7955
|
+
let match;
|
|
7956
|
+
while ((match = MARKDOWN_IMAGE_RE.exec(line)) !== null) {
|
|
7957
|
+
const alt = match[1].trim();
|
|
7958
|
+
const src = match[2];
|
|
7959
|
+
images.push({ line: lineNo, alt, src });
|
|
7960
|
+
if (alt === "") {
|
|
7961
|
+
issues.push({
|
|
7962
|
+
line: lineNo,
|
|
7963
|
+
type: "empty-alt",
|
|
7964
|
+
src,
|
|
7965
|
+
message: `Image at line ${lineNo} has no alt text (src: ${src}). If this image is purely decorative, an intentionally empty alt is fine; otherwise it needs a description.`
|
|
7966
|
+
});
|
|
7967
|
+
continue;
|
|
7968
|
+
}
|
|
7969
|
+
if (MARKDOWN_IMAGE_GENERIC_ALT_WORDS.has(alt.toLowerCase())) {
|
|
7970
|
+
issues.push({
|
|
7971
|
+
line: lineNo,
|
|
7972
|
+
type: "generic-alt",
|
|
7973
|
+
src,
|
|
7974
|
+
message: `Alt text "${alt}" at line ${lineNo} is a generic placeholder and doesn't describe the image's content.`
|
|
7975
|
+
});
|
|
7976
|
+
}
|
|
7977
|
+
if (MARKDOWN_IMAGE_REDUNDANT_PREFIX_RE.test(alt)) {
|
|
7978
|
+
issues.push({
|
|
7979
|
+
line: lineNo,
|
|
7980
|
+
type: "redundant-prefix",
|
|
7981
|
+
src,
|
|
7982
|
+
message: `Alt text "${alt}" at line ${lineNo} starts with a redundant prefix; screen readers already announce images, so "${alt.replace(MARKDOWN_IMAGE_REDUNDANT_PREFIX_RE, "")}" reads better.`
|
|
7983
|
+
});
|
|
7984
|
+
}
|
|
7985
|
+
const baseName = markdownImageBasenameWithoutExt(src);
|
|
7986
|
+
if (MARKDOWN_IMAGE_FILENAME_EXT_RE.test(alt) || baseName !== "" && alt.toLowerCase() === baseName.toLowerCase()) {
|
|
7987
|
+
issues.push({
|
|
7988
|
+
line: lineNo,
|
|
7989
|
+
type: "filename-as-alt",
|
|
7990
|
+
src,
|
|
7991
|
+
message: `Alt text "${alt}" at line ${lineNo} looks like the image's own filename rather than a description.`
|
|
7992
|
+
});
|
|
7993
|
+
}
|
|
7994
|
+
}
|
|
7995
|
+
});
|
|
7996
|
+
return { images, issues, imageCount: images.length };
|
|
7997
|
+
}
|
|
7856
7998
|
|
|
7857
7999
|
// src/tools/generators.ts
|
|
7858
8000
|
var generators_exports = {};
|
|
@@ -9348,6 +9490,7 @@ __export(units_exports, {
|
|
|
9348
9490
|
calculateMovingAverages: () => calculateMovingAverages,
|
|
9349
9491
|
calculatePaybackPeriod: () => calculatePaybackPeriod,
|
|
9350
9492
|
calculatePercentageChange: () => calculatePercentageChange,
|
|
9493
|
+
calculatePositionSize: () => calculatePositionSize,
|
|
9351
9494
|
calculateRealRateOfReturn: () => calculateRealRateOfReturn,
|
|
9352
9495
|
calculateRequiredBandwidth: () => calculateRequiredBandwidth,
|
|
9353
9496
|
calculateRoi: () => calculateRoi,
|
|
@@ -9418,6 +9561,7 @@ __export(units_exports, {
|
|
|
9418
9561
|
validateIban: () => validateIban,
|
|
9419
9562
|
validateIsbn: () => validateIsbn,
|
|
9420
9563
|
validateIsin: () => validateIsin,
|
|
9564
|
+
validateRoutingNumber: () => validateRoutingNumber,
|
|
9421
9565
|
validateVin: () => validateVin,
|
|
9422
9566
|
viewportToPx: () => viewportToPx
|
|
9423
9567
|
});
|
|
@@ -12519,6 +12663,91 @@ function estimateAudioFileSize(input) {
|
|
|
12519
12663
|
}
|
|
12520
12664
|
return { error: 'mode must be "pcm" or "compressed"' };
|
|
12521
12665
|
}
|
|
12666
|
+
var ABA_FEDERAL_RESERVE_BANKS = {
|
|
12667
|
+
1: "Boston",
|
|
12668
|
+
2: "New York",
|
|
12669
|
+
3: "Philadelphia",
|
|
12670
|
+
4: "Cleveland",
|
|
12671
|
+
5: "Richmond",
|
|
12672
|
+
6: "Atlanta",
|
|
12673
|
+
7: "Chicago",
|
|
12674
|
+
8: "St. Louis",
|
|
12675
|
+
9: "Minneapolis",
|
|
12676
|
+
10: "Kansas City",
|
|
12677
|
+
11: "Dallas",
|
|
12678
|
+
12: "San Francisco"
|
|
12679
|
+
};
|
|
12680
|
+
function abaDistrictAndType(prefix) {
|
|
12681
|
+
if (prefix >= 1 && prefix <= 12) {
|
|
12682
|
+
return { type: "primary", district: { code: prefix, bank: ABA_FEDERAL_RESERVE_BANKS[prefix] } };
|
|
12683
|
+
}
|
|
12684
|
+
if (prefix >= 21 && prefix <= 32) {
|
|
12685
|
+
const code = prefix - 20;
|
|
12686
|
+
return { type: "thrift", district: { code, bank: ABA_FEDERAL_RESERVE_BANKS[code] } };
|
|
12687
|
+
}
|
|
12688
|
+
if (prefix >= 61 && prefix <= 72) {
|
|
12689
|
+
const code = prefix - 60;
|
|
12690
|
+
return { type: "electronic", district: { code, bank: ABA_FEDERAL_RESERVE_BANKS[code] } };
|
|
12691
|
+
}
|
|
12692
|
+
if (prefix === 80) {
|
|
12693
|
+
return { type: "traveler-check", district: null };
|
|
12694
|
+
}
|
|
12695
|
+
return { type: "unknown", district: null };
|
|
12696
|
+
}
|
|
12697
|
+
function formatRoutingNumber(digits) {
|
|
12698
|
+
return `${digits.slice(0, 4)} ${digits.slice(4, 8)} ${digits.slice(8)}`;
|
|
12699
|
+
}
|
|
12700
|
+
function validateRoutingNumber(input) {
|
|
12701
|
+
if (!input || !input.trim()) return { error: "Input is empty" };
|
|
12702
|
+
const digits = input.replace(/[\s-]/g, "");
|
|
12703
|
+
if (!/^\d+$/.test(digits)) return { error: "Routing number must contain only digits, spaces, or hyphens" };
|
|
12704
|
+
if (digits.length !== 9) return { error: `Routing number length (${digits.length}) must be exactly 9 digits` };
|
|
12705
|
+
const d = digits.split("").map(Number);
|
|
12706
|
+
const sum = 3 * (d[0] + d[3] + d[6]) + 7 * (d[1] + d[4] + d[7]) + 1 * (d[2] + d[5] + d[8]);
|
|
12707
|
+
const checksumValid = sum % 10 === 0;
|
|
12708
|
+
const prefix = Number(digits.slice(0, 2));
|
|
12709
|
+
const { type, district } = abaDistrictAndType(prefix);
|
|
12710
|
+
return {
|
|
12711
|
+
valid: checksumValid,
|
|
12712
|
+
checksumValid,
|
|
12713
|
+
length: digits.length,
|
|
12714
|
+
formatted: formatRoutingNumber(digits),
|
|
12715
|
+
routingNumberType: type,
|
|
12716
|
+
federalReserveDistrict: district
|
|
12717
|
+
};
|
|
12718
|
+
}
|
|
12719
|
+
function calculatePositionSize(input) {
|
|
12720
|
+
const { accountSize, riskPercent, entryPrice, stopLossPrice, targetPrice } = input;
|
|
12721
|
+
if (!(accountSize > 0)) return { error: "accountSize must be greater than 0" };
|
|
12722
|
+
if (!(riskPercent > 0) || riskPercent > 100) return { error: "riskPercent must be greater than 0 and at most 100" };
|
|
12723
|
+
if (!(entryPrice > 0)) return { error: "entryPrice must be greater than 0" };
|
|
12724
|
+
if (!(stopLossPrice > 0)) return { error: "stopLossPrice must be greater than 0" };
|
|
12725
|
+
if (entryPrice === stopLossPrice) return { error: "entryPrice and stopLossPrice must differ" };
|
|
12726
|
+
if (targetPrice !== void 0 && !(targetPrice > 0)) return { error: "targetPrice must be greater than 0" };
|
|
12727
|
+
const direction = stopLossPrice < entryPrice ? "long" : "short";
|
|
12728
|
+
const riskAmount = accountSize * (riskPercent / 100);
|
|
12729
|
+
const perUnitRisk = Math.abs(entryPrice - stopLossPrice);
|
|
12730
|
+
const positionSizeUnits = Math.floor(riskAmount / perUnitRisk);
|
|
12731
|
+
const positionValue = positionSizeUnits * entryPrice;
|
|
12732
|
+
const dollarRisk = positionSizeUnits * perUnitRisk;
|
|
12733
|
+
let riskRewardRatio = null;
|
|
12734
|
+
let targetOnCorrectSide = null;
|
|
12735
|
+
if (targetPrice !== void 0) {
|
|
12736
|
+
const reward = Math.abs(targetPrice - entryPrice);
|
|
12737
|
+
riskRewardRatio = Math.round(reward / perUnitRisk * 100) / 100;
|
|
12738
|
+
targetOnCorrectSide = direction === "long" ? targetPrice > entryPrice : targetPrice < entryPrice;
|
|
12739
|
+
}
|
|
12740
|
+
return {
|
|
12741
|
+
direction,
|
|
12742
|
+
riskAmount: Math.round(riskAmount * 100) / 100,
|
|
12743
|
+
perUnitRisk: Math.round(perUnitRisk * 1e4) / 1e4,
|
|
12744
|
+
positionSizeUnits,
|
|
12745
|
+
positionValue: Math.round(positionValue * 100) / 100,
|
|
12746
|
+
dollarRisk: Math.round(dollarRisk * 100) / 100,
|
|
12747
|
+
riskRewardRatio,
|
|
12748
|
+
targetOnCorrectSide
|
|
12749
|
+
};
|
|
12750
|
+
}
|
|
12522
12751
|
|
|
12523
12752
|
// src/tools/network.ts
|
|
12524
12753
|
var network_exports = {};
|
package/dist/index.d.cts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export { j as json } from './json-Ca6gZCNB.cjs';
|
|
2
2
|
export { e as encoding } from './encoding-Dk3wpmb3.cjs';
|
|
3
3
|
export { h as hashing } from './hashing-CJjlvqS_.cjs';
|
|
4
|
-
export { t as text } from './text-
|
|
5
|
-
export { d as data } from './data-
|
|
4
|
+
export { t as text } from './text-DFCNpyvH.cjs';
|
|
5
|
+
export { d as data } from './data-Dg5dEwWl.cjs';
|
|
6
6
|
export { g as generators } from './generators-DAXXrMvG.cjs';
|
|
7
7
|
export { t as time } from './time-VMAy_SrV.cjs';
|
|
8
|
-
export { u as units } from './units-
|
|
8
|
+
export { u as units } from './units-7rkeDBbW.cjs';
|
|
9
9
|
export { n as network } from './network-B6fQrsCc.cjs';
|
|
10
10
|
export { a as api } from './api-CQnIUrVB.cjs';
|
|
11
11
|
export { c as code } from './code-CZHElFHu.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export { j as json } from './json-Ca6gZCNB.js';
|
|
2
2
|
export { e as encoding } from './encoding-Dk3wpmb3.js';
|
|
3
3
|
export { h as hashing } from './hashing-CJjlvqS_.js';
|
|
4
|
-
export { t as text } from './text-
|
|
5
|
-
export { d as data } from './data-
|
|
4
|
+
export { t as text } from './text-DFCNpyvH.js';
|
|
5
|
+
export { d as data } from './data-Dg5dEwWl.js';
|
|
6
6
|
export { g as generators } from './generators-DAXXrMvG.js';
|
|
7
7
|
export { t as time } from './time-VMAy_SrV.js';
|
|
8
|
-
export { u as units } from './units-
|
|
8
|
+
export { u as units } from './units-7rkeDBbW.js';
|
|
9
9
|
export { n as network } from './network-B6fQrsCc.js';
|
|
10
10
|
export { a as api } from './api-CQnIUrVB.js';
|
|
11
11
|
export { c as code } from './code-CZHElFHu.js';
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { media_exports as media } from './chunk-YSS4VVZU.js';
|
|
2
|
-
export { units_exports as units } from './chunk-
|
|
2
|
+
export { units_exports as units } from './chunk-NFTUG3XP.js';
|
|
3
3
|
export { network_exports as network } from './chunk-K242OOF4.js';
|
|
4
4
|
export { api_exports as api } from './chunk-U2HREMZU.js';
|
|
5
5
|
export { code_exports as code } from './chunk-KRPIOHJ4.js';
|
|
@@ -10,8 +10,8 @@ export { ai_agent_exports as ai_agent } from './chunk-5VVC7BHS.js';
|
|
|
10
10
|
export { json_exports as json } from './chunk-WUOZHCIC.js';
|
|
11
11
|
export { encoding_exports as encoding } from './chunk-DOWQZUTP.js';
|
|
12
12
|
export { hashing_exports as hashing } from './chunk-PET2CGTH.js';
|
|
13
|
-
export { text_exports as text } from './chunk-
|
|
14
|
-
export { data_exports as data } from './chunk-
|
|
13
|
+
export { text_exports as text } from './chunk-2YWKRNDM.js';
|
|
14
|
+
export { data_exports as data } from './chunk-NTHUTIZH.js';
|
|
15
15
|
export { generators_exports as generators } from './chunk-422ICOZX.js';
|
|
16
16
|
export { time_exports as time } from './chunk-6EJVNQSY.js';
|
|
17
17
|
import './chunk-MLKGABMK.js';
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
* - emoji-lookup : searchEmoji, getEmojiByShortcode, getEmojiByChar, getEmojiByCategory, getEmojiCategories, EMOJI_TABLE
|
|
28
28
|
* - em-dash-usage-checker: checkDashUsage
|
|
29
29
|
* - acronym-expansion-checker: checkAcronymExpansion
|
|
30
|
+
* - weasel-word-detector: detectWeaselWords
|
|
30
31
|
*/
|
|
31
32
|
interface WordCountResult {
|
|
32
33
|
words: number;
|
|
@@ -517,6 +518,26 @@ interface AcronymCheckResult {
|
|
|
517
518
|
* like "APIs" can be missed or misread.
|
|
518
519
|
*/
|
|
519
520
|
declare function checkAcronymExpansion(text: string): AcronymCheckResult;
|
|
521
|
+
interface WeaselWordMatch {
|
|
522
|
+
phrase: string;
|
|
523
|
+
count: number;
|
|
524
|
+
indices: number[];
|
|
525
|
+
}
|
|
526
|
+
interface WeaselWordResult {
|
|
527
|
+
totalWords: number;
|
|
528
|
+
totalMatches: number;
|
|
529
|
+
density: number;
|
|
530
|
+
matches: WeaselWordMatch[];
|
|
531
|
+
}
|
|
532
|
+
/**
|
|
533
|
+
* Scan text for weasel words: vague hedging phrases that imply evidence
|
|
534
|
+
* or consensus without naming a checkable source ("studies show", "many
|
|
535
|
+
* experts believe", "it is widely known"). Dictionary-based heuristic
|
|
536
|
+
* over a curated phrase list, same shape as detectFillerWords: a flagged
|
|
537
|
+
* phrase is a candidate to replace with a named source or cut, not
|
|
538
|
+
* always wrong in context.
|
|
539
|
+
*/
|
|
540
|
+
declare function detectWeaselWords(text: string): WeaselWordResult;
|
|
520
541
|
|
|
521
542
|
type text_AcronymCheckResult = AcronymCheckResult;
|
|
522
543
|
type text_AcronymIssue = AcronymIssue;
|
|
@@ -570,6 +591,8 @@ type text_StringDistanceMode = StringDistanceMode;
|
|
|
570
591
|
type text_StringDistanceResult = StringDistanceResult;
|
|
571
592
|
type text_TableOptions = TableOptions;
|
|
572
593
|
type text_TextAnalysis = TextAnalysis;
|
|
594
|
+
type text_WeaselWordMatch = WeaselWordMatch;
|
|
595
|
+
type text_WeaselWordResult = WeaselWordResult;
|
|
573
596
|
type text_WordCountResult = WordCountResult;
|
|
574
597
|
type text_WordyPhraseMatch = WordyPhraseMatch;
|
|
575
598
|
type text_WordyPhraseResult = WordyPhraseResult;
|
|
@@ -592,6 +615,7 @@ declare const text_csvToMarkdown: typeof csvToMarkdown;
|
|
|
592
615
|
declare const text_detectDelimiter: typeof detectDelimiter;
|
|
593
616
|
declare const text_detectFillerWords: typeof detectFillerWords;
|
|
594
617
|
declare const text_detectPassiveVoice: typeof detectPassiveVoice;
|
|
618
|
+
declare const text_detectWeaselWords: typeof detectWeaselWords;
|
|
595
619
|
declare const text_detectWordyPhrases: typeof detectWordyPhrases;
|
|
596
620
|
declare const text_diffLines: typeof diffLines;
|
|
597
621
|
declare const text_diffLinesSimple: typeof diffLinesSimple;
|
|
@@ -638,7 +662,7 @@ declare const text_textToMorse: typeof textToMorse;
|
|
|
638
662
|
declare const text_unescapeString: typeof unescapeString;
|
|
639
663
|
declare const text_wordFrequency: typeof wordFrequency;
|
|
640
664
|
declare namespace text {
|
|
641
|
-
export { type text_AcronymCheckResult as AcronymCheckResult, type text_AcronymIssue as AcronymIssue, type text_AcronymIssueType as AcronymIssueType, type text_AcronymUsage as AcronymUsage, type text_AsciiFont as AsciiFont, type text_AsciiOptions as AsciiOptions, text_CASE_FORMATS as CASE_FORMATS, type text_CaseFormat as CaseFormat, type text_ConvertOptions as ConvertOptions, text_DEFAULT_CONVERT_OPTIONS as DEFAULT_CONVERT_OPTIONS, type text_DashIssue as DashIssue, type text_DashIssueType as DashIssueType, type text_DashUsageResult as DashUsageResult, type text_DiffFile as DiffFile, type text_DiffHunk as DiffHunk, type text_DiffLine as DiffLine, type text_DiffResult as DiffResult, type text_DiffType as DiffType, type text_DiffViewerLine as DiffViewerLine, text_EMOJI_TABLE as EMOJI_TABLE, text_ESCAPE_MODES as ESCAPE_MODES, type text_EmojiEntry as EmojiEntry, type text_EscapeMode as EscapeMode, type text_FillerCategory as FillerCategory, type text_FillerMatch as FillerMatch, type text_FillerWordResult as FillerWordResult, type text_KeywordDensityEntry as KeywordDensityEntry, type text_KeywordDensityOptions as KeywordDensityOptions, type text_KeywordDensityResult as KeywordDensityResult, text_LINE_OPS as LINE_OPS, type text_LineOp as LineOp, type text_LineType as LineType, type text_LoremUnit as LoremUnit, text_MORSE_CODE as MORSE_CODE, type text_MarkdownResult as MarkdownResult, type text_MorseOptions as MorseOptions, type text_OxfordCommaInstance as OxfordCommaInstance, type text_OxfordCommaResult as OxfordCommaResult, type text_ParsedDiff as ParsedDiff, type text_ParsedTable as ParsedTable, type text_PassiveVoiceMatch as PassiveVoiceMatch, type text_PassiveVoiceResult as PassiveVoiceResult, type text_PassiveVoiceSentence as PassiveVoiceSentence, type text_ReadabilityResult as ReadabilityResult, type text_ReadabilityScore as ReadabilityScore, type text_SentenceLengthBucket as SentenceLengthBucket, type text_SentenceLengthDistribution as SentenceLengthDistribution, type text_SlugSeparator as SlugSeparator, type text_StringDistanceMode as StringDistanceMode, type text_StringDistanceResult as StringDistanceResult, type text_TableOptions as TableOptions, type text_TextAnalysis as TextAnalysis, type text_WordCountResult as WordCountResult, type text_WordyPhraseMatch as WordyPhraseMatch, type text_WordyPhraseResult as WordyPhraseResult, text_addBorder as addBorder, text_analyzeKeywordDensity as analyzeKeywordDensity, text_analyzeSentenceLengths as analyzeSentenceLengths, text_analyzeText as analyzeText, text_applyOp as applyOp, text_applyOps as applyOps, text_calculateStringDistance as calculateStringDistance, text_centerText as centerText, text_checkAcronymExpansion as checkAcronymExpansion, text_checkDashUsage as checkDashUsage, text_checkOxfordCommaConsistency as checkOxfordCommaConsistency, text_convertAll as convertAll, text_convertCase as convertCase, text_countWords as countWords, text_csvToHtml as csvToHtml, text_csvToMarkdown as csvToMarkdown, text_detectDelimiter as detectDelimiter, text_detectFillerWords as detectFillerWords, text_detectPassiveVoice as detectPassiveVoice, text_detectWordyPhrases as detectWordyPhrases, text_diffLines as diffLines, text_diffLinesSimple as diffLinesSimple, text_diffStats as diffStats, text_escapeAll as escapeAll, text_escapeString as escapeString, text_extractHeadings as extractHeadings, text_formatReadingTime as formatReadingTime, text_generate as generate, text_generateDiff as generateDiff, text_generateHtmlTable as generateHtmlTable, text_generateMarkdownTable as generateMarkdownTable, text_generateParagraphs as generateParagraphs, text_generateSentences as generateSentences, text_generateWords as generateWords, text_getAvailableFonts as getAvailableFonts, text_getEmojiByCategory as getEmojiByCategory, text_getEmojiByChar as getEmojiByChar, text_getEmojiByShortcode as getEmojiByShortcode, text_getEmojiCategories as getEmojiCategories, text_getMorseForChar as getMorseForChar, text_getMorseTiming as getMorseTiming, text_htmlToMarkdown as htmlToMarkdown, text_isValidMorse as isValidMorse, text_markdownToHtml as markdownToHtml, text_morseToText as morseToText, text_numberToOrdinal as numberToOrdinal, text_numberToRoman as numberToRoman, text_numberToWords as numberToWords, text_ordinalWords as ordinalWords, text_parseDiff as parseDiff, text_parseTableData as parseTableData, text_readabilityScore as readabilityScore, text_renderMarkdown as renderMarkdown, text_romanToNumber as romanToNumber, text_scoreReadability as scoreReadability, text_searchEmoji as searchEmoji, text_sentenceCount as sentenceCount, text_slugify as slugify, text_slugifyAll as slugifyAll, text_syllableCount as syllableCount, text_textToAscii as textToAscii, text_textToMorse as textToMorse, text_unescapeString as unescapeString, text_wordFrequency as wordFrequency };
|
|
665
|
+
export { type text_AcronymCheckResult as AcronymCheckResult, type text_AcronymIssue as AcronymIssue, type text_AcronymIssueType as AcronymIssueType, type text_AcronymUsage as AcronymUsage, type text_AsciiFont as AsciiFont, type text_AsciiOptions as AsciiOptions, text_CASE_FORMATS as CASE_FORMATS, type text_CaseFormat as CaseFormat, type text_ConvertOptions as ConvertOptions, text_DEFAULT_CONVERT_OPTIONS as DEFAULT_CONVERT_OPTIONS, type text_DashIssue as DashIssue, type text_DashIssueType as DashIssueType, type text_DashUsageResult as DashUsageResult, type text_DiffFile as DiffFile, type text_DiffHunk as DiffHunk, type text_DiffLine as DiffLine, type text_DiffResult as DiffResult, type text_DiffType as DiffType, type text_DiffViewerLine as DiffViewerLine, text_EMOJI_TABLE as EMOJI_TABLE, text_ESCAPE_MODES as ESCAPE_MODES, type text_EmojiEntry as EmojiEntry, type text_EscapeMode as EscapeMode, type text_FillerCategory as FillerCategory, type text_FillerMatch as FillerMatch, type text_FillerWordResult as FillerWordResult, type text_KeywordDensityEntry as KeywordDensityEntry, type text_KeywordDensityOptions as KeywordDensityOptions, type text_KeywordDensityResult as KeywordDensityResult, text_LINE_OPS as LINE_OPS, type text_LineOp as LineOp, type text_LineType as LineType, type text_LoremUnit as LoremUnit, text_MORSE_CODE as MORSE_CODE, type text_MarkdownResult as MarkdownResult, type text_MorseOptions as MorseOptions, type text_OxfordCommaInstance as OxfordCommaInstance, type text_OxfordCommaResult as OxfordCommaResult, type text_ParsedDiff as ParsedDiff, type text_ParsedTable as ParsedTable, type text_PassiveVoiceMatch as PassiveVoiceMatch, type text_PassiveVoiceResult as PassiveVoiceResult, type text_PassiveVoiceSentence as PassiveVoiceSentence, type text_ReadabilityResult as ReadabilityResult, type text_ReadabilityScore as ReadabilityScore, type text_SentenceLengthBucket as SentenceLengthBucket, type text_SentenceLengthDistribution as SentenceLengthDistribution, type text_SlugSeparator as SlugSeparator, type text_StringDistanceMode as StringDistanceMode, type text_StringDistanceResult as StringDistanceResult, type text_TableOptions as TableOptions, type text_TextAnalysis as TextAnalysis, type text_WeaselWordMatch as WeaselWordMatch, type text_WeaselWordResult as WeaselWordResult, type text_WordCountResult as WordCountResult, type text_WordyPhraseMatch as WordyPhraseMatch, type text_WordyPhraseResult as WordyPhraseResult, text_addBorder as addBorder, text_analyzeKeywordDensity as analyzeKeywordDensity, text_analyzeSentenceLengths as analyzeSentenceLengths, text_analyzeText as analyzeText, text_applyOp as applyOp, text_applyOps as applyOps, text_calculateStringDistance as calculateStringDistance, text_centerText as centerText, text_checkAcronymExpansion as checkAcronymExpansion, text_checkDashUsage as checkDashUsage, text_checkOxfordCommaConsistency as checkOxfordCommaConsistency, text_convertAll as convertAll, text_convertCase as convertCase, text_countWords as countWords, text_csvToHtml as csvToHtml, text_csvToMarkdown as csvToMarkdown, text_detectDelimiter as detectDelimiter, text_detectFillerWords as detectFillerWords, text_detectPassiveVoice as detectPassiveVoice, text_detectWeaselWords as detectWeaselWords, text_detectWordyPhrases as detectWordyPhrases, text_diffLines as diffLines, text_diffLinesSimple as diffLinesSimple, text_diffStats as diffStats, text_escapeAll as escapeAll, text_escapeString as escapeString, text_extractHeadings as extractHeadings, text_formatReadingTime as formatReadingTime, text_generate as generate, text_generateDiff as generateDiff, text_generateHtmlTable as generateHtmlTable, text_generateMarkdownTable as generateMarkdownTable, text_generateParagraphs as generateParagraphs, text_generateSentences as generateSentences, text_generateWords as generateWords, text_getAvailableFonts as getAvailableFonts, text_getEmojiByCategory as getEmojiByCategory, text_getEmojiByChar as getEmojiByChar, text_getEmojiByShortcode as getEmojiByShortcode, text_getEmojiCategories as getEmojiCategories, text_getMorseForChar as getMorseForChar, text_getMorseTiming as getMorseTiming, text_htmlToMarkdown as htmlToMarkdown, text_isValidMorse as isValidMorse, text_markdownToHtml as markdownToHtml, text_morseToText as morseToText, text_numberToOrdinal as numberToOrdinal, text_numberToRoman as numberToRoman, text_numberToWords as numberToWords, text_ordinalWords as ordinalWords, text_parseDiff as parseDiff, text_parseTableData as parseTableData, text_readabilityScore as readabilityScore, text_renderMarkdown as renderMarkdown, text_romanToNumber as romanToNumber, text_scoreReadability as scoreReadability, text_searchEmoji as searchEmoji, text_sentenceCount as sentenceCount, text_slugify as slugify, text_slugifyAll as slugifyAll, text_syllableCount as syllableCount, text_textToAscii as textToAscii, text_textToMorse as textToMorse, text_unescapeString as unescapeString, text_wordFrequency as wordFrequency };
|
|
642
666
|
}
|
|
643
667
|
|
|
644
|
-
export { type
|
|
668
|
+
export { type WeaselWordMatch as $, type AcronymCheckResult as A, type LoremUnit as B, CASE_FORMATS as C, DEFAULT_CONVERT_OPTIONS as D, EMOJI_TABLE as E, type FillerCategory as F, type MarkdownResult as G, type MorseOptions as H, type OxfordCommaResult as I, type ParsedTable as J, type KeywordDensityEntry as K, LINE_OPS as L, MORSE_CODE as M, type PassiveVoiceMatch as N, type OxfordCommaInstance as O, type ParsedDiff as P, type PassiveVoiceResult as Q, type PassiveVoiceSentence as R, type ReadabilityResult as S, type ReadabilityScore as T, type SentenceLengthBucket as U, type SentenceLengthDistribution as V, type SlugSeparator as W, type StringDistanceMode as X, type StringDistanceResult as Y, type TableOptions as Z, type TextAnalysis as _, type AcronymIssue as a, slugifyAll as a$, type WeaselWordResult as a0, type WordCountResult as a1, type WordyPhraseMatch as a2, type WordyPhraseResult as a3, addBorder as a4, analyzeKeywordDensity as a5, analyzeSentenceLengths as a6, analyzeText as a7, applyOp as a8, applyOps as a9, generateParagraphs as aA, generateSentences as aB, generateWords as aC, getAvailableFonts as aD, getEmojiByCategory as aE, getEmojiByChar as aF, getEmojiByShortcode as aG, getEmojiCategories as aH, getMorseForChar as aI, getMorseTiming as aJ, htmlToMarkdown as aK, isValidMorse as aL, markdownToHtml as aM, morseToText as aN, numberToOrdinal as aO, numberToRoman as aP, numberToWords as aQ, ordinalWords as aR, parseDiff as aS, parseTableData as aT, readabilityScore as aU, renderMarkdown as aV, romanToNumber as aW, scoreReadability as aX, searchEmoji as aY, sentenceCount as aZ, slugify as a_, calculateStringDistance as aa, centerText as ab, checkAcronymExpansion as ac, checkDashUsage as ad, checkOxfordCommaConsistency as ae, convertAll as af, convertCase as ag, countWords as ah, csvToHtml as ai, csvToMarkdown as aj, detectDelimiter as ak, detectFillerWords as al, detectPassiveVoice as am, detectWeaselWords as an, detectWordyPhrases as ao, diffLines as ap, diffLinesSimple as aq, diffStats as ar, escapeAll as as, escapeString as at, extractHeadings as au, formatReadingTime as av, generate as aw, generateDiff as ax, generateHtmlTable as ay, generateMarkdownTable as az, type AcronymIssueType as b, syllableCount as b0, textToAscii as b1, textToMorse as b2, unescapeString as b3, wordFrequency as b4, type AcronymUsage as c, type AsciiFont as d, type AsciiOptions as e, type CaseFormat as f, type ConvertOptions as g, type DashIssue as h, type DashIssueType as i, type DashUsageResult as j, type DiffFile as k, type DiffHunk as l, type DiffLine as m, type DiffResult as n, type DiffType as o, type DiffViewerLine as p, ESCAPE_MODES as q, type EmojiEntry as r, type EscapeMode as s, text as t, type FillerMatch as u, type FillerWordResult as v, type KeywordDensityOptions as w, type KeywordDensityResult as x, type LineOp as y, type LineType as z };
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
* - emoji-lookup : searchEmoji, getEmojiByShortcode, getEmojiByChar, getEmojiByCategory, getEmojiCategories, EMOJI_TABLE
|
|
28
28
|
* - em-dash-usage-checker: checkDashUsage
|
|
29
29
|
* - acronym-expansion-checker: checkAcronymExpansion
|
|
30
|
+
* - weasel-word-detector: detectWeaselWords
|
|
30
31
|
*/
|
|
31
32
|
interface WordCountResult {
|
|
32
33
|
words: number;
|
|
@@ -517,6 +518,26 @@ interface AcronymCheckResult {
|
|
|
517
518
|
* like "APIs" can be missed or misread.
|
|
518
519
|
*/
|
|
519
520
|
declare function checkAcronymExpansion(text: string): AcronymCheckResult;
|
|
521
|
+
interface WeaselWordMatch {
|
|
522
|
+
phrase: string;
|
|
523
|
+
count: number;
|
|
524
|
+
indices: number[];
|
|
525
|
+
}
|
|
526
|
+
interface WeaselWordResult {
|
|
527
|
+
totalWords: number;
|
|
528
|
+
totalMatches: number;
|
|
529
|
+
density: number;
|
|
530
|
+
matches: WeaselWordMatch[];
|
|
531
|
+
}
|
|
532
|
+
/**
|
|
533
|
+
* Scan text for weasel words: vague hedging phrases that imply evidence
|
|
534
|
+
* or consensus without naming a checkable source ("studies show", "many
|
|
535
|
+
* experts believe", "it is widely known"). Dictionary-based heuristic
|
|
536
|
+
* over a curated phrase list, same shape as detectFillerWords: a flagged
|
|
537
|
+
* phrase is a candidate to replace with a named source or cut, not
|
|
538
|
+
* always wrong in context.
|
|
539
|
+
*/
|
|
540
|
+
declare function detectWeaselWords(text: string): WeaselWordResult;
|
|
520
541
|
|
|
521
542
|
type text_AcronymCheckResult = AcronymCheckResult;
|
|
522
543
|
type text_AcronymIssue = AcronymIssue;
|
|
@@ -570,6 +591,8 @@ type text_StringDistanceMode = StringDistanceMode;
|
|
|
570
591
|
type text_StringDistanceResult = StringDistanceResult;
|
|
571
592
|
type text_TableOptions = TableOptions;
|
|
572
593
|
type text_TextAnalysis = TextAnalysis;
|
|
594
|
+
type text_WeaselWordMatch = WeaselWordMatch;
|
|
595
|
+
type text_WeaselWordResult = WeaselWordResult;
|
|
573
596
|
type text_WordCountResult = WordCountResult;
|
|
574
597
|
type text_WordyPhraseMatch = WordyPhraseMatch;
|
|
575
598
|
type text_WordyPhraseResult = WordyPhraseResult;
|
|
@@ -592,6 +615,7 @@ declare const text_csvToMarkdown: typeof csvToMarkdown;
|
|
|
592
615
|
declare const text_detectDelimiter: typeof detectDelimiter;
|
|
593
616
|
declare const text_detectFillerWords: typeof detectFillerWords;
|
|
594
617
|
declare const text_detectPassiveVoice: typeof detectPassiveVoice;
|
|
618
|
+
declare const text_detectWeaselWords: typeof detectWeaselWords;
|
|
595
619
|
declare const text_detectWordyPhrases: typeof detectWordyPhrases;
|
|
596
620
|
declare const text_diffLines: typeof diffLines;
|
|
597
621
|
declare const text_diffLinesSimple: typeof diffLinesSimple;
|
|
@@ -638,7 +662,7 @@ declare const text_textToMorse: typeof textToMorse;
|
|
|
638
662
|
declare const text_unescapeString: typeof unescapeString;
|
|
639
663
|
declare const text_wordFrequency: typeof wordFrequency;
|
|
640
664
|
declare namespace text {
|
|
641
|
-
export { type text_AcronymCheckResult as AcronymCheckResult, type text_AcronymIssue as AcronymIssue, type text_AcronymIssueType as AcronymIssueType, type text_AcronymUsage as AcronymUsage, type text_AsciiFont as AsciiFont, type text_AsciiOptions as AsciiOptions, text_CASE_FORMATS as CASE_FORMATS, type text_CaseFormat as CaseFormat, type text_ConvertOptions as ConvertOptions, text_DEFAULT_CONVERT_OPTIONS as DEFAULT_CONVERT_OPTIONS, type text_DashIssue as DashIssue, type text_DashIssueType as DashIssueType, type text_DashUsageResult as DashUsageResult, type text_DiffFile as DiffFile, type text_DiffHunk as DiffHunk, type text_DiffLine as DiffLine, type text_DiffResult as DiffResult, type text_DiffType as DiffType, type text_DiffViewerLine as DiffViewerLine, text_EMOJI_TABLE as EMOJI_TABLE, text_ESCAPE_MODES as ESCAPE_MODES, type text_EmojiEntry as EmojiEntry, type text_EscapeMode as EscapeMode, type text_FillerCategory as FillerCategory, type text_FillerMatch as FillerMatch, type text_FillerWordResult as FillerWordResult, type text_KeywordDensityEntry as KeywordDensityEntry, type text_KeywordDensityOptions as KeywordDensityOptions, type text_KeywordDensityResult as KeywordDensityResult, text_LINE_OPS as LINE_OPS, type text_LineOp as LineOp, type text_LineType as LineType, type text_LoremUnit as LoremUnit, text_MORSE_CODE as MORSE_CODE, type text_MarkdownResult as MarkdownResult, type text_MorseOptions as MorseOptions, type text_OxfordCommaInstance as OxfordCommaInstance, type text_OxfordCommaResult as OxfordCommaResult, type text_ParsedDiff as ParsedDiff, type text_ParsedTable as ParsedTable, type text_PassiveVoiceMatch as PassiveVoiceMatch, type text_PassiveVoiceResult as PassiveVoiceResult, type text_PassiveVoiceSentence as PassiveVoiceSentence, type text_ReadabilityResult as ReadabilityResult, type text_ReadabilityScore as ReadabilityScore, type text_SentenceLengthBucket as SentenceLengthBucket, type text_SentenceLengthDistribution as SentenceLengthDistribution, type text_SlugSeparator as SlugSeparator, type text_StringDistanceMode as StringDistanceMode, type text_StringDistanceResult as StringDistanceResult, type text_TableOptions as TableOptions, type text_TextAnalysis as TextAnalysis, type text_WordCountResult as WordCountResult, type text_WordyPhraseMatch as WordyPhraseMatch, type text_WordyPhraseResult as WordyPhraseResult, text_addBorder as addBorder, text_analyzeKeywordDensity as analyzeKeywordDensity, text_analyzeSentenceLengths as analyzeSentenceLengths, text_analyzeText as analyzeText, text_applyOp as applyOp, text_applyOps as applyOps, text_calculateStringDistance as calculateStringDistance, text_centerText as centerText, text_checkAcronymExpansion as checkAcronymExpansion, text_checkDashUsage as checkDashUsage, text_checkOxfordCommaConsistency as checkOxfordCommaConsistency, text_convertAll as convertAll, text_convertCase as convertCase, text_countWords as countWords, text_csvToHtml as csvToHtml, text_csvToMarkdown as csvToMarkdown, text_detectDelimiter as detectDelimiter, text_detectFillerWords as detectFillerWords, text_detectPassiveVoice as detectPassiveVoice, text_detectWordyPhrases as detectWordyPhrases, text_diffLines as diffLines, text_diffLinesSimple as diffLinesSimple, text_diffStats as diffStats, text_escapeAll as escapeAll, text_escapeString as escapeString, text_extractHeadings as extractHeadings, text_formatReadingTime as formatReadingTime, text_generate as generate, text_generateDiff as generateDiff, text_generateHtmlTable as generateHtmlTable, text_generateMarkdownTable as generateMarkdownTable, text_generateParagraphs as generateParagraphs, text_generateSentences as generateSentences, text_generateWords as generateWords, text_getAvailableFonts as getAvailableFonts, text_getEmojiByCategory as getEmojiByCategory, text_getEmojiByChar as getEmojiByChar, text_getEmojiByShortcode as getEmojiByShortcode, text_getEmojiCategories as getEmojiCategories, text_getMorseForChar as getMorseForChar, text_getMorseTiming as getMorseTiming, text_htmlToMarkdown as htmlToMarkdown, text_isValidMorse as isValidMorse, text_markdownToHtml as markdownToHtml, text_morseToText as morseToText, text_numberToOrdinal as numberToOrdinal, text_numberToRoman as numberToRoman, text_numberToWords as numberToWords, text_ordinalWords as ordinalWords, text_parseDiff as parseDiff, text_parseTableData as parseTableData, text_readabilityScore as readabilityScore, text_renderMarkdown as renderMarkdown, text_romanToNumber as romanToNumber, text_scoreReadability as scoreReadability, text_searchEmoji as searchEmoji, text_sentenceCount as sentenceCount, text_slugify as slugify, text_slugifyAll as slugifyAll, text_syllableCount as syllableCount, text_textToAscii as textToAscii, text_textToMorse as textToMorse, text_unescapeString as unescapeString, text_wordFrequency as wordFrequency };
|
|
665
|
+
export { type text_AcronymCheckResult as AcronymCheckResult, type text_AcronymIssue as AcronymIssue, type text_AcronymIssueType as AcronymIssueType, type text_AcronymUsage as AcronymUsage, type text_AsciiFont as AsciiFont, type text_AsciiOptions as AsciiOptions, text_CASE_FORMATS as CASE_FORMATS, type text_CaseFormat as CaseFormat, type text_ConvertOptions as ConvertOptions, text_DEFAULT_CONVERT_OPTIONS as DEFAULT_CONVERT_OPTIONS, type text_DashIssue as DashIssue, type text_DashIssueType as DashIssueType, type text_DashUsageResult as DashUsageResult, type text_DiffFile as DiffFile, type text_DiffHunk as DiffHunk, type text_DiffLine as DiffLine, type text_DiffResult as DiffResult, type text_DiffType as DiffType, type text_DiffViewerLine as DiffViewerLine, text_EMOJI_TABLE as EMOJI_TABLE, text_ESCAPE_MODES as ESCAPE_MODES, type text_EmojiEntry as EmojiEntry, type text_EscapeMode as EscapeMode, type text_FillerCategory as FillerCategory, type text_FillerMatch as FillerMatch, type text_FillerWordResult as FillerWordResult, type text_KeywordDensityEntry as KeywordDensityEntry, type text_KeywordDensityOptions as KeywordDensityOptions, type text_KeywordDensityResult as KeywordDensityResult, text_LINE_OPS as LINE_OPS, type text_LineOp as LineOp, type text_LineType as LineType, type text_LoremUnit as LoremUnit, text_MORSE_CODE as MORSE_CODE, type text_MarkdownResult as MarkdownResult, type text_MorseOptions as MorseOptions, type text_OxfordCommaInstance as OxfordCommaInstance, type text_OxfordCommaResult as OxfordCommaResult, type text_ParsedDiff as ParsedDiff, type text_ParsedTable as ParsedTable, type text_PassiveVoiceMatch as PassiveVoiceMatch, type text_PassiveVoiceResult as PassiveVoiceResult, type text_PassiveVoiceSentence as PassiveVoiceSentence, type text_ReadabilityResult as ReadabilityResult, type text_ReadabilityScore as ReadabilityScore, type text_SentenceLengthBucket as SentenceLengthBucket, type text_SentenceLengthDistribution as SentenceLengthDistribution, type text_SlugSeparator as SlugSeparator, type text_StringDistanceMode as StringDistanceMode, type text_StringDistanceResult as StringDistanceResult, type text_TableOptions as TableOptions, type text_TextAnalysis as TextAnalysis, type text_WeaselWordMatch as WeaselWordMatch, type text_WeaselWordResult as WeaselWordResult, type text_WordCountResult as WordCountResult, type text_WordyPhraseMatch as WordyPhraseMatch, type text_WordyPhraseResult as WordyPhraseResult, text_addBorder as addBorder, text_analyzeKeywordDensity as analyzeKeywordDensity, text_analyzeSentenceLengths as analyzeSentenceLengths, text_analyzeText as analyzeText, text_applyOp as applyOp, text_applyOps as applyOps, text_calculateStringDistance as calculateStringDistance, text_centerText as centerText, text_checkAcronymExpansion as checkAcronymExpansion, text_checkDashUsage as checkDashUsage, text_checkOxfordCommaConsistency as checkOxfordCommaConsistency, text_convertAll as convertAll, text_convertCase as convertCase, text_countWords as countWords, text_csvToHtml as csvToHtml, text_csvToMarkdown as csvToMarkdown, text_detectDelimiter as detectDelimiter, text_detectFillerWords as detectFillerWords, text_detectPassiveVoice as detectPassiveVoice, text_detectWeaselWords as detectWeaselWords, text_detectWordyPhrases as detectWordyPhrases, text_diffLines as diffLines, text_diffLinesSimple as diffLinesSimple, text_diffStats as diffStats, text_escapeAll as escapeAll, text_escapeString as escapeString, text_extractHeadings as extractHeadings, text_formatReadingTime as formatReadingTime, text_generate as generate, text_generateDiff as generateDiff, text_generateHtmlTable as generateHtmlTable, text_generateMarkdownTable as generateMarkdownTable, text_generateParagraphs as generateParagraphs, text_generateSentences as generateSentences, text_generateWords as generateWords, text_getAvailableFonts as getAvailableFonts, text_getEmojiByCategory as getEmojiByCategory, text_getEmojiByChar as getEmojiByChar, text_getEmojiByShortcode as getEmojiByShortcode, text_getEmojiCategories as getEmojiCategories, text_getMorseForChar as getMorseForChar, text_getMorseTiming as getMorseTiming, text_htmlToMarkdown as htmlToMarkdown, text_isValidMorse as isValidMorse, text_markdownToHtml as markdownToHtml, text_morseToText as morseToText, text_numberToOrdinal as numberToOrdinal, text_numberToRoman as numberToRoman, text_numberToWords as numberToWords, text_ordinalWords as ordinalWords, text_parseDiff as parseDiff, text_parseTableData as parseTableData, text_readabilityScore as readabilityScore, text_renderMarkdown as renderMarkdown, text_romanToNumber as romanToNumber, text_scoreReadability as scoreReadability, text_searchEmoji as searchEmoji, text_sentenceCount as sentenceCount, text_slugify as slugify, text_slugifyAll as slugifyAll, text_syllableCount as syllableCount, text_textToAscii as textToAscii, text_textToMorse as textToMorse, text_unescapeString as unescapeString, text_wordFrequency as wordFrequency };
|
|
642
666
|
}
|
|
643
667
|
|
|
644
|
-
export { type
|
|
668
|
+
export { type WeaselWordMatch as $, type AcronymCheckResult as A, type LoremUnit as B, CASE_FORMATS as C, DEFAULT_CONVERT_OPTIONS as D, EMOJI_TABLE as E, type FillerCategory as F, type MarkdownResult as G, type MorseOptions as H, type OxfordCommaResult as I, type ParsedTable as J, type KeywordDensityEntry as K, LINE_OPS as L, MORSE_CODE as M, type PassiveVoiceMatch as N, type OxfordCommaInstance as O, type ParsedDiff as P, type PassiveVoiceResult as Q, type PassiveVoiceSentence as R, type ReadabilityResult as S, type ReadabilityScore as T, type SentenceLengthBucket as U, type SentenceLengthDistribution as V, type SlugSeparator as W, type StringDistanceMode as X, type StringDistanceResult as Y, type TableOptions as Z, type TextAnalysis as _, type AcronymIssue as a, slugifyAll as a$, type WeaselWordResult as a0, type WordCountResult as a1, type WordyPhraseMatch as a2, type WordyPhraseResult as a3, addBorder as a4, analyzeKeywordDensity as a5, analyzeSentenceLengths as a6, analyzeText as a7, applyOp as a8, applyOps as a9, generateParagraphs as aA, generateSentences as aB, generateWords as aC, getAvailableFonts as aD, getEmojiByCategory as aE, getEmojiByChar as aF, getEmojiByShortcode as aG, getEmojiCategories as aH, getMorseForChar as aI, getMorseTiming as aJ, htmlToMarkdown as aK, isValidMorse as aL, markdownToHtml as aM, morseToText as aN, numberToOrdinal as aO, numberToRoman as aP, numberToWords as aQ, ordinalWords as aR, parseDiff as aS, parseTableData as aT, readabilityScore as aU, renderMarkdown as aV, romanToNumber as aW, scoreReadability as aX, searchEmoji as aY, sentenceCount as aZ, slugify as a_, calculateStringDistance as aa, centerText as ab, checkAcronymExpansion as ac, checkDashUsage as ad, checkOxfordCommaConsistency as ae, convertAll as af, convertCase as ag, countWords as ah, csvToHtml as ai, csvToMarkdown as aj, detectDelimiter as ak, detectFillerWords as al, detectPassiveVoice as am, detectWeaselWords as an, detectWordyPhrases as ao, diffLines as ap, diffLinesSimple as aq, diffStats as ar, escapeAll as as, escapeString as at, extractHeadings as au, formatReadingTime as av, generate as aw, generateDiff as ax, generateHtmlTable as ay, generateMarkdownTable as az, type AcronymIssueType as b, syllableCount as b0, textToAscii as b1, textToMorse as b2, unescapeString as b3, wordFrequency as b4, type AcronymUsage as c, type AsciiFont as d, type AsciiOptions as e, type CaseFormat as f, type ConvertOptions as g, type DashIssue as h, type DashIssueType as i, type DashUsageResult as j, type DiffFile as k, type DiffHunk as l, type DiffLine as m, type DiffResult as n, type DiffType as o, type DiffViewerLine as p, ESCAPE_MODES as q, type EmojiEntry as r, type EscapeMode as s, text as t, type FillerMatch as u, type FillerWordResult as v, type KeywordDensityOptions as w, type KeywordDensityResult as x, type LineOp as y, type LineType as z };
|
package/dist/tools/data.cjs
CHANGED
|
@@ -2183,9 +2183,94 @@ function summarizeCsvColumnStats(input, options) {
|
|
|
2183
2183
|
});
|
|
2184
2184
|
return { columns, rowCount: parsed.rows.length };
|
|
2185
2185
|
}
|
|
2186
|
+
var MARKDOWN_IMAGE_RE = /!\[([^\]]*)\]\(([^)\s]+)(?:\s+"[^"]*")?\)/g;
|
|
2187
|
+
var MARKDOWN_IMAGE_GENERIC_ALT_WORDS = /* @__PURE__ */ new Set([
|
|
2188
|
+
"image",
|
|
2189
|
+
"picture",
|
|
2190
|
+
"photo",
|
|
2191
|
+
"photograph",
|
|
2192
|
+
"pic",
|
|
2193
|
+
"img",
|
|
2194
|
+
"graphic",
|
|
2195
|
+
"screenshot",
|
|
2196
|
+
"icon",
|
|
2197
|
+
"logo"
|
|
2198
|
+
]);
|
|
2199
|
+
var MARKDOWN_IMAGE_REDUNDANT_PREFIX_RE = /^(image|picture|photo|photograph)\s+of\s+/i;
|
|
2200
|
+
var MARKDOWN_IMAGE_FILENAME_EXT_RE = /\.(png|jpe?g|gif|svg|webp|bmp|avif|tiff?)$/i;
|
|
2201
|
+
function markdownImageBasenameWithoutExt(src) {
|
|
2202
|
+
const withoutQuery = src.split(/[?#]/)[0];
|
|
2203
|
+
const file = withoutQuery.split("/").pop() ?? withoutQuery;
|
|
2204
|
+
return file.replace(MARKDOWN_IMAGE_FILENAME_EXT_RE, "");
|
|
2205
|
+
}
|
|
2206
|
+
function auditMarkdownImageAltText(markdown) {
|
|
2207
|
+
if (typeof markdown !== "string") return { error: "markdown must be a string" };
|
|
2208
|
+
const lines = markdown.replace(/\r\n/g, "\n").split("\n");
|
|
2209
|
+
const images = [];
|
|
2210
|
+
const issues = [];
|
|
2211
|
+
let inFence = false;
|
|
2212
|
+
let fenceMarker = "";
|
|
2213
|
+
lines.forEach((line, idx) => {
|
|
2214
|
+
const fenceMatch = line.match(/^\s*(```+|~~~+)/);
|
|
2215
|
+
if (fenceMatch) {
|
|
2216
|
+
if (!inFence) {
|
|
2217
|
+
inFence = true;
|
|
2218
|
+
fenceMarker = fenceMatch[1][0];
|
|
2219
|
+
} else if (fenceMatch[1][0] === fenceMarker) {
|
|
2220
|
+
inFence = false;
|
|
2221
|
+
}
|
|
2222
|
+
return;
|
|
2223
|
+
}
|
|
2224
|
+
if (inFence) return;
|
|
2225
|
+
const lineNo = idx + 1;
|
|
2226
|
+
MARKDOWN_IMAGE_RE.lastIndex = 0;
|
|
2227
|
+
let match;
|
|
2228
|
+
while ((match = MARKDOWN_IMAGE_RE.exec(line)) !== null) {
|
|
2229
|
+
const alt = match[1].trim();
|
|
2230
|
+
const src = match[2];
|
|
2231
|
+
images.push({ line: lineNo, alt, src });
|
|
2232
|
+
if (alt === "") {
|
|
2233
|
+
issues.push({
|
|
2234
|
+
line: lineNo,
|
|
2235
|
+
type: "empty-alt",
|
|
2236
|
+
src,
|
|
2237
|
+
message: `Image at line ${lineNo} has no alt text (src: ${src}). If this image is purely decorative, an intentionally empty alt is fine; otherwise it needs a description.`
|
|
2238
|
+
});
|
|
2239
|
+
continue;
|
|
2240
|
+
}
|
|
2241
|
+
if (MARKDOWN_IMAGE_GENERIC_ALT_WORDS.has(alt.toLowerCase())) {
|
|
2242
|
+
issues.push({
|
|
2243
|
+
line: lineNo,
|
|
2244
|
+
type: "generic-alt",
|
|
2245
|
+
src,
|
|
2246
|
+
message: `Alt text "${alt}" at line ${lineNo} is a generic placeholder and doesn't describe the image's content.`
|
|
2247
|
+
});
|
|
2248
|
+
}
|
|
2249
|
+
if (MARKDOWN_IMAGE_REDUNDANT_PREFIX_RE.test(alt)) {
|
|
2250
|
+
issues.push({
|
|
2251
|
+
line: lineNo,
|
|
2252
|
+
type: "redundant-prefix",
|
|
2253
|
+
src,
|
|
2254
|
+
message: `Alt text "${alt}" at line ${lineNo} starts with a redundant prefix; screen readers already announce images, so "${alt.replace(MARKDOWN_IMAGE_REDUNDANT_PREFIX_RE, "")}" reads better.`
|
|
2255
|
+
});
|
|
2256
|
+
}
|
|
2257
|
+
const baseName = markdownImageBasenameWithoutExt(src);
|
|
2258
|
+
if (MARKDOWN_IMAGE_FILENAME_EXT_RE.test(alt) || baseName !== "" && alt.toLowerCase() === baseName.toLowerCase()) {
|
|
2259
|
+
issues.push({
|
|
2260
|
+
line: lineNo,
|
|
2261
|
+
type: "filename-as-alt",
|
|
2262
|
+
src,
|
|
2263
|
+
message: `Alt text "${alt}" at line ${lineNo} looks like the image's own filename rather than a description.`
|
|
2264
|
+
});
|
|
2265
|
+
}
|
|
2266
|
+
}
|
|
2267
|
+
});
|
|
2268
|
+
return { images, issues, imageCount: images.length };
|
|
2269
|
+
}
|
|
2186
2270
|
|
|
2187
2271
|
exports.alignMarkdownTables = alignMarkdownTables;
|
|
2188
2272
|
exports.analyzeCaptionSpeed = analyzeCaptionSpeed;
|
|
2273
|
+
exports.auditMarkdownImageAltText = auditMarkdownImageAltText;
|
|
2189
2274
|
exports.calculateMarkdownTaskListProgress = calculateMarkdownTaskListProgress;
|
|
2190
2275
|
exports.checkMarkdownInternalLinks = checkMarkdownInternalLinks;
|
|
2191
2276
|
exports.convertSubtitles = convertSubtitles;
|
package/dist/tools/data.d.cts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { C as CaptionSpeedCue, a as CaptionSpeedResult, b as ConvertedSubtitles, c as CsvColumnMostCommon, e as CsvColumnStats, f as CsvColumnStatsOptions, g as CsvColumnStatsResult, h as CsvColumnType, i as CsvColumnTypeInfo, j as CsvColumnTypeOptions, k as CsvColumnTypeResult, l as CsvDuplicateGroup, m as CsvDuplicateOptions, n as CsvDuplicateResult, o as CsvParseResult, p as CsvToSqlOptions, q as CsvToSqlResult, E as EnvDiffError, r as EnvDiffResult, s as EnvEntry, t as EnvParseResult, F as FrontMatterError, u as FrontMatterResult, H as HeadingEntry, v as HeadingHierarchyResult, w as HeadingIssue, x as HeadingIssueType, I as IniSection, M as MarkdownAnchorHeading, y as MarkdownAnchorLink, z as
|
|
1
|
+
export { C as CaptionSpeedCue, a as CaptionSpeedResult, b as ConvertedSubtitles, c as CsvColumnMostCommon, e as CsvColumnStats, f as CsvColumnStatsOptions, g as CsvColumnStatsResult, h as CsvColumnType, i as CsvColumnTypeInfo, j as CsvColumnTypeOptions, k as CsvColumnTypeResult, l as CsvDuplicateGroup, m as CsvDuplicateOptions, n as CsvDuplicateResult, o as CsvParseResult, p as CsvToSqlOptions, q as CsvToSqlResult, E as EnvDiffError, r as EnvDiffResult, s as EnvEntry, t as EnvParseResult, F as FrontMatterError, u as FrontMatterResult, H as HeadingEntry, v as HeadingHierarchyResult, w as HeadingIssue, x as HeadingIssueType, I as IniSection, M as MarkdownAnchorHeading, y as MarkdownAnchorLink, z as MarkdownImageAltIssue, A as MarkdownImageAltIssueType, B as MarkdownImageAltTextAuditResult, D as MarkdownImageEntry, G as MarkdownInternalLinkCheckResult, J as MarkdownTableAlignResult, K as MarkdownTableColumnAlignment, L as MarkdownTableInfo, N as MarkdownTaskListItem, O as MarkdownTaskListProgressResult, P as MarkdownTaskListSectionSummary, Q as MarkdownTocEntry, R as MarkdownTocOptions, S as MarkdownTocResult, T as NdjsonDedupeResult, U as NdjsonLineResult, V as NdjsonValidateResult, W as ParseOptions, X as ParsedIni, Y as ParsedSubtitles, Z as SubtitleCue, _ as SubtitleFormat, $ as TomlFormatResult, a0 as ValidationResult, a1 as XmlFormatResult, a2 as XmlToJsonOptions, a3 as YamlAnchorInfo, a4 as YamlAnchorResolveError, a5 as YamlAnchorResolveResult, a6 as YamlDuplicateKeyEntry, a7 as YamlDuplicateKeyError, a8 as YamlDuplicateKeyResult, a9 as alignMarkdownTables, aa as analyzeCaptionSpeed, ab as auditMarkdownImageAltText, ac as calculateMarkdownTaskListProgress, ad as checkMarkdownInternalLinks, ae as convertSubtitles, af as csvToJson, ag as csvToSqlInsert, ah as dedupeNdjson, ai as detectDelimiter, aj as detectSubtitleFormat, ak as diffEnvExample, al as envToExport, am as envToJson, an as findCsvDuplicateRows, ao as findYamlDuplicateKeys, ap as formatNdjson, aq as formatSubtitleTimestamp, ar as formatToml, as as formatXml, at as generateMarkdownToc, au as getSection, av as getSectionNames, aw as getTomlStats, ax as getXmlStats, ay as getYamlStats, az as inferCsvColumnTypes, aA as iniToJson, aB as jsonArrayToNdjson, aC as jsonToIni, aD as jsonToToml, aE as jsonToXml, aF as minifyNdjson, aG as minifyToml, aH as minifyXml, aI as ndjsonToCsv, aJ as ndjsonToJsonArray, aK as parseCsv, aL as parseEnv, aM as parseFrontMatter, aN as parseIni, aO as parseSubtitleTimestamp, aP as parseSubtitles, aQ as parseXmlToObject, aR as resolveYamlAnchors, aS as serializeSubtitles, aT as shiftSubtitles, aU as stringifyIni, aV as summarizeCsvColumnStats, aW as toCsvString, aX as tomlToJson, aY as validateEnvKey, aZ as validateIni, a_ as validateMarkdownHeadingHierarchy, a$ as validateNdjson, b0 as validateToml, b1 as validateXml, b2 as validateYaml, b3 as xmlToJson } from '../data-Dg5dEwWl.cjs';
|
package/dist/tools/data.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { C as CaptionSpeedCue, a as CaptionSpeedResult, b as ConvertedSubtitles, c as CsvColumnMostCommon, e as CsvColumnStats, f as CsvColumnStatsOptions, g as CsvColumnStatsResult, h as CsvColumnType, i as CsvColumnTypeInfo, j as CsvColumnTypeOptions, k as CsvColumnTypeResult, l as CsvDuplicateGroup, m as CsvDuplicateOptions, n as CsvDuplicateResult, o as CsvParseResult, p as CsvToSqlOptions, q as CsvToSqlResult, E as EnvDiffError, r as EnvDiffResult, s as EnvEntry, t as EnvParseResult, F as FrontMatterError, u as FrontMatterResult, H as HeadingEntry, v as HeadingHierarchyResult, w as HeadingIssue, x as HeadingIssueType, I as IniSection, M as MarkdownAnchorHeading, y as MarkdownAnchorLink, z as
|
|
1
|
+
export { C as CaptionSpeedCue, a as CaptionSpeedResult, b as ConvertedSubtitles, c as CsvColumnMostCommon, e as CsvColumnStats, f as CsvColumnStatsOptions, g as CsvColumnStatsResult, h as CsvColumnType, i as CsvColumnTypeInfo, j as CsvColumnTypeOptions, k as CsvColumnTypeResult, l as CsvDuplicateGroup, m as CsvDuplicateOptions, n as CsvDuplicateResult, o as CsvParseResult, p as CsvToSqlOptions, q as CsvToSqlResult, E as EnvDiffError, r as EnvDiffResult, s as EnvEntry, t as EnvParseResult, F as FrontMatterError, u as FrontMatterResult, H as HeadingEntry, v as HeadingHierarchyResult, w as HeadingIssue, x as HeadingIssueType, I as IniSection, M as MarkdownAnchorHeading, y as MarkdownAnchorLink, z as MarkdownImageAltIssue, A as MarkdownImageAltIssueType, B as MarkdownImageAltTextAuditResult, D as MarkdownImageEntry, G as MarkdownInternalLinkCheckResult, J as MarkdownTableAlignResult, K as MarkdownTableColumnAlignment, L as MarkdownTableInfo, N as MarkdownTaskListItem, O as MarkdownTaskListProgressResult, P as MarkdownTaskListSectionSummary, Q as MarkdownTocEntry, R as MarkdownTocOptions, S as MarkdownTocResult, T as NdjsonDedupeResult, U as NdjsonLineResult, V as NdjsonValidateResult, W as ParseOptions, X as ParsedIni, Y as ParsedSubtitles, Z as SubtitleCue, _ as SubtitleFormat, $ as TomlFormatResult, a0 as ValidationResult, a1 as XmlFormatResult, a2 as XmlToJsonOptions, a3 as YamlAnchorInfo, a4 as YamlAnchorResolveError, a5 as YamlAnchorResolveResult, a6 as YamlDuplicateKeyEntry, a7 as YamlDuplicateKeyError, a8 as YamlDuplicateKeyResult, a9 as alignMarkdownTables, aa as analyzeCaptionSpeed, ab as auditMarkdownImageAltText, ac as calculateMarkdownTaskListProgress, ad as checkMarkdownInternalLinks, ae as convertSubtitles, af as csvToJson, ag as csvToSqlInsert, ah as dedupeNdjson, ai as detectDelimiter, aj as detectSubtitleFormat, ak as diffEnvExample, al as envToExport, am as envToJson, an as findCsvDuplicateRows, ao as findYamlDuplicateKeys, ap as formatNdjson, aq as formatSubtitleTimestamp, ar as formatToml, as as formatXml, at as generateMarkdownToc, au as getSection, av as getSectionNames, aw as getTomlStats, ax as getXmlStats, ay as getYamlStats, az as inferCsvColumnTypes, aA as iniToJson, aB as jsonArrayToNdjson, aC as jsonToIni, aD as jsonToToml, aE as jsonToXml, aF as minifyNdjson, aG as minifyToml, aH as minifyXml, aI as ndjsonToCsv, aJ as ndjsonToJsonArray, aK as parseCsv, aL as parseEnv, aM as parseFrontMatter, aN as parseIni, aO as parseSubtitleTimestamp, aP as parseSubtitles, aQ as parseXmlToObject, aR as resolveYamlAnchors, aS as serializeSubtitles, aT as shiftSubtitles, aU as stringifyIni, aV as summarizeCsvColumnStats, aW as toCsvString, aX as tomlToJson, aY as validateEnvKey, aZ as validateIni, a_ as validateMarkdownHeadingHierarchy, a$ as validateNdjson, b0 as validateToml, b1 as validateXml, b2 as validateYaml, b3 as xmlToJson } from '../data-Dg5dEwWl.js';
|