@arbidocs/coedit 0.4.123 → 0.4.124
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands.cjs +25 -13
- package/dist/commands.cjs.map +1 -1
- package/dist/commands.d.cts +3 -1
- package/dist/commands.d.ts +3 -1
- package/dist/commands.js +25 -14
- package/dist/commands.js.map +1 -1
- package/package.json +1 -1
package/dist/commands.d.cts
CHANGED
|
@@ -438,6 +438,8 @@ interface TermEverywhereResult {
|
|
|
438
438
|
/** The definition was not in the document and was added to its Definitions section. */
|
|
439
439
|
addedDefinition: boolean;
|
|
440
440
|
}
|
|
441
|
+
/** A term or variant without a leading article ("the Supplier" is the term "Supplier"). */
|
|
442
|
+
declare const withoutArticle: (words: string) => string;
|
|
441
443
|
/**
|
|
442
444
|
* Every use of the term (when linking) and of its variants in `paragraphs`: the ones to change,
|
|
443
445
|
* and the ones left as they are with the reason. `bookmark` is the definition's, which tells an
|
|
@@ -495,4 +497,4 @@ declare function documentReader(view: DocumentTrees): DocumentReader;
|
|
|
495
497
|
/** Read a document from its bytes (a collaboration room's `readRoom`). Throws on a bad package. */
|
|
496
498
|
declare function readDocument(bytes: Uint8Array): DocumentReader;
|
|
497
499
|
|
|
498
|
-
export { AGENT_UNDO_MAP, type BrokenReference, CHARACTER_STYLES, type CrossReference, type CrossReferenceMode, CrossReferenceTarget, DEFINITIONS_HEADING, DEFINITION_BOOKMARK_PREFIX, type DefinitionText, DefinitionsPort, type DefinitionsSection, DocParagraph, DocPoint, DocumentNumbering, type DocumentReader, type DocumentTrees, type InsertTermResult, LevelOf, ListItemInfo, OoxmlNodeLike, type ParagraphState, type ParsedDefinition, REF_BOOKMARK_PREFIX, ReferencesPort, type ReferencesReader, type RefreshResult, type ReplacedSpan, type SectionState, type StaleReference, type TermChange, TermEverywhereError, type TermEverywhereResult, type TermSkip, type TermSkipReason, type TermSpec, type TermUse, type UndoRecord, W_NAMESPACES, addDefinition, applyTermEverywhere, brokenCrossReferences, compareTerms, crossReferenceXml, crossReferences, definitionBookmark, definitionIdOfBookmark, definitionOfAnchor, definitionParagraphText, definitionParagraphXml, definitionTooltip, definitionsById, documentReader, documentReferenceTooltip, documentStyleIds, documentXml, docxPackage, ensureTargetBookmark, esc, fieldNodeIds, findDefinitionsSection, findTermUses, fragmentPackage, headingParagraphXml, hyperlinkRelationship, insertCrossReference, insertCrossReferenceField, insertDefinedTerm, insertDocumentReference, insertionIndex, isDefinitionsTitle, markCrossReferenceTarget, newRefBookmark, paragraphIndex, paragraphRunsXml, paragraphState, parseDefinition, readDocument, refFieldXml, refInstruction, refResult, refTooltip, refreshCrossReferences, replaceSpan, sectionStates, staleCrossReferences, stylesUsed, stylesXml, tableOf, tableState, termKey, termLinkXml, undoOps };
|
|
500
|
+
export { AGENT_UNDO_MAP, type BrokenReference, CHARACTER_STYLES, type CrossReference, type CrossReferenceMode, CrossReferenceTarget, DEFINITIONS_HEADING, DEFINITION_BOOKMARK_PREFIX, type DefinitionText, DefinitionsPort, type DefinitionsSection, DocParagraph, DocPoint, DocumentNumbering, type DocumentReader, type DocumentTrees, type InsertTermResult, LevelOf, ListItemInfo, OoxmlNodeLike, type ParagraphState, type ParsedDefinition, REF_BOOKMARK_PREFIX, ReferencesPort, type ReferencesReader, type RefreshResult, type ReplacedSpan, type SectionState, type StaleReference, type TermChange, TermEverywhereError, type TermEverywhereResult, type TermSkip, type TermSkipReason, type TermSpec, type TermUse, type UndoRecord, W_NAMESPACES, addDefinition, applyTermEverywhere, brokenCrossReferences, compareTerms, crossReferenceXml, crossReferences, definitionBookmark, definitionIdOfBookmark, definitionOfAnchor, definitionParagraphText, definitionParagraphXml, definitionTooltip, definitionsById, documentReader, documentReferenceTooltip, documentStyleIds, documentXml, docxPackage, ensureTargetBookmark, esc, fieldNodeIds, findDefinitionsSection, findTermUses, fragmentPackage, headingParagraphXml, hyperlinkRelationship, insertCrossReference, insertCrossReferenceField, insertDefinedTerm, insertDocumentReference, insertionIndex, isDefinitionsTitle, markCrossReferenceTarget, newRefBookmark, paragraphIndex, paragraphRunsXml, paragraphState, parseDefinition, readDocument, refFieldXml, refInstruction, refResult, refTooltip, refreshCrossReferences, replaceSpan, sectionStates, staleCrossReferences, stylesUsed, stylesXml, tableOf, tableState, termKey, termLinkXml, undoOps, withoutArticle };
|
package/dist/commands.d.ts
CHANGED
|
@@ -438,6 +438,8 @@ interface TermEverywhereResult {
|
|
|
438
438
|
/** The definition was not in the document and was added to its Definitions section. */
|
|
439
439
|
addedDefinition: boolean;
|
|
440
440
|
}
|
|
441
|
+
/** A term or variant without a leading article ("the Supplier" is the term "Supplier"). */
|
|
442
|
+
declare const withoutArticle: (words: string) => string;
|
|
441
443
|
/**
|
|
442
444
|
* Every use of the term (when linking) and of its variants in `paragraphs`: the ones to change,
|
|
443
445
|
* and the ones left as they are with the reason. `bookmark` is the definition's, which tells an
|
|
@@ -495,4 +497,4 @@ declare function documentReader(view: DocumentTrees): DocumentReader;
|
|
|
495
497
|
/** Read a document from its bytes (a collaboration room's `readRoom`). Throws on a bad package. */
|
|
496
498
|
declare function readDocument(bytes: Uint8Array): DocumentReader;
|
|
497
499
|
|
|
498
|
-
export { AGENT_UNDO_MAP, type BrokenReference, CHARACTER_STYLES, type CrossReference, type CrossReferenceMode, CrossReferenceTarget, DEFINITIONS_HEADING, DEFINITION_BOOKMARK_PREFIX, type DefinitionText, DefinitionsPort, type DefinitionsSection, DocParagraph, DocPoint, DocumentNumbering, type DocumentReader, type DocumentTrees, type InsertTermResult, LevelOf, ListItemInfo, OoxmlNodeLike, type ParagraphState, type ParsedDefinition, REF_BOOKMARK_PREFIX, ReferencesPort, type ReferencesReader, type RefreshResult, type ReplacedSpan, type SectionState, type StaleReference, type TermChange, TermEverywhereError, type TermEverywhereResult, type TermSkip, type TermSkipReason, type TermSpec, type TermUse, type UndoRecord, W_NAMESPACES, addDefinition, applyTermEverywhere, brokenCrossReferences, compareTerms, crossReferenceXml, crossReferences, definitionBookmark, definitionIdOfBookmark, definitionOfAnchor, definitionParagraphText, definitionParagraphXml, definitionTooltip, definitionsById, documentReader, documentReferenceTooltip, documentStyleIds, documentXml, docxPackage, ensureTargetBookmark, esc, fieldNodeIds, findDefinitionsSection, findTermUses, fragmentPackage, headingParagraphXml, hyperlinkRelationship, insertCrossReference, insertCrossReferenceField, insertDefinedTerm, insertDocumentReference, insertionIndex, isDefinitionsTitle, markCrossReferenceTarget, newRefBookmark, paragraphIndex, paragraphRunsXml, paragraphState, parseDefinition, readDocument, refFieldXml, refInstruction, refResult, refTooltip, refreshCrossReferences, replaceSpan, sectionStates, staleCrossReferences, stylesUsed, stylesXml, tableOf, tableState, termKey, termLinkXml, undoOps };
|
|
500
|
+
export { AGENT_UNDO_MAP, type BrokenReference, CHARACTER_STYLES, type CrossReference, type CrossReferenceMode, CrossReferenceTarget, DEFINITIONS_HEADING, DEFINITION_BOOKMARK_PREFIX, type DefinitionText, DefinitionsPort, type DefinitionsSection, DocParagraph, DocPoint, DocumentNumbering, type DocumentReader, type DocumentTrees, type InsertTermResult, LevelOf, ListItemInfo, OoxmlNodeLike, type ParagraphState, type ParsedDefinition, REF_BOOKMARK_PREFIX, ReferencesPort, type ReferencesReader, type RefreshResult, type ReplacedSpan, type SectionState, type StaleReference, type TermChange, TermEverywhereError, type TermEverywhereResult, type TermSkip, type TermSkipReason, type TermSpec, type TermUse, type UndoRecord, W_NAMESPACES, addDefinition, applyTermEverywhere, brokenCrossReferences, compareTerms, crossReferenceXml, crossReferences, definitionBookmark, definitionIdOfBookmark, definitionOfAnchor, definitionParagraphText, definitionParagraphXml, definitionTooltip, definitionsById, documentReader, documentReferenceTooltip, documentStyleIds, documentXml, docxPackage, ensureTargetBookmark, esc, fieldNodeIds, findDefinitionsSection, findTermUses, fragmentPackage, headingParagraphXml, hyperlinkRelationship, insertCrossReference, insertCrossReferenceField, insertDefinedTerm, insertDocumentReference, insertionIndex, isDefinitionsTitle, markCrossReferenceTarget, newRefBookmark, paragraphIndex, paragraphRunsXml, paragraphState, parseDefinition, readDocument, refFieldXml, refInstruction, refResult, refTooltip, refreshCrossReferences, replaceSpan, sectionStates, staleCrossReferences, stylesUsed, stylesXml, tableOf, tableState, termKey, termLinkXml, undoOps, withoutArticle };
|
package/dist/commands.js
CHANGED
|
@@ -1169,19 +1169,28 @@ function definitionOfAnchor(anchor, definitions) {
|
|
|
1169
1169
|
// src/commands/everywhere.ts
|
|
1170
1170
|
var WORD = "[\\p{L}\\p{N}_\\-\u2010\u2011]";
|
|
1171
1171
|
var escape = (text) => text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
1172
|
+
var ARTICLE = /^(the|a|an|this|that|such|said)\s+/i;
|
|
1173
|
+
var withoutArticle = (words) => words.replace(/\s+/g, " ").trim().replace(ARTICLE, "");
|
|
1174
|
+
var anyCase = (word) => `[${word[0].toUpperCase()}${word[0].toLowerCase()}]${escape(word.slice(1))}`;
|
|
1172
1175
|
function needlesOf(spec) {
|
|
1173
|
-
const term = spec.term
|
|
1174
|
-
const
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1176
|
+
const term = withoutArticle(spec.term);
|
|
1177
|
+
const seen = /* @__PURE__ */ new Set();
|
|
1178
|
+
const needles = [];
|
|
1179
|
+
for (const raw of spec.variants ?? []) {
|
|
1180
|
+
const words = raw.replace(/\s+/g, " ").trim();
|
|
1181
|
+
const article = ARTICLE.exec(words)?.[1] ?? "";
|
|
1182
|
+
const text = words.slice(article ? ARTICLE.exec(words)[0].length : 0);
|
|
1183
|
+
const key = `${article.toLowerCase()} ${text}`;
|
|
1184
|
+
if (!text || text === term || seen.has(key)) continue;
|
|
1185
|
+
seen.add(key);
|
|
1186
|
+
needles.push({ text, article, kind: "variant" });
|
|
1187
|
+
}
|
|
1188
|
+
if (spec.link) needles.push({ text: term, article: "", kind: "term" });
|
|
1181
1189
|
return needles.map((n) => ({
|
|
1182
|
-
|
|
1190
|
+
text: n.text,
|
|
1191
|
+
kind: n.kind,
|
|
1183
1192
|
pattern: new RegExp(
|
|
1184
|
-
`(?<!${WORD})${n.text.split(" ").map(escape).join("\\s+")}(?!${WORD})`,
|
|
1193
|
+
`(?<!${WORD})(${n.article ? `${anyCase(n.article)}\\s+` : ""})(${n.text.split(" ").map(escape).join("\\s+")})(?!${WORD})`,
|
|
1185
1194
|
"gu"
|
|
1186
1195
|
)
|
|
1187
1196
|
}));
|
|
@@ -1190,7 +1199,7 @@ function matchesIn(text, needles) {
|
|
|
1190
1199
|
const found = [];
|
|
1191
1200
|
for (const needle of needles)
|
|
1192
1201
|
for (const m of text.matchAll(needle.pattern))
|
|
1193
|
-
found.push({ offset: m.index ?? 0, text: m[
|
|
1202
|
+
found.push({ offset: (m.index ?? 0) + m[1].length, text: m[2], kind: needle.kind });
|
|
1194
1203
|
found.sort((a, b) => a.offset - b.offset || b.text.length - a.text.length);
|
|
1195
1204
|
const out = [];
|
|
1196
1205
|
for (const m of found)
|
|
@@ -1201,7 +1210,9 @@ function matchesIn(text, needles) {
|
|
|
1201
1210
|
var overlaps = (start, end, from, to) => start < to && from < end;
|
|
1202
1211
|
function findTermUses(paragraphs, spec, bookmark) {
|
|
1203
1212
|
const needles = needlesOf(spec);
|
|
1204
|
-
const defining = new Set(
|
|
1213
|
+
const defining = new Set(
|
|
1214
|
+
[spec.term, ...spec.variants ?? []].map((w) => termKey(withoutArticle(w)))
|
|
1215
|
+
);
|
|
1205
1216
|
const uses = [];
|
|
1206
1217
|
const skipped = [];
|
|
1207
1218
|
for (const p of paragraphs) {
|
|
@@ -1240,7 +1251,7 @@ var TermEverywhereError = class extends Error {
|
|
|
1240
1251
|
}
|
|
1241
1252
|
};
|
|
1242
1253
|
function applyTermEverywhere(port, spec, { accept } = {}) {
|
|
1243
|
-
const term = spec.term
|
|
1254
|
+
const term = withoutArticle(spec.term);
|
|
1244
1255
|
if (!term) throw new Error("Name the defined term.");
|
|
1245
1256
|
let addedDefinition = false;
|
|
1246
1257
|
let link;
|
|
@@ -1343,6 +1354,6 @@ function readDocument(bytes) {
|
|
|
1343
1354
|
return documentReader(opened.view);
|
|
1344
1355
|
}
|
|
1345
1356
|
|
|
1346
|
-
export { AGENT_UNDO_MAP, BROKEN_CROSS_REFERENCE_STYLE, CHARACTER_STYLES, CROSS_REFERENCE_STYLE, DEFINED_TERM_STYLE, DEFINITIONS_HEADING, DEFINITION_BOOKMARK_PREFIX, FIELD_ATOM, REF_BOOKMARK_PREFIX, TermEverywhereError, WATCHED_STYLES, W_NAMESPACES, addDefinition, applyTermEverywhere, brokenCrossReferences, compareTerms, crossReferenceXml, crossReferences, definitionBookmark, definitionIdOfBookmark, definitionOfAnchor, definitionParagraphText, definitionParagraphXml, definitionTooltip, definitionsById, documentNumbering, documentReader, documentReferenceTooltip, documentStyleIds, documentXml, docxPackage, engineLength, engineOffset, ensureTargetBookmark, esc, fieldNodeIds, filterTargets, findDefinitionsSection, findTermUses, fragmentPackage, headingParagraphXml, hyperlinkRelationship, insertCrossReference, insertCrossReferenceField, insertDefinedTerm, insertDocumentReference, insertionIndex, isDefinitionsTitle, listTargets, markCrossReferenceTarget, newRefBookmark, paragraphIndex, paragraphNumber, paragraphRunsXml, paragraphState, parseDefinition, readDocument, readParagraphs, refFieldXml, refInstruction, refResult, refTooltip, refreshCrossReferences, replaceSpan, sectionStates, staleCrossReferences, styleNames, stylesUsed, stylesXml, tableOf, tableState, termKey, termLinkXml, undoOps };
|
|
1357
|
+
export { AGENT_UNDO_MAP, BROKEN_CROSS_REFERENCE_STYLE, CHARACTER_STYLES, CROSS_REFERENCE_STYLE, DEFINED_TERM_STYLE, DEFINITIONS_HEADING, DEFINITION_BOOKMARK_PREFIX, FIELD_ATOM, REF_BOOKMARK_PREFIX, TermEverywhereError, WATCHED_STYLES, W_NAMESPACES, addDefinition, applyTermEverywhere, brokenCrossReferences, compareTerms, crossReferenceXml, crossReferences, definitionBookmark, definitionIdOfBookmark, definitionOfAnchor, definitionParagraphText, definitionParagraphXml, definitionTooltip, definitionsById, documentNumbering, documentReader, documentReferenceTooltip, documentStyleIds, documentXml, docxPackage, engineLength, engineOffset, ensureTargetBookmark, esc, fieldNodeIds, filterTargets, findDefinitionsSection, findTermUses, fragmentPackage, headingParagraphXml, hyperlinkRelationship, insertCrossReference, insertCrossReferenceField, insertDefinedTerm, insertDocumentReference, insertionIndex, isDefinitionsTitle, listTargets, markCrossReferenceTarget, newRefBookmark, paragraphIndex, paragraphNumber, paragraphRunsXml, paragraphState, parseDefinition, readDocument, readParagraphs, refFieldXml, refInstruction, refResult, refTooltip, refreshCrossReferences, replaceSpan, sectionStates, staleCrossReferences, styleNames, stylesUsed, stylesXml, tableOf, tableState, termKey, termLinkXml, undoOps, withoutArticle };
|
|
1347
1358
|
//# sourceMappingURL=commands.js.map
|
|
1348
1359
|
//# sourceMappingURL=commands.js.map
|