@gmb/bitmark-parser-generator 1.5.12 → 1.5.13

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 (48) hide show
  1. package/dist/browser/bitmark-parser-generator.min.js +1 -1
  2. package/dist/browser/bundle-report.html +2 -2
  3. package/dist/cjs/ast/Ast.js +13 -13
  4. package/dist/cjs/ast/Ast.js.map +1 -1
  5. package/dist/cjs/generated/build-info.js +1 -1
  6. package/dist/cjs/generated/parser/text/text-peggy-parser.js +729 -642
  7. package/dist/cjs/generated/parser/text/text-peggy-parser.js.map +1 -1
  8. package/dist/cjs/generator/AstWalkerGenerator.js +83 -0
  9. package/dist/cjs/generator/AstWalkerGenerator.js.map +1 -0
  10. package/dist/cjs/generator/bitmark/BitmarkGenerator.js +144 -180
  11. package/dist/cjs/generator/bitmark/BitmarkGenerator.js.map +1 -1
  12. package/dist/cjs/generator/json/JsonGenerator.js +66 -95
  13. package/dist/cjs/generator/json/JsonGenerator.js.map +1 -1
  14. package/dist/cjs/generator/text/TextGenerator.js +36 -73
  15. package/dist/cjs/generator/text/TextGenerator.js.map +1 -1
  16. package/dist/cjs/model/enum/TextNodeType.js +1 -0
  17. package/dist/cjs/model/enum/TextNodeType.js.map +1 -1
  18. package/dist/esm/ast/Ast.js +13 -13
  19. package/dist/esm/ast/Ast.js.map +1 -1
  20. package/dist/esm/generated/build-info.js +1 -1
  21. package/dist/esm/generated/parser/text/text-peggy-parser.js +729 -642
  22. package/dist/esm/generated/parser/text/text-peggy-parser.js.map +1 -1
  23. package/dist/esm/generator/AstWalkerGenerator.js +80 -0
  24. package/dist/esm/generator/AstWalkerGenerator.js.map +1 -0
  25. package/dist/esm/generator/bitmark/BitmarkGenerator.js +144 -180
  26. package/dist/esm/generator/bitmark/BitmarkGenerator.js.map +1 -1
  27. package/dist/esm/generator/json/JsonGenerator.js +66 -95
  28. package/dist/esm/generator/json/JsonGenerator.js.map +1 -1
  29. package/dist/esm/generator/text/TextGenerator.js +36 -73
  30. package/dist/esm/generator/text/TextGenerator.js.map +1 -1
  31. package/dist/esm/model/enum/TextNodeType.js +1 -0
  32. package/dist/esm/model/enum/TextNodeType.js.map +1 -1
  33. package/dist/types/ast/Ast.d.ts +4 -8
  34. package/dist/types/ast/Ast.d.ts.map +1 -1
  35. package/dist/types/generated/parser/text/text-peggy-parser.d.ts.map +1 -1
  36. package/dist/types/generator/AstWalkerGenerator.d.ts +32 -0
  37. package/dist/types/generator/AstWalkerGenerator.d.ts.map +1 -0
  38. package/dist/types/generator/Generator.d.ts +2 -2
  39. package/dist/types/generator/Generator.d.ts.map +1 -1
  40. package/dist/types/generator/bitmark/BitmarkGenerator.d.ts +121 -127
  41. package/dist/types/generator/bitmark/BitmarkGenerator.d.ts.map +1 -1
  42. package/dist/types/generator/json/JsonGenerator.d.ts +43 -48
  43. package/dist/types/generator/json/JsonGenerator.d.ts.map +1 -1
  44. package/dist/types/generator/text/TextGenerator.d.ts +13 -17
  45. package/dist/types/generator/text/TextGenerator.d.ts.map +1 -1
  46. package/dist/types/model/enum/TextNodeType.d.ts +2 -0
  47. package/dist/types/model/enum/TextNodeType.d.ts.map +1 -1
  48. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BitmarkGenerator.js","sourceRoot":"","sources":["../../../../src/generator/bitmark/BitmarkGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BitmarkGenerator.js","sourceRoot":"","sources":["../../../../src/generator/bitmark/BitmarkGenerator.ts"],"names":[],"mappings":"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"}
@@ -38,15 +38,16 @@ const ArrayUtils_1 = require("../../utils/ArrayUtils");
38
38
  const BooleanUtils_1 = require("../../utils/BooleanUtils");
39
39
  const StringUtils_1 = require("../../utils/StringUtils");
40
40
  const UrlUtils_1 = require("../../utils/UrlUtils");
41
+ const AstWalkerGenerator_1 = require("../AstWalkerGenerator");
41
42
  const DEFAULT_OPTIONS = {
42
43
  // debugGenerationInline: true,
43
44
  };
44
45
  /**
45
46
  * Generate bitmark JSON from a bitmark AST
46
47
  *
47
- * TODO: NOT IMPLEMENTED!
48
+ *
48
49
  */
49
- class JsonGenerator {
50
+ class JsonGenerator extends AstWalkerGenerator_1.AstWalkerGenerator {
50
51
  /**
51
52
  * Generate bitmark JSON from a bitmark AST
52
53
  *
@@ -54,7 +55,8 @@ class JsonGenerator {
54
55
  * @param options - JSON generation options
55
56
  */
56
57
  constructor(writer, options) {
57
- var _a;
58
+ var _a, _b;
59
+ super();
58
60
  this.ast = new Ast_1.Ast();
59
61
  this.textParser = new TextParser_1.TextParser();
60
62
  // State
@@ -65,10 +67,9 @@ class JsonGenerator {
65
67
  this.bodyDefault = Breakscape_1.Breakscape.EMPTY_STRING;
66
68
  this.bodyJson = this.bodyDefault;
67
69
  this.startPlaceholderIndex = 0;
68
- // Debug
69
- this.printed = false;
70
70
  this.bitmarkVersion = (_a = BitmarkVersion_1.BitmarkVersion.fromValue(options === null || options === void 0 ? void 0 : options.bitmarkVersion)) !== null && _a !== void 0 ? _a : BitmarkVersion_1.DEFAULT_BITMARK_VERSION;
71
71
  this.options = Object.assign(Object.assign({}, DEFAULT_OPTIONS), options === null || options === void 0 ? void 0 : options.jsonOptions);
72
+ this.debugGenerationInline = (_b = this.options.debugGenerationInline) !== null && _b !== void 0 ? _b : false;
72
73
  this.jsonPrettifySpace = this.options.prettify === true ? 2 : this.options.prettify || undefined;
73
74
  // Set defaults according to bitmark version
74
75
  if (this.bitmarkVersion === BitmarkVersion_1.BitmarkVersion.v2) {
@@ -136,55 +137,6 @@ class JsonGenerator {
136
137
  // Walk the bitmark AST
137
138
  this.ast.walk(ast, NodeType_1.NodeType.bitmarkAst, this, undefined);
138
139
  }
139
- enter(node, parent, route) {
140
- let res = void 0;
141
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
142
- const gen = this;
143
- const funcName = `enter_${node.key}`;
144
- if (!this.printed) {
145
- this.printed = true;
146
- }
147
- if (this.options.debugGenerationInline)
148
- this.writeInlineDebug(node.key, { open: true });
149
- if (typeof gen[funcName] === 'function') {
150
- res = gen[funcName](node, parent, route);
151
- }
152
- return res;
153
- }
154
- between(node, left, right, parent, route) {
155
- let res = void 0;
156
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
157
- const gen = this;
158
- const funcName = `between_${node.key}`;
159
- if (this.options.debugGenerationInline)
160
- this.writeInlineDebug(node.key, { single: true });
161
- if (typeof gen[funcName] === 'function') {
162
- res = gen[funcName](node, left, right, parent, route);
163
- }
164
- return res;
165
- }
166
- exit(node, parent, route) {
167
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
168
- const gen = this;
169
- const funcName = `exit_${node.key}`;
170
- if (this.options.debugGenerationInline)
171
- this.writeInlineDebug(node.key, { close: true });
172
- if (typeof gen[funcName] === 'function') {
173
- gen[funcName](node, parent, route);
174
- }
175
- }
176
- leaf(node, parent, route) {
177
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
178
- const gen = this;
179
- const funcName = `leaf_${node.key}`;
180
- if (this.options.debugGenerationInline)
181
- this.writeInlineDebug(node.key, { open: true });
182
- if (typeof gen[funcName] === 'function') {
183
- gen[funcName](node, parent, route);
184
- }
185
- if (this.options.debugGenerationInline)
186
- this.writeInlineDebug(node.key, { close: true });
187
- }
188
140
  //
189
141
  // NODE HANDLERS
190
142
  //
@@ -192,13 +144,13 @@ class JsonGenerator {
192
144
  // Non-Terminal nodes (branches)
193
145
  //
194
146
  // bitmark
195
- enter_bitmarkAst(_node, _parent, _route) {
147
+ enter_bitmarkAst(_node, _route) {
196
148
  // Reset the JSON
197
149
  this.json = [];
198
150
  }
199
151
  // bitmarkAst -> bits
200
152
  // bitmarkAst -> bits -> bitsValue
201
- enter_bitsValue(node, _parent, _route) {
153
+ enter_bitsValue(node, _route) {
202
154
  var _a, _b, _c;
203
155
  const bit = node.value;
204
156
  // Reset
@@ -242,14 +194,15 @@ class JsonGenerator {
242
194
  this.bitJson.isExample = true;
243
195
  }
244
196
  }
245
- exit_bitsValue(_node, _parent, _route) {
197
+ exit_bitsValue(_node, _route) {
246
198
  // Clean up the bit JSON, removing any unwanted values
247
199
  this.cleanAndSetDefaultsForBitJson(this.bitJson);
248
200
  }
249
201
  // bitmarkAst -> bits -> bitsValue -> imageSource
250
- enter_imageSource(node, parent, _route) {
202
+ enter_imageSource(node, route) {
251
203
  const imageSource = node.value;
252
204
  // Ignore values that are not at the bit level as they might be handled elsewhere
205
+ const parent = this.getParentNode(route);
253
206
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType_1.NodeType.bitsValue)
254
207
  return;
255
208
  const { url, mockupId, size, format, trim } = imageSource;
@@ -262,10 +215,11 @@ class JsonGenerator {
262
215
  this.bitJson.imageSource = imageSourceJson;
263
216
  }
264
217
  // bitmarkAst -> bits -> bitsValue -> partner
265
- enter_partner(node, parent, route) {
218
+ enter_partner(node, route) {
266
219
  const partner = node.value;
267
220
  const bitType = this.getBitType(route);
268
221
  // Ignore values that are not at the bit level as they might be handled elsewhere
222
+ const parent = this.getParentNode(route);
269
223
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType_1.NodeType.bitsValue || !bitType)
270
224
  return;
271
225
  const { name, avatarImage } = partner;
@@ -280,9 +234,10 @@ class JsonGenerator {
280
234
  this.bitJson.partner = partnerJson;
281
235
  }
282
236
  // bitmarkAst -> bits -> bitsValue -> markConfig -> markConfigValue
283
- enter_markConfigValue(node, parent, _route) {
237
+ enter_markConfigValue(node, route) {
284
238
  const markConfig = node.value;
285
239
  // Ignore example that is not at the correct level
240
+ const parent = this.getParentNode(route);
286
241
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType_1.NodeType.markConfig)
287
242
  return;
288
243
  const { mark, color, emphasis } = markConfig;
@@ -297,18 +252,20 @@ class JsonGenerator {
297
252
  this.bitJson.marks.push(markJson);
298
253
  }
299
254
  // bitmarkAst -> bits -> bitsValue -> sampleSolution
300
- leaf_sampleSolution(node, parent, _route) {
255
+ leaf_sampleSolution(node, route) {
301
256
  // Ignore example that is not at the correct level
257
+ const parent = this.getParentNode(route);
302
258
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType_1.NodeType.bitsValue)
303
259
  return;
304
260
  if (node.value != null)
305
261
  this.addProperty(this.bitJson, 'sampleSolution', node.value, true);
306
262
  }
307
263
  // bitmarkAst -> bits -> bitsValue -> itemLead
308
- enter_itemLead(node, parent, _route) {
264
+ enter_itemLead(node, route) {
309
265
  const itemLead = node.value;
310
266
  const { item, lead, pageNumber, marginNumber } = itemLead;
311
267
  // Ignore item / lead that are not at the bit level as they are handled elsewhere
268
+ const parent = this.getParentNode(route);
312
269
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType_1.NodeType.bitsValue)
313
270
  return;
314
271
  if (item != null) {
@@ -325,7 +282,7 @@ class JsonGenerator {
325
282
  }
326
283
  }
327
284
  // bitmarkAst -> bits -> bitsValue -> extraProperties
328
- enter_extraProperties(node, _parent, _route) {
285
+ enter_extraProperties(node, _route) {
329
286
  const extraProperties = node.value;
330
287
  if (!this.options.excludeUnknownProperties && extraProperties) {
331
288
  for (const [key, values] of Object.entries(extraProperties)) {
@@ -338,7 +295,7 @@ class JsonGenerator {
338
295
  }
339
296
  }
340
297
  // bitmarkAst -> bits -> bitsValue -> cardNode -> cardBits -> cardBitsValue
341
- enter_cardBitsValue(node, _parent, route) {
298
+ enter_cardBitsValue(node, route) {
342
299
  // How cardBits are handled depends on the bit type
343
300
  const bitType = this.getBitType(route);
344
301
  if (!bitType)
@@ -366,14 +323,15 @@ class JsonGenerator {
366
323
  delete li.marginNumber;
367
324
  listItems.push(this.listItem);
368
325
  }
369
- exit_cardBitsValue(_node, _parent, _route) {
326
+ exit_cardBitsValue(_node, _route) {
370
327
  this.listItem = undefined;
371
328
  }
372
329
  // bitmarkAst -> bits -> bitsValue -> body
373
- enter_body(_node, _parent, _route) {
330
+ enter_body(_node, _route) {
374
331
  this.bodyJson = this.bodyDefault;
375
332
  }
376
- exit_body(_node, parent, _route) {
333
+ exit_body(_node, route) {
334
+ const parent = this.getParentNode(route);
377
335
  if (!parent)
378
336
  return;
379
337
  if (parent.key === NodeType_1.NodeType.bitsValue) {
@@ -387,7 +345,7 @@ class JsonGenerator {
387
345
  }
388
346
  }
389
347
  // bitmarkAst -> bits -> bitsValue -> * -> bodyParts (body, cardBody (e.g. cloze-list, page-footer))
390
- enter_bodyParts(node, _parent, route) {
348
+ enter_bodyParts(node, route) {
391
349
  const bodyParts = node.value;
392
350
  const plainText = this.options.textAsPlainText;
393
351
  const textFormat = this.getTextFormat(route);
@@ -489,7 +447,7 @@ class JsonGenerator {
489
447
  return false;
490
448
  }
491
449
  // bitmarkAst -> bits -> bitsValue -> cardNode -> elements
492
- enter_elements(node, _parent, _route) {
450
+ enter_elements(node, _route) {
493
451
  const elements = node.value;
494
452
  // Ignore elements that are not at the bit level as they are handled elsewhere as quizzes
495
453
  // if (parent?.key !== NodeType.bitsValue) return;
@@ -498,10 +456,11 @@ class JsonGenerator {
498
456
  }
499
457
  }
500
458
  // bitmarkAst -> bits -> bitsValue -> cardNode -> flashcards -> flashcardsValue
501
- enter_flashcards(node, parent, _route) {
459
+ enter_flashcards(node, route) {
502
460
  var _a, _b, _c, _d, _e, _f;
503
461
  const flashcards = node.value;
504
462
  // Ignore responses that are not at the correct level as they are potentially handled elsewhere
463
+ const parent = this.getParentNode(route);
505
464
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType_1.NodeType.cardNode)
506
465
  return;
507
466
  const flashcardsJson = [];
@@ -527,10 +486,11 @@ class JsonGenerator {
527
486
  }
528
487
  }
529
488
  // bitmarkAst -> bits -> bitsValue -> statement
530
- enter_statement(node, parent, _route) {
489
+ enter_statement(node, route) {
531
490
  var _a, _b;
532
491
  const statement = node.value;
533
492
  // Ignore statement that is not at the cardNode level as it is handled elsewhere
493
+ const parent = this.getParentNode(route);
534
494
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType_1.NodeType.cardNode)
535
495
  return;
536
496
  if (statement) {
@@ -539,10 +499,11 @@ class JsonGenerator {
539
499
  }
540
500
  }
541
501
  // bitmarkAst -> bits -> bitsValue -> cardNode -> statements -> statementsValue
542
- enter_statements(node, parent, _route) {
502
+ enter_statements(node, route) {
543
503
  var _a, _b, _c, _d, _e;
544
504
  const statements = node.value;
545
505
  // Ignore statements that are not at the card node level as they are handled elsewhere
506
+ const parent = this.getParentNode(route);
546
507
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType_1.NodeType.cardNode)
547
508
  return;
548
509
  const statementsJson = [];
@@ -575,10 +536,11 @@ class JsonGenerator {
575
536
  }
576
537
  // bitmarkAst -> bits -> bitsValue -> choices
577
538
  // X bitmarkAst -> bits -> bitsValue -> cardNode -> quizzes -> quizzesValue -> choices
578
- enter_choices(node, parent, _route) {
539
+ enter_choices(node, route) {
579
540
  var _a, _b, _c, _d, _e;
580
541
  const choices = node.value;
581
542
  // Ignore choices that are not at the bit level as they are handled elsewhere as quizzes
543
+ const parent = this.getParentNode(route);
582
544
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType_1.NodeType.cardNode)
583
545
  return;
584
546
  const choicesJson = [];
@@ -605,10 +567,11 @@ class JsonGenerator {
605
567
  }
606
568
  // bitmarkAst -> bits -> bitsValue -> responses
607
569
  // X bitmarkAst -> bits -> bitsValue -> cardNode -> quizzes -> quizzesValue -> responses
608
- enter_responses(node, parent, _route) {
570
+ enter_responses(node, route) {
609
571
  var _a, _b, _c, _d, _e;
610
572
  const responses = node.value;
611
573
  // Ignore responses that are not at the correct level as they are handled elsewhere as quizzes
574
+ const parent = this.getParentNode(route);
612
575
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType_1.NodeType.cardNode)
613
576
  return;
614
577
  const responsesJson = [];
@@ -634,7 +597,7 @@ class JsonGenerator {
634
597
  }
635
598
  }
636
599
  // bitmarkAst -> bits -> bitsValue -> cardNode -> quizzes
637
- enter_quizzes(node, _parent, _route) {
600
+ enter_quizzes(node, _route) {
638
601
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
639
602
  const quizzes = node.value;
640
603
  const quizzesJson = [];
@@ -695,7 +658,7 @@ class JsonGenerator {
695
658
  }
696
659
  }
697
660
  // bitmarkAst -> bits -> bitsValue -> cardNode -> heading
698
- enter_heading(node, _parent, _route) {
661
+ enter_heading(node, _route) {
699
662
  var _a;
700
663
  const heading = node.value;
701
664
  // Check if the heading is for a match or a match matrix
@@ -726,7 +689,7 @@ class JsonGenerator {
726
689
  this.bitJson.heading = headingJson;
727
690
  }
728
691
  // bitmarkAst -> bits -> bitsValue -> cardNode -> pairs
729
- enter_pairs(node, _parent, route) {
692
+ enter_pairs(node, route) {
730
693
  var _a, _b, _c, _d, _e, _f;
731
694
  const pairs = node.value;
732
695
  const pairsJson = [];
@@ -767,7 +730,7 @@ class JsonGenerator {
767
730
  }
768
731
  }
769
732
  // bitmarkAst -> bits -> bitsValue -> cardNode -> matrix
770
- enter_matrix(node, _parent, _route) {
733
+ enter_matrix(node, _route) {
771
734
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
772
735
  const matrix = node.value;
773
736
  const matrixJsonArray = [];
@@ -817,7 +780,7 @@ class JsonGenerator {
817
780
  }
818
781
  }
819
782
  // bitmarkAst -> bits -> bitsValue -> cardNode -> questions
820
- enter_questions(node, _parent, _route) {
783
+ enter_questions(node, _route) {
821
784
  var _a, _b, _c, _d, _e, _f;
822
785
  const questions = node.value;
823
786
  const questionsJson = [];
@@ -843,10 +806,11 @@ class JsonGenerator {
843
806
  }
844
807
  }
845
808
  // bitmarkAst -> bits -> bitsValue -> cardNode -> botResponses
846
- enter_botResponses(node, parent, _route) {
809
+ enter_botResponses(node, route) {
847
810
  var _a, _b, _c, _d, _e, _f;
848
811
  const botResponses = node.value;
849
812
  // Ignore responses that are not at the cardNode level as they are handled elsewhere
813
+ const parent = this.getParentNode(route);
850
814
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType_1.NodeType.cardNode)
851
815
  return;
852
816
  const responsesJson = [];
@@ -873,7 +837,7 @@ class JsonGenerator {
873
837
  }
874
838
  }
875
839
  // bitmarkAst -> bits -> bitsValue -> resources
876
- enter_resources(node, _parent, route) {
840
+ enter_resources(node, route) {
877
841
  var _a;
878
842
  const resources = node.value;
879
843
  const bitType = this.getBitType(route);
@@ -939,71 +903,74 @@ class JsonGenerator {
939
903
  // Terminal nodes (leaves)
940
904
  //
941
905
  // bitmarkAst -> bits -> bitsValue -> title
942
- leaf_title(node, _parent, _route) {
906
+ leaf_title(node, _route) {
943
907
  this.bitJson.title = this.convertBreakscapedStringToJsonText(node.value, TextFormat_1.TextFormat.bitmarkMinusMinus);
944
908
  }
945
909
  // bitmarkAst -> bits -> bitsValue -> subtitle
946
- leaf_subtitle(node, _parent, _route) {
910
+ leaf_subtitle(node, _route) {
947
911
  this.bitJson.subtitle = this.convertBreakscapedStringToJsonText(node.value, TextFormat_1.TextFormat.bitmarkMinusMinus);
948
912
  }
949
913
  // // bitmarkAst -> bits -> bitsValue -> level
950
- leaf_level(node, _parent, _route) {
914
+ leaf_level(node, _route) {
951
915
  var _a;
952
916
  if (node.value != null)
953
917
  this.addProperty(this.bitJson, 'level', (_a = node.value) !== null && _a !== void 0 ? _a : 1, true);
954
918
  }
955
919
  // bitmarkAst -> bits -> bitsValue -> book
956
- leaf_book(node, _parent, _route) {
920
+ leaf_book(node, _route) {
957
921
  if (node.value != null)
958
922
  this.addProperty(this.bitJson, 'book', node.value, true);
959
923
  }
960
924
  // bitmarkAst -> bits -> bitsValue -> anchor
961
- leaf_anchor(node, _parent, _route) {
925
+ leaf_anchor(node, _route) {
962
926
  if (node.value != null)
963
927
  this.addProperty(this.bitJson, 'anchor', node.value, true);
964
928
  }
965
929
  // bitmarkAst -> bits -> bitsValue -> reference
966
- leaf_reference(node, _parent, _route) {
930
+ leaf_reference(node, _route) {
967
931
  if (node.value != null)
968
932
  this.addProperty(this.bitJson, 'reference', node.value, true);
969
933
  }
970
934
  // bitmarkAst -> bits -> bitsValue -> referenceEnd
971
- leaf_referenceEnd(node, _parent, _route) {
935
+ leaf_referenceEnd(node, _route) {
972
936
  if (node.value != null)
973
937
  this.addProperty(this.bitJson, 'referenceEnd', node.value, true);
974
938
  }
975
939
  // bitmarkAst -> bits -> bitsValue -> * -> hint
976
- leaf_hint(node, parent, _route) {
940
+ leaf_hint(node, route) {
977
941
  const hint = node.value;
978
942
  // Ignore hint that is not at the bit level as it are handled elsewhere
943
+ const parent = this.getParentNode(route);
979
944
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType_1.NodeType.bitsValue)
980
945
  return;
981
946
  this.bitJson.hint = this.convertBreakscapedStringToJsonText(hint, TextFormat_1.TextFormat.bitmarkMinusMinus);
982
947
  }
983
948
  // bitmarkAst -> bits -> bitsValue -> * -> instruction
984
- leaf_instruction(node, parent, _route) {
949
+ leaf_instruction(node, route) {
985
950
  const instruction = node.value;
986
951
  // Ignore instruction that is not at the bit level as it are handled elsewhere
952
+ const parent = this.getParentNode(route);
987
953
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType_1.NodeType.bitsValue)
988
954
  return;
989
955
  this.bitJson.instruction = this.convertBreakscapedStringToJsonText(instruction, TextFormat_1.TextFormat.bitmarkMinusMinus);
990
956
  }
991
957
  // bitmarkAst -> bits -> footer -> footerText
992
- leaf_footerText(node, _parent, _route) {
958
+ leaf_footerText(node, _route) {
993
959
  const footer = node.value;
994
960
  this.bitJson.footer = this.convertBreakscapedStringToJsonText(footer, TextFormat_1.TextFormat.bitmarkMinusMinus);
995
961
  }
996
962
  // bitmarkAst -> bits -> bitsValue -> markup
997
- leaf_markup(node, _parent, _route) {
963
+ leaf_markup(node, _route) {
998
964
  const bitmark = node.value;
999
965
  if (bitmark)
1000
966
  this.bitWrapperJson.bitmark = bitmark;
1001
967
  }
1002
968
  // bitmarkAst -> bits -> bitsValue -> parser
1003
969
  // bitmarkAst -> bits -> bitsValue -> * -> internalComment
1004
- enter_parser(node, parent, route) {
970
+ enter_parser(node, route) {
1005
971
  const parser = node.value;
1006
972
  const bitType = this.getBitType(route);
973
+ const parent = this.getParentNode(route);
1007
974
  if (parser && bitType) {
1008
975
  const { version, excessResources: parserExcessResources, warnings, errors } = parser, parserRest = __rest(parser, ["version", "excessResources", "warnings", "errors"]);
1009
976
  const bitmarkVersion = `${this.bitmarkVersion}`;
@@ -1041,7 +1008,7 @@ class JsonGenerator {
1041
1008
  }
1042
1009
  }
1043
1010
  // bitmarkAst -> errors
1044
- // protected enter_errors(node: NodeInfo, parent: NodeInfo | undefined, _route: NodeInfo[],
1011
+ // protected enter_errors(node: NodeInfo, _route: NodeInfo[],
1045
1012
  // context: Context): void {
1046
1013
  // const errors = node.value as ParserError[] | undefined;
1047
1014
  // if (errors && errors.length > 0) {
@@ -1076,13 +1043,14 @@ class JsonGenerator {
1076
1043
  continue;
1077
1044
  const funcName = `enter_${astKey}`;
1078
1045
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1079
- this[funcName] = (node, parent, _route) => {
1046
+ this[funcName] = (node, route) => {
1080
1047
  var _a;
1081
1048
  const value = node.value;
1082
1049
  if (value == null)
1083
1050
  return;
1084
1051
  // if (key === 'progress') debugger;
1085
1052
  // Ignore any property that is not at the bit level as that will be handled by a different handler
1053
+ const parent = this.getParentNode(route);
1086
1054
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType_1.NodeType.bitsValue)
1087
1055
  return;
1088
1056
  // Convert key as needed
@@ -1750,6 +1718,9 @@ class JsonGenerator {
1750
1718
  // }
1751
1719
  }
1752
1720
  }
1721
+ //
1722
+ // Helper functions
1723
+ //
1753
1724
  /**
1754
1725
  * Get the value for the zoomDisabled property, setting the appropriate default value if no value is set.
1755
1726
  *