punctilio 3.3.1 → 3.3.3
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/markdown.d.ts.map +1 -1
- package/dist/markdown.js +2 -0
- package/dist/markdown.js.map +1 -1
- package/dist/quotes.d.ts.map +1 -1
- package/dist/quotes.js +21 -1
- package/dist/quotes.js.map +1 -1
- package/dist/rehype.d.ts +8 -4
- package/dist/rehype.d.ts.map +1 -1
- package/dist/rehype.js.map +1 -1
- package/dist/symbols.d.ts.map +1 -1
- package/dist/symbols.js +3 -3
- package/dist/symbols.js.map +1 -1
- package/dist/tests/test-helpers.d.ts +7 -5
- package/dist/tests/test-helpers.d.ts.map +1 -1
- package/dist/tests/test-helpers.js +28 -27
- package/dist/tests/test-helpers.js.map +1 -1
- package/package.json +5 -1
- package/src/markdown.ts +2 -0
- package/src/quotes.ts +31 -5
- package/src/rehype.ts +12 -6
- package/src/symbols.ts +23 -8
- package/src/tests/index.test.ts +2 -7
- package/src/tests/markdown.test.ts +10 -0
- package/src/tests/quotes.test.ts +16 -0
- package/src/tests/symbols.test.ts +2 -6
- package/src/tests/test-helpers.ts +30 -28
package/dist/markdown.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAE1E;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,sBAAsB;IAC7D;;;OAGG;IACH,cAAc,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;IAE1B;;;OAGG;IACH,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;IAExB,yDAAyD;IACzD,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;IAE9B,0CAA0C;IAC1C,UAAU,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;CAC7B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CA2BjB"}
|
package/dist/markdown.js
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { unified } from "unified";
|
|
12
12
|
import remarkParse from "remark-parse";
|
|
13
|
+
import remarkGfm from "remark-gfm";
|
|
13
14
|
import remarkStringify from "remark-stringify";
|
|
14
15
|
import { remarkPunctilio } from "./remark.js";
|
|
15
16
|
/**
|
|
@@ -34,6 +35,7 @@ export async function transformMarkdown(input, options = {}) {
|
|
|
34
35
|
const { emphasisMarker, strongMarker, bulletMarker, ruleMarker, ...punctilioOptions } = options;
|
|
35
36
|
const processor = unified()
|
|
36
37
|
.use(remarkParse)
|
|
38
|
+
.use(remarkGfm)
|
|
37
39
|
.use(remarkPunctilio, punctilioOptions)
|
|
38
40
|
.use(remarkStringify, {
|
|
39
41
|
emphasis: emphasisMarker ?? "*",
|
package/dist/markdown.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,WAAW,MAAM,cAAc,CAAA;AACtC,OAAO,eAAe,MAAM,kBAAkB,CAAA;AAE9C,OAAO,EAAE,eAAe,EAA+B,MAAM,aAAa,CAAA;AAyB1E;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAa,EACb,UAA2B,EAAE;IAE7B,MAAM,EACJ,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,GAAG,gBAAgB,EACpB,GAAG,OAAO,CAAA;IAEX,MAAM,SAAS,GAAG,OAAO,EAAE;SACxB,GAAG,CAAC,WAAW,CAAC;SAChB,GAAG,CAAC,eAAe,EAAE,gBAAgB,CAAC;SACtC,GAAG,CAAC,eAAe,EAAE;QACpB,QAAQ,EAAE,cAAc,IAAI,GAAG;QAC/B,MAAM,EAAE,YAAY,IAAI,GAAG;QAC3B,MAAM,EAAE,YAAY,IAAI,GAAG;QAC3B,IAAI,EAAE,UAAU,IAAI,GAAG;QACvB,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,sEAAsE;QACtE,sEAAsE;QACtE,6CAA6C;QAC7C,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;KACtD,CAAC,CAAA;IAEJ,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC7C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA;AACvB,CAAC"}
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,WAAW,MAAM,cAAc,CAAA;AACtC,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,eAAe,MAAM,kBAAkB,CAAA;AAE9C,OAAO,EAAE,eAAe,EAA+B,MAAM,aAAa,CAAA;AAyB1E;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAa,EACb,UAA2B,EAAE;IAE7B,MAAM,EACJ,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,GAAG,gBAAgB,EACpB,GAAG,OAAO,CAAA;IAEX,MAAM,SAAS,GAAG,OAAO,EAAE;SACxB,GAAG,CAAC,WAAW,CAAC;SAChB,GAAG,CAAC,SAAS,CAAC;SACd,GAAG,CAAC,eAAe,EAAE,gBAAgB,CAAC;SACtC,GAAG,CAAC,eAAe,EAAE;QACpB,QAAQ,EAAE,cAAc,IAAI,GAAG;QAC/B,MAAM,EAAE,YAAY,IAAI,GAAG;QAC3B,MAAM,EAAE,YAAY,IAAI,GAAG;QAC3B,IAAI,EAAE,UAAU,IAAI,GAAG;QACvB,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,sEAAsE;QACtE,sEAAsE;QACtE,6CAA6C;QAC7C,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;KACtD,CAAC,CAAA;IAEJ,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC7C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA;AACvB,CAAC"}
|
package/dist/quotes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quotes.d.ts","sourceRoot":"","sources":["../src/quotes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiBH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAA;AAEpF,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACpC;
|
|
1
|
+
{"version":3,"file":"quotes.d.ts","sourceRoot":"","sources":["../src/quotes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiBH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAA;AAEpF,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACpC;AAyQD,+CAA+C;AAC/C,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAK3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAEpF"}
|
package/dist/quotes.js
CHANGED
|
@@ -69,6 +69,26 @@ function convertUnmatchedPluralPossessives(text, sep) {
|
|
|
69
69
|
return match;
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Build the beginning-double-quote regex pattern from named fragments.
|
|
74
|
+
*/
|
|
75
|
+
function buildBeginningDoublePattern(escapedSep, rawEscSep) {
|
|
76
|
+
const lookbehind = `(?<=^|[\\s\\(\\/\\[\\{\\-${EM_DASH}]|${escapedSep})`;
|
|
77
|
+
const beforeCapture = `(?<beforeChr>${escapedSep}?)`;
|
|
78
|
+
// Characters that signal an ending-quote position (not valid openers)
|
|
79
|
+
const endingChars = `\\s\\)${EM_DASH},!?;:.\\}${rawEscSep}`;
|
|
80
|
+
const afterAlternatives = [
|
|
81
|
+
// Separator followed by space/period/comma (consumed into afterChr)
|
|
82
|
+
`(?<sepWithPunct>${escapedSep}[ .,])`,
|
|
83
|
+
// Three-period ellipsis or a character that isn't ending punctuation
|
|
84
|
+
`(?=${escapedSep}?\\.{3}|${escapedSep}?[^${endingChars}])`,
|
|
85
|
+
// Content followed by a matching closing straight quote — handles
|
|
86
|
+
// quoted punctuation like "?" and "!" where the first char after the
|
|
87
|
+
// opening quote would otherwise look like an ending-quote context
|
|
88
|
+
`(?=[^"]{1,50}")`,
|
|
89
|
+
];
|
|
90
|
+
return `${lookbehind}${beforeCapture}["](?<afterChr>${afterAlternatives.join("|")})`;
|
|
91
|
+
}
|
|
72
92
|
/** Convert straight double quotes to curly quotes */
|
|
73
93
|
function convertDoubleQuotes(text, sep) {
|
|
74
94
|
const rawEscSep = escapeStringRegexp(sep);
|
|
@@ -78,7 +98,7 @@ function convertDoubleQuotes(text, sep) {
|
|
|
78
98
|
text = text.replace(/(?<=^|[\s([{])""(?=$|[\s)\]}.!?,;:])/g, `${LEFT_DOUBLE_QUOTE}${RIGHT_DOUBLE_QUOTE}`);
|
|
79
99
|
// Handle whitespace-only quotes " " - require non-quote chars on both sides
|
|
80
100
|
text = text.replace(/(?<=^|[\s([{])"(?<whitespace>\s+)"(?=$|[\s)\]}.!?,;:])/g, `${LEFT_DOUBLE_QUOTE}$<whitespace>${RIGHT_DOUBLE_QUOTE}`);
|
|
81
|
-
const beginningDouble = cachedRegExp(
|
|
101
|
+
const beginningDouble = cachedRegExp(buildBeginningDoublePattern(escapedSep, rawEscSep), "gm");
|
|
82
102
|
text = text.replace(beginningDouble, `$<beforeChr>${LEFT_DOUBLE_QUOTE}$<afterChr>`);
|
|
83
103
|
text = text.replace(cachedRegExp(`(?<=\\{)(?<sepSpace>${escapedSep}? )?["]`, "g"), `$<sepSpace>${LEFT_DOUBLE_QUOTE}`);
|
|
84
104
|
const endingDouble = `(?<beforeQuote>[^\\s\\(])["]((?<sepAfter>${escapedSep})?)(?=${escapedSep}|[\\s/\\).,;${EM_DASH}:\\-\\}!?s]|$)`;
|
package/dist/quotes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quotes.js","sourceRoot":"","sources":["../src/quotes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"quotes.js","sourceRoot":"","sources":["../src/quotes.ts"],"names":[],"mappings":"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"}
|
package/dist/rehype.d.ts
CHANGED
|
@@ -9,6 +9,10 @@
|
|
|
9
9
|
import type { Root, Element, Text, ElementContent, Parent, RootContent } from "hast";
|
|
10
10
|
import type { Transformer } from "unified";
|
|
11
11
|
import { type TransformOptions } from "./index.js";
|
|
12
|
+
/** Predicate that decides whether an HTML element should be skipped during transformation. */
|
|
13
|
+
type ElementPredicate = (node: Element) => boolean;
|
|
14
|
+
/** Function that transforms a plain-text string (e.g. smart quotes, dashes). */
|
|
15
|
+
type TextTransformer = (input: string) => string;
|
|
12
16
|
/**
|
|
13
17
|
* Options for the rehype-punctilio plugin.
|
|
14
18
|
*/
|
|
@@ -42,7 +46,7 @@ export interface RehypePunctilioOptions extends TransformOptions {
|
|
|
42
46
|
* const textNodes = flattenTextNodes(paragraphElement, (el) => el.tagName === 'code')
|
|
43
47
|
* ```
|
|
44
48
|
*/
|
|
45
|
-
export declare function flattenTextNodes(node: Element | ElementContent, shouldSkip:
|
|
49
|
+
export declare function flattenTextNodes(node: Element | ElementContent, shouldSkip: ElementPredicate, depth?: number): Text[];
|
|
46
50
|
/**
|
|
47
51
|
* Extracts concatenated text content from an element.
|
|
48
52
|
*
|
|
@@ -56,7 +60,7 @@ export declare function flattenTextNodes(node: Element | ElementContent, shouldS
|
|
|
56
60
|
* // Returns "Hello, world!" for <p>Hello, <em>world!</em></p>
|
|
57
61
|
* ```
|
|
58
62
|
*/
|
|
59
|
-
export declare function getTextContent(node: Element, shouldSkip?:
|
|
63
|
+
export declare function getTextContent(node: Element, shouldSkip?: ElementPredicate): string;
|
|
60
64
|
/**
|
|
61
65
|
* Recursively finds the first text node in a tree of HTML elements.
|
|
62
66
|
*
|
|
@@ -118,7 +122,7 @@ export declare function assertSmartQuotesMatch(input: string): void;
|
|
|
118
122
|
* )
|
|
119
123
|
* ```
|
|
120
124
|
*/
|
|
121
|
-
export declare function transformElement(node: Element, transformFn:
|
|
125
|
+
export declare function transformElement(node: Element, transformFn: TextTransformer, shouldSkip: ElementPredicate, separator: string, checkInvariance?: boolean): void;
|
|
122
126
|
/**
|
|
123
127
|
* Collects elements that should have text transformations applied.
|
|
124
128
|
* Only collects elements that directly contain text nodes.
|
|
@@ -128,7 +132,7 @@ export declare function transformElement(node: Element, transformFn: (input: str
|
|
|
128
132
|
* @param depth - Current recursion depth (internal use)
|
|
129
133
|
* @returns Array of elements that contain transformable text
|
|
130
134
|
*/
|
|
131
|
-
export declare function collectTransformableElements(node: Element, shouldSkip:
|
|
135
|
+
export declare function collectTransformableElements(node: Element, shouldSkip: ElementPredicate, depth?: number): Element[];
|
|
132
136
|
/**
|
|
133
137
|
* Rehype plugin that applies punctilio typography transformations to HTML.
|
|
134
138
|
*
|
package/dist/rehype.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rehype.d.ts","sourceRoot":"","sources":["../src/rehype.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAI7D;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IAEnB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAwCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,OAAO,GAAG,cAAc,EAC9B,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"rehype.d.ts","sourceRoot":"","sources":["../src/rehype.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAI7D,8FAA8F;AAC9F,KAAK,gBAAgB,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAA;AAElD,gFAAgF;AAChF,KAAK,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;AAEhD;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IAEnB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAwCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,OAAO,GAAG,cAAc,EAC9B,UAAU,EAAE,gBAAgB,EAC5B,KAAK,GAAE,MAAU,GAChB,IAAI,EAAE,CAkBR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,OAAO,EACb,UAAU,GAAE,gBAA8B,GACzC,MAAM,CAIR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,GAAG,WAAW,EAC1B,KAAK,GAAE,MAAU,GAChB,IAAI,GAAG,IAAI,CAeb;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAuB1D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,eAAe,EAC5B,UAAU,EAAE,gBAAgB,EAC5B,SAAS,EAAE,MAAM,EACjB,eAAe,GAAE,OAAe,GAC/B,IAAI,CAgDN;AA6DD;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,gBAAgB,EAC5B,KAAK,GAAE,MAAU,GAChB,OAAO,EAAE,CA6BX;AAqBD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,eAAe,CAC7B,OAAO,GAAE,sBAA2B,GACnC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAoEzB;AAED,eAAe,eAAe,CAAA"}
|
package/dist/rehype.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rehype.js","sourceRoot":"","sources":["../src/rehype.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,OAAO,EAAE,SAAS,EAAyB,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"rehype.js","sourceRoot":"","sources":["../src/rehype.ts"],"names":[],"mappings":"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"}
|
package/dist/symbols.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../src/symbols.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uDAAuD;IACvD,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AA6BD,uCAAuC;AACvC,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAa1E;AAED,gDAAgD;AAChD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAmChF;
|
|
1
|
+
{"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../src/symbols.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uDAAuD;IACvD,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AA6BD,uCAAuC;AACvC,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAa1E;AAED,gDAAgD;AAChD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAmChF;AAmBD,0DAA0D;AAC1D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAQ7E;AAsBD,yCAAyC;AACzC,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAejD;AAYD,oCAAoC;AACpC,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAYxE;AAED,kFAAkF;AAClF,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAWzE;AAyFD,sEAAsE;AACtE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAe5E;AA6BD,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CA2B3E;AASD,0DAA0D;AAC1D,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAgBpF;AAED,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKnD;AAiBD,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAStF;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CASjF"}
|
package/dist/symbols.js
CHANGED
|
@@ -44,7 +44,7 @@ export function multiplication(text, options = {}) {
|
|
|
44
44
|
return text;
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
47
|
-
* Math symbol replacement map
|
|
47
|
+
* Math symbol replacement map.
|
|
48
48
|
* The separator is inserted between left and right when building the regex.
|
|
49
49
|
*/
|
|
50
50
|
const MATH_SYMBOL_MAP = [
|
|
@@ -203,7 +203,7 @@ export function primeMarks(text, options = {}) {
|
|
|
203
203
|
return text;
|
|
204
204
|
}
|
|
205
205
|
/**
|
|
206
|
-
* Supported Unicode fractions
|
|
206
|
+
* Supported Unicode fractions.
|
|
207
207
|
* The regex alternation and lookup map are both derived from this list.
|
|
208
208
|
*/
|
|
209
209
|
const FRACTION_TUPLES = [
|
|
@@ -271,7 +271,7 @@ export function collapseSpaces(text) {
|
|
|
271
271
|
});
|
|
272
272
|
}
|
|
273
273
|
/**
|
|
274
|
-
* Punctuation ligature map
|
|
274
|
+
* Punctuation ligature map.
|
|
275
275
|
* Pattern: first(sep)?repeated(?:sep?repeated)* → replacement
|
|
276
276
|
* Order matters: handle mixed punctuation first, then repeated
|
|
277
277
|
*/
|
package/dist/symbols.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbols.js","sourceRoot":"","sources":["../src/symbols.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"symbols.js","sourceRoot":"","sources":["../src/symbols.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,15 +12,17 @@ export declare function buildMixedContent(charCount: number, seed?: string): str
|
|
|
12
12
|
/**
|
|
13
13
|
* Asserts that a function scales linearly (not quadratically) with input size.
|
|
14
14
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* ratio. For a
|
|
18
|
-
* For a quadratic one, doubling input doubles ms/char (ratio ~2).
|
|
15
|
+
* Compares ms/char at the two largest of 4 input sizes (4x vs 8x of startingN)
|
|
16
|
+
* after a JIT warmup pass. For a linear algorithm, doubling input keeps ms/char
|
|
17
|
+
* constant (ratio ~1). For a quadratic one, doubling input doubles ms/char (~2).
|
|
19
18
|
*
|
|
20
19
|
* Default startingN of 5000 produces inputs from ~5K to ~40K chars, which is
|
|
21
20
|
* past V8's string allocation overhead inflection point where ms/char stabilizes.
|
|
22
21
|
*
|
|
23
|
-
*
|
|
22
|
+
* Interleaves 4x and 8x measurements so both experience the same CPU load at
|
|
23
|
+
* each moment, then takes the minimum per-trial ratio. This is immune to both
|
|
24
|
+
* transient noise (GC pauses) and persistent noise (CPU contention from other
|
|
25
|
+
* CI jobs), since the ratio within each trial cancels out shared slowdowns.
|
|
24
26
|
*
|
|
25
27
|
* @param fn - The function to benchmark
|
|
26
28
|
* @param buildInput - Builds an input string of approximately `n` units
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../src/tests/test-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgCH;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,MAAa,GAAG,MAAM,CAQhF;AAED
|
|
1
|
+
{"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../src/tests/test-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgCH;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,MAAa,GAAG,MAAM,CAQhF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,EAC9B,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACjC,SAAS,GAAE,MAAa,GACvB,IAAI,CA6BN"}
|
|
@@ -48,44 +48,45 @@ export function buildMixedContent(charCount, seed = "42") {
|
|
|
48
48
|
/**
|
|
49
49
|
* Asserts that a function scales linearly (not quadratically) with input size.
|
|
50
50
|
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* ratio. For a
|
|
54
|
-
* For a quadratic one, doubling input doubles ms/char (ratio ~2).
|
|
51
|
+
* Compares ms/char at the two largest of 4 input sizes (4x vs 8x of startingN)
|
|
52
|
+
* after a JIT warmup pass. For a linear algorithm, doubling input keeps ms/char
|
|
53
|
+
* constant (ratio ~1). For a quadratic one, doubling input doubles ms/char (~2).
|
|
55
54
|
*
|
|
56
55
|
* Default startingN of 5000 produces inputs from ~5K to ~40K chars, which is
|
|
57
56
|
* past V8's string allocation overhead inflection point where ms/char stabilizes.
|
|
58
57
|
*
|
|
59
|
-
*
|
|
58
|
+
* Interleaves 4x and 8x measurements so both experience the same CPU load at
|
|
59
|
+
* each moment, then takes the minimum per-trial ratio. This is immune to both
|
|
60
|
+
* transient noise (GC pauses) and persistent noise (CPU contention from other
|
|
61
|
+
* CI jobs), since the ratio within each trial cancels out shared slowdowns.
|
|
60
62
|
*
|
|
61
63
|
* @param fn - The function to benchmark
|
|
62
64
|
* @param buildInput - Builds an input string of approximately `n` units
|
|
63
65
|
* @param startingN - Size parameter for the smallest input (default: 5000)
|
|
64
66
|
*/
|
|
65
67
|
export function assertLinearScaling(fn, buildInput, startingN = 5000) {
|
|
66
|
-
const
|
|
68
|
+
const input4x = buildInput(startingN * 4);
|
|
69
|
+
const input8x = buildInput(startingN * 8);
|
|
67
70
|
// Warmup with the largest input so JIT compiles all code paths before timing.
|
|
68
|
-
fn(
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
71
|
+
fn(input8x);
|
|
72
|
+
const minTrials = 5;
|
|
73
|
+
const minElapsedMs = 50;
|
|
74
|
+
let bestRatio = Infinity;
|
|
75
|
+
let totalElapsed = 0;
|
|
76
|
+
let trials = 0;
|
|
77
|
+
while (trials < minTrials || totalElapsed < minElapsedMs) {
|
|
78
|
+
const start4 = performance.now();
|
|
79
|
+
fn(input4x);
|
|
80
|
+
const time4 = performance.now() - start4;
|
|
81
|
+
const start8 = performance.now();
|
|
82
|
+
fn(input8x);
|
|
83
|
+
const time8 = performance.now() - start8;
|
|
84
|
+
const ratio = (time8 / input8x.length) / (time4 / input4x.length);
|
|
85
|
+
bestRatio = Math.min(bestRatio, ratio);
|
|
86
|
+
totalElapsed += time4 + time8;
|
|
87
|
+
trials++;
|
|
82
88
|
}
|
|
83
|
-
//
|
|
84
|
-
|
|
85
|
-
// Compare the two largest inputs (best SNR, per-call overhead is negligible).
|
|
86
|
-
// For linear: rate_8x / rate_4x ≈ 1. For quadratic: ≈ 2.
|
|
87
|
-
const rate4x = msPerChar[2];
|
|
88
|
-
const rate8x = msPerChar[3];
|
|
89
|
-
expect(rate8x / rate4x).toBeLessThan(1.5);
|
|
89
|
+
// For linear: ratio ≈ 1. For quadratic: ≈ 2.
|
|
90
|
+
expect(bestRatio).toBeLessThan(1.5);
|
|
90
91
|
}
|
|
91
92
|
//# sourceMappingURL=test-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-helpers.js","sourceRoot":"","sources":["../../src/tests/test-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC;;;;GAIG;AACH,MAAM,SAAS,GAAG;IAChB,qBAAqB;IACrB,oCAAoC;IACpC,UAAU;IACV,4BAA4B;IAC5B,aAAa;IACb,eAAe;IACf,mBAAmB;IACnB,sBAAsB;IACtB,yBAAyB;IACzB,qBAAqB;IACrB,wBAAwB;IACxB,uBAAuB;IACvB,oBAAoB;IACpB,mBAAmB;IACnB,sCAAsC;IACtC,0BAA0B;IAC1B,mBAAmB;IACnB,uCAAuC;IACvC,0BAA0B;IAC1B,mBAAmB;CACpB,CAAA;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,OAAe,IAAI;IACtE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAC/B,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,OAAO,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;QACrD,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"test-helpers.js","sourceRoot":"","sources":["../../src/tests/test-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC;;;;GAIG;AACH,MAAM,SAAS,GAAG;IAChB,qBAAqB;IACrB,oCAAoC;IACpC,UAAU;IACV,4BAA4B;IAC5B,aAAa;IACb,eAAe;IACf,mBAAmB;IACnB,sBAAsB;IACtB,yBAAyB;IACzB,qBAAqB;IACrB,wBAAwB;IACxB,uBAAuB;IACvB,oBAAoB;IACpB,mBAAmB;IACnB,sCAAsC;IACtC,0BAA0B;IAC1B,mBAAmB;IACnB,uCAAuC;IACvC,0BAA0B;IAC1B,mBAAmB;CACpB,CAAA;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,OAAe,IAAI;IACtE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAC/B,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,OAAO,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;QACrD,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,mBAAmB,CACjC,EAA8B,EAC9B,UAAiC,EACjC,YAAoB,IAAI;IAExB,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;IAEzC,8EAA8E;IAC9E,EAAE,CAAC,OAAO,CAAC,CAAA;IAEX,MAAM,SAAS,GAAG,CAAC,CAAA;IACnB,MAAM,YAAY,GAAG,EAAE,CAAA;IACvB,IAAI,SAAS,GAAG,QAAQ,CAAA;IACxB,IAAI,YAAY,GAAG,CAAC,CAAA;IACpB,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,OAAO,MAAM,GAAG,SAAS,IAAI,YAAY,GAAG,YAAY,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;QAChC,EAAE,CAAC,OAAO,CAAC,CAAA;QACX,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,MAAM,CAAA;QAExC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;QAChC,EAAE,CAAC,OAAO,CAAC,CAAA;QACX,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,MAAM,CAAA;QAExC,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;QACjE,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QACtC,YAAY,IAAI,KAAK,GAAG,KAAK,CAAA;QAC7B,MAAM,EAAE,CAAA;IACV,CAAC;IAED,6CAA6C;IAC7C,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;AACrC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "punctilio",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.3",
|
|
4
4
|
"description": "Smart typography transformations: curly quotes, em-dashes, en-dashes, and more",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -88,6 +88,7 @@
|
|
|
88
88
|
"unified": "11.0.5"
|
|
89
89
|
},
|
|
90
90
|
"peerDependencies": {
|
|
91
|
+
"remark-gfm": "^4.0.0",
|
|
91
92
|
"remark-parse": "^11.0.0",
|
|
92
93
|
"remark-stringify": "^11.0.0",
|
|
93
94
|
"unified": "^11.0.0"
|
|
@@ -96,6 +97,9 @@
|
|
|
96
97
|
"unified": {
|
|
97
98
|
"optional": true
|
|
98
99
|
},
|
|
100
|
+
"remark-gfm": {
|
|
101
|
+
"optional": true
|
|
102
|
+
},
|
|
99
103
|
"remark-parse": {
|
|
100
104
|
"optional": true
|
|
101
105
|
},
|
package/src/markdown.ts
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
import { unified } from "unified"
|
|
13
13
|
import remarkParse from "remark-parse"
|
|
14
|
+
import remarkGfm from "remark-gfm"
|
|
14
15
|
import remarkStringify from "remark-stringify"
|
|
15
16
|
|
|
16
17
|
import { remarkPunctilio, type RemarkPunctilioOptions } from "./remark.js"
|
|
@@ -70,6 +71,7 @@ export async function transformMarkdown(
|
|
|
70
71
|
|
|
71
72
|
const processor = unified()
|
|
72
73
|
.use(remarkParse)
|
|
74
|
+
.use(remarkGfm)
|
|
73
75
|
.use(remarkPunctilio, punctilioOptions)
|
|
74
76
|
.use(remarkStringify, {
|
|
75
77
|
emphasis: emphasisMarker ?? "*",
|
package/src/quotes.ts
CHANGED
|
@@ -107,6 +107,30 @@ function convertUnmatchedPluralPossessives(text: string, sep: string): string {
|
|
|
107
107
|
)
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
+
/**
|
|
111
|
+
* Build the beginning-double-quote regex pattern from named fragments.
|
|
112
|
+
*/
|
|
113
|
+
function buildBeginningDoublePattern(escapedSep: string, rawEscSep: string): string {
|
|
114
|
+
const lookbehind = `(?<=^|[\\s\\(\\/\\[\\{\\-${EM_DASH}]|${escapedSep})`
|
|
115
|
+
const beforeCapture = `(?<beforeChr>${escapedSep}?)`
|
|
116
|
+
|
|
117
|
+
// Characters that signal an ending-quote position (not valid openers)
|
|
118
|
+
const endingChars = `\\s\\)${EM_DASH},!?;:.\\}${rawEscSep}`
|
|
119
|
+
|
|
120
|
+
const afterAlternatives = [
|
|
121
|
+
// Separator followed by space/period/comma (consumed into afterChr)
|
|
122
|
+
`(?<sepWithPunct>${escapedSep}[ .,])`,
|
|
123
|
+
// Three-period ellipsis or a character that isn't ending punctuation
|
|
124
|
+
`(?=${escapedSep}?\\.{3}|${escapedSep}?[^${endingChars}])`,
|
|
125
|
+
// Content followed by a matching closing straight quote — handles
|
|
126
|
+
// quoted punctuation like "?" and "!" where the first char after the
|
|
127
|
+
// opening quote would otherwise look like an ending-quote context
|
|
128
|
+
`(?=[^"]{1,50}")`,
|
|
129
|
+
]
|
|
130
|
+
|
|
131
|
+
return `${lookbehind}${beforeCapture}["](?<afterChr>${afterAlternatives.join("|")})`
|
|
132
|
+
}
|
|
133
|
+
|
|
110
134
|
/** Convert straight double quotes to curly quotes */
|
|
111
135
|
function convertDoubleQuotes(text: string, sep: string): string {
|
|
112
136
|
const rawEscSep = escapeStringRegexp(sep)
|
|
@@ -118,10 +142,7 @@ function convertDoubleQuotes(text: string, sep: string): string {
|
|
|
118
142
|
// Handle whitespace-only quotes " " - require non-quote chars on both sides
|
|
119
143
|
text = text.replace(/(?<=^|[\s([{])"(?<whitespace>\s+)"(?=$|[\s)\]}.!?,;:])/g, `${LEFT_DOUBLE_QUOTE}$<whitespace>${RIGHT_DOUBLE_QUOTE}`)
|
|
120
144
|
|
|
121
|
-
const beginningDouble = cachedRegExp(
|
|
122
|
-
`(?<=^|[\\s\\(\\/\\[\\{\\-${EM_DASH}]|${escapedSep})(?<beforeChr>${escapedSep}?)["](?<afterChr>(?<sepWithPunct>${escapedSep}[ .,])|(?=${escapedSep}?\\.{3}|${escapedSep}?[^\\s\\)${EM_DASH},!?;:.\\}${rawEscSep}]))`,
|
|
123
|
-
"gm"
|
|
124
|
-
)
|
|
145
|
+
const beginningDouble = cachedRegExp(buildBeginningDoublePattern(escapedSep, rawEscSep), "gm")
|
|
125
146
|
text = text.replace(beginningDouble, `$<beforeChr>${LEFT_DOUBLE_QUOTE}$<afterChr>`)
|
|
126
147
|
|
|
127
148
|
text = text.replace(cachedRegExp(`(?<=\\{)(?<sepSpace>${escapedSep}? )?["]`, "g"), `$<sepSpace>${LEFT_DOUBLE_QUOTE}`)
|
|
@@ -239,8 +260,13 @@ function applyFrenchQuotes(text: string): string {
|
|
|
239
260
|
.replaceAll(RIGHT_DOUBLE_QUOTE, `${UNICODE_SYMBOLS.NBSP}${UNICODE_SYMBOLS.RIGHT_GUILLEMET}`)
|
|
240
261
|
}
|
|
241
262
|
|
|
263
|
+
interface LocaleQuoteTransform {
|
|
264
|
+
normalize: (text: string) => string
|
|
265
|
+
apply: (text: string) => string
|
|
266
|
+
}
|
|
267
|
+
|
|
242
268
|
/** Locale-specific normalize (pre-pipeline) and apply (post-pipeline) functions. */
|
|
243
|
-
const localeQuoteTransforms: Partial<Record<PunctuationStyle,
|
|
269
|
+
const localeQuoteTransforms: Partial<Record<PunctuationStyle, LocaleQuoteTransform>> = {
|
|
244
270
|
german: { normalize: normalizeGermanQuotes, apply: applyGermanQuotes },
|
|
245
271
|
french: { normalize: normalizeFrenchQuotes, apply: applyFrenchQuotes },
|
|
246
272
|
}
|
package/src/rehype.ts
CHANGED
|
@@ -16,6 +16,12 @@ import { transform, type TransformOptions } from "./index.js"
|
|
|
16
16
|
import { DEFAULT_SEPARATOR } from "./constants.js"
|
|
17
17
|
import { assertSeparatorAbsent, formatErrorString } from "./utils.js"
|
|
18
18
|
|
|
19
|
+
/** Predicate that decides whether an HTML element should be skipped during transformation. */
|
|
20
|
+
type ElementPredicate = (node: Element) => boolean
|
|
21
|
+
|
|
22
|
+
/** Function that transforms a plain-text string (e.g. smart quotes, dashes). */
|
|
23
|
+
type TextTransformer = (input: string) => string
|
|
24
|
+
|
|
19
25
|
/**
|
|
20
26
|
* Options for the rehype-punctilio plugin.
|
|
21
27
|
*/
|
|
@@ -66,7 +72,7 @@ function hasClass(node: Element, className: string): boolean {
|
|
|
66
72
|
*/
|
|
67
73
|
function hasAncestor(
|
|
68
74
|
ancestors: Parent[],
|
|
69
|
-
predicate:
|
|
75
|
+
predicate: ElementPredicate
|
|
70
76
|
): boolean {
|
|
71
77
|
return ancestors.some((ancestor) => {
|
|
72
78
|
if (ancestor.type === "element") {
|
|
@@ -91,7 +97,7 @@ function hasAncestor(
|
|
|
91
97
|
*/
|
|
92
98
|
export function flattenTextNodes(
|
|
93
99
|
node: Element | ElementContent,
|
|
94
|
-
shouldSkip:
|
|
100
|
+
shouldSkip: ElementPredicate,
|
|
95
101
|
depth: number = 0
|
|
96
102
|
): Text[] {
|
|
97
103
|
if (depth > MAX_RECURSION_DEPTH) {
|
|
@@ -128,7 +134,7 @@ export function flattenTextNodes(
|
|
|
128
134
|
*/
|
|
129
135
|
export function getTextContent(
|
|
130
136
|
node: Element,
|
|
131
|
-
shouldSkip:
|
|
137
|
+
shouldSkip: ElementPredicate = () => false
|
|
132
138
|
): string {
|
|
133
139
|
return flattenTextNodes(node, shouldSkip)
|
|
134
140
|
.map((n) => n.value)
|
|
@@ -241,8 +247,8 @@ export function assertSmartQuotesMatch(input: string): void {
|
|
|
241
247
|
*/
|
|
242
248
|
export function transformElement(
|
|
243
249
|
node: Element,
|
|
244
|
-
transformFn:
|
|
245
|
-
shouldSkip:
|
|
250
|
+
transformFn: TextTransformer,
|
|
251
|
+
shouldSkip: ElementPredicate,
|
|
246
252
|
separator: string,
|
|
247
253
|
checkInvariance: boolean = false
|
|
248
254
|
): void {
|
|
@@ -365,7 +371,7 @@ const TRANSFORMABLE_ELEMENTS = [
|
|
|
365
371
|
*/
|
|
366
372
|
export function collectTransformableElements(
|
|
367
373
|
node: Element,
|
|
368
|
-
shouldSkip:
|
|
374
|
+
shouldSkip: ElementPredicate,
|
|
369
375
|
depth: number = 0
|
|
370
376
|
): Element[] {
|
|
371
377
|
/* istanbul ignore if -- defensive: prevents stack overflow from malicious HTML */
|
package/src/symbols.ts
CHANGED
|
@@ -92,11 +92,14 @@ export function multiplication(text: string, options: SymbolOptions = {}): strin
|
|
|
92
92
|
return text
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
+
/** [leftChars, rightChars, negativeLookahead, replacement] */
|
|
96
|
+
type MathSymbolRule = [string, string, string, string]
|
|
97
|
+
|
|
95
98
|
/**
|
|
96
|
-
* Math symbol replacement map
|
|
99
|
+
* Math symbol replacement map.
|
|
97
100
|
* The separator is inserted between left and right when building the regex.
|
|
98
101
|
*/
|
|
99
|
-
const MATH_SYMBOL_MAP: [
|
|
102
|
+
const MATH_SYMBOL_MAP: MathSymbolRule[] = [
|
|
100
103
|
["!", "=", "(?!=)", NOT_EQUAL],
|
|
101
104
|
["\\+/", "-", "", PLUS_MINUS],
|
|
102
105
|
["\\+", "-", "", PLUS_MINUS],
|
|
@@ -117,6 +120,9 @@ export function mathSymbols(text: string, options: SymbolOptions = {}): string {
|
|
|
117
120
|
return text
|
|
118
121
|
}
|
|
119
122
|
|
|
123
|
+
/** Predicate that decides whether a legal symbol should be converted based on surrounding text. */
|
|
124
|
+
type ContextPredicate = (before: string, after: string) => boolean
|
|
125
|
+
|
|
120
126
|
/**
|
|
121
127
|
* Context-aware replacement for legal symbols like (c), (r), (tm).
|
|
122
128
|
* Extracts surrounding text and delegates the convert/skip decision to a predicate.
|
|
@@ -125,7 +131,7 @@ function contextAwareLegalReplace(
|
|
|
125
131
|
text: string,
|
|
126
132
|
pattern: RegExp,
|
|
127
133
|
replacement: string,
|
|
128
|
-
shouldConvert:
|
|
134
|
+
shouldConvert: ContextPredicate,
|
|
129
135
|
): string {
|
|
130
136
|
return text.replace(pattern, (match: string, offset: number, str: string) => {
|
|
131
137
|
const before = str.slice(Math.max(0, offset - 25), offset)
|
|
@@ -152,8 +158,11 @@ export function legalSymbols(text: string): string {
|
|
|
152
158
|
return text
|
|
153
159
|
}
|
|
154
160
|
|
|
161
|
+
/** [asciiPattern, unicodeSymbol] */
|
|
162
|
+
type ArrowRule = [string, string]
|
|
163
|
+
|
|
155
164
|
/** Arrow pattern map: arrow shape → Unicode symbol */
|
|
156
|
-
const ARROW_MAP: [
|
|
165
|
+
const ARROW_MAP: ArrowRule[] = [
|
|
157
166
|
[`<-+${"%CHR%"}?>`, ARROW_LEFT_RIGHT], // Bidirectional: <-> or <-->
|
|
158
167
|
["-+>", ARROW_RIGHT], // Right: -> or -->
|
|
159
168
|
["<-+", ARROW_LEFT], // Left: <- or <--
|
|
@@ -293,11 +302,14 @@ export function primeMarks(text: string, options: SymbolOptions = {}): string {
|
|
|
293
302
|
return text
|
|
294
303
|
}
|
|
295
304
|
|
|
305
|
+
/** [numerator, denominator, unicodeChar] */
|
|
306
|
+
type FractionRule = [string, string, string]
|
|
307
|
+
|
|
296
308
|
/**
|
|
297
|
-
* Supported Unicode fractions
|
|
309
|
+
* Supported Unicode fractions.
|
|
298
310
|
* The regex alternation and lookup map are both derived from this list.
|
|
299
311
|
*/
|
|
300
|
-
const FRACTION_TUPLES: [
|
|
312
|
+
const FRACTION_TUPLES: FractionRule[] = [
|
|
301
313
|
["1", "4", UNICODE_SYMBOLS.FRACTION_1_4],
|
|
302
314
|
["1", "2", UNICODE_SYMBOLS.FRACTION_1_2],
|
|
303
315
|
["3", "4", UNICODE_SYMBOLS.FRACTION_3_4],
|
|
@@ -381,12 +393,15 @@ export function collapseSpaces(text: string): string {
|
|
|
381
393
|
})
|
|
382
394
|
}
|
|
383
395
|
|
|
396
|
+
/** [firstChar, repeatedChar, replacement] */
|
|
397
|
+
type LigatureRule = [string, string, string]
|
|
398
|
+
|
|
384
399
|
/**
|
|
385
|
-
* Punctuation ligature map
|
|
400
|
+
* Punctuation ligature map.
|
|
386
401
|
* Pattern: first(sep)?repeated(?:sep?repeated)* → replacement
|
|
387
402
|
* Order matters: handle mixed punctuation first, then repeated
|
|
388
403
|
*/
|
|
389
|
-
const PUNCTUATION_LIGATURE_MAP: [
|
|
404
|
+
const PUNCTUATION_LIGATURE_MAP: LigatureRule[] = [
|
|
390
405
|
["\\?", "!", QUESTION_EXCLAMATION], // ?!+ → ⁈
|
|
391
406
|
["!", "\\?", EXCLAMATION_QUESTION], // !?+ → ⁉
|
|
392
407
|
["\\?", "\\?", DOUBLE_QUESTION], // ??+ → ⁇
|
package/src/tests/index.test.ts
CHANGED
|
@@ -704,13 +704,8 @@ describe("transform", () => {
|
|
|
704
704
|
expect(transform(input, { nbsp: undefined })).toBe(expected)
|
|
705
705
|
})
|
|
706
706
|
|
|
707
|
-
it("
|
|
708
|
-
|
|
709
|
-
const start = performance.now()
|
|
710
|
-
const result = transform(input)
|
|
711
|
-
const elapsed = performance.now() - start
|
|
712
|
-
expect(result).toBe(input)
|
|
713
|
-
expect(elapsed).toBeLessThan(2000)
|
|
707
|
+
it("scales linearly for long non-transformable content", () => {
|
|
708
|
+
assertLinearScaling(transform, (n) => "abcdefghij ".repeat(n))
|
|
714
709
|
})
|
|
715
710
|
})
|
|
716
711
|
})
|
|
@@ -82,6 +82,16 @@ describe("transformMarkdown", () => {
|
|
|
82
82
|
expect(result.trimEnd()).toEqual("See references \\[1\\]\\[4\\]\\[5\\]\\[6\\] for details.")
|
|
83
83
|
})
|
|
84
84
|
|
|
85
|
+
it.each([
|
|
86
|
+
["plain separators", '| Flag | Default |\n| --- | --- |\n| "a" | b |'],
|
|
87
|
+
["alignment markers", '| Left | Center | Right |\n| :--- | :---: | ---: |\n| "a" | b | c |'],
|
|
88
|
+
["long separators", '| Col |\n| -------------------- |\n| "data" |'],
|
|
89
|
+
])("preserves GFM table separators (%s)", async (_name, input) => {
|
|
90
|
+
const result = await transformMarkdown(input, { nbsp: false })
|
|
91
|
+
expect(result).not.toContain(EM_DASH)
|
|
92
|
+
expect(result).toContain(LDQ)
|
|
93
|
+
})
|
|
94
|
+
|
|
85
95
|
it("README.md prose is already typographically correct", () => {
|
|
86
96
|
const readme = readFileSync(resolve(__dirname, "../../README.md"), "utf-8")
|
|
87
97
|
const lines = readme.split("\n")
|
package/src/tests/quotes.test.ts
CHANGED
|
@@ -59,6 +59,22 @@ describe("niceQuotes", () => {
|
|
|
59
59
|
})
|
|
60
60
|
})
|
|
61
61
|
|
|
62
|
+
describe("quoted punctuation (short strings of punctuation inside quotes)", () => {
|
|
63
|
+
it.each([
|
|
64
|
+
['"?"', `${LEFT_DOUBLE_QUOTE}?${RIGHT_DOUBLE_QUOTE}`],
|
|
65
|
+
['"!"', `${LEFT_DOUBLE_QUOTE}!${RIGHT_DOUBLE_QUOTE}`],
|
|
66
|
+
['"."', `${LEFT_DOUBLE_QUOTE}.${RIGHT_DOUBLE_QUOTE}`],
|
|
67
|
+
['","', `${LEFT_DOUBLE_QUOTE},${RIGHT_DOUBLE_QUOTE}`],
|
|
68
|
+
['";"', `${LEFT_DOUBLE_QUOTE};${RIGHT_DOUBLE_QUOTE}`],
|
|
69
|
+
['"?!"', `${LEFT_DOUBLE_QUOTE}?!${RIGHT_DOUBLE_QUOTE}`],
|
|
70
|
+
['why not "?"', `why not ${LEFT_DOUBLE_QUOTE}?${RIGHT_DOUBLE_QUOTE}`],
|
|
71
|
+
['She asked "?" and left.', `She asked ${LEFT_DOUBLE_QUOTE}?${RIGHT_DOUBLE_QUOTE} and left.`],
|
|
72
|
+
['("?")', `(${LEFT_DOUBLE_QUOTE}?${RIGHT_DOUBLE_QUOTE})`],
|
|
73
|
+
])('handles quoted punctuation: "%s"', (input, expected) => {
|
|
74
|
+
expect(classifyApostrophes(input)).toBe(expected)
|
|
75
|
+
})
|
|
76
|
+
})
|
|
77
|
+
|
|
62
78
|
describe("single quotes and apostrophes", () => {
|
|
63
79
|
it.each([
|
|
64
80
|
["He said, 'Hi'", `He said, ${LEFT_SINGLE_QUOTE}Hi${RIGHT_SINGLE_QUOTE}`],
|
|
@@ -812,12 +812,8 @@ describe("symbol stress tests", () => {
|
|
|
812
812
|
assertLinearScaling(fractions, (n) => "add 1/2 cup ".repeat(n))
|
|
813
813
|
})
|
|
814
814
|
|
|
815
|
-
it("
|
|
816
|
-
|
|
817
|
-
const start = performance.now()
|
|
818
|
-
symbolTransform(input)
|
|
819
|
-
const elapsed = performance.now() - start
|
|
820
|
-
expect(elapsed).toBeLessThan(2000)
|
|
815
|
+
it("scales linearly for consecutive single quotes (ReDoS prevention)", () => {
|
|
816
|
+
assertLinearScaling(symbolTransform, (n) => "'".repeat(n))
|
|
821
817
|
})
|
|
822
818
|
})
|
|
823
819
|
|
|
@@ -52,15 +52,17 @@ export function buildMixedContent(charCount: number, seed: string = "42"): strin
|
|
|
52
52
|
/**
|
|
53
53
|
* Asserts that a function scales linearly (not quadratically) with input size.
|
|
54
54
|
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
* ratio. For a
|
|
58
|
-
* For a quadratic one, doubling input doubles ms/char (ratio ~2).
|
|
55
|
+
* Compares ms/char at the two largest of 4 input sizes (4x vs 8x of startingN)
|
|
56
|
+
* after a JIT warmup pass. For a linear algorithm, doubling input keeps ms/char
|
|
57
|
+
* constant (ratio ~1). For a quadratic one, doubling input doubles ms/char (~2).
|
|
59
58
|
*
|
|
60
59
|
* Default startingN of 5000 produces inputs from ~5K to ~40K chars, which is
|
|
61
60
|
* past V8's string allocation overhead inflection point where ms/char stabilizes.
|
|
62
61
|
*
|
|
63
|
-
*
|
|
62
|
+
* Interleaves 4x and 8x measurements so both experience the same CPU load at
|
|
63
|
+
* each moment, then takes the minimum per-trial ratio. This is immune to both
|
|
64
|
+
* transient noise (GC pauses) and persistent noise (CPU contention from other
|
|
65
|
+
* CI jobs), since the ratio within each trial cancels out shared slowdowns.
|
|
64
66
|
*
|
|
65
67
|
* @param fn - The function to benchmark
|
|
66
68
|
* @param buildInput - Builds an input string of approximately `n` units
|
|
@@ -71,32 +73,32 @@ export function assertLinearScaling(
|
|
|
71
73
|
buildInput: (n: number) => string,
|
|
72
74
|
startingN: number = 5000
|
|
73
75
|
): void {
|
|
74
|
-
const
|
|
76
|
+
const input4x = buildInput(startingN * 4)
|
|
77
|
+
const input8x = buildInput(startingN * 8)
|
|
75
78
|
|
|
76
79
|
// Warmup with the largest input so JIT compiles all code paths before timing.
|
|
77
|
-
fn(
|
|
80
|
+
fn(input8x)
|
|
78
81
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
82
|
+
const minTrials = 5
|
|
83
|
+
const minElapsedMs = 50
|
|
84
|
+
let bestRatio = Infinity
|
|
85
|
+
let totalElapsed = 0
|
|
86
|
+
let trials = 0
|
|
87
|
+
while (trials < minTrials || totalElapsed < minElapsedMs) {
|
|
88
|
+
const start4 = performance.now()
|
|
89
|
+
fn(input4x)
|
|
90
|
+
const time4 = performance.now() - start4
|
|
91
|
+
|
|
92
|
+
const start8 = performance.now()
|
|
93
|
+
fn(input8x)
|
|
94
|
+
const time8 = performance.now() - start8
|
|
93
95
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
+
const ratio = (time8 / input8x.length) / (time4 / input4x.length)
|
|
97
|
+
bestRatio = Math.min(bestRatio, ratio)
|
|
98
|
+
totalElapsed += time4 + time8
|
|
99
|
+
trials++
|
|
100
|
+
}
|
|
96
101
|
|
|
97
|
-
//
|
|
98
|
-
|
|
99
|
-
const rate4x = msPerChar[2]
|
|
100
|
-
const rate8x = msPerChar[3]
|
|
101
|
-
expect(rate8x / rate4x).toBeLessThan(1.5)
|
|
102
|
+
// For linear: ratio ≈ 1. For quadratic: ≈ 2.
|
|
103
|
+
expect(bestRatio).toBeLessThan(1.5)
|
|
102
104
|
}
|