@gmb/bitmark-parser-generator 2.4.0 → 3.0.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.
@@ -19,14 +19,19 @@ var __rest = (this && this.__rest) || function (s, e) {
19
19
  }
20
20
  return t;
21
21
  };
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
22
25
  Object.defineProperty(exports, "__esModule", { value: true });
23
26
  exports.JsonGenerator = void 0;
27
+ const structured_clone_1 = __importDefault(require("@ungap/structured-clone"));
24
28
  const Ast_1 = require("../../ast/Ast");
25
29
  const Breakscape_1 = require("../../breakscaping/Breakscape");
26
30
  const Config_1 = require("../../config/Config");
27
31
  const NodeType_1 = require("../../model/ast/NodeType");
28
32
  const BitType_1 = require("../../model/enum/BitType");
29
33
  const BitmarkVersion_1 = require("../../model/enum/BitmarkVersion");
34
+ const BodyBitType_1 = require("../../model/enum/BodyBitType");
30
35
  const ExampleType_1 = require("../../model/enum/ExampleType");
31
36
  const ResourceTag_1 = require("../../model/enum/ResourceTag");
32
37
  const TextFormat_1 = require("../../model/enum/TextFormat");
@@ -37,6 +42,7 @@ const BooleanUtils_1 = require("../../utils/BooleanUtils");
37
42
  const NumberUtils_1 = require("../../utils/NumberUtils");
38
43
  const AstWalkerGenerator_1 = require("../AstWalkerGenerator");
39
44
  const TextGenerator_1 = require("../text/TextGenerator");
45
+ const MOVE_BODY_RECURSION_LIMIT = 5000;
40
46
  const DEFAULT_OPTIONS = {
41
47
  // debugGenerationInline: true,
42
48
  };
@@ -404,13 +410,18 @@ class JsonGenerator extends AstWalkerGenerator_1.AstWalkerGenerator {
404
410
  if (parent.key === NodeType_1.NodeType.bitsValue) {
405
411
  // Body is at the bit level
406
412
  this.bitJson.body = this.bodyJson;
413
+ const bodyIsBitmarkText = isBitmarkText && this.isBitmarkText(this.bodyJson);
407
414
  // Convert the body to plain text if required
408
- if (this.options.textAsPlainText && isBitmarkText && this.isBitmarkText(this.bodyJson)) {
415
+ if (this.options.textAsPlainText && bodyIsBitmarkText) {
409
416
  const textBody = this.textGenerator.generateSync(this.bodyJson, textFormat);
410
417
  this.bitJson.body = (Breakscape_1.Breakscape.unbreakscape(textBody, {
411
418
  textFormat: TextFormat_1.TextFormat.bitmarkMinusMinus,
412
419
  }) || '').trim();
413
420
  }
421
+ else if (bodyIsBitmarkText) {
422
+ // If the body is bitmark text, convert the body bits to move their attributes to the attrs property
423
+ this.bitJson.body = this.moveBodyBitPropertiesToAttrs(this.bodyJson);
424
+ }
414
425
  }
415
426
  else if (parent.key === NodeType_1.NodeType.cardBitsValue) {
416
427
  // Body is at the list item (card bit) level
@@ -429,6 +440,47 @@ class JsonGenerator extends AstWalkerGenerator_1.AstWalkerGenerator {
429
440
  this.bitJson.placeholders[placeholder] = bodyBit;
430
441
  return placeholder;
431
442
  }
443
+ /**
444
+ * Move all properties of body bits to the attrs property.
445
+ * This function is called recursively to process all body bits in the body tree.
446
+ *
447
+ * NOTE: Internally, the body bit is stored as it appears in bitmark v2, but in v3 all the properties
448
+ * should be in the `attrs` property. The properies are only moved to 'attrs' for the JSON output
449
+ *
450
+ * The original body bit is not modified.
451
+ * The function returns a new body bit with the properties moved.
452
+ *
453
+ * @param nodes the body to process, or the subtree to process
454
+ * @param recursion leave as default, used for recursion only
455
+ * @returns
456
+ */
457
+ moveBodyBitPropertiesToAttrs(nodes, recursion = 0) {
458
+ if (recursion === 0) {
459
+ nodes = (0, structured_clone_1.default)(nodes);
460
+ }
461
+ else if (recursion > MOVE_BODY_RECURSION_LIMIT) {
462
+ throw new Error('Recursion limit exceeded');
463
+ }
464
+ for (const node of nodes) {
465
+ if (node.type !== BodyBitType_1.BodyBitType.text && BodyBitType_1.BodyBitType.values().includes(node.type)) {
466
+ const bodyBit = node;
467
+ bodyBit.attrs = {};
468
+ // Move all properties except type to the attrs property
469
+ for (const [key, value] of Object.entries(bodyBit)) {
470
+ if (key === 'type' || key === 'attrs')
471
+ continue;
472
+ bodyBit.attrs[key] = value;
473
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
474
+ delete bodyBit[key];
475
+ }
476
+ }
477
+ else if (Array.isArray(node.content)) {
478
+ recursion++;
479
+ this.moveBodyBitPropertiesToAttrs(node.content, recursion);
480
+ }
481
+ }
482
+ return nodes;
483
+ }
432
484
  // bitmarkAst -> bits -> bitsValue -> footer
433
485
  enter_footer(node, route) {
434
486
  return this.standardHandler(node, route, undefined, { array: true, valueOverride: node.value.footer });
@@ -1 +1 @@
1
- {"version":3,"file":"JsonGenerator.js","sourceRoot":"","sources":["../../../../src/generator/json/JsonGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonGenerator.js","sourceRoot":"","sources":["../../../../src/generator/json/JsonGenerator.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,68 @@ class ObjectUtils {
51
51
  isValue(val) {
52
52
  return !this.isObject(val) && !this.isArray(val);
53
53
  }
54
+ /**
55
+ * Get the value of a property in a plain JS object
56
+ * using a path string or array.
57
+ *
58
+ * @param obj the object to get a property from
59
+ * @param path the path to the property to set as a dotted string or array or a mix of both
60
+ * @returns the value of the property, or undefined if the property does not exist
61
+ */
62
+ getViaPath(obj, path) {
63
+ if (!obj)
64
+ return undefined;
65
+ if (!path)
66
+ return undefined;
67
+ if (!Array.isArray(path))
68
+ path = [path]; // Ensure path is an array
69
+ // Split dotted paths
70
+ path = path.flatMap((p) => p.split('.'));
71
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
+ let node = obj;
73
+ for (const key of path) {
74
+ if (node == null)
75
+ return undefined;
76
+ node = node[key];
77
+ }
78
+ return node;
79
+ }
80
+ /**
81
+ * Set the value of a property in a plain JS object
82
+ * using a path string or array.
83
+ *
84
+ * @param obj the object to modify
85
+ * @param path the path to the property to set as a dotted string or array or a mix of both
86
+ * @param value the value to set
87
+ * @param create - if true, create plain objects in the path if they do not exist
88
+ * @returns true if the value was set, false if the value was not set
89
+ */
90
+ setViaPath(obj, path, value, create) {
91
+ if (!obj)
92
+ return false;
93
+ if (!path)
94
+ return false;
95
+ if (!Array.isArray(path))
96
+ path = [path]; // Ensure path is an array
97
+ // Split dotted paths
98
+ path = path.flatMap((p) => p.split('.'));
99
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
100
+ let node = obj;
101
+ for (let i = 0; i < path.length - 1; i++) {
102
+ const key = path[i];
103
+ if (node[key] == undefined) {
104
+ if (create) {
105
+ node[key] = {};
106
+ }
107
+ else {
108
+ return false;
109
+ }
110
+ }
111
+ node = node[key];
112
+ }
113
+ node[path[path.length - 1]] = value;
114
+ return true;
115
+ }
54
116
  /**
55
117
  * Return an array of the objects at the end of the paths
56
118
  * specified in the path array.
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectUtils.js","sourceRoot":"","sources":["../../../src/utils/ObjectUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ObjectUtils.js","sourceRoot":"","sources":["../../../src/utils/ObjectUtils.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import structuredClone from '@ungap/structured-clone';
1
2
  import { Breakscape } from '../breakscaping/Breakscape';
2
3
  import { Config } from '../config/Config';
3
4
  import { PropertyConfigKey } from '../model/config/enum/PropertyConfigKey';
@@ -74,15 +75,16 @@ class Builder extends BaseBuilder {
74
75
  // Private properties
75
76
  __isDefaultExample: (_c = data.__isDefaultExample) !== null && _c !== void 0 ? _c : false });
76
77
  // Push reasonableNumOfChars down the tree for the interview bit
77
- if (Config.isOfBitType(data.bitType, BitType.interview)) {
78
+ if (Config.isOfBitType(node.bitType, BitType.interview)) {
78
79
  this.pushDownTree(undefined, undefined, cardNode, 'questions', PropertyConfigKey.reasonableNumOfChars, data.reasonableNumOfChars);
79
80
  }
80
81
  // Push isCaseSensitive down the tree for the cloze, match and match-matrix bits
81
- this.pushDownTree([data.body, ...((_e = (_d = cardNode === null || cardNode === void 0 ? void 0 : cardNode.cardBits) === null || _d === void 0 ? void 0 : _d.map((cardBit) => cardBit.body)) !== null && _e !== void 0 ? _e : [])], [BodyBitType.gap], undefined, 'isCaseSensitive', PropertyConfigKey.isCaseSensitive, (_f = data.isCaseSensitive) !== null && _f !== void 0 ? _f : true);
82
+ this.pushDownTree([node.body, ...((_e = (_d = cardNode === null || cardNode === void 0 ? void 0 : cardNode.cardBits) === null || _d === void 0 ? void 0 : _d.map((cardBit) => cardBit.body)) !== null && _e !== void 0 ? _e : [])], [BodyBitType.gap], undefined, undefined, //'isCaseSensitive',
83
+ PropertyConfigKey.isCaseSensitive, (_f = data.isCaseSensitive) !== null && _f !== void 0 ? _f : true);
82
84
  this.pushDownTree(undefined, undefined, cardNode, 'pairs', PropertyConfigKey.isCaseSensitive, (_g = data.isCaseSensitive) !== null && _g !== void 0 ? _g : true);
83
85
  this.pushDownTree(undefined, undefined, cardNode, ['matrix', 'cells'], PropertyConfigKey.isCaseSensitive, (_h = data.isCaseSensitive) !== null && _h !== void 0 ? _h : true);
84
86
  // If __isDefaultExample is set at the bit level, push the default example down the tree to the relevant nodes
85
- this.pushExampleDownTree(data.body, cardNode, data.__isDefaultExample, convertedExample.example);
87
+ this.pushExampleDownTree(node.body, cardNode, node.__isDefaultExample, convertedExample.example);
86
88
  // Set default values
87
89
  this.setDefaultBitValues(node);
88
90
  // Set the 'isExample' flags
@@ -647,6 +649,8 @@ class Builder extends BaseBuilder {
647
649
  replaceBitsRecursive(rawBody);
648
650
  }
649
651
  // Process the body bits to ensure they are valid
652
+ // Walking the body bits will change them, so we should make a copy before processing
653
+ rawBody = structuredClone(rawBody);
650
654
  this.textParser.walkBodyBits(rawBody, (parent, index, bodyBit) => {
651
655
  // Ensure the body bit is valid
652
656
  let parsedBit;
@@ -727,8 +731,10 @@ class Builder extends BaseBuilder {
727
731
  return undefined;
728
732
  // Set default example
729
733
  const defaultExample = Array.isArray(data.__solutionsAst) && data.__solutionsAst.length > 0 ? data.__solutionsAst[0] : null;
734
+ // Copy any attributes from 'attrs' to the body bit (data is in 'attrs' when coming from JSON)
735
+ data = this.bodyBitCopyFromAttrs(data);
730
736
  // NOTE: Node order is important and is defined here
731
- const node = Object.assign(Object.assign({ type: BodyBitType.gap, solutions: (_a = data.solutions) !== null && _a !== void 0 ? _a : [], item: this.handleJsonText(data.item), lead: this.handleJsonText(data.lead), hint: this.handleJsonText(data.hint), instruction: this.handleJsonText(data.instruction), isCaseSensitive: data.isCaseSensitive }, this.toExample(data.__isDefaultExample, data.example, defaultExample)), { __solutionsAst: data.__solutionsAst });
737
+ const node = Object.assign(Object.assign({ type: BodyBitType.gap, solutions: (_a = data.solutions) !== null && _a !== void 0 ? _a : [], item: this.handleJsonText(data.item), lead: this.handleJsonText(data.lead), hint: this.handleJsonText(data.hint), instruction: this.handleJsonText(data.instruction), isCaseSensitive: data.isCaseSensitive }, this.toExample(data.__isDefaultExample, data.example, defaultExample)), { __solutionsAst: data.__solutionsAst, attrs: {} });
732
738
  // Remove Unset Optionals
733
739
  ObjectUtils.removeUnwantedProperties(node, {
734
740
  ignoreAllFalse: true,
@@ -781,8 +787,10 @@ class Builder extends BaseBuilder {
781
787
  var _a, _b;
782
788
  if (!data)
783
789
  return undefined;
790
+ // Copy any attributes from 'attrs' to the body bit (data is in 'attrs' when coming from JSON)
791
+ data = this.bodyBitCopyFromAttrs(data);
784
792
  // NOTE: Node order is important and is defined here
785
- const node = Object.assign({ type: BodyBitType.mark, solution: (_a = data.solution) !== null && _a !== void 0 ? _a : '', mark: (_b = data.mark) !== null && _b !== void 0 ? _b : '', item: this.handleJsonText(data.item), lead: this.handleJsonText(data.lead), hint: this.handleJsonText(data.hint), instruction: this.handleJsonText(data.instruction) }, this.toExample(data.__isDefaultExample, data.example, true));
793
+ const node = Object.assign(Object.assign({ type: BodyBitType.mark, solution: (_a = data.solution) !== null && _a !== void 0 ? _a : '', mark: (_b = data.mark) !== null && _b !== void 0 ? _b : '', item: this.handleJsonText(data.item), lead: this.handleJsonText(data.lead), hint: this.handleJsonText(data.hint), instruction: this.handleJsonText(data.instruction) }, this.toExample(data.__isDefaultExample, data.example, true)), { attrs: {} });
786
794
  // Remove Unset Optionals
787
795
  ObjectUtils.removeUnwantedProperties(node, {
788
796
  ignoreAllFalse: true,
@@ -802,8 +810,10 @@ class Builder extends BaseBuilder {
802
810
  var _a, _b, _c;
803
811
  if (!data)
804
812
  return undefined;
813
+ // Copy any attributes from 'attrs' to the body bit (data is in 'attrs' when coming from JSON)
814
+ data = this.bodyBitCopyFromAttrs(data);
805
815
  // NOTE: Node order is important and is defined here
806
- const node = Object.assign(Object.assign({ type: BodyBitType.select, options: (_a = this.buildSelectOptions(data.options)) !== null && _a !== void 0 ? _a : [], prefix: (_b = data.prefix) !== null && _b !== void 0 ? _b : '', postfix: (_c = data.postfix) !== null && _c !== void 0 ? _c : '', item: this.handleJsonText(data.item), lead: this.handleJsonText(data.lead), hint: this.handleJsonText(data.hint), instruction: this.handleJsonText(data.instruction) }, this.toExample(false, undefined, undefined)), { __hintString: data.__hintString, __instructionString: data.__instructionString });
816
+ const node = Object.assign(Object.assign({ type: BodyBitType.select, options: (_a = this.buildSelectOptions(data.options)) !== null && _a !== void 0 ? _a : [], prefix: (_b = data.prefix) !== null && _b !== void 0 ? _b : '', postfix: (_c = data.postfix) !== null && _c !== void 0 ? _c : '', item: this.handleJsonText(data.item), lead: this.handleJsonText(data.lead), hint: this.handleJsonText(data.hint), instruction: this.handleJsonText(data.instruction) }, this.toExample(false, undefined, undefined)), { __hintString: data.__hintString, __instructionString: data.__instructionString, attrs: {} });
807
817
  // Remove Unset Optionals
808
818
  ObjectUtils.removeUnwantedProperties(node, {
809
819
  ignoreAllFalse: true,
@@ -854,8 +864,10 @@ class Builder extends BaseBuilder {
854
864
  var _a, _b, _c;
855
865
  if (!data)
856
866
  return undefined;
867
+ // Copy any attributes from 'attrs' to the body bit (data is in 'attrs' when coming from JSON)
868
+ data = this.bodyBitCopyFromAttrs(data);
857
869
  // NOTE: Node order is important and is defined here
858
- const node = Object.assign({ type: BodyBitType.highlight, texts: (_a = this.buildHighlightTexts(data.texts)) !== null && _a !== void 0 ? _a : [], prefix: (_b = data.prefix) !== null && _b !== void 0 ? _b : '', postfix: (_c = data.postfix) !== null && _c !== void 0 ? _c : '', item: this.handleJsonText(data.item), lead: this.handleJsonText(data.lead), hint: this.handleJsonText(data.hint), instruction: this.handleJsonText(data.instruction) }, this.toExample(false, undefined, undefined));
870
+ const node = Object.assign(Object.assign({ type: BodyBitType.highlight, texts: (_a = this.buildHighlightTexts(data.texts)) !== null && _a !== void 0 ? _a : [], prefix: (_b = data.prefix) !== null && _b !== void 0 ? _b : '', postfix: (_c = data.postfix) !== null && _c !== void 0 ? _c : '', item: this.handleJsonText(data.item), lead: this.handleJsonText(data.lead), hint: this.handleJsonText(data.hint), instruction: this.handleJsonText(data.instruction) }, this.toExample(false, undefined, undefined)), { attrs: {} });
859
871
  // Remove Unset Optionals
860
872
  ObjectUtils.removeUnwantedProperties(node, {
861
873
  ignoreAllFalse: true,
@@ -1225,6 +1237,25 @@ class Builder extends BaseBuilder {
1225
1237
  ObjectUtils.removeUnwantedProperties(node);
1226
1238
  return Object.keys(node).length > 0 ? node : undefined;
1227
1239
  }
1240
+ /**
1241
+ * Copy any attributes from 'attrs' property to the root node (necessary when the input if from JSON)
1242
+ * The values in 'attrs' will overwrite any existing values in the node
1243
+ *
1244
+ * The original object is not modified, a new object is returned
1245
+ *
1246
+ * @param data
1247
+ */
1248
+ bodyBitCopyFromAttrs(data) {
1249
+ const copy = Object.assign({}, data);
1250
+ // Copy any attributes from 'attrs' to the node (necessary when the input if from JSON)
1251
+ if (data.attrs) {
1252
+ for (const [key, value] of Object.entries(data.attrs)) {
1253
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1254
+ copy[key] = value;
1255
+ }
1256
+ }
1257
+ return copy;
1258
+ }
1228
1259
  /**
1229
1260
  * Set examples down the tree
1230
1261
  *