@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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"}
@@ -35,15 +35,16 @@ import { ArrayUtils } from '../../utils/ArrayUtils';
35
35
  import { BooleanUtils } from '../../utils/BooleanUtils';
36
36
  import { StringUtils } from '../../utils/StringUtils';
37
37
  import { UrlUtils } from '../../utils/UrlUtils';
38
+ import { AstWalkerGenerator } from '../AstWalkerGenerator';
38
39
  const DEFAULT_OPTIONS = {
39
40
  // debugGenerationInline: true,
40
41
  };
41
42
  /**
42
43
  * Generate bitmark JSON from a bitmark AST
43
44
  *
44
- * TODO: NOT IMPLEMENTED!
45
+ *
45
46
  */
46
- class JsonGenerator {
47
+ class JsonGenerator extends AstWalkerGenerator {
47
48
  /**
48
49
  * Generate bitmark JSON from a bitmark AST
49
50
  *
@@ -51,7 +52,8 @@ class JsonGenerator {
51
52
  * @param options - JSON generation options
52
53
  */
53
54
  constructor(writer, options) {
54
- var _a;
55
+ var _a, _b;
56
+ super();
55
57
  this.ast = new Ast();
56
58
  this.textParser = new TextParser();
57
59
  // State
@@ -62,10 +64,9 @@ class JsonGenerator {
62
64
  this.bodyDefault = Breakscape.EMPTY_STRING;
63
65
  this.bodyJson = this.bodyDefault;
64
66
  this.startPlaceholderIndex = 0;
65
- // Debug
66
- this.printed = false;
67
67
  this.bitmarkVersion = (_a = BitmarkVersion.fromValue(options === null || options === void 0 ? void 0 : options.bitmarkVersion)) !== null && _a !== void 0 ? _a : DEFAULT_BITMARK_VERSION;
68
68
  this.options = Object.assign(Object.assign({}, DEFAULT_OPTIONS), options === null || options === void 0 ? void 0 : options.jsonOptions);
69
+ this.debugGenerationInline = (_b = this.options.debugGenerationInline) !== null && _b !== void 0 ? _b : false;
69
70
  this.jsonPrettifySpace = this.options.prettify === true ? 2 : this.options.prettify || undefined;
70
71
  // Set defaults according to bitmark version
71
72
  if (this.bitmarkVersion === BitmarkVersion.v2) {
@@ -133,55 +134,6 @@ class JsonGenerator {
133
134
  // Walk the bitmark AST
134
135
  this.ast.walk(ast, NodeType.bitmarkAst, this, undefined);
135
136
  }
136
- enter(node, parent, route) {
137
- let res = void 0;
138
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
139
- const gen = this;
140
- const funcName = `enter_${node.key}`;
141
- if (!this.printed) {
142
- this.printed = true;
143
- }
144
- if (this.options.debugGenerationInline)
145
- this.writeInlineDebug(node.key, { open: true });
146
- if (typeof gen[funcName] === 'function') {
147
- res = gen[funcName](node, parent, route);
148
- }
149
- return res;
150
- }
151
- between(node, left, right, parent, route) {
152
- let res = void 0;
153
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
154
- const gen = this;
155
- const funcName = `between_${node.key}`;
156
- if (this.options.debugGenerationInline)
157
- this.writeInlineDebug(node.key, { single: true });
158
- if (typeof gen[funcName] === 'function') {
159
- res = gen[funcName](node, left, right, parent, route);
160
- }
161
- return res;
162
- }
163
- exit(node, parent, route) {
164
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
165
- const gen = this;
166
- const funcName = `exit_${node.key}`;
167
- if (this.options.debugGenerationInline)
168
- this.writeInlineDebug(node.key, { close: true });
169
- if (typeof gen[funcName] === 'function') {
170
- gen[funcName](node, parent, route);
171
- }
172
- }
173
- leaf(node, parent, route) {
174
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
175
- const gen = this;
176
- const funcName = `leaf_${node.key}`;
177
- if (this.options.debugGenerationInline)
178
- this.writeInlineDebug(node.key, { open: true });
179
- if (typeof gen[funcName] === 'function') {
180
- gen[funcName](node, parent, route);
181
- }
182
- if (this.options.debugGenerationInline)
183
- this.writeInlineDebug(node.key, { close: true });
184
- }
185
137
  //
186
138
  // NODE HANDLERS
187
139
  //
@@ -189,13 +141,13 @@ class JsonGenerator {
189
141
  // Non-Terminal nodes (branches)
190
142
  //
191
143
  // bitmark
192
- enter_bitmarkAst(_node, _parent, _route) {
144
+ enter_bitmarkAst(_node, _route) {
193
145
  // Reset the JSON
194
146
  this.json = [];
195
147
  }
196
148
  // bitmarkAst -> bits
197
149
  // bitmarkAst -> bits -> bitsValue
198
- enter_bitsValue(node, _parent, _route) {
150
+ enter_bitsValue(node, _route) {
199
151
  var _a, _b, _c;
200
152
  const bit = node.value;
201
153
  // Reset
@@ -239,14 +191,15 @@ class JsonGenerator {
239
191
  this.bitJson.isExample = true;
240
192
  }
241
193
  }
242
- exit_bitsValue(_node, _parent, _route) {
194
+ exit_bitsValue(_node, _route) {
243
195
  // Clean up the bit JSON, removing any unwanted values
244
196
  this.cleanAndSetDefaultsForBitJson(this.bitJson);
245
197
  }
246
198
  // bitmarkAst -> bits -> bitsValue -> imageSource
247
- enter_imageSource(node, parent, _route) {
199
+ enter_imageSource(node, route) {
248
200
  const imageSource = node.value;
249
201
  // Ignore values that are not at the bit level as they might be handled elsewhere
202
+ const parent = this.getParentNode(route);
250
203
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType.bitsValue)
251
204
  return;
252
205
  const { url, mockupId, size, format, trim } = imageSource;
@@ -259,10 +212,11 @@ class JsonGenerator {
259
212
  this.bitJson.imageSource = imageSourceJson;
260
213
  }
261
214
  // bitmarkAst -> bits -> bitsValue -> partner
262
- enter_partner(node, parent, route) {
215
+ enter_partner(node, route) {
263
216
  const partner = node.value;
264
217
  const bitType = this.getBitType(route);
265
218
  // Ignore values that are not at the bit level as they might be handled elsewhere
219
+ const parent = this.getParentNode(route);
266
220
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType.bitsValue || !bitType)
267
221
  return;
268
222
  const { name, avatarImage } = partner;
@@ -277,9 +231,10 @@ class JsonGenerator {
277
231
  this.bitJson.partner = partnerJson;
278
232
  }
279
233
  // bitmarkAst -> bits -> bitsValue -> markConfig -> markConfigValue
280
- enter_markConfigValue(node, parent, _route) {
234
+ enter_markConfigValue(node, route) {
281
235
  const markConfig = node.value;
282
236
  // Ignore example that is not at the correct level
237
+ const parent = this.getParentNode(route);
283
238
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType.markConfig)
284
239
  return;
285
240
  const { mark, color, emphasis } = markConfig;
@@ -294,18 +249,20 @@ class JsonGenerator {
294
249
  this.bitJson.marks.push(markJson);
295
250
  }
296
251
  // bitmarkAst -> bits -> bitsValue -> sampleSolution
297
- leaf_sampleSolution(node, parent, _route) {
252
+ leaf_sampleSolution(node, route) {
298
253
  // Ignore example that is not at the correct level
254
+ const parent = this.getParentNode(route);
299
255
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType.bitsValue)
300
256
  return;
301
257
  if (node.value != null)
302
258
  this.addProperty(this.bitJson, 'sampleSolution', node.value, true);
303
259
  }
304
260
  // bitmarkAst -> bits -> bitsValue -> itemLead
305
- enter_itemLead(node, parent, _route) {
261
+ enter_itemLead(node, route) {
306
262
  const itemLead = node.value;
307
263
  const { item, lead, pageNumber, marginNumber } = itemLead;
308
264
  // Ignore item / lead that are not at the bit level as they are handled elsewhere
265
+ const parent = this.getParentNode(route);
309
266
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType.bitsValue)
310
267
  return;
311
268
  if (item != null) {
@@ -322,7 +279,7 @@ class JsonGenerator {
322
279
  }
323
280
  }
324
281
  // bitmarkAst -> bits -> bitsValue -> extraProperties
325
- enter_extraProperties(node, _parent, _route) {
282
+ enter_extraProperties(node, _route) {
326
283
  const extraProperties = node.value;
327
284
  if (!this.options.excludeUnknownProperties && extraProperties) {
328
285
  for (const [key, values] of Object.entries(extraProperties)) {
@@ -335,7 +292,7 @@ class JsonGenerator {
335
292
  }
336
293
  }
337
294
  // bitmarkAst -> bits -> bitsValue -> cardNode -> cardBits -> cardBitsValue
338
- enter_cardBitsValue(node, _parent, route) {
295
+ enter_cardBitsValue(node, route) {
339
296
  // How cardBits are handled depends on the bit type
340
297
  const bitType = this.getBitType(route);
341
298
  if (!bitType)
@@ -363,14 +320,15 @@ class JsonGenerator {
363
320
  delete li.marginNumber;
364
321
  listItems.push(this.listItem);
365
322
  }
366
- exit_cardBitsValue(_node, _parent, _route) {
323
+ exit_cardBitsValue(_node, _route) {
367
324
  this.listItem = undefined;
368
325
  }
369
326
  // bitmarkAst -> bits -> bitsValue -> body
370
- enter_body(_node, _parent, _route) {
327
+ enter_body(_node, _route) {
371
328
  this.bodyJson = this.bodyDefault;
372
329
  }
373
- exit_body(_node, parent, _route) {
330
+ exit_body(_node, route) {
331
+ const parent = this.getParentNode(route);
374
332
  if (!parent)
375
333
  return;
376
334
  if (parent.key === NodeType.bitsValue) {
@@ -384,7 +342,7 @@ class JsonGenerator {
384
342
  }
385
343
  }
386
344
  // bitmarkAst -> bits -> bitsValue -> * -> bodyParts (body, cardBody (e.g. cloze-list, page-footer))
387
- enter_bodyParts(node, _parent, route) {
345
+ enter_bodyParts(node, route) {
388
346
  const bodyParts = node.value;
389
347
  const plainText = this.options.textAsPlainText;
390
348
  const textFormat = this.getTextFormat(route);
@@ -486,7 +444,7 @@ class JsonGenerator {
486
444
  return false;
487
445
  }
488
446
  // bitmarkAst -> bits -> bitsValue -> cardNode -> elements
489
- enter_elements(node, _parent, _route) {
447
+ enter_elements(node, _route) {
490
448
  const elements = node.value;
491
449
  // Ignore elements that are not at the bit level as they are handled elsewhere as quizzes
492
450
  // if (parent?.key !== NodeType.bitsValue) return;
@@ -495,10 +453,11 @@ class JsonGenerator {
495
453
  }
496
454
  }
497
455
  // bitmarkAst -> bits -> bitsValue -> cardNode -> flashcards -> flashcardsValue
498
- enter_flashcards(node, parent, _route) {
456
+ enter_flashcards(node, route) {
499
457
  var _a, _b, _c, _d, _e, _f;
500
458
  const flashcards = node.value;
501
459
  // Ignore responses that are not at the correct level as they are potentially handled elsewhere
460
+ const parent = this.getParentNode(route);
502
461
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType.cardNode)
503
462
  return;
504
463
  const flashcardsJson = [];
@@ -524,10 +483,11 @@ class JsonGenerator {
524
483
  }
525
484
  }
526
485
  // bitmarkAst -> bits -> bitsValue -> statement
527
- enter_statement(node, parent, _route) {
486
+ enter_statement(node, route) {
528
487
  var _a, _b;
529
488
  const statement = node.value;
530
489
  // Ignore statement that is not at the cardNode level as it is handled elsewhere
490
+ const parent = this.getParentNode(route);
531
491
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType.cardNode)
532
492
  return;
533
493
  if (statement) {
@@ -536,10 +496,11 @@ class JsonGenerator {
536
496
  }
537
497
  }
538
498
  // bitmarkAst -> bits -> bitsValue -> cardNode -> statements -> statementsValue
539
- enter_statements(node, parent, _route) {
499
+ enter_statements(node, route) {
540
500
  var _a, _b, _c, _d, _e;
541
501
  const statements = node.value;
542
502
  // Ignore statements that are not at the card node level as they are handled elsewhere
503
+ const parent = this.getParentNode(route);
543
504
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType.cardNode)
544
505
  return;
545
506
  const statementsJson = [];
@@ -572,10 +533,11 @@ class JsonGenerator {
572
533
  }
573
534
  // bitmarkAst -> bits -> bitsValue -> choices
574
535
  // X bitmarkAst -> bits -> bitsValue -> cardNode -> quizzes -> quizzesValue -> choices
575
- enter_choices(node, parent, _route) {
536
+ enter_choices(node, route) {
576
537
  var _a, _b, _c, _d, _e;
577
538
  const choices = node.value;
578
539
  // Ignore choices that are not at the bit level as they are handled elsewhere as quizzes
540
+ const parent = this.getParentNode(route);
579
541
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType.cardNode)
580
542
  return;
581
543
  const choicesJson = [];
@@ -602,10 +564,11 @@ class JsonGenerator {
602
564
  }
603
565
  // bitmarkAst -> bits -> bitsValue -> responses
604
566
  // X bitmarkAst -> bits -> bitsValue -> cardNode -> quizzes -> quizzesValue -> responses
605
- enter_responses(node, parent, _route) {
567
+ enter_responses(node, route) {
606
568
  var _a, _b, _c, _d, _e;
607
569
  const responses = node.value;
608
570
  // Ignore responses that are not at the correct level as they are handled elsewhere as quizzes
571
+ const parent = this.getParentNode(route);
609
572
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType.cardNode)
610
573
  return;
611
574
  const responsesJson = [];
@@ -631,7 +594,7 @@ class JsonGenerator {
631
594
  }
632
595
  }
633
596
  // bitmarkAst -> bits -> bitsValue -> cardNode -> quizzes
634
- enter_quizzes(node, _parent, _route) {
597
+ enter_quizzes(node, _route) {
635
598
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
636
599
  const quizzes = node.value;
637
600
  const quizzesJson = [];
@@ -692,7 +655,7 @@ class JsonGenerator {
692
655
  }
693
656
  }
694
657
  // bitmarkAst -> bits -> bitsValue -> cardNode -> heading
695
- enter_heading(node, _parent, _route) {
658
+ enter_heading(node, _route) {
696
659
  var _a;
697
660
  const heading = node.value;
698
661
  // Check if the heading is for a match or a match matrix
@@ -723,7 +686,7 @@ class JsonGenerator {
723
686
  this.bitJson.heading = headingJson;
724
687
  }
725
688
  // bitmarkAst -> bits -> bitsValue -> cardNode -> pairs
726
- enter_pairs(node, _parent, route) {
689
+ enter_pairs(node, route) {
727
690
  var _a, _b, _c, _d, _e, _f;
728
691
  const pairs = node.value;
729
692
  const pairsJson = [];
@@ -764,7 +727,7 @@ class JsonGenerator {
764
727
  }
765
728
  }
766
729
  // bitmarkAst -> bits -> bitsValue -> cardNode -> matrix
767
- enter_matrix(node, _parent, _route) {
730
+ enter_matrix(node, _route) {
768
731
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
769
732
  const matrix = node.value;
770
733
  const matrixJsonArray = [];
@@ -814,7 +777,7 @@ class JsonGenerator {
814
777
  }
815
778
  }
816
779
  // bitmarkAst -> bits -> bitsValue -> cardNode -> questions
817
- enter_questions(node, _parent, _route) {
780
+ enter_questions(node, _route) {
818
781
  var _a, _b, _c, _d, _e, _f;
819
782
  const questions = node.value;
820
783
  const questionsJson = [];
@@ -840,10 +803,11 @@ class JsonGenerator {
840
803
  }
841
804
  }
842
805
  // bitmarkAst -> bits -> bitsValue -> cardNode -> botResponses
843
- enter_botResponses(node, parent, _route) {
806
+ enter_botResponses(node, route) {
844
807
  var _a, _b, _c, _d, _e, _f;
845
808
  const botResponses = node.value;
846
809
  // Ignore responses that are not at the cardNode level as they are handled elsewhere
810
+ const parent = this.getParentNode(route);
847
811
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType.cardNode)
848
812
  return;
849
813
  const responsesJson = [];
@@ -870,7 +834,7 @@ class JsonGenerator {
870
834
  }
871
835
  }
872
836
  // bitmarkAst -> bits -> bitsValue -> resources
873
- enter_resources(node, _parent, route) {
837
+ enter_resources(node, route) {
874
838
  var _a;
875
839
  const resources = node.value;
876
840
  const bitType = this.getBitType(route);
@@ -936,71 +900,74 @@ class JsonGenerator {
936
900
  // Terminal nodes (leaves)
937
901
  //
938
902
  // bitmarkAst -> bits -> bitsValue -> title
939
- leaf_title(node, _parent, _route) {
903
+ leaf_title(node, _route) {
940
904
  this.bitJson.title = this.convertBreakscapedStringToJsonText(node.value, TextFormat.bitmarkMinusMinus);
941
905
  }
942
906
  // bitmarkAst -> bits -> bitsValue -> subtitle
943
- leaf_subtitle(node, _parent, _route) {
907
+ leaf_subtitle(node, _route) {
944
908
  this.bitJson.subtitle = this.convertBreakscapedStringToJsonText(node.value, TextFormat.bitmarkMinusMinus);
945
909
  }
946
910
  // // bitmarkAst -> bits -> bitsValue -> level
947
- leaf_level(node, _parent, _route) {
911
+ leaf_level(node, _route) {
948
912
  var _a;
949
913
  if (node.value != null)
950
914
  this.addProperty(this.bitJson, 'level', (_a = node.value) !== null && _a !== void 0 ? _a : 1, true);
951
915
  }
952
916
  // bitmarkAst -> bits -> bitsValue -> book
953
- leaf_book(node, _parent, _route) {
917
+ leaf_book(node, _route) {
954
918
  if (node.value != null)
955
919
  this.addProperty(this.bitJson, 'book', node.value, true);
956
920
  }
957
921
  // bitmarkAst -> bits -> bitsValue -> anchor
958
- leaf_anchor(node, _parent, _route) {
922
+ leaf_anchor(node, _route) {
959
923
  if (node.value != null)
960
924
  this.addProperty(this.bitJson, 'anchor', node.value, true);
961
925
  }
962
926
  // bitmarkAst -> bits -> bitsValue -> reference
963
- leaf_reference(node, _parent, _route) {
927
+ leaf_reference(node, _route) {
964
928
  if (node.value != null)
965
929
  this.addProperty(this.bitJson, 'reference', node.value, true);
966
930
  }
967
931
  // bitmarkAst -> bits -> bitsValue -> referenceEnd
968
- leaf_referenceEnd(node, _parent, _route) {
932
+ leaf_referenceEnd(node, _route) {
969
933
  if (node.value != null)
970
934
  this.addProperty(this.bitJson, 'referenceEnd', node.value, true);
971
935
  }
972
936
  // bitmarkAst -> bits -> bitsValue -> * -> hint
973
- leaf_hint(node, parent, _route) {
937
+ leaf_hint(node, route) {
974
938
  const hint = node.value;
975
939
  // Ignore hint that is not at the bit level as it are handled elsewhere
940
+ const parent = this.getParentNode(route);
976
941
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType.bitsValue)
977
942
  return;
978
943
  this.bitJson.hint = this.convertBreakscapedStringToJsonText(hint, TextFormat.bitmarkMinusMinus);
979
944
  }
980
945
  // bitmarkAst -> bits -> bitsValue -> * -> instruction
981
- leaf_instruction(node, parent, _route) {
946
+ leaf_instruction(node, route) {
982
947
  const instruction = node.value;
983
948
  // Ignore instruction that is not at the bit level as it are handled elsewhere
949
+ const parent = this.getParentNode(route);
984
950
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType.bitsValue)
985
951
  return;
986
952
  this.bitJson.instruction = this.convertBreakscapedStringToJsonText(instruction, TextFormat.bitmarkMinusMinus);
987
953
  }
988
954
  // bitmarkAst -> bits -> footer -> footerText
989
- leaf_footerText(node, _parent, _route) {
955
+ leaf_footerText(node, _route) {
990
956
  const footer = node.value;
991
957
  this.bitJson.footer = this.convertBreakscapedStringToJsonText(footer, TextFormat.bitmarkMinusMinus);
992
958
  }
993
959
  // bitmarkAst -> bits -> bitsValue -> markup
994
- leaf_markup(node, _parent, _route) {
960
+ leaf_markup(node, _route) {
995
961
  const bitmark = node.value;
996
962
  if (bitmark)
997
963
  this.bitWrapperJson.bitmark = bitmark;
998
964
  }
999
965
  // bitmarkAst -> bits -> bitsValue -> parser
1000
966
  // bitmarkAst -> bits -> bitsValue -> * -> internalComment
1001
- enter_parser(node, parent, route) {
967
+ enter_parser(node, route) {
1002
968
  const parser = node.value;
1003
969
  const bitType = this.getBitType(route);
970
+ const parent = this.getParentNode(route);
1004
971
  if (parser && bitType) {
1005
972
  const { version, excessResources: parserExcessResources, warnings, errors } = parser, parserRest = __rest(parser, ["version", "excessResources", "warnings", "errors"]);
1006
973
  const bitmarkVersion = `${this.bitmarkVersion}`;
@@ -1038,7 +1005,7 @@ class JsonGenerator {
1038
1005
  }
1039
1006
  }
1040
1007
  // bitmarkAst -> errors
1041
- // protected enter_errors(node: NodeInfo, parent: NodeInfo | undefined, _route: NodeInfo[],
1008
+ // protected enter_errors(node: NodeInfo, _route: NodeInfo[],
1042
1009
  // context: Context): void {
1043
1010
  // const errors = node.value as ParserError[] | undefined;
1044
1011
  // if (errors && errors.length > 0) {
@@ -1073,13 +1040,14 @@ class JsonGenerator {
1073
1040
  continue;
1074
1041
  const funcName = `enter_${astKey}`;
1075
1042
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1076
- this[funcName] = (node, parent, _route) => {
1043
+ this[funcName] = (node, route) => {
1077
1044
  var _a;
1078
1045
  const value = node.value;
1079
1046
  if (value == null)
1080
1047
  return;
1081
1048
  // if (key === 'progress') debugger;
1082
1049
  // Ignore any property that is not at the bit level as that will be handled by a different handler
1050
+ const parent = this.getParentNode(route);
1083
1051
  if ((parent === null || parent === void 0 ? void 0 : parent.key) !== NodeType.bitsValue)
1084
1052
  return;
1085
1053
  // Convert key as needed
@@ -1747,6 +1715,9 @@ class JsonGenerator {
1747
1715
  // }
1748
1716
  }
1749
1717
  }
1718
+ //
1719
+ // Helper functions
1720
+ //
1750
1721
  /**
1751
1722
  * Get the value for the zoomDisabled property, setting the appropriate default value if no value is set.
1752
1723
  *