@loomcli/core 0.1.1 → 0.3.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 (57) hide show
  1. package/dist/application.d.ts +73 -28
  2. package/dist/application.js +334 -99
  3. package/dist/chain.d.ts +68 -0
  4. package/dist/chain.js +372 -0
  5. package/dist/command.d.ts +201 -46
  6. package/dist/command.js +713 -57
  7. package/dist/environment.d.ts +22 -0
  8. package/dist/environment.js +1 -0
  9. package/dist/errors.d.ts +31 -51
  10. package/dist/errors.js +58 -90
  11. package/dist/extension.d.ts +99 -0
  12. package/dist/extension.js +330 -0
  13. package/dist/facts.d.ts +39 -0
  14. package/dist/facts.js +95 -0
  15. package/dist/globals.d.ts +49 -28
  16. package/dist/globals.js +104 -58
  17. package/dist/glyphs.generated.d.ts +464 -0
  18. package/dist/glyphs.generated.js +491 -0
  19. package/dist/host.js +2 -1
  20. package/dist/index.d.ts +21 -6
  21. package/dist/index.js +7 -2
  22. package/dist/inspect.d.ts +69 -12
  23. package/dist/inspect.js +83 -26
  24. package/dist/lanes.d.ts +26 -0
  25. package/dist/lanes.js +45 -0
  26. package/dist/options.d.ts +7 -0
  27. package/dist/options.js +9 -0
  28. package/dist/output.d.ts +93 -15
  29. package/dist/output.js +307 -34
  30. package/dist/plugin.d.ts +132 -0
  31. package/dist/plugin.js +278 -0
  32. package/dist/rendering.d.ts +21 -0
  33. package/dist/rendering.js +72 -0
  34. package/dist/sequence.d.ts +41 -0
  35. package/dist/sequence.js +225 -0
  36. package/dist/signals.d.ts +52 -0
  37. package/dist/signals.js +85 -0
  38. package/dist/style-ansi.d.ts +13 -0
  39. package/dist/style-ansi.js +306 -0
  40. package/dist/style-layout.d.ts +29 -0
  41. package/dist/style-layout.js +228 -0
  42. package/dist/style-resolve.d.ts +6 -0
  43. package/dist/style-resolve.js +26 -0
  44. package/dist/style-state.d.ts +14 -0
  45. package/dist/style-state.js +179 -0
  46. package/dist/style-wire.d.ts +31 -0
  47. package/dist/style-wire.js +201 -0
  48. package/dist/style.d.ts +86 -0
  49. package/dist/style.js +201 -0
  50. package/dist/theme.d.ts +3 -0
  51. package/dist/theme.js +22 -0
  52. package/dist/types.d.ts +222 -26
  53. package/dist/validation.d.ts +12 -3
  54. package/dist/validation.js +34 -17
  55. package/dist/view.d.ts +180 -0
  56. package/dist/view.js +307 -0
  57. package/package.json +2 -1
package/dist/globals.js CHANGED
@@ -1,71 +1,117 @@
1
1
  import { DeclarationError } from './errors.js';
2
+ import { buildExtensions } from './extension.js';
3
+ import { checkDeprecated, checkDescription, checkHidden } from './facts.js';
2
4
  import { compileOptions } from './options.js';
3
- import { captureConfig } from './validation.js';
4
5
  const globalSubject = 'the global options';
5
- /** Authored values register here, so the public type publishes no state to reach or replace. */
6
- const nodes = new WeakMap();
7
- function compileTable(inputs, source) {
8
- return {
9
- inputs,
10
- names: new Set(inputs.map((input) => input.name)),
11
- options: compileOptions(inputs.filter((input) => input.kind === 'option'), globalSubject),
12
- source,
13
- };
6
+ /** A collision sentence names a plugin first, then the application's globals, then a local. */
7
+ const ranks = {
8
+ application: 1,
9
+ local: 2,
10
+ plugin: 0,
11
+ };
12
+ function ordered(first, second) {
13
+ const difference = ranks[first.owner.kind] - ranks[second.owner.kind];
14
+ if (difference !== 0) {
15
+ return difference < 0 ? [first, second] : [second, first];
16
+ }
17
+ if (first.owner.kind === 'plugin' && second.owner.kind === 'plugin') {
18
+ return first.owner.order <= second.owner.order ? [first, second] : [second, first];
19
+ }
20
+ return [first, second];
14
21
  }
15
- class GlobalOptionsBuilder {
16
- #bind;
17
- #inputs;
18
- constructor(inputs, bind) {
19
- this.#bind = bind;
20
- this.#inputs = inputs;
21
- nodes.set(this, { bind, build: () => compileTable(inputs, this) });
22
+ /** How one owner reads in a key collision. A repeated preposition is dropped after the first. */
23
+ function declaredBy(owner, leading) {
24
+ if (owner.kind === 'plugin') {
25
+ return `${leading ? 'by ' : ''}plugin "${owner.identity}"`;
22
26
  }
23
- option(name, config) {
24
- const input = {
25
- config: captureConfig(config),
26
- kind: 'option',
27
- name,
28
- };
29
- const previous = this.#bind;
30
- return new GlobalOptionsBuilder([...this.#inputs, input], (values) => ({
31
- ...previous(values),
32
- ...values.option(input),
33
- }));
27
+ return owner.kind === 'application'
28
+ ? 'as a global option'
29
+ : `as a local option on ${owner.subject}`;
30
+ }
31
+ /** How one owner reads in a spelling collision, where each side names its own option. */
32
+ function usedBy({ name, owner }) {
33
+ if (owner.kind === 'plugin') {
34
+ return `plugin "${owner.identity}" option "${name}"`;
34
35
  }
36
+ return owner.kind === 'application'
37
+ ? `the global option "${name}"`
38
+ : `the local option "${name}" on ${owner.subject}`;
35
39
  }
36
- /** Reads the declarations behind an authored value; anything else is a declaration error. */
37
- function nodeOf(globals) {
38
- const node = nodes.get(globals);
39
- if (!node) {
40
- throw new DeclarationError('The Application holds a value that is not a GlobalOptions declaration. Supply the value returned by new GlobalOptions().');
40
+ /** The correction each pair earns: a local is renamed, and two plugins are chosen between. */
41
+ function correction(first, second) {
42
+ if (first.kind === 'local' || second.kind === 'local') {
43
+ return 'Rename the local option.';
41
44
  }
42
- return node;
45
+ return first.kind === 'plugin' && second.kind === 'plugin'
46
+ ? 'Install one of them or rename the option.'
47
+ : 'Rename one declaration.';
43
48
  }
44
- /**
45
- * Whether a value is an authored GlobalOptions declaration, whichever call produced it. The
46
- * registry is the test, because `option()` returns a new declaration of its own and the exported
47
- * constructor is only the first of them.
48
- */
49
- function isGlobalOptions(value) {
50
- return typeof value === 'object' && value !== null && nodes.has(value);
49
+ /** One key claimed twice, whichever two scopes claimed it. */
50
+ function keyCollision(name, first, second) {
51
+ const [leading, trailing] = ordered({ name, owner: first }, { name, owner: second });
52
+ return new DeclarationError(`Option "${name}" is declared ${declaredBy(leading.owner, true)} and ${declaredBy(trailing.owner, false)}. ${correction(leading.owner, trailing.owner)}`);
53
+ }
54
+ /** One spelling claimed twice, whichever two scopes claimed it. */
55
+ function spellingCollision(spelling, first, second) {
56
+ const [leading, trailing] = ordered(first, second);
57
+ return new DeclarationError(`Option spelling "${spelling}" is used by ${usedBy(leading)} and ${usedBy(trailing)}. Change one declaration.`);
51
58
  }
52
- /** Absent globals compile to an empty table whose source is `undefined`, like the declarations. */
53
- function buildGlobals(globals) {
54
- return globals === undefined ? compileTable([], undefined) : nodeOf(globals).build();
59
+ function emptyGlobals() {
60
+ return { bind: () => ({}), inputs: [] };
55
61
  }
56
- function bindGlobals(globals, values) {
57
- const bound = globals === undefined ? {} : nodeOf(globals).bind(values);
58
- // Last resort: no typed path exists. The public GlobalOptions type hides its declarations.
59
- // The registry is the only bridge from a value to its binder, and a WeakMap cannot carry the
60
- // Options type of its key. It holds because the registered binder belongs to this value alone.
61
- // Its record composes exactly the declarations that its Options type records.
62
- // A declaration without globals publishes `Options = {}`, and the empty record is exactly that.
63
- // oxlint-disable-next-line typescript/no-unsafe-type-assertion
64
- return bound;
62
+ function declareGlobalOption(state, input) {
63
+ return {
64
+ bind: (values) => ({ ...state.bind(values), ...values.option(input) }),
65
+ inputs: [...state.inputs, input],
66
+ };
67
+ }
68
+ /**
69
+ * The one table the pre-scan reads: the application's global options in authoring order, then each
70
+ * installed plugin's options in installation order. Every collision between the two scopes, by key
71
+ * or by spelling, is reported here, so the pre-scan meets a table with one owner per name.
72
+ */
73
+ function buildGlobals(node, plugins, build) {
74
+ const names = new Map();
75
+ const application = { kind: 'application' };
76
+ // A global option belongs to the application, not to one Command, so its facts read that way.
77
+ for (const input of node.inputs) {
78
+ const sentence = `Global option "${input.name}"`;
79
+ checkDescription(sentence, input.config.description);
80
+ checkHidden(sentence, input.config.hidden);
81
+ checkDeprecated(sentence, input.config.deprecated);
82
+ build.extensions.set(input, buildExtensions({
83
+ declared: input.config.extensions,
84
+ descriptors: build.descriptors,
85
+ subject: { phrase: `on the global option "${input.name}"`, sentence },
86
+ target: 'option',
87
+ }));
88
+ names.set(input.name, application);
89
+ }
90
+ const options = compileOptions(node.inputs, globalSubject);
91
+ plugins.forEach((installed, order) => {
92
+ join({ identity: installed.identity, kind: 'plugin', order }, installed.inputs, {
93
+ names,
94
+ options,
95
+ });
96
+ });
97
+ return { bind: node.bind, inputs: node.inputs, names, options, plugins };
65
98
  }
66
- const GlobalOptions = class extends GlobalOptionsBuilder {
67
- constructor() {
68
- super([], () => ({}));
99
+ /** One plugin's options joining the table the application's globals already hold. */
100
+ function join(owner, inputs, table) {
101
+ const { names, options } = table;
102
+ for (const input of inputs) {
103
+ const claimed = names.get(input.name);
104
+ if (claimed) {
105
+ throw keyCollision(input.name, owner, claimed);
106
+ }
107
+ names.set(input.name, owner);
69
108
  }
70
- };
71
- export { bindGlobals, buildGlobals, GlobalOptions, isGlobalOptions };
109
+ for (const [spelling, option] of compileOptions(inputs, `plugin "${owner.identity}"`)) {
110
+ const claimed = options.get(spelling);
111
+ if (claimed) {
112
+ throw spellingCollision(spelling, { name: option.name, owner }, { name: claimed.name, owner: names.get(claimed.name) ?? { kind: 'application' } });
113
+ }
114
+ options.set(spelling, option);
115
+ }
116
+ }
117
+ export { buildGlobals, declareGlobalOption, emptyGlobals, keyCollision, spellingCollision };
@@ -0,0 +1,464 @@
1
+ export declare const glyphForms: {
2
+ readonly circleQuestionMark: readonly ["(?)", "(?)"];
3
+ readonly questionMarkPrefix: readonly ["(?)", "(?)"];
4
+ readonly square: readonly ["█", "█"];
5
+ readonly squareDarkShade: readonly ["▓", "▓"];
6
+ readonly squareMediumShade: readonly ["▒", "▒"];
7
+ readonly squareLightShade: readonly ["░", "░"];
8
+ readonly squareTop: readonly ["▀", "▀"];
9
+ readonly squareBottom: readonly ["▄", "▄"];
10
+ readonly squareLeft: readonly ["▌", "▌"];
11
+ readonly squareRight: readonly ["▐", "▐"];
12
+ readonly squareCenter: readonly ["■", "■"];
13
+ readonly bullet: readonly ["●", "●"];
14
+ readonly dot: readonly ["․", "․"];
15
+ readonly ellipsis: readonly ["…", "…"];
16
+ readonly pointerSmall: readonly ["›", "›"];
17
+ readonly triangleUp: readonly ["▲", "▲"];
18
+ readonly triangleUpSmall: readonly ["▴", "▴"];
19
+ readonly triangleDown: readonly ["▼", "▼"];
20
+ readonly triangleDownSmall: readonly ["▾", "▾"];
21
+ readonly triangleLeftSmall: readonly ["◂", "◂"];
22
+ readonly triangleRightSmall: readonly ["▸", "▸"];
23
+ readonly home: readonly ["⌂", "⌂"];
24
+ readonly heart: readonly ["♥", "♥"];
25
+ readonly musicNote: readonly ["♪", "♪"];
26
+ readonly musicNoteBeamed: readonly ["♫", "♫"];
27
+ readonly arrowUp: readonly ["↑", "↑"];
28
+ readonly arrowDown: readonly ["↓", "↓"];
29
+ readonly arrowLeft: readonly ["←", "←"];
30
+ readonly arrowRight: readonly ["→", "→"];
31
+ readonly arrowLeftRight: readonly ["↔", "↔"];
32
+ readonly arrowUpDown: readonly ["↕", "↕"];
33
+ readonly almostEqual: readonly ["≈", "≈"];
34
+ readonly notEqual: readonly ["≠", "≠"];
35
+ readonly lessOrEqual: readonly ["≤", "≤"];
36
+ readonly greaterOrEqual: readonly ["≥", "≥"];
37
+ readonly identical: readonly ["≡", "≡"];
38
+ readonly infinity: readonly ["∞", "∞"];
39
+ readonly subscriptZero: readonly ["₀", "₀"];
40
+ readonly subscriptOne: readonly ["₁", "₁"];
41
+ readonly subscriptTwo: readonly ["₂", "₂"];
42
+ readonly subscriptThree: readonly ["₃", "₃"];
43
+ readonly subscriptFour: readonly ["₄", "₄"];
44
+ readonly subscriptFive: readonly ["₅", "₅"];
45
+ readonly subscriptSix: readonly ["₆", "₆"];
46
+ readonly subscriptSeven: readonly ["₇", "₇"];
47
+ readonly subscriptEight: readonly ["₈", "₈"];
48
+ readonly subscriptNine: readonly ["₉", "₉"];
49
+ readonly oneHalf: readonly ["½", "½"];
50
+ readonly oneThird: readonly ["⅓", "⅓"];
51
+ readonly oneQuarter: readonly ["¼", "¼"];
52
+ readonly oneFifth: readonly ["⅕", "⅕"];
53
+ readonly oneSixth: readonly ["⅙", "⅙"];
54
+ readonly oneEighth: readonly ["⅛", "⅛"];
55
+ readonly twoThirds: readonly ["⅔", "⅔"];
56
+ readonly twoFifths: readonly ["⅖", "⅖"];
57
+ readonly threeQuarters: readonly ["¾", "¾"];
58
+ readonly threeFifths: readonly ["⅗", "⅗"];
59
+ readonly threeEighths: readonly ["⅜", "⅜"];
60
+ readonly fourFifths: readonly ["⅘", "⅘"];
61
+ readonly fiveSixths: readonly ["⅚", "⅚"];
62
+ readonly fiveEighths: readonly ["⅝", "⅝"];
63
+ readonly sevenEighths: readonly ["⅞", "⅞"];
64
+ readonly line: readonly ["─", "─"];
65
+ readonly lineBold: readonly ["━", "━"];
66
+ readonly lineDouble: readonly ["═", "═"];
67
+ readonly lineDashed0: readonly ["┄", "┄"];
68
+ readonly lineDashed1: readonly ["┅", "┅"];
69
+ readonly lineDashed2: readonly ["┈", "┈"];
70
+ readonly lineDashed3: readonly ["┉", "┉"];
71
+ readonly lineDashed4: readonly ["╌", "╌"];
72
+ readonly lineDashed5: readonly ["╍", "╍"];
73
+ readonly lineDashed6: readonly ["╴", "╴"];
74
+ readonly lineDashed7: readonly ["╶", "╶"];
75
+ readonly lineDashed8: readonly ["╸", "╸"];
76
+ readonly lineDashed9: readonly ["╺", "╺"];
77
+ readonly lineDashed10: readonly ["╼", "╼"];
78
+ readonly lineDashed11: readonly ["╾", "╾"];
79
+ readonly lineDashed12: readonly ["−", "−"];
80
+ readonly lineDashed13: readonly ["–", "–"];
81
+ readonly lineDashed14: readonly ["‐", "‐"];
82
+ readonly lineDashed15: readonly ["⁃", "⁃"];
83
+ readonly lineVertical: readonly ["│", "│"];
84
+ readonly lineVerticalBold: readonly ["┃", "┃"];
85
+ readonly lineVerticalDouble: readonly ["║", "║"];
86
+ readonly lineVerticalDashed0: readonly ["┆", "┆"];
87
+ readonly lineVerticalDashed1: readonly ["┇", "┇"];
88
+ readonly lineVerticalDashed2: readonly ["┊", "┊"];
89
+ readonly lineVerticalDashed3: readonly ["┋", "┋"];
90
+ readonly lineVerticalDashed4: readonly ["╎", "╎"];
91
+ readonly lineVerticalDashed5: readonly ["╏", "╏"];
92
+ readonly lineVerticalDashed6: readonly ["╵", "╵"];
93
+ readonly lineVerticalDashed7: readonly ["╷", "╷"];
94
+ readonly lineVerticalDashed8: readonly ["╹", "╹"];
95
+ readonly lineVerticalDashed9: readonly ["╻", "╻"];
96
+ readonly lineVerticalDashed10: readonly ["╽", "╽"];
97
+ readonly lineVerticalDashed11: readonly ["╿", "╿"];
98
+ readonly lineDownLeft: readonly ["┐", "┐"];
99
+ readonly lineDownLeftArc: readonly ["╮", "╮"];
100
+ readonly lineDownBoldLeftBold: readonly ["┓", "┓"];
101
+ readonly lineDownBoldLeft: readonly ["┒", "┒"];
102
+ readonly lineDownLeftBold: readonly ["┑", "┑"];
103
+ readonly lineDownDoubleLeftDouble: readonly ["╗", "╗"];
104
+ readonly lineDownDoubleLeft: readonly ["╖", "╖"];
105
+ readonly lineDownLeftDouble: readonly ["╕", "╕"];
106
+ readonly lineDownRight: readonly ["┌", "┌"];
107
+ readonly lineDownRightArc: readonly ["╭", "╭"];
108
+ readonly lineDownBoldRightBold: readonly ["┏", "┏"];
109
+ readonly lineDownBoldRight: readonly ["┎", "┎"];
110
+ readonly lineDownRightBold: readonly ["┍", "┍"];
111
+ readonly lineDownDoubleRightDouble: readonly ["╔", "╔"];
112
+ readonly lineDownDoubleRight: readonly ["╓", "╓"];
113
+ readonly lineDownRightDouble: readonly ["╒", "╒"];
114
+ readonly lineUpLeft: readonly ["┘", "┘"];
115
+ readonly lineUpLeftArc: readonly ["╯", "╯"];
116
+ readonly lineUpBoldLeftBold: readonly ["┛", "┛"];
117
+ readonly lineUpBoldLeft: readonly ["┚", "┚"];
118
+ readonly lineUpLeftBold: readonly ["┙", "┙"];
119
+ readonly lineUpDoubleLeftDouble: readonly ["╝", "╝"];
120
+ readonly lineUpDoubleLeft: readonly ["╜", "╜"];
121
+ readonly lineUpLeftDouble: readonly ["╛", "╛"];
122
+ readonly lineUpRight: readonly ["└", "└"];
123
+ readonly lineUpRightArc: readonly ["╰", "╰"];
124
+ readonly lineUpBoldRightBold: readonly ["┗", "┗"];
125
+ readonly lineUpBoldRight: readonly ["┖", "┖"];
126
+ readonly lineUpRightBold: readonly ["┕", "┕"];
127
+ readonly lineUpDoubleRightDouble: readonly ["╚", "╚"];
128
+ readonly lineUpDoubleRight: readonly ["╙", "╙"];
129
+ readonly lineUpRightDouble: readonly ["╘", "╘"];
130
+ readonly lineUpDownLeft: readonly ["┤", "┤"];
131
+ readonly lineUpBoldDownBoldLeftBold: readonly ["┫", "┫"];
132
+ readonly lineUpBoldDownBoldLeft: readonly ["┨", "┨"];
133
+ readonly lineUpDownLeftBold: readonly ["┥", "┥"];
134
+ readonly lineUpBoldDownLeftBold: readonly ["┩", "┩"];
135
+ readonly lineUpDownBoldLeftBold: readonly ["┪", "┪"];
136
+ readonly lineUpDownBoldLeft: readonly ["┧", "┧"];
137
+ readonly lineUpBoldDownLeft: readonly ["┦", "┦"];
138
+ readonly lineUpDoubleDownDoubleLeftDouble: readonly ["╣", "╣"];
139
+ readonly lineUpDoubleDownDoubleLeft: readonly ["╢", "╢"];
140
+ readonly lineUpDownLeftDouble: readonly ["╡", "╡"];
141
+ readonly lineUpDownRight: readonly ["├", "├"];
142
+ readonly lineUpBoldDownBoldRightBold: readonly ["┣", "┣"];
143
+ readonly lineUpBoldDownBoldRight: readonly ["┠", "┠"];
144
+ readonly lineUpDownRightBold: readonly ["┝", "┝"];
145
+ readonly lineUpBoldDownRightBold: readonly ["┡", "┡"];
146
+ readonly lineUpDownBoldRightBold: readonly ["┢", "┢"];
147
+ readonly lineUpDownBoldRight: readonly ["┟", "┟"];
148
+ readonly lineUpBoldDownRight: readonly ["┞", "┞"];
149
+ readonly lineUpDoubleDownDoubleRightDouble: readonly ["╠", "╠"];
150
+ readonly lineUpDoubleDownDoubleRight: readonly ["╟", "╟"];
151
+ readonly lineUpDownRightDouble: readonly ["╞", "╞"];
152
+ readonly lineDownLeftRight: readonly ["┬", "┬"];
153
+ readonly lineDownBoldLeftBoldRightBold: readonly ["┳", "┳"];
154
+ readonly lineDownLeftBoldRightBold: readonly ["┯", "┯"];
155
+ readonly lineDownBoldLeftRight: readonly ["┰", "┰"];
156
+ readonly lineDownBoldLeftBoldRight: readonly ["┱", "┱"];
157
+ readonly lineDownBoldLeftRightBold: readonly ["┲", "┲"];
158
+ readonly lineDownLeftRightBold: readonly ["┮", "┮"];
159
+ readonly lineDownLeftBoldRight: readonly ["┭", "┭"];
160
+ readonly lineDownDoubleLeftDoubleRightDouble: readonly ["╦", "╦"];
161
+ readonly lineDownDoubleLeftRight: readonly ["╥", "╥"];
162
+ readonly lineDownLeftDoubleRightDouble: readonly ["╤", "╤"];
163
+ readonly lineUpLeftRight: readonly ["┴", "┴"];
164
+ readonly lineUpBoldLeftBoldRightBold: readonly ["┻", "┻"];
165
+ readonly lineUpLeftBoldRightBold: readonly ["┷", "┷"];
166
+ readonly lineUpBoldLeftRight: readonly ["┸", "┸"];
167
+ readonly lineUpBoldLeftBoldRight: readonly ["┹", "┹"];
168
+ readonly lineUpBoldLeftRightBold: readonly ["┺", "┺"];
169
+ readonly lineUpLeftRightBold: readonly ["┶", "┶"];
170
+ readonly lineUpLeftBoldRight: readonly ["┵", "┵"];
171
+ readonly lineUpDoubleLeftDoubleRightDouble: readonly ["╩", "╩"];
172
+ readonly lineUpDoubleLeftRight: readonly ["╨", "╨"];
173
+ readonly lineUpLeftDoubleRightDouble: readonly ["╧", "╧"];
174
+ readonly lineUpDownLeftRight: readonly ["┼", "┼"];
175
+ readonly lineUpBoldDownBoldLeftBoldRightBold: readonly ["╋", "╋"];
176
+ readonly lineUpDownBoldLeftBoldRightBold: readonly ["╈", "╈"];
177
+ readonly lineUpBoldDownLeftBoldRightBold: readonly ["╇", "╇"];
178
+ readonly lineUpBoldDownBoldLeftRightBold: readonly ["╊", "╊"];
179
+ readonly lineUpBoldDownBoldLeftBoldRight: readonly ["╉", "╉"];
180
+ readonly lineUpBoldDownLeftRight: readonly ["╀", "╀"];
181
+ readonly lineUpDownBoldLeftRight: readonly ["╁", "╁"];
182
+ readonly lineUpDownLeftBoldRight: readonly ["┽", "┽"];
183
+ readonly lineUpDownLeftRightBold: readonly ["┾", "┾"];
184
+ readonly lineUpBoldDownBoldLeftRight: readonly ["╂", "╂"];
185
+ readonly lineUpDownLeftBoldRightBold: readonly ["┿", "┿"];
186
+ readonly lineUpBoldDownLeftBoldRight: readonly ["╃", "╃"];
187
+ readonly lineUpBoldDownLeftRightBold: readonly ["╄", "╄"];
188
+ readonly lineUpDownBoldLeftBoldRight: readonly ["╅", "╅"];
189
+ readonly lineUpDownBoldLeftRightBold: readonly ["╆", "╆"];
190
+ readonly lineUpDoubleDownDoubleLeftDoubleRightDouble: readonly ["╬", "╬"];
191
+ readonly lineUpDoubleDownDoubleLeftRight: readonly ["╫", "╫"];
192
+ readonly lineUpDownLeftDoubleRightDouble: readonly ["╪", "╪"];
193
+ readonly lineCross: readonly ["╳", "╳"];
194
+ readonly lineBackslash: readonly ["╲", "╲"];
195
+ readonly lineSlash: readonly ["╱", "╱"];
196
+ readonly tick: readonly ["✔", "√"];
197
+ readonly info: readonly ["ℹ", "i"];
198
+ readonly warning: readonly ["⚠", "‼"];
199
+ readonly cross: readonly ["✘", "×"];
200
+ readonly squareSmall: readonly ["◻", "□"];
201
+ readonly squareSmallFilled: readonly ["◼", "■"];
202
+ readonly circle: readonly ["◯", "( )"];
203
+ readonly circleFilled: readonly ["◉", "(*)"];
204
+ readonly circleDotted: readonly ["◌", "( )"];
205
+ readonly circleDouble: readonly ["◎", "( )"];
206
+ readonly circleCircle: readonly ["ⓞ", "(○)"];
207
+ readonly circleCross: readonly ["ⓧ", "(×)"];
208
+ readonly circlePipe: readonly ["Ⓘ", "(│)"];
209
+ readonly radioOn: readonly ["◉", "(*)"];
210
+ readonly radioOff: readonly ["◯", "( )"];
211
+ readonly checkboxOn: readonly ["☒", "[×]"];
212
+ readonly checkboxOff: readonly ["☐", "[ ]"];
213
+ readonly checkboxCircleOn: readonly ["ⓧ", "(×)"];
214
+ readonly checkboxCircleOff: readonly ["Ⓘ", "( )"];
215
+ readonly pointer: readonly ["❯", ">"];
216
+ readonly triangleUpOutline: readonly ["△", "∆"];
217
+ readonly triangleLeft: readonly ["◀", "◄"];
218
+ readonly triangleRight: readonly ["▶", "►"];
219
+ readonly lozenge: readonly ["◆", "♦"];
220
+ readonly lozengeOutline: readonly ["◇", "◊"];
221
+ readonly hamburger: readonly ["☰", "≡"];
222
+ readonly smiley: readonly ["㋡", "☺"];
223
+ readonly mustache: readonly ["෴", "┌─┐"];
224
+ readonly star: readonly ["★", "✶"];
225
+ readonly play: readonly ["▶", "►"];
226
+ readonly nodejs: readonly ["⬢", "♦"];
227
+ readonly oneSeventh: readonly ["⅐", "1/7"];
228
+ readonly oneNinth: readonly ["⅑", "1/9"];
229
+ readonly oneTenth: readonly ["⅒", "1/10"];
230
+ readonly success: readonly ["✔", "√"];
231
+ readonly error: readonly ["✘", "×"];
232
+ };
233
+ export declare const glyph: Readonly<{
234
+ circleQuestionMark: string;
235
+ questionMarkPrefix: string;
236
+ square: string;
237
+ squareDarkShade: string;
238
+ squareMediumShade: string;
239
+ squareLightShade: string;
240
+ squareTop: string;
241
+ squareBottom: string;
242
+ squareLeft: string;
243
+ squareRight: string;
244
+ squareCenter: string;
245
+ bullet: string;
246
+ dot: string;
247
+ ellipsis: string;
248
+ pointerSmall: string;
249
+ triangleUp: string;
250
+ triangleUpSmall: string;
251
+ triangleDown: string;
252
+ triangleDownSmall: string;
253
+ triangleLeftSmall: string;
254
+ triangleRightSmall: string;
255
+ home: string;
256
+ heart: string;
257
+ musicNote: string;
258
+ musicNoteBeamed: string;
259
+ arrowUp: string;
260
+ arrowDown: string;
261
+ arrowLeft: string;
262
+ arrowRight: string;
263
+ arrowLeftRight: string;
264
+ arrowUpDown: string;
265
+ almostEqual: string;
266
+ notEqual: string;
267
+ lessOrEqual: string;
268
+ greaterOrEqual: string;
269
+ identical: string;
270
+ infinity: string;
271
+ subscriptZero: string;
272
+ subscriptOne: string;
273
+ subscriptTwo: string;
274
+ subscriptThree: string;
275
+ subscriptFour: string;
276
+ subscriptFive: string;
277
+ subscriptSix: string;
278
+ subscriptSeven: string;
279
+ subscriptEight: string;
280
+ subscriptNine: string;
281
+ oneHalf: string;
282
+ oneThird: string;
283
+ oneQuarter: string;
284
+ oneFifth: string;
285
+ oneSixth: string;
286
+ oneEighth: string;
287
+ twoThirds: string;
288
+ twoFifths: string;
289
+ threeQuarters: string;
290
+ threeFifths: string;
291
+ threeEighths: string;
292
+ fourFifths: string;
293
+ fiveSixths: string;
294
+ fiveEighths: string;
295
+ sevenEighths: string;
296
+ line: string;
297
+ lineBold: string;
298
+ lineDouble: string;
299
+ lineDashed0: string;
300
+ lineDashed1: string;
301
+ lineDashed2: string;
302
+ lineDashed3: string;
303
+ lineDashed4: string;
304
+ lineDashed5: string;
305
+ lineDashed6: string;
306
+ lineDashed7: string;
307
+ lineDashed8: string;
308
+ lineDashed9: string;
309
+ lineDashed10: string;
310
+ lineDashed11: string;
311
+ lineDashed12: string;
312
+ lineDashed13: string;
313
+ lineDashed14: string;
314
+ lineDashed15: string;
315
+ lineVertical: string;
316
+ lineVerticalBold: string;
317
+ lineVerticalDouble: string;
318
+ lineVerticalDashed0: string;
319
+ lineVerticalDashed1: string;
320
+ lineVerticalDashed2: string;
321
+ lineVerticalDashed3: string;
322
+ lineVerticalDashed4: string;
323
+ lineVerticalDashed5: string;
324
+ lineVerticalDashed6: string;
325
+ lineVerticalDashed7: string;
326
+ lineVerticalDashed8: string;
327
+ lineVerticalDashed9: string;
328
+ lineVerticalDashed10: string;
329
+ lineVerticalDashed11: string;
330
+ lineDownLeft: string;
331
+ lineDownLeftArc: string;
332
+ lineDownBoldLeftBold: string;
333
+ lineDownBoldLeft: string;
334
+ lineDownLeftBold: string;
335
+ lineDownDoubleLeftDouble: string;
336
+ lineDownDoubleLeft: string;
337
+ lineDownLeftDouble: string;
338
+ lineDownRight: string;
339
+ lineDownRightArc: string;
340
+ lineDownBoldRightBold: string;
341
+ lineDownBoldRight: string;
342
+ lineDownRightBold: string;
343
+ lineDownDoubleRightDouble: string;
344
+ lineDownDoubleRight: string;
345
+ lineDownRightDouble: string;
346
+ lineUpLeft: string;
347
+ lineUpLeftArc: string;
348
+ lineUpBoldLeftBold: string;
349
+ lineUpBoldLeft: string;
350
+ lineUpLeftBold: string;
351
+ lineUpDoubleLeftDouble: string;
352
+ lineUpDoubleLeft: string;
353
+ lineUpLeftDouble: string;
354
+ lineUpRight: string;
355
+ lineUpRightArc: string;
356
+ lineUpBoldRightBold: string;
357
+ lineUpBoldRight: string;
358
+ lineUpRightBold: string;
359
+ lineUpDoubleRightDouble: string;
360
+ lineUpDoubleRight: string;
361
+ lineUpRightDouble: string;
362
+ lineUpDownLeft: string;
363
+ lineUpBoldDownBoldLeftBold: string;
364
+ lineUpBoldDownBoldLeft: string;
365
+ lineUpDownLeftBold: string;
366
+ lineUpBoldDownLeftBold: string;
367
+ lineUpDownBoldLeftBold: string;
368
+ lineUpDownBoldLeft: string;
369
+ lineUpBoldDownLeft: string;
370
+ lineUpDoubleDownDoubleLeftDouble: string;
371
+ lineUpDoubleDownDoubleLeft: string;
372
+ lineUpDownLeftDouble: string;
373
+ lineUpDownRight: string;
374
+ lineUpBoldDownBoldRightBold: string;
375
+ lineUpBoldDownBoldRight: string;
376
+ lineUpDownRightBold: string;
377
+ lineUpBoldDownRightBold: string;
378
+ lineUpDownBoldRightBold: string;
379
+ lineUpDownBoldRight: string;
380
+ lineUpBoldDownRight: string;
381
+ lineUpDoubleDownDoubleRightDouble: string;
382
+ lineUpDoubleDownDoubleRight: string;
383
+ lineUpDownRightDouble: string;
384
+ lineDownLeftRight: string;
385
+ lineDownBoldLeftBoldRightBold: string;
386
+ lineDownLeftBoldRightBold: string;
387
+ lineDownBoldLeftRight: string;
388
+ lineDownBoldLeftBoldRight: string;
389
+ lineDownBoldLeftRightBold: string;
390
+ lineDownLeftRightBold: string;
391
+ lineDownLeftBoldRight: string;
392
+ lineDownDoubleLeftDoubleRightDouble: string;
393
+ lineDownDoubleLeftRight: string;
394
+ lineDownLeftDoubleRightDouble: string;
395
+ lineUpLeftRight: string;
396
+ lineUpBoldLeftBoldRightBold: string;
397
+ lineUpLeftBoldRightBold: string;
398
+ lineUpBoldLeftRight: string;
399
+ lineUpBoldLeftBoldRight: string;
400
+ lineUpBoldLeftRightBold: string;
401
+ lineUpLeftRightBold: string;
402
+ lineUpLeftBoldRight: string;
403
+ lineUpDoubleLeftDoubleRightDouble: string;
404
+ lineUpDoubleLeftRight: string;
405
+ lineUpLeftDoubleRightDouble: string;
406
+ lineUpDownLeftRight: string;
407
+ lineUpBoldDownBoldLeftBoldRightBold: string;
408
+ lineUpDownBoldLeftBoldRightBold: string;
409
+ lineUpBoldDownLeftBoldRightBold: string;
410
+ lineUpBoldDownBoldLeftRightBold: string;
411
+ lineUpBoldDownBoldLeftBoldRight: string;
412
+ lineUpBoldDownLeftRight: string;
413
+ lineUpDownBoldLeftRight: string;
414
+ lineUpDownLeftBoldRight: string;
415
+ lineUpDownLeftRightBold: string;
416
+ lineUpBoldDownBoldLeftRight: string;
417
+ lineUpDownLeftBoldRightBold: string;
418
+ lineUpBoldDownLeftBoldRight: string;
419
+ lineUpBoldDownLeftRightBold: string;
420
+ lineUpDownBoldLeftBoldRight: string;
421
+ lineUpDownBoldLeftRightBold: string;
422
+ lineUpDoubleDownDoubleLeftDoubleRightDouble: string;
423
+ lineUpDoubleDownDoubleLeftRight: string;
424
+ lineUpDownLeftDoubleRightDouble: string;
425
+ lineCross: string;
426
+ lineBackslash: string;
427
+ lineSlash: string;
428
+ tick: string;
429
+ info: string;
430
+ warning: string;
431
+ cross: string;
432
+ squareSmall: string;
433
+ squareSmallFilled: string;
434
+ circle: string;
435
+ circleFilled: string;
436
+ circleDotted: string;
437
+ circleDouble: string;
438
+ circleCircle: string;
439
+ circleCross: string;
440
+ circlePipe: string;
441
+ radioOn: string;
442
+ radioOff: string;
443
+ checkboxOn: string;
444
+ checkboxOff: string;
445
+ checkboxCircleOn: string;
446
+ checkboxCircleOff: string;
447
+ pointer: string;
448
+ triangleUpOutline: string;
449
+ triangleLeft: string;
450
+ triangleRight: string;
451
+ lozenge: string;
452
+ lozengeOutline: string;
453
+ hamburger: string;
454
+ smiley: string;
455
+ mustache: string;
456
+ star: string;
457
+ play: string;
458
+ nodejs: string;
459
+ oneSeventh: string;
460
+ oneNinth: string;
461
+ oneTenth: string;
462
+ success: string;
463
+ error: string;
464
+ }>;