@podlite/schema 0.0.12 → 0.0.14
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/CHANGELOG.md +38 -4
- package/README.md +40 -0
- package/lib/ast-helpers.js +1 -0
- package/lib/ast-inerator.d.ts +0 -1
- package/lib/ast-inerator.js +5 -13
- package/lib/blocks-helpers.d.ts +1 -1
- package/lib/blocks-helpers.js +15 -12
- package/lib/exportAny.js +14 -6
- package/lib/exportHtml.js +43 -36
- package/lib/grammar.js +30 -21
- package/lib/grammarfc.js +1099 -243
- package/lib/helpers/config.js +8 -3
- package/lib/helpers/corePlugins.d.ts +12 -0
- package/lib/helpers/corePlugins.js +26 -0
- package/lib/helpers/handlers.js +1 -0
- package/lib/helpers/ids.d.ts +18 -0
- package/lib/helpers/ids.js +74 -0
- package/lib/helpers/makeInterator.js +6 -3
- package/lib/helpers/makeQuery.js +5 -1
- package/lib/helpers/makeQuery.test.js +32 -22
- package/lib/helpers/makeTransformer.js +7 -10
- package/lib/helpers/plugins.d.ts +2 -0
- package/lib/helpers/plugins.js +27 -0
- package/lib/index.d.ts +24 -21
- package/lib/index.js +18 -8
- package/lib/pluggableParser.d.ts +27 -0
- package/lib/pluggableParser.js +80 -0
- package/lib/plugin-clean-location.js +6 -3
- package/lib/plugin-defn-fill-term.js +7 -4
- package/lib/plugin-formatting-codes.js +41 -12
- package/lib/plugin-group-defn.js +10 -10
- package/lib/plugin-group-items.js +22 -20
- package/lib/plugin-heading.js +6 -3
- package/lib/plugin-items.js +9 -6
- package/lib/plugin-tables.js +46 -31
- package/lib/plugin-vmargin.js +5 -3
- package/lib/query-helpers.js +9 -6
- package/lib/types.d.ts +78 -70
- package/lib/types.js +1 -0
- package/lib/writer.js +22 -7
- package/lib/writerHtml.js +3 -2
- package/package.json +9 -9
- package/schema/AstTree.json +116 -0
- package/schema/PodliteDocument.json +116 -0
- package/schema/index.d.ts +3 -3
- package/index.js +0 -2
package/lib/types.d.ts
CHANGED
|
@@ -28,8 +28,8 @@ export interface RulesStrict {
|
|
|
28
28
|
'U<>': RuleHandler<FormattingCodeAny>;
|
|
29
29
|
'Z<>': RuleHandler<FormattingCodeAny>;
|
|
30
30
|
'Delete<>': RuleHandler<FormattingCodeAny>;
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
pod: RuleHandler<Para>;
|
|
32
|
+
root: RuleHandler<RootBlock>;
|
|
33
33
|
':para': RuleHandler<Para>;
|
|
34
34
|
':text': RuleHandler<Text>;
|
|
35
35
|
':blankline': RuleHandler<BlankLine>;
|
|
@@ -39,33 +39,35 @@ export interface RulesStrict {
|
|
|
39
39
|
':list': RuleHandler<List>;
|
|
40
40
|
':config': RuleHandler<BlockConfig>;
|
|
41
41
|
':alias': RuleHandler<Alias>;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
42
|
+
data: RuleHandler<BlockData>;
|
|
43
|
+
code: RuleHandler<BlockCode>;
|
|
44
|
+
para: RuleHandler<BlockPara>;
|
|
45
|
+
defn: RuleHandler<BlockDefn>;
|
|
46
|
+
nested: RuleHandler<BlockNested>;
|
|
47
|
+
output: RuleHandler<BlockOutput>;
|
|
48
|
+
input: RuleHandler<BlockInput>;
|
|
49
|
+
image: RuleHandler<BlockImage>;
|
|
50
50
|
':image': RuleHandler<Image>;
|
|
51
51
|
'item:block': RuleHandler<BlockItem>;
|
|
52
|
-
|
|
52
|
+
item: RuleHandler<BlockItem>;
|
|
53
53
|
'comment:block': RuleHandler<BlockComment>;
|
|
54
|
-
|
|
54
|
+
comment: RuleHandler<BlockComment>;
|
|
55
55
|
'head:block': RuleHandler<BlockHead>;
|
|
56
|
-
|
|
56
|
+
head: RuleHandler<BlockHead>;
|
|
57
57
|
':fcode': RuleHandler<FormattingCodes>;
|
|
58
58
|
'table:block': RuleHandler<BlockTable>;
|
|
59
|
-
|
|
59
|
+
table: RuleHandler<BlockTable>;
|
|
60
60
|
':separator': RuleHandler<Separator>;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
table_row: RuleHandler<TableRow>;
|
|
62
|
+
table_cell: RuleHandler<TableCell>;
|
|
63
|
+
table_head: RuleHandler<TableHead>;
|
|
64
|
+
toc: RuleHandler<BlockToc>;
|
|
64
65
|
':toc': RuleHandler<Toc>;
|
|
65
66
|
':toc-list': RuleHandler<TocList>;
|
|
66
67
|
':toc-item': RuleHandler<TocItem>;
|
|
67
|
-
|
|
68
|
-
|
|
68
|
+
markdown: RuleHandler<BlockMarkdown>;
|
|
69
|
+
Diagram: RuleHandler<BlockDiagram>;
|
|
70
|
+
Image: RuleHandler<BlockNamed>;
|
|
69
71
|
}
|
|
70
72
|
export interface Rules extends RulesStrict {
|
|
71
73
|
[name: string]: RuleHandler;
|
|
@@ -114,112 +116,112 @@ export interface RootBlock extends Omit<Block, 'location'> {
|
|
|
114
116
|
content: AstTree;
|
|
115
117
|
}
|
|
116
118
|
export interface FormattingCodeB {
|
|
117
|
-
type:
|
|
118
|
-
name:
|
|
119
|
+
type: 'fcode';
|
|
120
|
+
name: 'B';
|
|
119
121
|
content?: Array<Node>;
|
|
120
122
|
}
|
|
121
123
|
export interface FormattingCodeC {
|
|
122
|
-
type:
|
|
123
|
-
name:
|
|
124
|
+
type: 'fcode';
|
|
125
|
+
name: 'C';
|
|
124
126
|
content?: Array<FormattingCodes | string>;
|
|
125
127
|
}
|
|
126
128
|
export interface FormattingCodeE {
|
|
127
|
-
type:
|
|
128
|
-
name:
|
|
129
|
+
type: 'fcode';
|
|
130
|
+
name: 'E';
|
|
129
131
|
content: Array<{
|
|
130
|
-
type:
|
|
132
|
+
type: 'number';
|
|
131
133
|
value: number;
|
|
132
134
|
}>;
|
|
133
135
|
}
|
|
134
136
|
export interface FormattingCodeN {
|
|
135
|
-
type:
|
|
136
|
-
name:
|
|
137
|
+
type: 'fcode';
|
|
138
|
+
name: 'N';
|
|
137
139
|
content?: Array<FormattingCodes | string>;
|
|
138
140
|
}
|
|
139
141
|
export interface FormattingCodeX {
|
|
140
|
-
type:
|
|
141
|
-
name:
|
|
142
|
+
type: 'fcode';
|
|
143
|
+
name: 'X';
|
|
142
144
|
entry: Array<string> | null;
|
|
143
145
|
content?: Array<FormattingCodes | string>;
|
|
144
146
|
}
|
|
145
147
|
export interface FormattingCodeZ {
|
|
146
|
-
type:
|
|
147
|
-
name:
|
|
148
|
+
type: 'fcode';
|
|
149
|
+
name: 'Z';
|
|
148
150
|
content?: string;
|
|
149
151
|
}
|
|
150
152
|
export interface FormattingCodeV {
|
|
151
|
-
type:
|
|
152
|
-
name:
|
|
153
|
+
type: 'fcode';
|
|
154
|
+
name: 'V';
|
|
153
155
|
content?: string;
|
|
154
156
|
}
|
|
155
157
|
export interface FormattingCodeS {
|
|
156
|
-
type:
|
|
157
|
-
name:
|
|
158
|
+
type: 'fcode';
|
|
159
|
+
name: 'S';
|
|
158
160
|
content?: string | Text;
|
|
159
161
|
}
|
|
160
162
|
export interface FormattingCodeA {
|
|
161
|
-
type:
|
|
162
|
-
name:
|
|
163
|
+
type: 'fcode';
|
|
164
|
+
name: 'A';
|
|
163
165
|
content: string | Text;
|
|
164
166
|
}
|
|
165
167
|
export interface FormattingCodeD {
|
|
166
|
-
type:
|
|
167
|
-
name:
|
|
168
|
+
type: 'fcode';
|
|
169
|
+
name: 'D';
|
|
168
170
|
synonyms: Array<string>;
|
|
169
171
|
content: string;
|
|
170
172
|
}
|
|
171
173
|
export interface FormattingCodeL {
|
|
172
|
-
type:
|
|
173
|
-
name:
|
|
174
|
+
type: 'fcode';
|
|
175
|
+
name: 'L';
|
|
174
176
|
meta: string | null;
|
|
175
177
|
content: string | Text;
|
|
176
178
|
}
|
|
177
179
|
export interface FormattingCodeI {
|
|
178
|
-
type:
|
|
179
|
-
name:
|
|
180
|
+
type: 'fcode';
|
|
181
|
+
name: 'I';
|
|
180
182
|
meta: string;
|
|
181
183
|
content: string | Text;
|
|
182
184
|
}
|
|
183
185
|
export interface FormattingCodeAny {
|
|
184
|
-
type:
|
|
186
|
+
type: 'fcode';
|
|
185
187
|
name: string;
|
|
186
188
|
content?: Array<FormattingCodes | string>;
|
|
187
189
|
}
|
|
188
190
|
export interface Ambient {
|
|
189
|
-
type:
|
|
191
|
+
type: 'ambient';
|
|
190
192
|
text: string;
|
|
191
193
|
location: Location;
|
|
192
194
|
}
|
|
193
195
|
export interface Verbatim {
|
|
194
|
-
type:
|
|
196
|
+
type: 'verbatim';
|
|
195
197
|
value: string;
|
|
196
198
|
}
|
|
197
199
|
export interface Text {
|
|
198
|
-
type:
|
|
200
|
+
type: 'text';
|
|
199
201
|
value: string;
|
|
200
202
|
}
|
|
201
203
|
export interface Para {
|
|
202
|
-
type:
|
|
204
|
+
type: 'para';
|
|
203
205
|
text: string;
|
|
204
206
|
margin: string;
|
|
205
207
|
location: Location;
|
|
206
208
|
content: Array<Node | FormattingCodes>;
|
|
207
209
|
}
|
|
208
210
|
export interface Code {
|
|
209
|
-
type:
|
|
211
|
+
type: 'code';
|
|
210
212
|
text: string;
|
|
211
213
|
margin: string;
|
|
212
214
|
location: Location;
|
|
213
215
|
content: Array<Verbatim | string>;
|
|
214
216
|
}
|
|
215
217
|
export interface BlankLine {
|
|
216
|
-
type:
|
|
218
|
+
type: 'blankline';
|
|
217
219
|
}
|
|
218
220
|
export interface List {
|
|
219
|
-
type:
|
|
221
|
+
type: 'list';
|
|
220
222
|
level: string | number;
|
|
221
223
|
content: Array<BlockItem | BlankLine | List>;
|
|
222
|
-
list:
|
|
224
|
+
list: 'itemized';
|
|
223
225
|
}
|
|
224
226
|
export interface ConfigItemKV {
|
|
225
227
|
[key: string]: string | number | boolean;
|
|
@@ -233,13 +235,13 @@ export interface ConfigItem {
|
|
|
233
235
|
}
|
|
234
236
|
export interface BlockConfig {
|
|
235
237
|
name: string;
|
|
236
|
-
type:
|
|
238
|
+
type: 'config';
|
|
237
239
|
config: Array<ConfigItem>;
|
|
238
240
|
margin: string;
|
|
239
241
|
}
|
|
240
242
|
export interface Alias {
|
|
241
243
|
name: string;
|
|
242
|
-
type:
|
|
244
|
+
type: 'alias';
|
|
243
245
|
replacement: Array<string>;
|
|
244
246
|
margin: string;
|
|
245
247
|
}
|
|
@@ -248,7 +250,7 @@ export interface Separator {
|
|
|
248
250
|
text: string;
|
|
249
251
|
}
|
|
250
252
|
export interface Block {
|
|
251
|
-
type:
|
|
253
|
+
type: 'block';
|
|
252
254
|
location: Location;
|
|
253
255
|
content: Array<Node>;
|
|
254
256
|
margin: string;
|
|
@@ -268,22 +270,28 @@ export interface BlockDefn extends Block {
|
|
|
268
270
|
name: 'defn';
|
|
269
271
|
}
|
|
270
272
|
export interface BlockItem extends Block {
|
|
271
|
-
name:
|
|
273
|
+
name: 'item';
|
|
272
274
|
content: Array<Node>;
|
|
273
275
|
level: string | number;
|
|
274
276
|
}
|
|
275
277
|
export interface BlockOutput extends Block {
|
|
276
|
-
name:
|
|
278
|
+
name: 'output';
|
|
277
279
|
}
|
|
278
280
|
export interface BlockInput extends Block {
|
|
279
|
-
name:
|
|
281
|
+
name: 'input';
|
|
280
282
|
}
|
|
281
283
|
export interface BlockPara extends Block {
|
|
282
|
-
name:
|
|
284
|
+
name: 'para';
|
|
283
285
|
}
|
|
284
286
|
export interface BlockCode extends Block {
|
|
285
287
|
name: 'code';
|
|
286
288
|
}
|
|
289
|
+
export interface BlockToc extends Block {
|
|
290
|
+
name: 'toc';
|
|
291
|
+
}
|
|
292
|
+
export interface BlockMarkdown extends Block {
|
|
293
|
+
name: 'markdown';
|
|
294
|
+
}
|
|
287
295
|
export interface BlockNested extends Block {
|
|
288
296
|
name: 'nested';
|
|
289
297
|
}
|
|
@@ -292,28 +300,28 @@ export interface BlockHead extends Block {
|
|
|
292
300
|
level: number | string;
|
|
293
301
|
}
|
|
294
302
|
export interface BlockTable extends Omit<Block, 'content'> {
|
|
295
|
-
name:
|
|
303
|
+
name: 'table';
|
|
296
304
|
content: Array<TableHead | TableSeparator | TableRow | BlankLine>;
|
|
297
305
|
text?: string;
|
|
298
306
|
}
|
|
299
307
|
export interface TableCell {
|
|
300
|
-
name:
|
|
301
|
-
type:
|
|
308
|
+
name: 'table_cell';
|
|
309
|
+
type: 'block';
|
|
302
310
|
content: Array<string>;
|
|
303
311
|
}
|
|
304
312
|
export interface TableRow {
|
|
305
|
-
name:
|
|
306
|
-
type:
|
|
313
|
+
name: 'table_row';
|
|
314
|
+
type: 'block';
|
|
307
315
|
content: Array<TableCell>;
|
|
308
316
|
}
|
|
309
317
|
export interface TableHead {
|
|
310
|
-
name:
|
|
311
|
-
type:
|
|
318
|
+
name: 'table_head';
|
|
319
|
+
type: 'block';
|
|
312
320
|
content: Array<TableCell>;
|
|
313
321
|
}
|
|
314
322
|
export interface TableSeparator {
|
|
315
|
-
|
|
316
|
-
|
|
323
|
+
type: 'separator';
|
|
324
|
+
text: string;
|
|
317
325
|
}
|
|
318
326
|
export declare type BlockAny = BlockNamed;
|
|
319
327
|
export interface BlockNamed extends Omit<Block, 'content'> {
|
|
@@ -328,7 +336,7 @@ export interface BlockDiagram extends Omit<BlockNamed, 'content'> {
|
|
|
328
336
|
};
|
|
329
337
|
}
|
|
330
338
|
export declare type FormattingCodes = FormattingCodeA | FormattingCodeC | FormattingCodeB | FormattingCodeD | FormattingCodeE | FormattingCodeI | FormattingCodeL | FormattingCodeN | FormattingCodeX | FormattingCodeZ | FormattingCodeV | FormattingCodeS | FormattingCodeAny;
|
|
331
|
-
export declare type PodNode = Ambient | BlockPod | BlockData | BlockCode | BlankLine | BlockNested | BlockOutput | BlockInput | BlockPara | BlockHead | BlockComment | BlockDefn | string | Para | Text | Code | BlockNamed | BlockAny | Verbatim | BlockTable | List | BlockConfig | BlockItem | Alias | BlockImage | Image | RootBlock | Separator | BlockCaption | FormattingCodes | Toc;
|
|
339
|
+
export declare type PodNode = Ambient | BlockPod | BlockData | BlockCode | BlankLine | BlockNested | BlockMarkdown | BlockOutput | BlockInput | BlockPara | BlockHead | BlockComment | BlockDefn | string | Para | Text | Code | BlockNamed | BlockAny | Verbatim | BlockTable | List | BlockConfig | BlockItem | Alias | BlockToc | BlockImage | Image | RootBlock | Separator | BlockCaption | FormattingCodes | Toc;
|
|
332
340
|
export declare type Node = PodNode;
|
|
333
341
|
export declare type AstTree = Array<PodNode>;
|
|
334
342
|
export declare type PodliteDocument = RootBlock;
|
package/lib/types.js
CHANGED
package/lib/writer.js
CHANGED
|
@@ -24,6 +24,12 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
25
|
const Events = __importStar(require("events"));
|
|
26
26
|
class Writer extends Events.EventEmitter {
|
|
27
|
+
INDEXTERMS;
|
|
28
|
+
FOOTNOTES;
|
|
29
|
+
output;
|
|
30
|
+
errors;
|
|
31
|
+
out;
|
|
32
|
+
ons;
|
|
27
33
|
// write: (p: any) => void;
|
|
28
34
|
// getStr: () => { errors: any; toString: () => any; valueOf: () => any; };
|
|
29
35
|
// errors: any;
|
|
@@ -33,9 +39,6 @@ class Writer extends Events.EventEmitter {
|
|
|
33
39
|
// endWrite: () => void;
|
|
34
40
|
constructor(output) {
|
|
35
41
|
super();
|
|
36
|
-
this.endWrite = () => {
|
|
37
|
-
this.emit('end');
|
|
38
|
-
};
|
|
39
42
|
// save X<> entries
|
|
40
43
|
this.INDEXTERMS = [];
|
|
41
44
|
// save N<> annotates
|
|
@@ -45,9 +48,13 @@ class Writer extends Events.EventEmitter {
|
|
|
45
48
|
this.emit('ready');
|
|
46
49
|
}
|
|
47
50
|
// escape function for output
|
|
48
|
-
escape(p) {
|
|
51
|
+
escape(p) {
|
|
52
|
+
return p;
|
|
53
|
+
}
|
|
49
54
|
// write with escape special symbols
|
|
50
|
-
write(p) {
|
|
55
|
+
write(p) {
|
|
56
|
+
return this.writeRaw(this.escape(p));
|
|
57
|
+
}
|
|
51
58
|
// raw write as is
|
|
52
59
|
writeRaw(str) {
|
|
53
60
|
if ('function' === typeof this.output) {
|
|
@@ -61,16 +68,20 @@ class Writer extends Events.EventEmitter {
|
|
|
61
68
|
return {
|
|
62
69
|
errors: this.errors,
|
|
63
70
|
toString: () => this.out,
|
|
64
|
-
valueOf: () => this.out
|
|
71
|
+
valueOf: () => this.out,
|
|
65
72
|
};
|
|
66
73
|
}
|
|
67
74
|
startWrite(tree) {
|
|
68
75
|
// setup events
|
|
76
|
+
;
|
|
69
77
|
(this.ons || []).map(a =>
|
|
70
78
|
//@ts-ignore
|
|
71
79
|
super.on(...a));
|
|
72
80
|
this.emit('start', tree);
|
|
73
|
-
this.addListener('errors',
|
|
81
|
+
this.addListener('errors', err => {
|
|
82
|
+
this.errors = this.errors || [];
|
|
83
|
+
this.errors.push(err);
|
|
84
|
+
});
|
|
74
85
|
}
|
|
75
86
|
on(...params) {
|
|
76
87
|
// overload 'on' method for reverse setup handlers
|
|
@@ -78,6 +89,9 @@ class Writer extends Events.EventEmitter {
|
|
|
78
89
|
this.ons.unshift([...params]);
|
|
79
90
|
return this;
|
|
80
91
|
}
|
|
92
|
+
endWrite = () => {
|
|
93
|
+
this.emit('end');
|
|
94
|
+
};
|
|
81
95
|
// nesting methods
|
|
82
96
|
_add_nesting(n) { }
|
|
83
97
|
_remove_nesting(n) { }
|
|
@@ -89,3 +103,4 @@ class Writer extends Events.EventEmitter {
|
|
|
89
103
|
}
|
|
90
104
|
}
|
|
91
105
|
exports.default = Writer;
|
|
106
|
+
//# sourceMappingURL=writer.js.map
|
package/lib/writerHtml.js
CHANGED
|
@@ -19,9 +19,9 @@ class WriterHTML extends writer_1.default {
|
|
|
19
19
|
'"': '"',
|
|
20
20
|
"'": ''',
|
|
21
21
|
'/': '/',
|
|
22
|
-
'`': '`'
|
|
22
|
+
'`': '`',
|
|
23
23
|
};
|
|
24
|
-
return (string + '').replace(/[&<>"'\/`]/g,
|
|
24
|
+
return (string + '').replace(/[&<>"'\/`]/g, match => HTML_CHARS[match]);
|
|
25
25
|
}
|
|
26
26
|
_add_nesting(n) {
|
|
27
27
|
this.writeRaw('<blockquote>'.repeat(n));
|
|
@@ -31,3 +31,4 @@ class WriterHTML extends writer_1.default {
|
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
exports.default = WriterHTML;
|
|
34
|
+
//# sourceMappingURL=writerHtml.js.map
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@podlite/schema",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "
|
|
5
|
-
"main": "index.js",
|
|
3
|
+
"version": "0.0.14",
|
|
4
|
+
"description": "AST tools for Podlite markup language",
|
|
5
|
+
"main": "lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"files": [
|
|
@@ -18,17 +18,18 @@
|
|
|
18
18
|
"engineStrict": true,
|
|
19
19
|
"publishConfig": {
|
|
20
20
|
"access": "public",
|
|
21
|
-
"main": "index.js",
|
|
22
|
-
"module": "index.js",
|
|
21
|
+
"main": "lib/index.js",
|
|
23
22
|
"types": "./lib/index.d.ts"
|
|
24
23
|
},
|
|
25
24
|
"scripts": {
|
|
26
|
-
"clean": "rm -rf lib tsconfig.tsbuildinfo",
|
|
27
|
-
"build": "run-s build:ts build:ast
|
|
25
|
+
"clean": "rm -rf lib esm tsconfig.tsbuildinfo",
|
|
26
|
+
"build": "run-s build:pegjs build:ts build:ast ",
|
|
28
27
|
"build:ast": "ts-node scripts/make-ast-scheme.ts",
|
|
29
28
|
"build:ts": "yarn g:tsc --build $INIT_CWD",
|
|
29
|
+
"build:esm": "yarn g:tsctest -p tsconfig.esm.json",
|
|
30
30
|
"build:pegjs": "pegjs -o src/grammar.js src/grammar.pegjs && pegjs -o src/grammarfc.js src/grammarfc.pegjs",
|
|
31
31
|
"watch": "npx nodemon -e js,ts --exec 'yarn' build",
|
|
32
|
+
"watch:pegjs": "npx nodemon -e pegjs --exec 'yarn' build:pegjs",
|
|
32
33
|
"test": "yarn g:jest --passWithNoTests"
|
|
33
34
|
},
|
|
34
35
|
"keywords": [
|
|
@@ -51,6 +52,5 @@
|
|
|
51
52
|
"ts-node": "^9.1.1",
|
|
52
53
|
"typescript": "4.5.5",
|
|
53
54
|
"typescript-json-schema": "0.53.0"
|
|
54
|
-
}
|
|
55
|
-
"module": "index.js"
|
|
55
|
+
}
|
|
56
56
|
}
|
package/schema/AstTree.json
CHANGED
|
@@ -213,6 +213,12 @@
|
|
|
213
213
|
{
|
|
214
214
|
"$ref": "#/definitions/BlockCode"
|
|
215
215
|
},
|
|
216
|
+
{
|
|
217
|
+
"$ref": "#/definitions/BlockToc"
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"$ref": "#/definitions/BlockMarkdown"
|
|
221
|
+
},
|
|
216
222
|
{
|
|
217
223
|
"$ref": "#/definitions/BlockNested"
|
|
218
224
|
},
|
|
@@ -1264,6 +1270,12 @@
|
|
|
1264
1270
|
{
|
|
1265
1271
|
"$ref": "#/definitions/BlockCode"
|
|
1266
1272
|
},
|
|
1273
|
+
{
|
|
1274
|
+
"$ref": "#/definitions/BlockToc"
|
|
1275
|
+
},
|
|
1276
|
+
{
|
|
1277
|
+
"$ref": "#/definitions/BlockMarkdown"
|
|
1278
|
+
},
|
|
1267
1279
|
{
|
|
1268
1280
|
"$ref": "#/definitions/BlockNested"
|
|
1269
1281
|
},
|
|
@@ -1941,6 +1953,110 @@
|
|
|
1941
1953
|
"type"
|
|
1942
1954
|
]
|
|
1943
1955
|
},
|
|
1956
|
+
"BlockToc": {
|
|
1957
|
+
"type": "object",
|
|
1958
|
+
"properties": {
|
|
1959
|
+
"name": {
|
|
1960
|
+
"type": "string",
|
|
1961
|
+
"enum": [
|
|
1962
|
+
"toc"
|
|
1963
|
+
]
|
|
1964
|
+
},
|
|
1965
|
+
"type": {
|
|
1966
|
+
"type": "string",
|
|
1967
|
+
"enum": [
|
|
1968
|
+
"block"
|
|
1969
|
+
]
|
|
1970
|
+
},
|
|
1971
|
+
"location": {
|
|
1972
|
+
"$ref": "#/definitions/Location"
|
|
1973
|
+
},
|
|
1974
|
+
"content": {
|
|
1975
|
+
"type": "array",
|
|
1976
|
+
"items": {
|
|
1977
|
+
"$ref": "#/definitions/PodNode"
|
|
1978
|
+
}
|
|
1979
|
+
},
|
|
1980
|
+
"margin": {
|
|
1981
|
+
"type": "string"
|
|
1982
|
+
},
|
|
1983
|
+
"config": {
|
|
1984
|
+
"type": "array",
|
|
1985
|
+
"items": {
|
|
1986
|
+
"anyOf": [
|
|
1987
|
+
{
|
|
1988
|
+
"$ref": "#/definitions/BrokenConfigItem"
|
|
1989
|
+
},
|
|
1990
|
+
{
|
|
1991
|
+
"$ref": "#/definitions/ConfigItem"
|
|
1992
|
+
}
|
|
1993
|
+
]
|
|
1994
|
+
}
|
|
1995
|
+
},
|
|
1996
|
+
"id": {
|
|
1997
|
+
"type": "string"
|
|
1998
|
+
}
|
|
1999
|
+
},
|
|
2000
|
+
"required": [
|
|
2001
|
+
"content",
|
|
2002
|
+
"location",
|
|
2003
|
+
"margin",
|
|
2004
|
+
"name",
|
|
2005
|
+
"type"
|
|
2006
|
+
]
|
|
2007
|
+
},
|
|
2008
|
+
"BlockMarkdown": {
|
|
2009
|
+
"type": "object",
|
|
2010
|
+
"properties": {
|
|
2011
|
+
"name": {
|
|
2012
|
+
"type": "string",
|
|
2013
|
+
"enum": [
|
|
2014
|
+
"markdown"
|
|
2015
|
+
]
|
|
2016
|
+
},
|
|
2017
|
+
"type": {
|
|
2018
|
+
"type": "string",
|
|
2019
|
+
"enum": [
|
|
2020
|
+
"block"
|
|
2021
|
+
]
|
|
2022
|
+
},
|
|
2023
|
+
"location": {
|
|
2024
|
+
"$ref": "#/definitions/Location"
|
|
2025
|
+
},
|
|
2026
|
+
"content": {
|
|
2027
|
+
"type": "array",
|
|
2028
|
+
"items": {
|
|
2029
|
+
"$ref": "#/definitions/PodNode"
|
|
2030
|
+
}
|
|
2031
|
+
},
|
|
2032
|
+
"margin": {
|
|
2033
|
+
"type": "string"
|
|
2034
|
+
},
|
|
2035
|
+
"config": {
|
|
2036
|
+
"type": "array",
|
|
2037
|
+
"items": {
|
|
2038
|
+
"anyOf": [
|
|
2039
|
+
{
|
|
2040
|
+
"$ref": "#/definitions/BrokenConfigItem"
|
|
2041
|
+
},
|
|
2042
|
+
{
|
|
2043
|
+
"$ref": "#/definitions/ConfigItem"
|
|
2044
|
+
}
|
|
2045
|
+
]
|
|
2046
|
+
}
|
|
2047
|
+
},
|
|
2048
|
+
"id": {
|
|
2049
|
+
"type": "string"
|
|
2050
|
+
}
|
|
2051
|
+
},
|
|
2052
|
+
"required": [
|
|
2053
|
+
"content",
|
|
2054
|
+
"location",
|
|
2055
|
+
"margin",
|
|
2056
|
+
"name",
|
|
2057
|
+
"type"
|
|
2058
|
+
]
|
|
2059
|
+
},
|
|
1944
2060
|
"BlockNested": {
|
|
1945
2061
|
"type": "object",
|
|
1946
2062
|
"properties": {
|