punctilio 4.3.0 → 5.0.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.
Files changed (65) hide show
  1. package/README.md +36 -22
  2. package/dist/constants.d.ts +0 -34
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/constants.js +0 -49
  5. package/dist/constants.js.map +1 -1
  6. package/dist/dashes.d.ts +11 -7
  7. package/dist/dashes.d.ts.map +1 -1
  8. package/dist/dashes.js +1170 -176
  9. package/dist/dashes.js.map +1 -1
  10. package/dist/index.d.ts +14 -118
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +65 -116
  13. package/dist/index.js.map +1 -1
  14. package/dist/markdown.js +1 -1
  15. package/dist/markdown.js.map +1 -1
  16. package/dist/nbsp.d.ts +19 -13
  17. package/dist/nbsp.d.ts.map +1 -1
  18. package/dist/nbsp.js +214 -69
  19. package/dist/nbsp.js.map +1 -1
  20. package/dist/prose-view.d.ts +52 -1
  21. package/dist/prose-view.d.ts.map +1 -1
  22. package/dist/prose-view.js +179 -17
  23. package/dist/prose-view.js.map +1 -1
  24. package/dist/quote-classifier.d.ts +5 -4
  25. package/dist/quote-classifier.d.ts.map +1 -1
  26. package/dist/quote-classifier.js +601 -96
  27. package/dist/quote-classifier.js.map +1 -1
  28. package/dist/quotes.d.ts +12 -4
  29. package/dist/quotes.d.ts.map +1 -1
  30. package/dist/quotes.js +24 -27
  31. package/dist/quotes.js.map +1 -1
  32. package/dist/rehype.d.ts +53 -8
  33. package/dist/rehype.d.ts.map +1 -1
  34. package/dist/rehype.js +105 -62
  35. package/dist/rehype.js.map +1 -1
  36. package/dist/remark.d.ts +1 -1
  37. package/dist/remark.d.ts.map +1 -1
  38. package/dist/remark.js +6 -9
  39. package/dist/remark.js.map +1 -1
  40. package/dist/symbols.d.ts +25 -14
  41. package/dist/symbols.d.ts.map +1 -1
  42. package/dist/symbols.js +812 -220
  43. package/dist/symbols.js.map +1 -1
  44. package/dist/transform-options.d.ts +97 -0
  45. package/dist/transform-options.d.ts.map +1 -0
  46. package/dist/transform-options.js +34 -0
  47. package/dist/transform-options.js.map +1 -0
  48. package/dist/utils.d.ts +0 -16
  49. package/dist/utils.d.ts.map +1 -1
  50. package/dist/utils.js +0 -56
  51. package/dist/utils.js.map +1 -1
  52. package/package.json +6 -2
  53. package/src/constants.ts +0 -56
  54. package/src/dashes.ts +1217 -208
  55. package/src/index.ts +71 -291
  56. package/src/markdown.ts +1 -1
  57. package/src/nbsp.ts +255 -78
  58. package/src/prose-view.ts +250 -25
  59. package/src/quote-classifier.ts +618 -97
  60. package/src/quotes.ts +36 -19
  61. package/src/rehype.ts +169 -88
  62. package/src/remark.ts +6 -11
  63. package/src/symbols.ts +814 -251
  64. package/src/transform-options.ts +143 -0
  65. package/src/utils.ts +0 -82
@@ -1 +1 @@
1
- {"version":3,"file":"quote-classifier.js","sourceRoot":"","sources":["../src/quote-classifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quote-classifier.js","sourceRoot":"","sources":["../src/quote-classifier.ts"],"names":[],"mappings":"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"}
package/dist/quotes.d.ts CHANGED
@@ -1,13 +1,20 @@
1
1
  import { type PunctuationStyle } from "./quote-classifier.js";
2
+ import { type ProseView } from "./prose-view.js";
2
3
  export { PUNCTUATION_STYLES, type PunctuationStyle, type QuoteRole } from "./quote-classifier.js";
3
4
  export interface QuoteOptions {
4
- /** Boundary marker for HTML element boundaries. Default: "\uE000\uE001" */
5
- separator?: string;
6
5
  /** "american" (inside), "british" (outside), "none". Default: "american" */
7
6
  punctuationStyle?: PunctuationStyle;
7
+ /**
8
+ * Convert prime-mark candidates (5'10" → 5′10″) before quote
9
+ * classification. `false` leaves them to the quote rules. Applies to
10
+ * `niceQuotes` only; `classifyApostrophes` never converts primes.
11
+ * Default: true
12
+ */
13
+ primes?: boolean;
8
14
  }
9
15
  /** Convert straight quotes to smart quotes. */
10
- export declare function niceQuotes(text: string, options?: QuoteOptions): string;
16
+ export declare function niceQuotes(input: string, options?: QuoteOptions): string;
17
+ export declare function niceQuotes(input: ProseView, options?: QuoteOptions): void;
11
18
  /**
12
19
  * Classify apostrophes vs. closing single quotes.
13
20
  *
@@ -18,5 +25,6 @@ export declare function niceQuotes(text: string, options?: QuoteOptions): string
18
25
  * For display output, use {@link niceQuotes} or `transform()` instead,
19
26
  * which use U+2019 for both per the Unicode Standard.
20
27
  */
21
- export declare function classifyApostrophes(text: string, options?: QuoteOptions): string;
28
+ export declare function classifyApostrophes(input: string, options?: QuoteOptions): string;
29
+ export declare function classifyApostrophes(input: ProseView, options?: QuoteOptions): void;
22
30
  //# sourceMappingURL=quotes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"quotes.d.ts","sourceRoot":"","sources":["../src/quotes.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAItF,OAAO,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjG,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACpC;AASD,+CAA+C;AAC/C,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAM3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAEpF"}
1
+ {"version":3,"file":"quotes.d.ts","sourceRoot":"","sources":["../src/quotes.ts"],"names":[],"mappings":"AACA,OAAO,EAA8C,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACzG,OAAO,EAAa,KAAK,SAAS,EAAoB,MAAM,iBAAiB,CAAA;AAI7E,OAAO,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjG,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,+CAA+C;AAC/C,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,CAAA;AACzE,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;AAkB1E;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,CAAA;AAClF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA"}
package/dist/quotes.js CHANGED
@@ -1,33 +1,30 @@
1
- import { DEFAULT_SEPARATOR, UNICODE_SYMBOLS } from "./constants.js";
2
- import { classifyAndRenderQuotes } from "./quote-classifier.js";
1
+ import { cachedRegExp, UNICODE_SYMBOLS } from "./constants.js";
2
+ import { classifyAndRenderQuotes, convertPrimeMarks } from "./quote-classifier.js";
3
+ import { overInput, replaceAllInView } from "./prose-view.js";
3
4
  const { RIGHT_SINGLE_QUOTE, MODIFIER_LETTER_APOSTROPHE } = UNICODE_SYMBOLS;
4
5
  export { PUNCTUATION_STYLES } from "./quote-classifier.js";
5
- function processQuotes(text, options, apostrophe) {
6
- const separator = options.separator ?? DEFAULT_SEPARATOR;
6
+ export function niceQuotes(input, options = {}) {
7
7
  const punctuationStyle = options.punctuationStyle ?? "american";
8
- if (punctuationStyle === "none")
9
- return text;
10
- return classifyAndRenderQuotes(text, separator, punctuationStyle, apostrophe);
8
+ return overInput(input, (view) => {
9
+ if (punctuationStyle !== "none") {
10
+ if (options.primes !== false) {
11
+ convertPrimeMarks(view);
12
+ }
13
+ // Apostrophes render as U+2019, the same glyph as closing single quotes,
14
+ // per the Unicode Standard.
15
+ classifyAndRenderQuotes(view, punctuationStyle, RIGHT_SINGLE_QUOTE);
16
+ }
17
+ // Any U+02BC already in the input is normalized to U+2019 as well
18
+ // (including under punctuationStyle "none").
19
+ replaceAllInView(view, cachedRegExp(MODIFIER_LETTER_APOSTROPHE, "g"), () => RIGHT_SINGLE_QUOTE);
20
+ });
11
21
  }
12
- /** Convert straight quotes to smart quotes. */
13
- export function niceQuotes(text, options = {}) {
14
- // Apostrophes render as U+2019, the same glyph as closing single quotes,
15
- // per the Unicode Standard. Any U+02BC already in the input is normalized
16
- // to U+2019 as well (including under punctuationStyle "none").
17
- return processQuotes(text, options, RIGHT_SINGLE_QUOTE)
18
- .replaceAll(MODIFIER_LETTER_APOSTROPHE, RIGHT_SINGLE_QUOTE);
19
- }
20
- /**
21
- * Classify apostrophes vs. closing single quotes.
22
- *
23
- * Returns the text with smart quotes applied, where apostrophes are
24
- * U+02BC (MODIFIER LETTER APOSTROPHE) and closing single quotes are
25
- * U+2019 (RIGHT SINGLE QUOTATION MARK).
26
- *
27
- * For display output, use {@link niceQuotes} or `transform()` instead,
28
- * which use U+2019 for both per the Unicode Standard.
29
- */
30
- export function classifyApostrophes(text, options = {}) {
31
- return processQuotes(text, options, MODIFIER_LETTER_APOSTROPHE);
22
+ export function classifyApostrophes(input, options = {}) {
23
+ const punctuationStyle = options.punctuationStyle ?? "american";
24
+ return overInput(input, (view) => {
25
+ if (punctuationStyle !== "none") {
26
+ classifyAndRenderQuotes(view, punctuationStyle, MODIFIER_LETTER_APOSTROPHE);
27
+ }
28
+ });
32
29
  }
33
30
  //# sourceMappingURL=quotes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"quotes.js","sourceRoot":"","sources":["../src/quotes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,EAAE,uBAAuB,EAAyB,MAAM,uBAAuB,CAAA;AAEtF,MAAM,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,GAAG,eAAe,CAAA;AAE1E,OAAO,EAAE,kBAAkB,EAAyC,MAAM,uBAAuB,CAAA;AASjG,SAAS,aAAa,CAAC,IAAY,EAAE,OAAqB,EAAE,UAAkB;IAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,iBAAiB,CAAA;IACxD,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,UAAU,CAAA;IAC/D,IAAI,gBAAgB,KAAK,MAAM;QAAE,OAAO,IAAI,CAAA;IAC5C,OAAO,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAA;AAC/E,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,UAAwB,EAAE;IACjE,yEAAyE;IACzE,0EAA0E;IAC1E,+DAA+D;IAC/D,OAAO,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC;SACpD,UAAU,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,CAAA;AAC/D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,UAAwB,EAAE;IAC1E,OAAO,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,0BAA0B,CAAC,CAAA;AACjE,CAAC"}
1
+ {"version":3,"file":"quotes.js","sourceRoot":"","sources":["../src/quotes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAyB,MAAM,uBAAuB,CAAA;AACzG,OAAO,EAAE,SAAS,EAAkB,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAE7E,MAAM,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,GAAG,eAAe,CAAA;AAE1E,OAAO,EAAE,kBAAkB,EAAyC,MAAM,uBAAuB,CAAA;AAiBjG,MAAM,UAAU,UAAU,CAAC,KAAyB,EAAE,UAAwB,EAAE;IAC9E,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,UAAU,CAAA;IAC/D,OAAO,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;QAC/B,IAAI,gBAAgB,KAAK,MAAM,EAAE,CAAC;YAChC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC7B,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACzB,CAAC;YACD,yEAAyE;YACzE,4BAA4B;YAC5B,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAA;QACrE,CAAC;QACD,kEAAkE;QAClE,6CAA6C;QAC7C,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,0BAA0B,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAA;IACjG,CAAC,CAAC,CAAA;AACJ,CAAC;AAcD,MAAM,UAAU,mBAAmB,CAAC,KAAyB,EAAE,UAAwB,EAAE;IACvF,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,UAAU,CAAA;IAC/D,OAAO,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;QAC/B,IAAI,gBAAgB,KAAK,MAAM,EAAE,CAAC;YAChC,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,EAAE,0BAA0B,CAAC,CAAA;QAC7E,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
package/dist/rehype.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import type { Element, ElementContent, Parent, Root, RootContent, Text } from "hast";
2
2
  import type { Transformer } from "unified";
3
- import { type TransformOptions } from "./index.js";
4
- type ElementPredicate = (node: Element) => boolean;
5
- type TextTransformer = (input: string) => string;
3
+ import { type TransformOptions } from "./transform-options.js";
4
+ import { type ProsePass, type ProseView } from "./prose-view.js";
5
+ export type ElementPredicate = (node: Element) => boolean;
6
6
  /** Per-text-node skip predicate, called after element-level `shouldSkip`. */
7
7
  export type TextNodeSkipPredicate = (textNode: Text, ancestors: readonly Element[]) => boolean;
8
8
  export interface ElementTransformOptions {
@@ -49,13 +49,58 @@ export declare function flattenTextNodes(node: Element | ElementContent, shouldS
49
49
  export declare function getTextContent(node: Element, shouldSkip?: ElementPredicate): string;
50
50
  export declare function getFirstTextNode(node: Parent | RootContent, depth?: number): Text | null;
51
51
  export declare function assertSmartQuotesMatch(input: string): void;
52
+ export interface ProseViewOfOptions extends ElementTransformOptions {
53
+ /** Element-level skip predicate; skipped subtrees contribute no text nodes. */
54
+ shouldSkip?: ElementPredicate;
55
+ }
56
+ /**
57
+ * Builds a ProseView over the element's transformable text nodes, honoring
58
+ * the element-level `shouldSkip` and per-text-node `shouldSkipText`
59
+ * predicates. Returns null when the element holds no transformable text.
60
+ */
61
+ export declare function proseViewOf(element: Element, options?: ProseViewOfOptions): ProseView | null;
62
+ /**
63
+ * One entry in an `applyPasses` sequence: a bare pass, or a pass with its own
64
+ * skip predicates layered on top of the base options (the per-transform
65
+ * skip-set case, e.g. a fractions pass that additionally skips `<a>`).
66
+ */
67
+ export type PassEntry = ProsePass | {
68
+ pass: ProsePass;
69
+ shouldSkip?: ElementPredicate;
70
+ shouldSkipText?: TextNodeSkipPredicate;
71
+ };
72
+ /**
73
+ * Runs `passes` in order over `element`'s transformable text, owning the
74
+ * ProseView lifecycle so callers never touch a view directly. Each pass
75
+ * commits its edits before the next runs, so passes see each other's
76
+ * committed output — the same sequencing `transform()`'s pipeline uses.
77
+ *
78
+ * Entries whose predicates match the previous entry's share one view;
79
+ * an entry with different `shouldSkip`/`shouldSkipText` predicates gets a
80
+ * fresh view (built after the previous pass committed) over the text nodes
81
+ * that survive both the base `options` predicates and its own.
82
+ */
83
+ export declare function applyPasses(element: Element, passes: readonly PassEntry[], options?: ProseViewOfOptions): void;
84
+ export interface CollectProseBlocksOptions {
85
+ /**
86
+ * HTML tag names to skip. Default: the plugin's default skip list
87
+ * ("code", "pre", "script", ...).
88
+ */
89
+ skipTags?: string[];
90
+ /** CSS class names whose elements (and their subtrees) are skipped. Default: [] */
91
+ skipClasses?: string[];
92
+ /** Additional element-level skip predicate, OR-ed with the tag/class skips. */
93
+ shouldSkip?: ElementPredicate;
94
+ /** Invert the element model as in {@link RehypePunctilioOptions.transformAllElements}. Default: false */
95
+ transformAllElements?: boolean;
96
+ }
52
97
  /**
53
- * Transforms element text using the separator-marking technique. When
54
- * `checkInvariance` is true, verifies `stripMarkers(transform(marked)) ===
55
- * transform(stripMarkers(text))` for debugging marker interactions.
98
+ * Collects the elements under `root` (inclusive) whose text should be
99
+ * transformed as one prose block: transformable elements with direct text or
100
+ * inline-only text descendants. Elements with block-level children recurse so
101
+ * each block transforms independently.
56
102
  */
57
- export declare function transformElement(node: Element, transformFn: TextTransformer, shouldSkip: ElementPredicate, separator: string, checkInvariance?: boolean, options?: ElementTransformOptions): void;
58
- export declare function collectTransformableElements(node: Element, shouldSkip: ElementPredicate, depth?: number, alreadyTransformed?: ReadonlySet<Element>, isTransformable?: (tagName: string) => boolean): Element[];
103
+ export declare function collectProseBlocks(root: Element, options?: CollectProseBlocksOptions): Element[];
59
104
  export declare function rehypePunctilio(options?: RehypePunctilioOptions): Transformer<Root, Root>;
60
105
  export default rehypePunctilio;
61
106
  //# sourceMappingURL=rehype.d.ts.map
@@ -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;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"}
1
+ {"version":3,"file":"rehype.d.ts","sourceRoot":"","sources":["../src/rehype.ts"],"names":[],"mappings":"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"}
package/dist/rehype.js CHANGED
@@ -1,8 +1,9 @@
1
1
  import { SKIP, visitParents } from "unist-util-visit-parents";
2
- import { transform, TRANSFORM_OPTION_KEYS } from "./index.js";
3
- import { DEFAULT_SEPARATOR, MAX_RECURSION_DEPTH } from "./constants.js";
2
+ import { transformView } from "./index.js";
3
+ import { TRANSFORM_OPTION_KEYS } from "./transform-options.js";
4
+ import { MAX_RECURSION_DEPTH } from "./constants.js";
4
5
  import { assertKnownOptionKeys, formatErrorString } from "./utils.js";
5
- import { buildProseView, runLegacyPass } from "./prose-view.js";
6
+ import { buildProseView } from "./prose-view.js";
6
7
  const DEFAULT_SKIP_TAGS = ["code", "pre", "script", "style", "kbd", "var", "samp", "template", "math", "svg"];
7
8
  // Form elements whose text content is a literal control value, not prose.
8
9
  // Hard-skipped (whole subtree) under `transformAllElements`, on top of the
@@ -98,35 +99,65 @@ export function assertSmartQuotesMatch(input) {
98
99
  }
99
100
  }
100
101
  /**
101
- * Transforms element text using the separator-marking technique. When
102
- * `checkInvariance` is true, verifies `stripMarkers(transform(marked)) ===
103
- * transform(stripMarkers(text))` for debugging marker interactions.
102
+ * Builds a ProseView over the element's transformable text nodes, honoring
103
+ * the element-level `shouldSkip` and per-text-node `shouldSkipText`
104
+ * predicates. Returns null when the element holds no transformable text.
104
105
  */
105
- export function transformElement(node, transformFn, shouldSkip, separator, checkInvariance = false, options) {
106
+ export function proseViewOf(element, options = {}) {
106
107
  /* istanbul ignore if -- defensive: elements should always have children array */
107
- if (!node?.children) {
108
- return;
108
+ if (!element?.children) {
109
+ return null;
109
110
  }
110
- const textNodes = flattenTextNodes(node, shouldSkip, options);
111
+ const shouldSkip = options.shouldSkip ?? (() => false);
112
+ const textNodes = flattenTextNodes(element, shouldSkip, options);
111
113
  if (textNodes.length === 0) {
112
- return;
114
+ return null;
113
115
  }
114
- // Capture marked content before transformation for invariance check
115
- const markedContent = checkInvariance
116
- ? textNodes.map((n) => n.value + separator).join("")
117
- : "";
118
- const view = buildProseView(textNodes);
119
- runLegacyPass(view, transformFn, separator);
120
- if (checkInvariance) {
121
- const transformedContent = textNodes.map((n) => n.value + separator).join("");
122
- const stripSep = (s) => s.replaceAll(separator, "");
123
- const strippedTransformed = stripSep(transformedContent);
124
- const expected = transformFn(stripSep(markedContent));
125
- if (expected !== strippedTransformed) {
126
- throw new Error(`Transform invariance check failed: ` +
127
- `expected ${formatErrorString(expected, "expected")} ` +
128
- `but got ${formatErrorString(strippedTransformed, "actual")}`);
116
+ return buildProseView(textNodes);
117
+ }
118
+ function resolvePassEntry(entry) {
119
+ return typeof entry === "function" ? { pass: entry } : entry;
120
+ }
121
+ /** OR-combines an optional entry predicate onto an optional base predicate. */
122
+ function mergePredicates(base, extra) {
123
+ if (!base)
124
+ return extra;
125
+ if (!extra)
126
+ return base;
127
+ return (...args) => base(...args) || extra(...args);
128
+ }
129
+ /**
130
+ * Runs `passes` in order over `element`'s transformable text, owning the
131
+ * ProseView lifecycle so callers never touch a view directly. Each pass
132
+ * commits its edits before the next runs, so passes see each other's
133
+ * committed output — the same sequencing `transform()`'s pipeline uses.
134
+ *
135
+ * Entries whose predicates match the previous entry's share one view;
136
+ * an entry with different `shouldSkip`/`shouldSkipText` predicates gets a
137
+ * fresh view (built after the previous pass committed) over the text nodes
138
+ * that survive both the base `options` predicates and its own.
139
+ */
140
+ export function applyPasses(element, passes, options = {}) {
141
+ let currentView = null;
142
+ let currentPredicates = null;
143
+ for (const entry of passes) {
144
+ const { pass, shouldSkip, shouldSkipText } = resolvePassEntry(entry);
145
+ const samePredicates = currentPredicates !== null &&
146
+ currentPredicates.shouldSkip === shouldSkip &&
147
+ currentPredicates.shouldSkipText === shouldSkipText;
148
+ if (!samePredicates) {
149
+ currentView = proseViewOf(element, {
150
+ shouldSkip: mergePredicates(options.shouldSkip, shouldSkip),
151
+ shouldSkipText: mergePredicates(options.shouldSkipText, shouldSkipText),
152
+ });
153
+ currentPredicates = { shouldSkip, shouldSkipText };
129
154
  }
155
+ // No transformable text under this entry's predicates; later entries may
156
+ // still see text (their skip sets differ), so keep going.
157
+ if (currentView === null) {
158
+ continue;
159
+ }
160
+ pass(currentView);
130
161
  }
131
162
  }
132
163
  // Block children cause per-block processing to avoid merging text across
@@ -218,7 +249,42 @@ function hasTextDescendant(node, shouldSkip, depth = 0) {
218
249
  }
219
250
  return false;
220
251
  }
221
- export function collectTransformableElements(node, shouldSkip, depth = 0, alreadyTransformed, isTransformable = isTransformableElement) {
252
+ function resolveCollectOptions(options) {
253
+ const { skipTags = DEFAULT_SKIP_TAGS, skipClasses = [], shouldSkip, transformAllElements = false } = options;
254
+ // In inverted mode, form-value elements join the skip-list so their literal
255
+ // values are neither transformed nor flattened into a transformable ancestor.
256
+ const skipTagSet = new Set(transformAllElements ? [...skipTags, ...FORM_VALUE_TAGS] : skipTags);
257
+ const skipClassSet = new Set(skipClasses);
258
+ const hasSkipClass = (node) => {
259
+ if (skipClassSet.size === 0)
260
+ return false;
261
+ const classNames = node.properties?.className;
262
+ const classes = Array.isArray(classNames)
263
+ ? classNames.filter((c) => typeof c === "string")
264
+ : typeof classNames === "string" ? classNames.split(/\s+/) : [];
265
+ return classes.some((cls) => skipClassSet.has(cls));
266
+ };
267
+ return {
268
+ shouldSkip: (node) => skipTagSet.has(node.tagName) || hasSkipClass(node) || (shouldSkip?.(node) ?? false),
269
+ // Inverted mode transforms every non-skipped element except non-prose
270
+ // containers; the default keeps the `TRANSFORMABLE_ELEMENTS` allowlist
271
+ // (plus custom elements).
272
+ isTransformable: transformAllElements
273
+ ? (tagName) => !NON_PROSE_CONTAINER_TAGS.has(tagName)
274
+ : isTransformableElement,
275
+ };
276
+ }
277
+ /**
278
+ * Collects the elements under `root` (inclusive) whose text should be
279
+ * transformed as one prose block: transformable elements with direct text or
280
+ * inline-only text descendants. Elements with block-level children recurse so
281
+ * each block transforms independently.
282
+ */
283
+ export function collectProseBlocks(root, options = {}) {
284
+ const { shouldSkip, isTransformable } = resolveCollectOptions(options);
285
+ return collectProseBlocksImpl(root, shouldSkip, 0, undefined, isTransformable);
286
+ }
287
+ function collectProseBlocksImpl(node, shouldSkip, depth, alreadyTransformed, isTransformable) {
222
288
  /* istanbul ignore if -- defensive: prevents stack overflow from malicious HTML */
223
289
  if (depth > MAX_RECURSION_DEPTH) {
224
290
  return [];
@@ -242,7 +308,7 @@ export function collectTransformableElements(node, shouldSkip, depth = 0, alread
242
308
  // children that should be independent, or has no text to transform.
243
309
  for (const child of node.children) {
244
310
  if (child.type === "element") {
245
- const childResults = collectTransformableElements(child, shouldSkip, depth + 1, alreadyTransformed, isTransformable);
311
+ const childResults = collectProseBlocksImpl(child, shouldSkip, depth + 1, alreadyTransformed, isTransformable);
246
312
  for (const r of childResults)
247
313
  results.push(r);
248
314
  }
@@ -264,40 +330,14 @@ function markDescendants(node, set, depth = 0) {
264
330
  }
265
331
  export function rehypePunctilio(options = {}) {
266
332
  assertKnownOptionKeys(options, REHYPE_OPTION_KEYS, "rehypePunctilio");
267
- const { skipTags = DEFAULT_SKIP_TAGS, skipClasses = [], separator = DEFAULT_SEPARATOR, shouldSkipText, transformAllElements = false, ...transformOptions } = options;
268
- // In inverted mode, form-value elements join the skip-list so their literal
269
- // values are neither transformed nor flattened into a transformable ancestor.
270
- const skipTagSet = new Set(transformAllElements ? [...skipTags, ...FORM_VALUE_TAGS] : skipTags);
271
- const skipClassSet = new Set(skipClasses);
272
- // Inverted mode transforms every non-skipped element except non-prose
273
- // containers; the default keeps the `TRANSFORMABLE_ELEMENTS` allowlist (plus
274
- // custom elements).
275
- const isTransformable = transformAllElements
276
- ? (tagName) => !NON_PROSE_CONTAINER_TAGS.has(tagName)
277
- : isTransformableElement;
278
- const hasSkipClass = (node) => {
279
- if (skipClassSet.size === 0)
280
- return false;
281
- const classNames = node.properties?.className;
282
- const classes = Array.isArray(classNames)
283
- ? classNames.filter((c) => typeof c === "string")
284
- : typeof classNames === "string" ? classNames.split(/\s+/) : [];
285
- return classes.some((cls) => skipClassSet.has(cls));
286
- };
287
- const shouldSkip = (node) => skipTagSet.has(node.tagName) || hasSkipClass(node);
288
- const pluginOptions = {
289
- ...transformOptions,
290
- separator,
291
- };
292
- const transformFn = (text) => {
293
- return transform(text, pluginOptions);
294
- };
333
+ const { skipTags, skipClasses, shouldSkipText, transformAllElements, ...transformOptions } = options;
334
+ const { shouldSkip, isTransformable } = resolveCollectOptions({ skipTags, skipClasses, transformAllElements });
295
335
  // Allocate the per-element options object once; it's read-only inside
296
- // transformElement, so sharing across calls is safe and avoids a fresh
336
+ // proseViewOf, so sharing across calls is safe and avoids a fresh
297
337
  // allocation per transformable element.
298
- const elementOptions = shouldSkipText
299
- ? { shouldSkipText }
300
- : undefined;
338
+ const viewOptions = shouldSkipText
339
+ ? { shouldSkip, shouldSkipText }
340
+ : { shouldSkip };
301
341
  return (tree) => {
302
342
  // Track transformed elements to avoid double-processing
303
343
  const transformed = new Set();
@@ -310,10 +350,13 @@ export function rehypePunctilio(options = {}) {
310
350
  return SKIP;
311
351
  }
312
352
  // Collect and transform elements with text content
313
- const elementsToTransform = collectTransformableElements(node, shouldSkip, 0, transformed, isTransformable);
353
+ const elementsToTransform = collectProseBlocksImpl(node, shouldSkip, 0, transformed, isTransformable);
314
354
  for (const elt of elementsToTransform) {
315
355
  if (!transformed.has(elt)) {
316
- transformElement(elt, transformFn, shouldSkip, separator, false, elementOptions);
356
+ const view = proseViewOf(elt, viewOptions);
357
+ if (view !== null) {
358
+ transformView(view, transformOptions);
359
+ }
317
360
  transformed.add(elt);
318
361
  // Mark all descendants as processed since their text was included
319
362
  markDescendants(elt, transformed);