@promptctl/rich-js 0.8.0 → 0.10.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/README.md +68 -1
- package/dist/core/box.d.ts +93 -39
- package/dist/core/box.d.ts.map +1 -1
- package/dist/core/box.js +348 -490
- package/dist/core/box.js.map +1 -1
- package/dist/core/color.d.ts.map +1 -1
- package/dist/core/color.js +22 -8
- package/dist/core/color.js.map +1 -1
- package/dist/core/console.d.ts +2 -4
- package/dist/core/console.d.ts.map +1 -1
- package/dist/core/console.js +35 -24
- package/dist/core/console.js.map +1 -1
- package/dist/core/highlighter.d.ts +2 -1
- package/dist/core/highlighter.d.ts.map +1 -1
- package/dist/core/highlighter.js +28 -6
- package/dist/core/highlighter.js.map +1 -1
- package/dist/{renderables → core}/json.d.ts +8 -3
- package/dist/core/json.d.ts.map +1 -0
- package/dist/{renderables → core}/json.js +7 -2
- package/dist/core/json.js.map +1 -0
- package/dist/core/markup.d.ts +6 -7
- package/dist/core/markup.d.ts.map +1 -1
- package/dist/core/markup.js +124 -32
- package/dist/core/markup.js.map +1 -1
- package/dist/core/pretty.d.ts +56 -21
- package/dist/core/pretty.d.ts.map +1 -1
- package/dist/core/pretty.js +210 -116
- package/dist/core/pretty.js.map +1 -1
- package/dist/core/protocol.d.ts +16 -0
- package/dist/core/protocol.d.ts.map +1 -1
- package/dist/core/protocol.js +13 -0
- package/dist/core/protocol.js.map +1 -1
- package/dist/core/segment.d.ts +5 -0
- package/dist/core/segment.d.ts.map +1 -1
- package/dist/core/segment.js +9 -3
- package/dist/core/segment.js.map +1 -1
- package/dist/core/strip.d.ts +9 -5
- package/dist/core/strip.d.ts.map +1 -1
- package/dist/core/strip.js +39 -41
- package/dist/core/strip.js.map +1 -1
- package/dist/core/style.d.ts +19 -0
- package/dist/core/style.d.ts.map +1 -1
- package/dist/core/style.js +46 -38
- package/dist/core/style.js.map +1 -1
- package/dist/core/text.d.ts +102 -4
- package/dist/core/text.d.ts.map +1 -1
- package/dist/core/text.js +322 -184
- package/dist/core/text.js.map +1 -1
- package/dist/core/wrap.d.ts +42 -0
- package/dist/core/wrap.d.ts.map +1 -0
- package/dist/core/wrap.js +128 -0
- package/dist/core/wrap.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/renderables/markdown.d.ts +1 -1
- package/dist/renderables/markdown.d.ts.map +1 -1
- package/dist/renderables/markdown.js +7 -14
- package/dist/renderables/markdown.js.map +1 -1
- package/dist/renderables/padding.d.ts +1 -1
- package/dist/renderables/padding.d.ts.map +1 -1
- package/dist/renderables/padding.js +5 -11
- package/dist/renderables/padding.js.map +1 -1
- package/dist/renderables/panel.d.ts +4 -4
- package/dist/renderables/panel.d.ts.map +1 -1
- package/dist/renderables/panel.js +39 -39
- package/dist/renderables/panel.js.map +1 -1
- package/dist/renderables/progress.d.ts +3 -3
- package/dist/renderables/progress.d.ts.map +1 -1
- package/dist/renderables/progress.js +11 -9
- package/dist/renderables/progress.js.map +1 -1
- package/dist/renderables/progressBar.d.ts +3 -3
- package/dist/renderables/progressBar.d.ts.map +1 -1
- package/dist/renderables/progressBar.js +9 -15
- package/dist/renderables/progressBar.js.map +1 -1
- package/dist/renderables/prompt.js +1 -1
- package/dist/renderables/prompt.js.map +1 -1
- package/dist/renderables/rule.d.ts +1 -1
- package/dist/renderables/rule.d.ts.map +1 -1
- package/dist/renderables/rule.js +5 -10
- package/dist/renderables/rule.js.map +1 -1
- package/dist/renderables/spinner.d.ts +2 -2
- package/dist/renderables/spinner.d.ts.map +1 -1
- package/dist/renderables/spinner.js +6 -11
- package/dist/renderables/spinner.js.map +1 -1
- package/dist/renderables/status.d.ts.map +1 -1
- package/dist/renderables/status.js +5 -11
- package/dist/renderables/status.js.map +1 -1
- package/dist/renderables/table.d.ts +54 -16
- package/dist/renderables/table.d.ts.map +1 -1
- package/dist/renderables/table.js +239 -99
- package/dist/renderables/table.js.map +1 -1
- package/dist/renderables/traceback.d.ts +1 -1
- package/dist/renderables/traceback.d.ts.map +1 -1
- package/dist/renderables/traceback.js +9 -8
- package/dist/renderables/traceback.js.map +1 -1
- package/dist/renderables/tree.d.ts +2 -2
- package/dist/renderables/tree.d.ts.map +1 -1
- package/dist/renderables/tree.js +16 -22
- package/dist/renderables/tree.js.map +1 -1
- package/dist/template-bindings/helpers.d.ts.map +1 -1
- package/dist/template-bindings/helpers.js +19 -1
- package/dist/template-bindings/helpers.js.map +1 -1
- package/dist/widgets/button.d.ts.map +1 -1
- package/dist/widgets/button.js +4 -5
- package/dist/widgets/button.js.map +1 -1
- package/dist/widgets/checkbox.d.ts.map +1 -1
- package/dist/widgets/checkbox.js +3 -4
- package/dist/widgets/checkbox.js.map +1 -1
- package/dist/widgets/dropdown.d.ts.map +1 -1
- package/dist/widgets/dropdown.js +4 -5
- package/dist/widgets/dropdown.js.map +1 -1
- package/dist/widgets/focus-manager.d.ts +0 -1
- package/dist/widgets/focus-manager.d.ts.map +1 -1
- package/dist/widgets/focus-manager.js +3 -7
- package/dist/widgets/focus-manager.js.map +1 -1
- package/dist/widgets/screen.d.ts.map +1 -1
- package/dist/widgets/screen.js +2 -4
- package/dist/widgets/screen.js.map +1 -1
- package/dist/widgets/slider.d.ts.map +1 -1
- package/dist/widgets/slider.js +7 -8
- package/dist/widgets/slider.js.map +1 -1
- package/dist/widgets/text-input.d.ts.map +1 -1
- package/dist/widgets/text-input.js +5 -6
- package/dist/widgets/text-input.js.map +1 -1
- package/dist/widgets/toggle.d.ts.map +1 -1
- package/dist/widgets/toggle.js +4 -5
- package/dist/widgets/toggle.js.map +1 -1
- package/dist/widgets/widget-base.d.ts +3 -3
- package/dist/widgets/widget-base.d.ts.map +1 -1
- package/dist/widgets/widget-base.js +4 -6
- package/dist/widgets/widget-base.js.map +1 -1
- package/package.json +26 -10
- package/dist/renderables/json.d.ts.map +0 -1
- package/dist/renderables/json.js.map +0 -1
- package/dist/renderables/pretty.d.ts +0 -29
- package/dist/renderables/pretty.d.ts.map +0 -1
- package/dist/renderables/pretty.js +0 -141
- package/dist/renderables/pretty.js.map +0 -1
- package/dist/themes/paletteResolver.d.ts +0 -35
- package/dist/themes/paletteResolver.d.ts.map +0 -1
- package/dist/themes/paletteResolver.js +0 -88
- package/dist/themes/paletteResolver.js.map +0 -1
- package/dist/widgets/host-stream.d.ts +0 -31
- package/dist/widgets/host-stream.d.ts.map +0 -1
- package/dist/widgets/host-stream.js +0 -36
- package/dist/widgets/host-stream.js.map +0 -1
- package/dist/widgets/terminal-host.d.ts +0 -138
- package/dist/widgets/terminal-host.d.ts.map +0 -1
- package/dist/widgets/terminal-host.js +0 -127
- package/dist/widgets/terminal-host.js.map +0 -1
package/dist/core/markup.d.ts
CHANGED
|
@@ -9,6 +9,12 @@
|
|
|
9
9
|
* handler — splicing the handler's returned Renderable into the output. The
|
|
10
10
|
* built-in style dialect and the plugin dialect are routed by the registry,
|
|
11
11
|
* which is the single trust boundary between them.
|
|
12
|
+
*
|
|
13
|
+
* Plugin pairs must nest. The built-in dialect admits non-strict nesting
|
|
14
|
+
* (`[bold]a[italic]b[/bold]c[/italic]`) because a style is an annotation and
|
|
15
|
+
* annotations may overlap freely; a plugin tag is a replacement whose handler
|
|
16
|
+
* takes one contiguous `inner`, so an overlapping pair has no slice to hand it
|
|
17
|
+
* and is rejected with a `MarkupError`.
|
|
12
18
|
*/
|
|
13
19
|
import { Style } from "./style.js";
|
|
14
20
|
import { RichText } from "./text.js";
|
|
@@ -26,13 +32,6 @@ export declare class MarkupError extends Error {
|
|
|
26
32
|
* Escapes markup characters so they render as literal text.
|
|
27
33
|
*/
|
|
28
34
|
export declare function escape(text: string): string;
|
|
29
|
-
export interface RenderOptions {
|
|
30
|
-
emoji?: boolean;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Parses markup text and returns a RichText with appropriate spans.
|
|
34
|
-
*/
|
|
35
|
-
export declare function render(markup: string, baseStyle?: string | Style, options?: RenderOptions): RichText;
|
|
36
35
|
export interface MarkupTagContext {
|
|
37
36
|
/** Parsed `key=value` attributes from the opening tag. */
|
|
38
37
|
attrs: Record<string, string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markup.d.ts","sourceRoot":"","sources":["../../src/core/markup.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"markup.d.ts","sourceRoot":"","sources":["../../src/core/markup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,KAAK,EAAoB,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAQ,MAAM,WAAW,CAAC;AAK3C,qBAAa,GAAG;IACd,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE5B,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAK7C,QAAQ,IAAI,MAAM;IAMlB,IAAI,MAAM,IAAI,MAAM,CAInB;CACF;AAID,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM;CAI5B;AAID;;GAEG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3C;AA0PD,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,uEAAuE;IACvE,QAAQ,EAAE,QAAQ,CAAC;IACnB,uFAAuF;IACvF,GAAG,EAAE,MAAM,CAAC;CACb;AAOD,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,gBAAgB,KAAK,QAAQ,CAAC;AAkBnE,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IAEjE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAiBvD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;CAGhD;AAqBD,eAAO,MAAM,oBAAoB,gBAAuB,CAAC;AAmEzD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,mBAAmB,GAC5B,QAAQ,CA+CV"}
|
package/dist/core/markup.js
CHANGED
|
@@ -9,6 +9,12 @@
|
|
|
9
9
|
* handler — splicing the handler's returned Renderable into the output. The
|
|
10
10
|
* built-in style dialect and the plugin dialect are routed by the registry,
|
|
11
11
|
* which is the single trust boundary between them.
|
|
12
|
+
*
|
|
13
|
+
* Plugin pairs must nest. The built-in dialect admits non-strict nesting
|
|
14
|
+
* (`[bold]a[italic]b[/bold]c[/italic]`) because a style is an annotation and
|
|
15
|
+
* annotations may overlap freely; a plugin tag is a replacement whose handler
|
|
16
|
+
* takes one contiguous `inner`, so an overlapping pair has no slice to hand it
|
|
17
|
+
* and is rejected with a `MarkupError`.
|
|
12
18
|
*/
|
|
13
19
|
import { Style, StyleSyntaxError } from "./style.js";
|
|
14
20
|
import { RichText, Span } from "./text.js";
|
|
@@ -49,9 +55,19 @@ export function escape(text) {
|
|
|
49
55
|
// --- render ---
|
|
50
56
|
// Fast path: if no `[` in text, skip parsing entirely
|
|
51
57
|
const HAS_TAG_RE = /\[/;
|
|
52
|
-
//
|
|
53
|
-
//
|
|
54
|
-
|
|
58
|
+
// [LAW:one-source-of-truth] The authority for this grammar is `RE_TAGS` in
|
|
59
|
+
// `rich/markup.py`, and this is deliberately its expression rather than a
|
|
60
|
+
// re-derivation, so the two can be read side by side; `[^[]*?` is lazy against
|
|
61
|
+
// the following `]`, which is what stops the body at the first one.
|
|
62
|
+
//
|
|
63
|
+
// The enumeration it replaced — `[a-zA-Z#][a-zA-Z0-9_.# -]*` — was a second
|
|
64
|
+
// drawing of the same territory and had drifted both ways at once: it invented
|
|
65
|
+
// uppercase, so `[INFO]` was taken as an opening tag and its text vanished from
|
|
66
|
+
// every `Console.print` with no error, and it omitted `@` and the punctuation
|
|
67
|
+
// the reference admits, so `[a+b]` stayed literal (rich-markup-sec).
|
|
68
|
+
// `markup-grammar.golden.txt` pins both directions.
|
|
69
|
+
// The leading alternative handles an escaped bracket: \[
|
|
70
|
+
const TAG_RE = /(?:\\\[)|(\[[a-z#/@][^[]*?\])/g;
|
|
55
71
|
function parseTags(markup) {
|
|
56
72
|
const tags = [];
|
|
57
73
|
const re = new RegExp(TAG_RE.source, TAG_RE.flags);
|
|
@@ -64,13 +80,20 @@ function parseTags(markup) {
|
|
|
64
80
|
if (!captured)
|
|
65
81
|
continue;
|
|
66
82
|
const inner = captured.slice(1, -1); // Remove [ ]
|
|
67
|
-
const
|
|
68
|
-
const
|
|
69
|
-
const stylePart = isClosing ? inner.slice(1) : inner;
|
|
83
|
+
const isClose = inner.startsWith("/");
|
|
84
|
+
const stylePart = isClose ? inner.slice(1) : inner;
|
|
70
85
|
// Check for parameters (name=value)
|
|
71
86
|
const eqIdx = stylePart.indexOf("=");
|
|
72
87
|
const styleName = eqIdx >= 0 ? stylePart.slice(0, eqIdx).trim() : stylePart.trim();
|
|
73
88
|
const parameters = eqIdx >= 0 ? stylePart.slice(eqIdx + 1) : undefined;
|
|
89
|
+
// [LAW:types-are-the-program] What separates `[/]` from `[/red]` is whether
|
|
90
|
+
// a name survives the slash, which is how the reference asks it too
|
|
91
|
+
// (`style_name = tag.name[1:].strip()`). Testing the raw tag text against
|
|
92
|
+
// the literal `"/"` answered a narrower question, and the widened grammar
|
|
93
|
+
// is what exposed the gap: `[/ ]` reaches here now, and under the old test
|
|
94
|
+
// it was an explicit close of the empty style rather than an implicit one.
|
|
95
|
+
const isImplicitClose = isClose && styleName === "";
|
|
96
|
+
const isClosing = isClose && !isImplicitClose;
|
|
74
97
|
tags.push({
|
|
75
98
|
fullMatch: captured,
|
|
76
99
|
isClosing,
|
|
@@ -84,9 +107,27 @@ function parseTags(markup) {
|
|
|
84
107
|
return tags;
|
|
85
108
|
}
|
|
86
109
|
/**
|
|
87
|
-
* Parses
|
|
110
|
+
* Parses the built-in style dialect — `[bold red]text[/bold red]` — into a
|
|
111
|
+
* `RichText` with styled spans. Module-private on purpose: `renderMarkup` is
|
|
112
|
+
* this module's one crossing, and it delegates straight here the moment a
|
|
113
|
+
* string carries no paired plugin tag.
|
|
114
|
+
*
|
|
115
|
+
* [LAW:single-enforcer] Exporting this is what let a caller bind to the inner
|
|
116
|
+
* layer, and two of them did — `console.ts` and `prompt.ts` imported it as
|
|
117
|
+
* `render as renderMarkup`, so the import line read identically to the
|
|
118
|
+
* plugin-aware sites and the difference was invisible at every point of use. A
|
|
119
|
+
* tag registered on `globalMarkupRegistry` resolved in a table cell and was
|
|
120
|
+
* silently eaten by `console.print`, the path almost every consumer takes
|
|
121
|
+
* (rich-markup-pcp). Unexported, that drift is a compile error rather than a
|
|
122
|
+
* rule someone has to keep remembering.
|
|
123
|
+
*
|
|
124
|
+
* [LAW:dataflow-not-control-flow] Rendering *without* plugins stays reachable
|
|
125
|
+
* as a value rather than a second name: `renderMarkup(s, { registry: new
|
|
126
|
+
* MarkupRegistry() })`. Two exported functions put that variability in the
|
|
127
|
+
* function names; an empty registry puts it in the data, where the one
|
|
128
|
+
* boundary admits both.
|
|
88
129
|
*/
|
|
89
|
-
|
|
130
|
+
function render(markup, baseStyle, options) {
|
|
90
131
|
// Fast path: no brackets at all
|
|
91
132
|
if (!HAS_TAG_RE.test(markup)) {
|
|
92
133
|
let text = markup;
|
|
@@ -116,10 +157,7 @@ export function render(markup, baseStyle, options) {
|
|
|
116
157
|
throw new MarkupError("Closing tag [/] has nothing to close");
|
|
117
158
|
}
|
|
118
159
|
const opened = openStack.pop();
|
|
119
|
-
|
|
120
|
-
? `${opened.styleName} ${opened.parameters}`
|
|
121
|
-
: opened.styleName;
|
|
122
|
-
spans.push(new Span(opened.textStart, plainText.length, styleStr));
|
|
160
|
+
spans.push(new Span(opened.textStart, plainText.length, openTagStyle(opened)));
|
|
123
161
|
}
|
|
124
162
|
else if (tag.isClosing) {
|
|
125
163
|
// [/style] — find and close matching open tag
|
|
@@ -128,10 +166,7 @@ export function render(markup, baseStyle, options) {
|
|
|
128
166
|
throw new MarkupError(`Closing tag [/${tag.styleName}] doesn't match any open tag`);
|
|
129
167
|
}
|
|
130
168
|
const opened = openStack[idx];
|
|
131
|
-
|
|
132
|
-
? `${opened.styleName} ${opened.parameters}`
|
|
133
|
-
: opened.styleName;
|
|
134
|
-
spans.push(new Span(opened.textStart, plainText.length, styleStr));
|
|
169
|
+
spans.push(new Span(opened.textStart, plainText.length, openTagStyle(opened)));
|
|
135
170
|
openStack.splice(idx, 1);
|
|
136
171
|
}
|
|
137
172
|
else {
|
|
@@ -148,13 +183,31 @@ export function render(markup, baseStyle, options) {
|
|
|
148
183
|
const trailing = markup.slice(lastEnd);
|
|
149
184
|
const processedTrailing = unescapeBrackets(doEmoji ? emojiReplace(trailing) : trailing);
|
|
150
185
|
plainText += processedTrailing;
|
|
151
|
-
// Auto-close
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
186
|
+
// Auto-close what is still open, innermost first. The reference pops its
|
|
187
|
+
// stack here (`while style_stack: start, tag = style_stack.pop()`), and
|
|
188
|
+
// popping is what keeps every span in this list in the order its tag closed
|
|
189
|
+
// — the one order the sort below is defined against. Walking the stack
|
|
190
|
+
// forwards instead put the outermost unclosed tag in first, and that lone
|
|
191
|
+
// disagreement was invisible while nothing sorted: it cancelled the missing
|
|
192
|
+
// sort, so `[red][blue]x` was the one nesting this port already got right.
|
|
193
|
+
while (openStack.length > 0) {
|
|
194
|
+
const opened = openStack.pop();
|
|
195
|
+
spans.push(new Span(opened.textStart, plainText.length, openTagStyle(opened)));
|
|
157
196
|
}
|
|
197
|
+
// [LAW:one-source-of-truth] The paint order is the reference's, expressed
|
|
198
|
+
// rather than re-derived: `sorted(spans[::-1], key=attrgetter("start"))` in
|
|
199
|
+
// `rich/markup.py`. `RichText` applies spans in list order and each one adds
|
|
200
|
+
// over the last, so this list's order *is* which style wins where two
|
|
201
|
+
// overlap; sorting by start lays the outer span down first and lets the
|
|
202
|
+
// inner one repaint the run it sits in.
|
|
203
|
+
//
|
|
204
|
+
// The reversal is the whole of the tie-break, not decoration.
|
|
205
|
+
// `[red][blue]x[/blue][/red]` yields two spans that both start at 0, and a
|
|
206
|
+
// stable sort leaves those in the order they arrived — closing order,
|
|
207
|
+
// innermost first — which is the outer colour winning. Reversed first, the
|
|
208
|
+
// outer arrives first and the inner repaints it (rich-markup-krk).
|
|
209
|
+
spans.reverse();
|
|
210
|
+
spans.sort((a, b) => a.start - b.start);
|
|
158
211
|
const result = new RichText(plainText);
|
|
159
212
|
if (baseStyle)
|
|
160
213
|
result.stylize(baseStyle);
|
|
@@ -172,15 +225,27 @@ export function render(markup, baseStyle, options) {
|
|
|
172
225
|
}
|
|
173
226
|
return result;
|
|
174
227
|
}
|
|
228
|
+
/**
|
|
229
|
+
* The style string an open tag closes into — `name`, or `name parameters` when
|
|
230
|
+
* the tag carried an `=`.
|
|
231
|
+
*
|
|
232
|
+
* [LAW:one-source-of-truth] One answer for the four sites that ask it: the three
|
|
233
|
+
* ways a tag can close (`[/name]`, `[/]`, and end of input) and the search that
|
|
234
|
+
* matches `[/red on blue]` back to `[red on blue]`. It was written out at each,
|
|
235
|
+
* which is how the three closing paths could — and did — drift apart on
|
|
236
|
+
* something none of the four copies was about.
|
|
237
|
+
*/
|
|
238
|
+
function openTagStyle(opened) {
|
|
239
|
+
return opened.parameters !== undefined
|
|
240
|
+
? `${opened.styleName} ${opened.parameters}`
|
|
241
|
+
: opened.styleName;
|
|
242
|
+
}
|
|
175
243
|
function findLastOpen(stack, name) {
|
|
176
244
|
// Handle "on" in style names for closing: [/red on blue] should match [red on blue]
|
|
177
245
|
const normalized = name.trim();
|
|
178
246
|
for (let i = stack.length - 1; i >= 0; i--) {
|
|
179
247
|
const entry = stack[i];
|
|
180
|
-
|
|
181
|
-
? `${entry.styleName} ${entry.parameters}`
|
|
182
|
-
: entry.styleName;
|
|
183
|
-
if (entryFull === normalized || entry.styleName === normalized)
|
|
248
|
+
if (openTagStyle(entry) === normalized || entry.styleName === normalized)
|
|
184
249
|
return i;
|
|
185
250
|
}
|
|
186
251
|
return -1;
|
|
@@ -195,7 +260,13 @@ function unescapeBrackets(text) {
|
|
|
195
260
|
// boundary lookahead. When those two disagreed, registering `table` silently
|
|
196
261
|
// destroyed every `table.*` built-in style and a name containing a dot could
|
|
197
262
|
// never fire.
|
|
198
|
-
|
|
263
|
+
//
|
|
264
|
+
// It opens on `a-z` because a plugin name has to be a name `TAG_RE` can reach,
|
|
265
|
+
// and that is strictly narrower than "a letter": nothing lowercases the tag
|
|
266
|
+
// text on the way in, so `[Foo]` is literal and a handler registered as `Foo`
|
|
267
|
+
// could never fire. This tracked `[A-Za-z]` while `TAG_RE` wrongly admitted
|
|
268
|
+
// uppercase, which is the same drift, one subset down (rich-markup-sec).
|
|
269
|
+
const PLUGIN_TAG_NAME_SRC = "[a-z][A-Za-z0-9_-]*";
|
|
199
270
|
const LEGAL_PLUGIN_TAG_NAME = new RegExp(`^${PLUGIN_TAG_NAME_SRC}$`);
|
|
200
271
|
export class MarkupRegistry {
|
|
201
272
|
_handlers = new Map();
|
|
@@ -204,7 +275,7 @@ export class MarkupRegistry {
|
|
|
204
275
|
// names markup can never address (`a.b` stops the tag scan at the dot), and
|
|
205
276
|
// install a handler that could never fire.
|
|
206
277
|
if (!LEGAL_PLUGIN_TAG_NAME.test(name)) {
|
|
207
|
-
throw new MarkupError(`Cannot register markup tag "${name}": a tag name must be a letter followed by letters, digits, "_" or "-", so markup could never address this name.`);
|
|
278
|
+
throw new MarkupError(`Cannot register markup tag "${name}": a tag name must be a lowercase letter followed by letters, digits, "_" or "-", so markup could never address this name.`);
|
|
208
279
|
}
|
|
209
280
|
if (isReservedTagName(name)) {
|
|
210
281
|
throw new MarkupError(`Cannot register markup tag "${name}": name is reserved by a built-in style.`);
|
|
@@ -387,15 +458,36 @@ function pairPluginTags(tags, registry) {
|
|
|
387
458
|
stack.push(i);
|
|
388
459
|
}
|
|
389
460
|
}
|
|
390
|
-
// Filter pairs to top-level only.
|
|
461
|
+
// Filter pairs to top-level only. A pair that opens inside the current one is
|
|
462
|
+
// either contained — re-discovered when the recursion renders the outer
|
|
463
|
+
// pair's inner slice — or overlapping, and only its *closing* position tells
|
|
464
|
+
// the two apart. Testing the open position alone conflated them and dropped
|
|
465
|
+
// the overlapping pair, which orphaned its closing tag into the trailing
|
|
466
|
+
// slice, where the built-in parser blamed the wrong tag for the wrong reason.
|
|
391
467
|
const topLevel = new Map();
|
|
392
468
|
let outerEnd = -1;
|
|
469
|
+
let outerOpenIdx = -1;
|
|
393
470
|
const sortedOpens = [...pairs.keys()].sort((a, b) => a - b);
|
|
394
471
|
for (const openIdx of sortedOpens) {
|
|
395
|
-
|
|
472
|
+
const closeIdx = pairs.get(openIdx);
|
|
473
|
+
if (annotated[openIdx].start < outerEnd) {
|
|
474
|
+
// [LAW:no-silent-failure] Overlap is unrepresentable here rather than
|
|
475
|
+
// unimplemented: a handler receives `children` as one contiguous slice,
|
|
476
|
+
// so a region straddling another pair's closing boundary has nothing to
|
|
477
|
+
// hand it. A style span may overlap because it annotates; a plugin pair
|
|
478
|
+
// may not because it replaces.
|
|
479
|
+
if (annotated[closeIdx].end > outerEnd) {
|
|
480
|
+
const inner = annotated[openIdx].pluginName;
|
|
481
|
+
const outer = annotated[outerOpenIdx].pluginName;
|
|
482
|
+
throw new MarkupError(`Plugin tag [${inner}] overlaps [${outer}]: plugin tags must nest, ` +
|
|
483
|
+
`because a handler receives one contiguous slice. ` +
|
|
484
|
+
`Close [/${inner}] before [/${outer}].`);
|
|
485
|
+
}
|
|
396
486
|
continue;
|
|
397
|
-
|
|
398
|
-
|
|
487
|
+
}
|
|
488
|
+
topLevel.set(openIdx, closeIdx);
|
|
489
|
+
outerOpenIdx = openIdx;
|
|
490
|
+
outerEnd = annotated[closeIdx].end;
|
|
399
491
|
}
|
|
400
492
|
return { annotated, topLevel };
|
|
401
493
|
}
|
package/dist/core/markup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markup.js","sourceRoot":"","sources":["../../src/core/markup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"markup.js","sourceRoot":"","sources":["../../src/core/markup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,cAAc;AAEd,MAAM,OAAO,GAAG;IACL,IAAI,CAAS;IACb,UAAU,CAAqB;IAExC,YAAY,IAAY,EAAE,UAAmB;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,KAAK,SAAS;YAClC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;YACnC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,KAAK,SAAS;YAClC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,GAAG;YACrC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;IACvB,CAAC;CACF;AAED,sBAAsB;AAEtB,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,iBAAiB;AAEjB;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,iBAAiB;AAEjB,sDAAsD;AACtD,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,2EAA2E;AAC3E,0EAA0E;AAC1E,+EAA+E;AAC/E,oEAAoE;AACpE,EAAE;AACF,4EAA4E;AAC5E,+EAA+E;AAC/E,gFAAgF;AAChF,8EAA8E;AAC9E,qEAAqE;AACrE,oDAAoD;AACpD,yDAAyD;AACzD,MAAM,MAAM,GAAG,gCAAgC,CAAC;AAYhD,SAAS,SAAS,CAAC,MAAc;IAC/B,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,KAA6B,CAAC;IAElC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC1C,kBAAkB;QAClB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK;YAAE,SAAS;QAEjC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa;QAClD,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAEnD,oCAAoC;QACpC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACnF,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEvE,4EAA4E;QAC5E,oEAAoE;QACpE,0EAA0E;QAC1E,0EAA0E;QAC1E,2EAA2E;QAC3E,2EAA2E;QAC3E,MAAM,eAAe,GAAG,OAAO,IAAI,SAAS,KAAK,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,eAAe,CAAC;QAE9C,IAAI,CAAC,IAAI,CAAC;YACR,SAAS,EAAE,QAAQ;YACnB,SAAS;YACT,eAAe;YACf,SAAS;YACT,UAAU;YACV,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;SACnC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAS,MAAM,CACb,MAAc,EACd,SAA0B,EAC1B,OAAuB;IAEvB,gCAAgC;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,IAAI,IAAI,GAAG,MAAM,CAAC;QAClB,IAAI,OAAO,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC;YAC7B,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,SAAS;YAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,OAAO,EAAE,KAAK,KAAK,KAAK,CAAC;IAEzC,mCAAmC;IACnC,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,MAAM,SAAS,GAAc,EAAE,CAAC;IAEhC,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,2BAA2B;QAC3B,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACpF,SAAS,IAAI,SAAS,CAAC;QAEvB,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;YACxB,uCAAuC;YACvC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,WAAW,CAAC,sCAAsC,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAG,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC;aAAM,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YACzB,8CAA8C;YAC9C,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACf,MAAM,IAAI,WAAW,CACnB,iBAAiB,GAAG,CAAC,SAAS,8BAA8B,CAC7D,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/E,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,cAAc;YACd,SAAS,CAAC,IAAI,CAAC;gBACb,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,SAAS,EAAE,SAAS,CAAC,MAAM;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,CAAC;IAED,oCAAoC;IACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxF,SAAS,IAAI,iBAAiB,CAAC;IAE/B,yEAAyE;IACzE,wEAAwE;IACxE,4EAA4E;IAC5E,uEAAuE;IACvE,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAG,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,sEAAsE;IACtE,wEAAwE;IACxE,wCAAwC;IACxC,EAAE;IACF,8DAA8D;IAC9D,2EAA2E;IAC3E,sEAAsE;IACtE,2EAA2E;IAC3E,mEAAmE;IACnE,KAAK,CAAC,OAAO,EAAE,CAAC;IAChB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAExC,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,SAAS;QAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEzC,uCAAuC;IACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClF,4DAA4D;QAC5D,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAQD;;;;;;;;;GASG;AACH,SAAS,YAAY,CAAC,MAAe;IACnC,OAAO,MAAM,CAAC,UAAU,KAAK,SAAS;QACpC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE;QAC5C,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;AACvB,CAAC;AAED,SAAS,YAAY,CAAC,KAAgB,EAAE,IAAY;IAClD,oFAAoF;IACpF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACxB,IAAI,YAAY,CAAC,KAAK,CAAC,KAAK,UAAU,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU;YAAE,OAAO,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC;AAoBD,0EAA0E;AAC1E,6EAA6E;AAC7E,+EAA+E;AAC/E,wEAAwE;AACxE,6EAA6E;AAC7E,6EAA6E;AAC7E,cAAc;AACd,EAAE;AACF,+EAA+E;AAC/E,4EAA4E;AAC5E,8EAA8E;AAC9E,4EAA4E;AAC5E,yEAAyE;AACzE,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAClD,MAAM,qBAAqB,GAAG,IAAI,MAAM,CAAC,IAAI,mBAAmB,GAAG,CAAC,CAAC;AAErE,MAAM,OAAO,cAAc;IACR,SAAS,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEjE,QAAQ,CAAC,IAAY,EAAE,OAAyB;QAC9C,4EAA4E;QAC5E,4EAA4E;QAC5E,2CAA2C;QAC3C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,WAAW,CACnB,+BAA+B,IAAI,4HAA4H,CAChK,CAAC;QACJ,CAAC;QACD,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,WAAW,CACnB,+BAA+B,IAAI,0CAA0C,CAC9E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;CACF;AAED,+EAA+E;AAC/E,0EAA0E;AAC1E,oEAAoE;AACpE,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,CAAC;QACH,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,gBAAgB;YAAE,OAAO,KAAK,CAAC;QAClD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,4EAA4E;AAC5E,wEAAwE;AACxE,8EAA8E;AAC9E,8EAA8E;AAC9E,gEAAgE;AAChE,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,cAAc,EAAE,CAAC;AAEzD,mCAAmC;AAEnC,SAAS,OAAO,CAAC,CAAS;IACxB,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,IAAI,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;AAC1D,CAAC;AAED,SAAS,OAAO,CAAC,CAAS;IACxB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC;AACjC,CAAC;AAED,4EAA4E;AAC5E,4EAA4E;AAC5E,+EAA+E;AAC/E,yCAAyC;AACzC,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,KAAK,mBAAmB,eAAe,CAAC,CAAC;AAE5E,SAAS,gBAAgB,CAAC,KAAa;IACrC,2EAA2E;IAC3E,0EAA0E;IAC1E,kCAAkC;IAClC,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YAAE,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM;YAAE,MAAM;QAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;YACxB,uEAAuE;YACvE,4DAA4D;YAC5D,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YAAE,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YAAE,CAAC,EAAE,CAAC;QACnD,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,SAAS;QAC/B,CAAC,EAAE,CAAC;QACJ,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YAAE,CAAC,EAAE,CAAC;QACnD,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACnC,CAAC,EAAE,CAAC;YACJ,MAAM,QAAQ,GAAG,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK;gBAAE,CAAC,EAAE,CAAC;YACnD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM;gBAAE,CAAC,EAAE,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,CAAC,EAAE,CAAC;YACxE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAUD;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAc,EACd,OAA6B;IAE7B,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,oBAAoB,CAAC;IAC3D,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;IACrC,MAAM,OAAO,GAAG,OAAO,EAAE,KAAK,KAAK,KAAK,CAAC;IAEzC,+CAA+C;IAC/C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/B,yEAAyE;IACzE,uEAAuE;IACvE,6BAA6B;IAC7B,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACzE,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,2EAA2E;IAC3E,yEAAyE;IACzE,4EAA4E;IAC5E,0CAA0C;IAC1C,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7B,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAE,CAAC;QACjC,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAE,CAAC;QAEnC,IAAI,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC;YACxB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAW,CAAE,CAAC;QAChD,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QACpF,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC;IACrB,CAAC;IAED,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC3B,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,SAAS;QAAE,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,GAAG,CAAC;AACb,CAAC;AAOD,SAAS,cAAc,CACrB,IAAiB,EACjB,QAAwB;IAExB,uEAAuE;IACvE,yEAAyE;IACzE,oDAAoD;IACpD,MAAM,SAAS,GAAgB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC;QACxB,IAAI,CAAC,CAAC,CAAC,UAAU;YAAE,SAAS;QAC5B,IAAI,CAAC,CAAC,eAAe;YAAE,SAAS;QAChC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;YAChB,+BAA+B;YAC/B,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;gBAC1B,IAAI,SAAS,CAAC,OAAO,CAAE,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;oBACpD,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBACtB,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACnB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,8EAA8E;IAC9E,wEAAwE;IACxE,6EAA6E;IAC7E,4EAA4E;IAC5E,yEAAyE;IACzE,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;IAClB,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;IACtB,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;QACrC,IAAI,SAAS,CAAC,OAAO,CAAE,CAAC,KAAK,GAAG,QAAQ,EAAE,CAAC;YACzC,sEAAsE;YACtE,wEAAwE;YACxE,wEAAwE;YACxE,wEAAwE;YACxE,+BAA+B;YAC/B,IAAI,SAAS,CAAC,QAAQ,CAAE,CAAC,GAAG,GAAG,QAAQ,EAAE,CAAC;gBACxC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAE,CAAC,UAAU,CAAC;gBAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAE,CAAC,UAAU,CAAC;gBAClD,MAAM,IAAI,WAAW,CACnB,eAAe,KAAK,eAAe,KAAK,4BAA4B;oBAClE,mDAAmD;oBACnD,WAAW,KAAK,cAAc,KAAK,IAAI,CAC1C,CAAC;YACJ,CAAC;YACD,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChC,YAAY,GAAG,OAAO,CAAC;QACvB,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC;IACtC,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAc,EAAE,QAAwB;IACjE,kEAAkE;IAClE,2EAA2E;IAC3E,+BAA+B;IAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC3D,OAAO,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC7C,CAAC"}
|
package/dist/core/pretty.d.ts
CHANGED
|
@@ -7,6 +7,14 @@
|
|
|
7
7
|
* are core primitives only. `Console.print` accepts `unknown` and must turn any
|
|
8
8
|
* of it into something renderable, so the formatter has to sit where `console`
|
|
9
9
|
* can reach it without an upward edge. [LAW:one-way-deps]
|
|
10
|
+
*
|
|
11
|
+
* Two traversals share this file, and the split is the whole design. `_format`
|
|
12
|
+
* lays a value out across lines; `_oneLine` answers only "does this fit on one
|
|
13
|
+
* line, and if so what is it?". They meet at `_shape`, which describes a
|
|
14
|
+
* container without committing to either layout. One traversal answering both
|
|
15
|
+
* questions is what made this formatter exponential: every child was rendered
|
|
16
|
+
* once to probe it and again to place it, so a node at depth d was visited 2^d
|
|
17
|
+
* times.
|
|
10
18
|
*/
|
|
11
19
|
import { Segment } from "./segment.js";
|
|
12
20
|
import type { Highlighter } from "./highlighter.js";
|
|
@@ -53,35 +61,62 @@ export declare class Pretty implements Renderable, Measurable {
|
|
|
53
61
|
maximum: number;
|
|
54
62
|
};
|
|
55
63
|
/**
|
|
56
|
-
*
|
|
64
|
+
* The text a value shows without being reflected on, or `null` when it is an
|
|
65
|
+
* object and the shape arms own it.
|
|
57
66
|
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
67
|
+
* Every kind answered here renders the same wherever it sits — no
|
|
68
|
+
* indentation, no width to fit — which is why one method serves both
|
|
69
|
+
* traversals.
|
|
70
|
+
*/
|
|
71
|
+
private _scalar;
|
|
72
|
+
/**
|
|
73
|
+
* A container, or the text standing in for one that is empty or past the
|
|
74
|
+
* depth cap.
|
|
64
75
|
*
|
|
65
|
-
* `
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
76
|
+
* `positions` is a thunk because both of those answers are reachable from
|
|
77
|
+
* `size` alone, and reaching a position is not free: a `Map` or `Set` reaches
|
|
78
|
+
* its own through an iterator, so enumerating one only to elide it drains a
|
|
79
|
+
* container to print `Set {...}`. `size` also says how many positions were
|
|
80
|
+
* dropped, which is where the elision marker comes from — one derivation, so
|
|
81
|
+
* the count and the bound cannot disagree.
|
|
71
82
|
*/
|
|
72
|
-
private
|
|
83
|
+
private _container;
|
|
73
84
|
/**
|
|
74
|
-
*
|
|
85
|
+
* The brackets and positions of an object, layout-free. See `Shape`.
|
|
75
86
|
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
87
|
+
* `bound` is the most positions the caller could ever use. Laying out passes
|
|
88
|
+
* `Infinity`, because it prints every position it is handed. A probe passes
|
|
89
|
+
* what is left of its line, which is already more positions than a fitting
|
|
90
|
+
* one could hold — `SEPARATOR` charges two cells apiece, so a container with
|
|
91
|
+
* more positions than `budget` overruns however narrow its contents are.
|
|
92
|
+
* Reaching past it only ever feeds a join that returns `null`, and reaching a
|
|
93
|
+
* position is what drains a `Map` or `Set`.
|
|
81
94
|
*/
|
|
82
|
-
private
|
|
95
|
+
private _shape;
|
|
96
|
+
/** The laid-out form of a value, expanded across lines wherever one line will not do. */
|
|
97
|
+
private _format;
|
|
83
98
|
/** The arms for a non-null object, with `value` already on the open path. */
|
|
84
99
|
private _formatObject;
|
|
100
|
+
/** One position, with every value in it laid out. */
|
|
101
|
+
private _expandSlot;
|
|
102
|
+
/** The one-line form of a value, or `null` when it will not fit `at.budget`. */
|
|
103
|
+
private _oneLine;
|
|
104
|
+
/**
|
|
105
|
+
* A container's positions on one line, or `null` as soon as they overrun.
|
|
106
|
+
*
|
|
107
|
+
* The budget is spent as it goes and each position is asked for only what is
|
|
108
|
+
* left, so a subtree that has already outgrown the line is abandoned where it
|
|
109
|
+
* outgrew it rather than formatted in full and then measured.
|
|
110
|
+
*
|
|
111
|
+
* The brackets are charged before anything is read, and that ordering is what
|
|
112
|
+
* bounds the traversal: a budget checked only against the finished text still
|
|
113
|
+
* reads the whole subtree to produce text it then throws away. Charged first,
|
|
114
|
+
* every level costs at least the two cells of its own brackets, so a probe
|
|
115
|
+
* descends at most `budget / 2` levels however deep the data goes.
|
|
116
|
+
*/
|
|
117
|
+
private _joinOneLine;
|
|
118
|
+
/** One position on one line, or `null` when any value in it will not fit. */
|
|
119
|
+
private _slotOneLine;
|
|
85
120
|
private _addIndentGuides;
|
|
86
121
|
}
|
|
87
122
|
//# sourceMappingURL=pretty.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pretty.d.ts","sourceRoot":"","sources":["../../src/core/pretty.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pretty.d.ts","sourceRoot":"","sources":["../../src/core/pretty.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACd,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAsMD,qBAAa,MAAO,YAAW,UAAU,EAAE,UAAU;IACnD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;gBAEtB,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa;IAWjD,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;IAYlD,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAUtE;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO;IAyBf;;;;;;;;;;OAUG;IACH,OAAO,CAAC,UAAU;IAelB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM;IAqDd,yFAAyF;IACzF,OAAO,CAAC,OAAO;IAmBf,6EAA6E;IAC7E,OAAO,CAAC,aAAa;IAoBrB,qDAAqD;IACrD,OAAO,CAAC,WAAW;IAgBnB,gFAAgF;IAChF,OAAO,CAAC,QAAQ;IAkBhB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,YAAY;IAepB,6EAA6E;IAC7E,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,gBAAgB;CAazB"}
|