punctilio 4.1.5 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/prose-view.d.ts +27 -0
- package/dist/prose-view.d.ts.map +1 -0
- package/dist/prose-view.js +212 -0
- package/dist/prose-view.js.map +1 -0
- package/dist/rehype.d.ts.map +1 -1
- package/dist/rehype.js +4 -2
- package/dist/rehype.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +8 -0
- package/src/prose-view.ts +281 -0
- package/src/rehype.ts +4 -2
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { type DashStyle } from "./dashes.js";
|
|
|
3
3
|
import { type PunctuationStyle } from "./quotes.js";
|
|
4
4
|
export { DASH_STYLES, type DashOptions, type DashStyle, dashWordJoiner, enDashDateRange, enDashNumberRange, hyphenReplace, minusReplace, numberRangeDisallowedPrefixes, } from "./dashes.js";
|
|
5
5
|
export { HONORIFICS, nbspAfterCopyrightSymbols, nbspAfterHonorifics, nbspAfterReferenceAbbreviations, nbspAfterSectionSymbols, nbspAfterShortWords, nbspBeforeLastWord, nbspBetweenInitials, nbspBetweenNumberAndUnit, type NbspOptions, nbspTransform, REFERENCE_ABBREVIATIONS, UNITS, } from "./nbsp.js";
|
|
6
|
+
export { buildProseView, type ProseNode, type ProseView, replaceAllInView, type ReplaceAllOptions, runLegacyPass, } from "./prose-view.js";
|
|
6
7
|
export { classifyApostrophes, niceQuotes, PUNCTUATION_STYLES, type PunctuationStyle, type QuoteOptions } from "./quotes.js";
|
|
7
8
|
export interface TransformOptions {
|
|
8
9
|
/**
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EACL,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,6BAA6B,GAC9B,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,UAAU,EACV,yBAAyB,EACzB,mBAAmB,EACnB,+BAA+B,EAC/B,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,WAAW,EAChB,aAAa,EACb,uBAAuB,EACvB,KAAK,GACN,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAE3H,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB;;;;;;;;;;;;;;;;;OAiBG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IAEnC;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAE3B;AASD,OAAO,EACL,MAAM,EACN,cAAc,EACd,OAAO,EACP,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,WAAW,EACX,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,aAAa,EAClB,eAAe,GAChB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACtH,eAAO,MAAM,0BAA0B,KAA6C,CAAA;AAgBpF;gEACgE;AAChE,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAGlD,CAAA;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAmH9E"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EACL,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,6BAA6B,GAC9B,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,UAAU,EACV,yBAAyB,EACzB,mBAAmB,EACnB,+BAA+B,EAC/B,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,WAAW,EAChB,aAAa,EACb,uBAAuB,EACvB,KAAK,GACN,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,cAAc,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACd,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,aAAa,GACd,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAE3H,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB;;;;;;;;;;;;;;;;;OAiBG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IAEnC;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAE3B;AASD,OAAO,EACL,MAAM,EACN,cAAc,EACd,OAAO,EACP,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,WAAW,EACX,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,aAAa,EAClB,eAAe,GAChB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACtH,eAAO,MAAM,0BAA0B,KAA6C,CAAA;AAgBpF;gEACgE;AAChE,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAGlD,CAAA;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAmH9E"}
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import { DASH_STYLES } from "./dashes.js";
|
|
|
3
3
|
import { PUNCTUATION_STYLES } from "./quotes.js";
|
|
4
4
|
export { DASH_STYLES, dashWordJoiner, enDashDateRange, enDashNumberRange, hyphenReplace, minusReplace, numberRangeDisallowedPrefixes, } from "./dashes.js";
|
|
5
5
|
export { HONORIFICS, nbspAfterCopyrightSymbols, nbspAfterHonorifics, nbspAfterReferenceAbbreviations, nbspAfterSectionSymbols, nbspAfterShortWords, nbspBeforeLastWord, nbspBetweenInitials, nbspBetweenNumberAndUnit, nbspTransform, REFERENCE_ABBREVIATIONS, UNITS, } from "./nbsp.js";
|
|
6
|
+
export { buildProseView, replaceAllInView, runLegacyPass, } from "./prose-view.js";
|
|
6
7
|
export { classifyApostrophes, niceQuotes, PUNCTUATION_STYLES } from "./quotes.js";
|
|
7
8
|
import { niceQuotes } from "./quotes.js";
|
|
8
9
|
import { hyphenReplace } from "./dashes.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface ProseNode {
|
|
2
|
+
value: string;
|
|
3
|
+
}
|
|
4
|
+
export interface ProseView {
|
|
5
|
+
/** Concatenation of the nodes' values. No markers, ever. */
|
|
6
|
+
readonly text: string;
|
|
7
|
+
/** Offsets in `text` where one source node ends and the next begins (interior boundaries only; length = nodes.length - 1; may contain duplicates when nodes are empty). */
|
|
8
|
+
readonly boundaries: readonly number[];
|
|
9
|
+
/** True iff a node edge falls at exactly this offset. O(log n) binary search. */
|
|
10
|
+
hasBoundary(offset: number): boolean;
|
|
11
|
+
/** Queue an edit replacing [start, end) with `text`. Edits must not overlap; enforced at commit. */
|
|
12
|
+
replace(start: number, end: number, text: string, opts?: {
|
|
13
|
+
bind?: "left" | "right";
|
|
14
|
+
}): void;
|
|
15
|
+
/** Apply queued edits back onto the source nodes (mutating their `value`s), then recompute `text`/`boundaries`. The view supports arbitrarily many queue/commit cycles. */
|
|
16
|
+
commit(): void;
|
|
17
|
+
}
|
|
18
|
+
export declare function buildProseView(nodes: ProseNode[]): ProseView;
|
|
19
|
+
export interface ReplaceAllOptions {
|
|
20
|
+
/** Opt-in: allow a match that contains an interior node boundary. Default: such matches are skipped. */
|
|
21
|
+
allowBoundaries?: (match: RegExpExecArray, view: ProseView) => boolean;
|
|
22
|
+
/** For pure-insertion edits produced by the replacer (rare), bind side. */
|
|
23
|
+
bind?: "left" | "right";
|
|
24
|
+
}
|
|
25
|
+
export declare function replaceAllInView(view: ProseView, regex: RegExp, replacer: (match: RegExpExecArray, view: ProseView) => string | null, options?: ReplaceAllOptions): void;
|
|
26
|
+
export declare function runLegacyPass(view: ProseView, passFn: (markedText: string) => string, separator?: string): void;
|
|
27
|
+
//# sourceMappingURL=prose-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prose-view.d.ts","sourceRoot":"","sources":["../src/prose-view.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,SAAS;IACxB,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,2KAA2K;IAC3K,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,iFAAiF;IACjF,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;IACpC,oGAAoG;IACpG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI,CAAA;IAC3F,2KAA2K;IAC3K,MAAM,IAAI,IAAI,CAAA;CACf;AAoMD,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,CAE5D;AAED,MAAM,WAAW,iBAAiB;IAChC,wGAAwG;IACxG,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,KAAK,OAAO,CAAA;IACtE,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACxB;AAYD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,EACpE,OAAO,CAAC,EAAE,iBAAiB,GAC1B,IAAI,CA2BN;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,EACtC,SAAS,GAAE,MAA0B,GACpC,IAAI,CAON"}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { DEFAULT_SEPARATOR } from "./constants.js";
|
|
2
|
+
import { transformTextNodes } from "./utils.js";
|
|
3
|
+
/** True iff the offset falls between a high surrogate and its low surrogate. */
|
|
4
|
+
function splitsSurrogatePair(text, offset) {
|
|
5
|
+
if (offset <= 0 || offset >= text.length)
|
|
6
|
+
return false;
|
|
7
|
+
const high = text.charCodeAt(offset - 1);
|
|
8
|
+
const low = text.charCodeAt(offset);
|
|
9
|
+
return high >= 0xd800 && high <= 0xdbff && low >= 0xdc00 && low <= 0xdfff;
|
|
10
|
+
}
|
|
11
|
+
class ProseViewImpl {
|
|
12
|
+
nodes;
|
|
13
|
+
cachedText;
|
|
14
|
+
cachedBoundaries;
|
|
15
|
+
edits = [];
|
|
16
|
+
constructor(nodes) {
|
|
17
|
+
this.nodes = nodes;
|
|
18
|
+
this.cachedText = "";
|
|
19
|
+
this.cachedBoundaries = [];
|
|
20
|
+
this.refresh();
|
|
21
|
+
}
|
|
22
|
+
get text() {
|
|
23
|
+
return this.cachedText;
|
|
24
|
+
}
|
|
25
|
+
get boundaries() {
|
|
26
|
+
return this.cachedBoundaries;
|
|
27
|
+
}
|
|
28
|
+
/** Recompute `text` and `boundaries` from the current node values. @internal */
|
|
29
|
+
refresh() {
|
|
30
|
+
let text = "";
|
|
31
|
+
const boundaries = [];
|
|
32
|
+
this.nodes.forEach((node, index) => {
|
|
33
|
+
text += node.value;
|
|
34
|
+
if (index < this.nodes.length - 1) {
|
|
35
|
+
boundaries.push(text.length);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
this.cachedText = text;
|
|
39
|
+
this.cachedBoundaries = boundaries;
|
|
40
|
+
}
|
|
41
|
+
/** @internal */
|
|
42
|
+
hasQueuedEdits() {
|
|
43
|
+
return this.edits.length > 0;
|
|
44
|
+
}
|
|
45
|
+
/** @internal */
|
|
46
|
+
getNodes() {
|
|
47
|
+
return this.nodes;
|
|
48
|
+
}
|
|
49
|
+
hasBoundary(offset) {
|
|
50
|
+
const boundaries = this.cachedBoundaries;
|
|
51
|
+
let low = 0;
|
|
52
|
+
let high = boundaries.length - 1;
|
|
53
|
+
while (low <= high) {
|
|
54
|
+
const mid = (low + high) >>> 1;
|
|
55
|
+
const value = boundaries[mid];
|
|
56
|
+
if (value === offset)
|
|
57
|
+
return true;
|
|
58
|
+
if (value < offset) {
|
|
59
|
+
low = mid + 1;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
high = mid - 1;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
replace(start, end, text, opts) {
|
|
68
|
+
if (!Number.isInteger(start) || !Number.isInteger(end)) {
|
|
69
|
+
throw new Error(`replace() offsets must be integers, got start=${start}, end=${end}.`);
|
|
70
|
+
}
|
|
71
|
+
if (start < 0 || start > end || end > this.cachedText.length) {
|
|
72
|
+
throw new Error(`replace() requires 0 <= start <= end <= text.length (${this.cachedText.length}), ` +
|
|
73
|
+
`got start=${start}, end=${end}.`);
|
|
74
|
+
}
|
|
75
|
+
if (splitsSurrogatePair(this.cachedText, start)) {
|
|
76
|
+
throw new Error(`replace() start=${start} splits a UTF-16 surrogate pair.`);
|
|
77
|
+
}
|
|
78
|
+
if (splitsSurrogatePair(this.cachedText, end)) {
|
|
79
|
+
throw new Error(`replace() end=${end} splits a UTF-16 surrogate pair.`);
|
|
80
|
+
}
|
|
81
|
+
this.edits.push({ start, end, text, bind: opts?.bind ?? "left" });
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Apply queued edits to the source nodes. Edits are ordered by start offset,
|
|
85
|
+
* tie-breaking shorter spans first so a zero-length edit sorts before a
|
|
86
|
+
* spanning edit at the same start. A pure insertion may therefore coexist
|
|
87
|
+
* with a replacement starting at the same offset: the insertion's text lands
|
|
88
|
+
* before the replaced span's text. Overlapping spans (and two pure
|
|
89
|
+
* insertions at the same offset) are rejected.
|
|
90
|
+
*/
|
|
91
|
+
commit() {
|
|
92
|
+
if (this.edits.length === 0) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const sorted = [...this.edits].sort((a, b) => a.start - b.start || (a.end - a.start) - (b.end - b.start));
|
|
96
|
+
for (let i = 1; i < sorted.length; i++) {
|
|
97
|
+
const prev = sorted[i - 1];
|
|
98
|
+
const curr = sorted[i];
|
|
99
|
+
if (prev.end > curr.start) {
|
|
100
|
+
throw new Error(`Overlapping edits: [${prev.start}, ${prev.end}) and [${curr.start}, ${curr.end}).`);
|
|
101
|
+
}
|
|
102
|
+
if (prev.end === curr.start && prev.start === prev.end && curr.start === curr.end) {
|
|
103
|
+
throw new Error(`Two pure insertions at the same offset ${curr.start} are ambiguous; combine them.`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
// Node spans in `text` via cumulative lengths.
|
|
107
|
+
const starts = [];
|
|
108
|
+
const ends = [];
|
|
109
|
+
let cursor = 0;
|
|
110
|
+
for (const node of this.nodes) {
|
|
111
|
+
starts.push(cursor);
|
|
112
|
+
cursor += node.value.length;
|
|
113
|
+
ends.push(cursor);
|
|
114
|
+
}
|
|
115
|
+
// Apply right-to-left so earlier offsets stay valid as we mutate.
|
|
116
|
+
for (let i = sorted.length - 1; i >= 0; i--) {
|
|
117
|
+
this.applyEdit(sorted[i], starts, ends);
|
|
118
|
+
}
|
|
119
|
+
this.edits = [];
|
|
120
|
+
this.refresh();
|
|
121
|
+
}
|
|
122
|
+
/** Index of the node whose span contains the character at `offset`. */
|
|
123
|
+
nodeContainingChar(offset, starts, ends) {
|
|
124
|
+
for (let i = 0; i < this.nodes.length; i++) {
|
|
125
|
+
if (offset >= starts[i] && offset < ends[i])
|
|
126
|
+
return i;
|
|
127
|
+
}
|
|
128
|
+
/* istanbul ignore next -- defensive: callers only pass offsets that fall within a node span */
|
|
129
|
+
return this.nodes.length - 1;
|
|
130
|
+
}
|
|
131
|
+
targetNodeForInsertion(edit, starts, ends) {
|
|
132
|
+
if (edit.bind === "left") {
|
|
133
|
+
if (edit.start === 0)
|
|
134
|
+
return 0;
|
|
135
|
+
return this.nodeContainingChar(edit.start - 1, starts, ends);
|
|
136
|
+
}
|
|
137
|
+
if (edit.start === this.cachedText.length)
|
|
138
|
+
return this.nodes.length - 1;
|
|
139
|
+
return this.nodeContainingChar(edit.start, starts, ends);
|
|
140
|
+
}
|
|
141
|
+
applyEdit(edit, starts, ends) {
|
|
142
|
+
const { start, end, text } = edit;
|
|
143
|
+
// Decide where replacement/insertion text lands before mutating values.
|
|
144
|
+
const targetIndex = end > start
|
|
145
|
+
? this.nodeContainingChar(start, starts, ends)
|
|
146
|
+
: this.targetNodeForInsertion(edit, starts, ends);
|
|
147
|
+
const insertOffsetInTarget = start - starts[targetIndex];
|
|
148
|
+
// Delete the intersection of [start, end) from every covered node.
|
|
149
|
+
for (let i = 0; i < this.nodes.length; i++) {
|
|
150
|
+
const delStart = Math.max(start, starts[i]);
|
|
151
|
+
const delEnd = Math.min(end, ends[i]);
|
|
152
|
+
if (delStart >= delEnd)
|
|
153
|
+
continue;
|
|
154
|
+
const node = this.nodes[i];
|
|
155
|
+
const localStart = delStart - starts[i];
|
|
156
|
+
const localEnd = delEnd - starts[i];
|
|
157
|
+
node.value = node.value.slice(0, localStart) + node.value.slice(localEnd);
|
|
158
|
+
}
|
|
159
|
+
// Insert replacement text into the target node. For replacements the
|
|
160
|
+
// deletion above removed [start, end) from the target, so `start` is the
|
|
161
|
+
// correct insertion point inside the (now shortened) target value.
|
|
162
|
+
if (text.length > 0) {
|
|
163
|
+
const target = this.nodes[targetIndex];
|
|
164
|
+
target.value = target.value.slice(0, insertOffsetInTarget) + text + target.value.slice(insertOffsetInTarget);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
export function buildProseView(nodes) {
|
|
169
|
+
return new ProseViewImpl(nodes);
|
|
170
|
+
}
|
|
171
|
+
/** True iff some interior boundary falls strictly inside the match span. */
|
|
172
|
+
function matchContainsBoundary(match, view) {
|
|
173
|
+
const matchStart = match.index;
|
|
174
|
+
const matchEnd = match.index + match[0].length;
|
|
175
|
+
for (const boundary of view.boundaries) {
|
|
176
|
+
if (boundary > matchStart && boundary < matchEnd)
|
|
177
|
+
return true;
|
|
178
|
+
}
|
|
179
|
+
return false;
|
|
180
|
+
}
|
|
181
|
+
export function replaceAllInView(view, regex, replacer, options) {
|
|
182
|
+
if (!regex.global) {
|
|
183
|
+
throw new Error("replaceAllInView() requires a regex with the global (g) flag.");
|
|
184
|
+
}
|
|
185
|
+
const allowBoundaries = options?.allowBoundaries;
|
|
186
|
+
const bind = options?.bind;
|
|
187
|
+
const text = view.text;
|
|
188
|
+
regex.lastIndex = 0;
|
|
189
|
+
let match;
|
|
190
|
+
while ((match = regex.exec(text)) !== null) {
|
|
191
|
+
if (match[0].length === 0) {
|
|
192
|
+
regex.lastIndex += 1;
|
|
193
|
+
}
|
|
194
|
+
if (matchContainsBoundary(match, view) && !allowBoundaries?.(match, view)) {
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
197
|
+
const replacement = replacer(match, view);
|
|
198
|
+
if (replacement === null) {
|
|
199
|
+
continue;
|
|
200
|
+
}
|
|
201
|
+
view.replace(match.index, match.index + match[0].length, replacement, bind ? { bind } : undefined);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
export function runLegacyPass(view, passFn, separator = DEFAULT_SEPARATOR) {
|
|
205
|
+
const impl = view;
|
|
206
|
+
if (impl.hasQueuedEdits()) {
|
|
207
|
+
throw new Error("runLegacyPass() cannot run while the view has uncommitted queued edits.");
|
|
208
|
+
}
|
|
209
|
+
transformTextNodes(impl.getNodes(), passFn, separator);
|
|
210
|
+
impl.refresh();
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=prose-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prose-view.js","sourceRoot":"","sources":["../src/prose-view.ts"],"names":[],"mappings":"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"}
|
package/dist/rehype.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rehype.d.ts","sourceRoot":"","sources":["../src/rehype.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,OAAO,EAAoC,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"rehype.d.ts","sourceRoot":"","sources":["../src/rehype.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,OAAO,EAAoC,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAKpF,KAAK,gBAAgB,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAA;AAElD,KAAK,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;AAEhD,6EAA6E;AAC7E,MAAM,MAAM,qBAAqB,GAAG,CAClC,QAAQ,EAAE,IAAI,EACd,SAAS,EAAE,SAAS,OAAO,EAAE,KAC1B,OAAO,CAAA;AAEZ,MAAM,WAAW,uBAAuB;IACtC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,WAAW,sBACf,SAAQ,gBAAgB,EACtB,uBAAuB;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IAEnB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IAEtB;;;;;;;;OAQG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAiBD,iFAAiF;AACjF,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAA0E,CAAA;AAE/H,2DAA2D;AAC3D,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAA2D,CAAA;AAE3G,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,OAAO,GAAG,cAAc,EAC9B,UAAU,EAAE,gBAAgB,EAC5B,OAAO,CAAC,EAAE,uBAAuB,GAChC,IAAI,EAAE,CAMR;AAuCD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,OAAO,EACb,UAAU,GAAE,gBAA8B,GACzC,MAAM,CAIR;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,GAAG,WAAW,EAC1B,KAAK,GAAE,MAAU,GAChB,IAAI,GAAG,IAAI,CAeb;AAOD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAoB1D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,eAAe,EAC5B,UAAU,EAAE,gBAAgB,EAC5B,SAAS,EAAE,MAAM,EACjB,eAAe,GAAE,OAAe,EAChC,OAAO,CAAC,EAAE,uBAAuB,GAChC,IAAI,CAiCN;AAuGD,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,gBAAgB,EAC5B,KAAK,GAAE,MAAU,EACjB,kBAAkB,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,EACzC,eAAe,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAgC,GACrE,OAAO,EAAE,CAsCX;AAgBD,wBAAgB,eAAe,CAC7B,OAAO,GAAE,sBAA2B,GACnC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CA8EzB;AAED,eAAe,eAAe,CAAA"}
|
package/dist/rehype.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { SKIP, visitParents } from "unist-util-visit-parents";
|
|
2
2
|
import { transform, TRANSFORM_OPTION_KEYS } from "./index.js";
|
|
3
3
|
import { DEFAULT_SEPARATOR, MAX_RECURSION_DEPTH } from "./constants.js";
|
|
4
|
-
import { assertKnownOptionKeys, formatErrorString
|
|
4
|
+
import { assertKnownOptionKeys, formatErrorString } from "./utils.js";
|
|
5
|
+
import { buildProseView, runLegacyPass } from "./prose-view.js";
|
|
5
6
|
const DEFAULT_SKIP_TAGS = ["code", "pre", "script", "style", "kbd", "var", "samp", "template", "math", "svg"];
|
|
6
7
|
// Form elements whose text content is a literal control value, not prose.
|
|
7
8
|
// Hard-skipped (whole subtree) under `transformAllElements`, on top of the
|
|
@@ -114,7 +115,8 @@ export function transformElement(node, transformFn, shouldSkip, separator, check
|
|
|
114
115
|
const markedContent = checkInvariance
|
|
115
116
|
? textNodes.map((n) => n.value + separator).join("")
|
|
116
117
|
: "";
|
|
117
|
-
|
|
118
|
+
const view = buildProseView(textNodes);
|
|
119
|
+
runLegacyPass(view, transformFn, separator);
|
|
118
120
|
if (checkInvariance) {
|
|
119
121
|
const transformedContent = textNodes.map((n) => n.value + separator).join("");
|
|
120
122
|
const stripSep = (s) => s.replaceAll(separator, "");
|
package/dist/rehype.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rehype.js","sourceRoot":"","sources":["../src/rehype.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rehype.js","sourceRoot":"","sources":["../src/rehype.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -27,6 +27,14 @@ export {
|
|
|
27
27
|
REFERENCE_ABBREVIATIONS,
|
|
28
28
|
UNITS,
|
|
29
29
|
} from "./nbsp.js"
|
|
30
|
+
export {
|
|
31
|
+
buildProseView,
|
|
32
|
+
type ProseNode,
|
|
33
|
+
type ProseView,
|
|
34
|
+
replaceAllInView,
|
|
35
|
+
type ReplaceAllOptions,
|
|
36
|
+
runLegacyPass,
|
|
37
|
+
} from "./prose-view.js"
|
|
30
38
|
export { classifyApostrophes, niceQuotes, PUNCTUATION_STYLES, type PunctuationStyle, type QuoteOptions } from "./quotes.js"
|
|
31
39
|
|
|
32
40
|
export interface TransformOptions {
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import { DEFAULT_SEPARATOR } from "./constants.js"
|
|
2
|
+
import { transformTextNodes } from "./utils.js"
|
|
3
|
+
|
|
4
|
+
export interface ProseNode {
|
|
5
|
+
value: string
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface ProseView {
|
|
9
|
+
/** Concatenation of the nodes' values. No markers, ever. */
|
|
10
|
+
readonly text: string
|
|
11
|
+
/** Offsets in `text` where one source node ends and the next begins (interior boundaries only; length = nodes.length - 1; may contain duplicates when nodes are empty). */
|
|
12
|
+
readonly boundaries: readonly number[]
|
|
13
|
+
/** True iff a node edge falls at exactly this offset. O(log n) binary search. */
|
|
14
|
+
hasBoundary(offset: number): boolean
|
|
15
|
+
/** Queue an edit replacing [start, end) with `text`. Edits must not overlap; enforced at commit. */
|
|
16
|
+
replace(start: number, end: number, text: string, opts?: { bind?: "left" | "right" }): void
|
|
17
|
+
/** Apply queued edits back onto the source nodes (mutating their `value`s), then recompute `text`/`boundaries`. The view supports arbitrarily many queue/commit cycles. */
|
|
18
|
+
commit(): void
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
interface QueuedEdit {
|
|
22
|
+
start: number
|
|
23
|
+
end: number
|
|
24
|
+
text: string
|
|
25
|
+
bind: "left" | "right"
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** True iff the offset falls between a high surrogate and its low surrogate. */
|
|
29
|
+
function splitsSurrogatePair(text: string, offset: number): boolean {
|
|
30
|
+
if (offset <= 0 || offset >= text.length) return false
|
|
31
|
+
const high = text.charCodeAt(offset - 1)
|
|
32
|
+
const low = text.charCodeAt(offset)
|
|
33
|
+
return high >= 0xd800 && high <= 0xdbff && low >= 0xdc00 && low <= 0xdfff
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
class ProseViewImpl implements ProseView {
|
|
37
|
+
private readonly nodes: ProseNode[]
|
|
38
|
+
private cachedText: string
|
|
39
|
+
private cachedBoundaries: number[]
|
|
40
|
+
private edits: QueuedEdit[] = []
|
|
41
|
+
|
|
42
|
+
constructor(nodes: ProseNode[]) {
|
|
43
|
+
this.nodes = nodes
|
|
44
|
+
this.cachedText = ""
|
|
45
|
+
this.cachedBoundaries = []
|
|
46
|
+
this.refresh()
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
get text(): string {
|
|
50
|
+
return this.cachedText
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
get boundaries(): readonly number[] {
|
|
54
|
+
return this.cachedBoundaries
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/** Recompute `text` and `boundaries` from the current node values. @internal */
|
|
58
|
+
refresh(): void {
|
|
59
|
+
let text = ""
|
|
60
|
+
const boundaries: number[] = []
|
|
61
|
+
this.nodes.forEach((node, index) => {
|
|
62
|
+
text += node.value
|
|
63
|
+
if (index < this.nodes.length - 1) {
|
|
64
|
+
boundaries.push(text.length)
|
|
65
|
+
}
|
|
66
|
+
})
|
|
67
|
+
this.cachedText = text
|
|
68
|
+
this.cachedBoundaries = boundaries
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/** @internal */
|
|
72
|
+
hasQueuedEdits(): boolean {
|
|
73
|
+
return this.edits.length > 0
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/** @internal */
|
|
77
|
+
getNodes(): ProseNode[] {
|
|
78
|
+
return this.nodes
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
hasBoundary(offset: number): boolean {
|
|
82
|
+
const boundaries = this.cachedBoundaries
|
|
83
|
+
let low = 0
|
|
84
|
+
let high = boundaries.length - 1
|
|
85
|
+
while (low <= high) {
|
|
86
|
+
const mid = (low + high) >>> 1
|
|
87
|
+
const value = boundaries[mid]
|
|
88
|
+
if (value === offset) return true
|
|
89
|
+
if (value < offset) {
|
|
90
|
+
low = mid + 1
|
|
91
|
+
} else {
|
|
92
|
+
high = mid - 1
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return false
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
replace(start: number, end: number, text: string, opts?: { bind?: "left" | "right" }): void {
|
|
99
|
+
if (!Number.isInteger(start) || !Number.isInteger(end)) {
|
|
100
|
+
throw new Error(`replace() offsets must be integers, got start=${start}, end=${end}.`)
|
|
101
|
+
}
|
|
102
|
+
if (start < 0 || start > end || end > this.cachedText.length) {
|
|
103
|
+
throw new Error(
|
|
104
|
+
`replace() requires 0 <= start <= end <= text.length (${this.cachedText.length}), ` +
|
|
105
|
+
`got start=${start}, end=${end}.`
|
|
106
|
+
)
|
|
107
|
+
}
|
|
108
|
+
if (splitsSurrogatePair(this.cachedText, start)) {
|
|
109
|
+
throw new Error(`replace() start=${start} splits a UTF-16 surrogate pair.`)
|
|
110
|
+
}
|
|
111
|
+
if (splitsSurrogatePair(this.cachedText, end)) {
|
|
112
|
+
throw new Error(`replace() end=${end} splits a UTF-16 surrogate pair.`)
|
|
113
|
+
}
|
|
114
|
+
this.edits.push({ start, end, text, bind: opts?.bind ?? "left" })
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Apply queued edits to the source nodes. Edits are ordered by start offset,
|
|
119
|
+
* tie-breaking shorter spans first so a zero-length edit sorts before a
|
|
120
|
+
* spanning edit at the same start. A pure insertion may therefore coexist
|
|
121
|
+
* with a replacement starting at the same offset: the insertion's text lands
|
|
122
|
+
* before the replaced span's text. Overlapping spans (and two pure
|
|
123
|
+
* insertions at the same offset) are rejected.
|
|
124
|
+
*/
|
|
125
|
+
commit(): void {
|
|
126
|
+
if (this.edits.length === 0) {
|
|
127
|
+
return
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
const sorted = [...this.edits].sort(
|
|
131
|
+
(a, b) => a.start - b.start || (a.end - a.start) - (b.end - b.start)
|
|
132
|
+
)
|
|
133
|
+
for (let i = 1; i < sorted.length; i++) {
|
|
134
|
+
const prev = sorted[i - 1]
|
|
135
|
+
const curr = sorted[i]
|
|
136
|
+
if (prev.end > curr.start) {
|
|
137
|
+
throw new Error(
|
|
138
|
+
`Overlapping edits: [${prev.start}, ${prev.end}) and [${curr.start}, ${curr.end}).`
|
|
139
|
+
)
|
|
140
|
+
}
|
|
141
|
+
if (prev.end === curr.start && prev.start === prev.end && curr.start === curr.end) {
|
|
142
|
+
throw new Error(
|
|
143
|
+
`Two pure insertions at the same offset ${curr.start} are ambiguous; combine them.`
|
|
144
|
+
)
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// Node spans in `text` via cumulative lengths.
|
|
149
|
+
const starts: number[] = []
|
|
150
|
+
const ends: number[] = []
|
|
151
|
+
let cursor = 0
|
|
152
|
+
for (const node of this.nodes) {
|
|
153
|
+
starts.push(cursor)
|
|
154
|
+
cursor += node.value.length
|
|
155
|
+
ends.push(cursor)
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// Apply right-to-left so earlier offsets stay valid as we mutate.
|
|
159
|
+
for (let i = sorted.length - 1; i >= 0; i--) {
|
|
160
|
+
this.applyEdit(sorted[i], starts, ends)
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
this.edits = []
|
|
164
|
+
this.refresh()
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/** Index of the node whose span contains the character at `offset`. */
|
|
168
|
+
private nodeContainingChar(offset: number, starts: number[], ends: number[]): number {
|
|
169
|
+
for (let i = 0; i < this.nodes.length; i++) {
|
|
170
|
+
if (offset >= starts[i] && offset < ends[i]) return i
|
|
171
|
+
}
|
|
172
|
+
/* istanbul ignore next -- defensive: callers only pass offsets that fall within a node span */
|
|
173
|
+
return this.nodes.length - 1
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
private targetNodeForInsertion(edit: QueuedEdit, starts: number[], ends: number[]): number {
|
|
177
|
+
if (edit.bind === "left") {
|
|
178
|
+
if (edit.start === 0) return 0
|
|
179
|
+
return this.nodeContainingChar(edit.start - 1, starts, ends)
|
|
180
|
+
}
|
|
181
|
+
if (edit.start === this.cachedText.length) return this.nodes.length - 1
|
|
182
|
+
return this.nodeContainingChar(edit.start, starts, ends)
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
private applyEdit(edit: QueuedEdit, starts: number[], ends: number[]): void {
|
|
186
|
+
const { start, end, text } = edit
|
|
187
|
+
|
|
188
|
+
// Decide where replacement/insertion text lands before mutating values.
|
|
189
|
+
const targetIndex = end > start
|
|
190
|
+
? this.nodeContainingChar(start, starts, ends)
|
|
191
|
+
: this.targetNodeForInsertion(edit, starts, ends)
|
|
192
|
+
const insertOffsetInTarget = start - starts[targetIndex]
|
|
193
|
+
|
|
194
|
+
// Delete the intersection of [start, end) from every covered node.
|
|
195
|
+
for (let i = 0; i < this.nodes.length; i++) {
|
|
196
|
+
const delStart = Math.max(start, starts[i])
|
|
197
|
+
const delEnd = Math.min(end, ends[i])
|
|
198
|
+
if (delStart >= delEnd) continue
|
|
199
|
+
const node = this.nodes[i]
|
|
200
|
+
const localStart = delStart - starts[i]
|
|
201
|
+
const localEnd = delEnd - starts[i]
|
|
202
|
+
node.value = node.value.slice(0, localStart) + node.value.slice(localEnd)
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
// Insert replacement text into the target node. For replacements the
|
|
206
|
+
// deletion above removed [start, end) from the target, so `start` is the
|
|
207
|
+
// correct insertion point inside the (now shortened) target value.
|
|
208
|
+
if (text.length > 0) {
|
|
209
|
+
const target = this.nodes[targetIndex]
|
|
210
|
+
target.value = target.value.slice(0, insertOffsetInTarget) + text + target.value.slice(insertOffsetInTarget)
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
export function buildProseView(nodes: ProseNode[]): ProseView {
|
|
216
|
+
return new ProseViewImpl(nodes)
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
export interface ReplaceAllOptions {
|
|
220
|
+
/** Opt-in: allow a match that contains an interior node boundary. Default: such matches are skipped. */
|
|
221
|
+
allowBoundaries?: (match: RegExpExecArray, view: ProseView) => boolean
|
|
222
|
+
/** For pure-insertion edits produced by the replacer (rare), bind side. */
|
|
223
|
+
bind?: "left" | "right"
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/** True iff some interior boundary falls strictly inside the match span. */
|
|
227
|
+
function matchContainsBoundary(match: RegExpExecArray, view: ProseView): boolean {
|
|
228
|
+
const matchStart = match.index
|
|
229
|
+
const matchEnd = match.index + match[0].length
|
|
230
|
+
for (const boundary of view.boundaries) {
|
|
231
|
+
if (boundary > matchStart && boundary < matchEnd) return true
|
|
232
|
+
}
|
|
233
|
+
return false
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
export function replaceAllInView(
|
|
237
|
+
view: ProseView,
|
|
238
|
+
regex: RegExp,
|
|
239
|
+
replacer: (match: RegExpExecArray, view: ProseView) => string | null,
|
|
240
|
+
options?: ReplaceAllOptions,
|
|
241
|
+
): void {
|
|
242
|
+
if (!regex.global) {
|
|
243
|
+
throw new Error("replaceAllInView() requires a regex with the global (g) flag.")
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
const allowBoundaries = options?.allowBoundaries
|
|
247
|
+
const bind = options?.bind
|
|
248
|
+
const text = view.text
|
|
249
|
+
regex.lastIndex = 0
|
|
250
|
+
|
|
251
|
+
let match: RegExpExecArray | null
|
|
252
|
+
while ((match = regex.exec(text)) !== null) {
|
|
253
|
+
if (match[0].length === 0) {
|
|
254
|
+
regex.lastIndex += 1
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
if (matchContainsBoundary(match, view) && !allowBoundaries?.(match, view)) {
|
|
258
|
+
continue
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
const replacement = replacer(match, view)
|
|
262
|
+
if (replacement === null) {
|
|
263
|
+
continue
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
view.replace(match.index, match.index + match[0].length, replacement, bind ? { bind } : undefined)
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
export function runLegacyPass(
|
|
271
|
+
view: ProseView,
|
|
272
|
+
passFn: (markedText: string) => string,
|
|
273
|
+
separator: string = DEFAULT_SEPARATOR,
|
|
274
|
+
): void {
|
|
275
|
+
const impl = view as ProseViewImpl
|
|
276
|
+
if (impl.hasQueuedEdits()) {
|
|
277
|
+
throw new Error("runLegacyPass() cannot run while the view has uncommitted queued edits.")
|
|
278
|
+
}
|
|
279
|
+
transformTextNodes(impl.getNodes(), passFn, separator)
|
|
280
|
+
impl.refresh()
|
|
281
|
+
}
|
package/src/rehype.ts
CHANGED
|
@@ -5,7 +5,8 @@ import { SKIP, visitParents } from "unist-util-visit-parents"
|
|
|
5
5
|
|
|
6
6
|
import { transform, TRANSFORM_OPTION_KEYS, type TransformOptions } from "./index.js"
|
|
7
7
|
import { DEFAULT_SEPARATOR, MAX_RECURSION_DEPTH } from "./constants.js"
|
|
8
|
-
import { assertKnownOptionKeys, formatErrorString
|
|
8
|
+
import { assertKnownOptionKeys, formatErrorString } from "./utils.js"
|
|
9
|
+
import { buildProseView, runLegacyPass } from "./prose-view.js"
|
|
9
10
|
|
|
10
11
|
type ElementPredicate = (node: Element) => boolean
|
|
11
12
|
|
|
@@ -213,7 +214,8 @@ export function transformElement(
|
|
|
213
214
|
? textNodes.map((n) => n.value + separator).join("")
|
|
214
215
|
: ""
|
|
215
216
|
|
|
216
|
-
|
|
217
|
+
const view = buildProseView(textNodes)
|
|
218
|
+
runLegacyPass(view, transformFn, separator)
|
|
217
219
|
|
|
218
220
|
if (checkInvariance) {
|
|
219
221
|
const transformedContent = textNodes.map((n) => n.value + separator).join("")
|