@gmb/bitmark-parser-generator 1.2.1 → 1.2.3

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 (143) hide show
  1. package/README.md +2 -0
  2. package/dist/browser/bitmark-parser-generator-antlr.min.js +1 -1
  3. package/dist/browser/bitmark-parser-generator.min.js +1 -1
  4. package/dist/browser/bundle-report.html +2 -2
  5. package/dist/cjs/ast/Builder.js +34 -77
  6. package/dist/cjs/ast/Builder.js.map +1 -1
  7. package/dist/cjs/ast/ResourceBuilder.js +58 -5
  8. package/dist/cjs/ast/ResourceBuilder.js.map +1 -1
  9. package/dist/cjs/ast/rules/NodeValidator.js +18 -4
  10. package/dist/cjs/ast/rules/NodeValidator.js.map +1 -1
  11. package/dist/cjs/config/bits/appFlashcardsBitConfig.js +20 -0
  12. package/dist/cjs/config/bits/appFlashcardsBitConfig.js.map +1 -0
  13. package/dist/cjs/config/bits/generic/cardSetBitConfigs.js +1 -1
  14. package/dist/cjs/config/bits/generic/cardSetBitConfigs.js.map +1 -1
  15. package/dist/cjs/config/bits/generic/resourceChainBitConfigs.js +35 -37
  16. package/dist/cjs/config/bits/generic/resourceChainBitConfigs.js.map +1 -1
  17. package/dist/cjs/config/bits/imageResponsiveBitConfig.js +14 -0
  18. package/dist/cjs/config/bits/imageResponsiveBitConfig.js.map +1 -0
  19. package/dist/cjs/config/config.js +3 -0
  20. package/dist/cjs/config/config.js.map +1 -1
  21. package/dist/cjs/config/properties/flashcardSetPropertyConfig.js +8 -0
  22. package/dist/cjs/config/properties/flashcardSetPropertyConfig.js.map +1 -0
  23. package/dist/cjs/generated/build-info.js +1 -1
  24. package/dist/cjs/generator/bitmark/BitmarkGenerator.js +14 -11
  25. package/dist/cjs/generator/bitmark/BitmarkGenerator.js.map +1 -1
  26. package/dist/cjs/generator/json/JsonGenerator.js +18 -0
  27. package/dist/cjs/generator/json/JsonGenerator.js.map +1 -1
  28. package/dist/cjs/model/ast/NodeType.js +4 -0
  29. package/dist/cjs/model/ast/NodeType.js.map +1 -1
  30. package/dist/cjs/model/enum/BitType.js +11 -0
  31. package/dist/cjs/model/enum/BitType.js.map +1 -1
  32. package/dist/cjs/model/enum/PropertyKey.js +1 -0
  33. package/dist/cjs/model/enum/PropertyKey.js.map +1 -1
  34. package/dist/cjs/model/enum/ResourceType.js +6 -3
  35. package/dist/cjs/model/enum/ResourceType.js.map +1 -1
  36. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserProcessor.js +12 -0
  37. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserProcessor.js.map +1 -1
  38. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserTypes.js.map +1 -1
  39. package/dist/cjs/parser/bitmark/peg/contentProcessors/CardContentProcessor.js +61 -56
  40. package/dist/cjs/parser/bitmark/peg/contentProcessors/CardContentProcessor.js.map +1 -1
  41. package/dist/cjs/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js +3 -1
  42. package/dist/cjs/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js.map +1 -1
  43. package/dist/cjs/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js +76 -10
  44. package/dist/cjs/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js.map +1 -1
  45. package/dist/cjs/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js +50 -11
  46. package/dist/cjs/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js.map +1 -1
  47. package/dist/cjs/parser/json/JsonParser.js +13 -3
  48. package/dist/cjs/parser/json/JsonParser.js.map +1 -1
  49. package/dist/cjs/utils/BitUtils.js +62 -0
  50. package/dist/cjs/utils/BitUtils.js.map +1 -1
  51. package/dist/esm/ast/Builder.js +34 -77
  52. package/dist/esm/ast/Builder.js.map +1 -1
  53. package/dist/esm/ast/ResourceBuilder.js +58 -5
  54. package/dist/esm/ast/ResourceBuilder.js.map +1 -1
  55. package/dist/esm/ast/rules/NodeValidator.js +18 -4
  56. package/dist/esm/ast/rules/NodeValidator.js.map +1 -1
  57. package/dist/esm/config/bits/appFlashcardsBitConfig.js +18 -0
  58. package/dist/esm/config/bits/appFlashcardsBitConfig.js.map +1 -0
  59. package/dist/esm/config/bits/generic/cardSetBitConfigs.js +1 -1
  60. package/dist/esm/config/bits/generic/cardSetBitConfigs.js.map +1 -1
  61. package/dist/esm/config/bits/generic/resourceChainBitConfigs.js +34 -37
  62. package/dist/esm/config/bits/generic/resourceChainBitConfigs.js.map +1 -1
  63. package/dist/esm/config/bits/imageResponsiveBitConfig.js +12 -0
  64. package/dist/esm/config/bits/imageResponsiveBitConfig.js.map +1 -0
  65. package/dist/esm/config/config.js +3 -0
  66. package/dist/esm/config/config.js.map +1 -1
  67. package/dist/esm/config/properties/flashcardSetPropertyConfig.js +6 -0
  68. package/dist/esm/config/properties/flashcardSetPropertyConfig.js.map +1 -0
  69. package/dist/esm/generated/build-info.js +1 -1
  70. package/dist/esm/generator/bitmark/BitmarkGenerator.js +14 -11
  71. package/dist/esm/generator/bitmark/BitmarkGenerator.js.map +1 -1
  72. package/dist/esm/generator/json/JsonGenerator.js +18 -0
  73. package/dist/esm/generator/json/JsonGenerator.js.map +1 -1
  74. package/dist/esm/model/ast/NodeType.js +4 -0
  75. package/dist/esm/model/ast/NodeType.js.map +1 -1
  76. package/dist/esm/model/enum/BitType.js +11 -0
  77. package/dist/esm/model/enum/BitType.js.map +1 -1
  78. package/dist/esm/model/enum/PropertyKey.js +1 -0
  79. package/dist/esm/model/enum/PropertyKey.js.map +1 -1
  80. package/dist/esm/model/enum/ResourceType.js +6 -3
  81. package/dist/esm/model/enum/ResourceType.js.map +1 -1
  82. package/dist/esm/parser/bitmark/peg/BitmarkPegParserProcessor.js +12 -0
  83. package/dist/esm/parser/bitmark/peg/BitmarkPegParserProcessor.js.map +1 -1
  84. package/dist/esm/parser/bitmark/peg/BitmarkPegParserTypes.js.map +1 -1
  85. package/dist/esm/parser/bitmark/peg/contentProcessors/CardContentProcessor.js +61 -56
  86. package/dist/esm/parser/bitmark/peg/contentProcessors/CardContentProcessor.js.map +1 -1
  87. package/dist/esm/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js +3 -1
  88. package/dist/esm/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js.map +1 -1
  89. package/dist/esm/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js +76 -10
  90. package/dist/esm/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js.map +1 -1
  91. package/dist/esm/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js +50 -11
  92. package/dist/esm/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js.map +1 -1
  93. package/dist/esm/parser/json/JsonParser.js +13 -3
  94. package/dist/esm/parser/json/JsonParser.js.map +1 -1
  95. package/dist/esm/utils/BitUtils.js +62 -0
  96. package/dist/esm/utils/BitUtils.js.map +1 -1
  97. package/dist/types/ast/Builder.d.ts +10 -8
  98. package/dist/types/ast/Builder.d.ts.map +1 -1
  99. package/dist/types/ast/ResourceBuilder.d.ts +42 -2
  100. package/dist/types/ast/ResourceBuilder.d.ts.map +1 -1
  101. package/dist/types/ast/rules/NodeValidator.d.ts.map +1 -1
  102. package/dist/types/config/bits/appFlashcardsBitConfig.d.ts +2 -0
  103. package/dist/types/config/bits/appFlashcardsBitConfig.d.ts.map +1 -0
  104. package/dist/types/config/bits/generic/cardSetBitConfigs.d.ts.map +1 -1
  105. package/dist/types/config/bits/generic/resourceChainBitConfigs.d.ts +2 -1
  106. package/dist/types/config/bits/generic/resourceChainBitConfigs.d.ts.map +1 -1
  107. package/dist/types/config/bits/imageResponsiveBitConfig.d.ts +2 -0
  108. package/dist/types/config/bits/imageResponsiveBitConfig.d.ts.map +1 -0
  109. package/dist/types/config/config.d.ts +3 -0
  110. package/dist/types/config/config.d.ts.map +1 -1
  111. package/dist/types/config/properties/flashcardSetPropertyConfig.d.ts +2 -0
  112. package/dist/types/config/properties/flashcardSetPropertyConfig.d.ts.map +1 -0
  113. package/dist/types/generator/bitmark/BitmarkGenerator.d.ts +1 -1
  114. package/dist/types/generator/bitmark/BitmarkGenerator.d.ts.map +1 -1
  115. package/dist/types/generator/json/JsonGenerator.d.ts +1 -1
  116. package/dist/types/generator/json/JsonGenerator.d.ts.map +1 -1
  117. package/dist/types/model/ast/NodeType.d.ts +8 -0
  118. package/dist/types/model/ast/NodeType.d.ts.map +1 -1
  119. package/dist/types/model/ast/Nodes.d.ts +12 -0
  120. package/dist/types/model/ast/Nodes.d.ts.map +1 -1
  121. package/dist/types/model/enum/BitType.d.ts +10 -0
  122. package/dist/types/model/enum/BitType.d.ts.map +1 -1
  123. package/dist/types/model/enum/PropertyKey.d.ts +2 -0
  124. package/dist/types/model/enum/PropertyKey.d.ts.map +1 -1
  125. package/dist/types/model/enum/ResourceType.d.ts +18 -9
  126. package/dist/types/model/enum/ResourceType.d.ts.map +1 -1
  127. package/dist/types/model/json/BitJson.d.ts +1 -0
  128. package/dist/types/model/json/BitJson.d.ts.map +1 -1
  129. package/dist/types/model/json/ResourceJson.d.ts +11 -2
  130. package/dist/types/model/json/ResourceJson.d.ts.map +1 -1
  131. package/dist/types/parser/bitmark/peg/BitmarkPegParserProcessor.d.ts +5 -0
  132. package/dist/types/parser/bitmark/peg/BitmarkPegParserProcessor.d.ts.map +1 -1
  133. package/dist/types/parser/bitmark/peg/BitmarkPegParserTypes.d.ts +1 -0
  134. package/dist/types/parser/bitmark/peg/BitmarkPegParserTypes.d.ts.map +1 -1
  135. package/dist/types/parser/bitmark/peg/contentProcessors/CardContentProcessor.d.ts.map +1 -1
  136. package/dist/types/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.d.ts +1 -1
  137. package/dist/types/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.d.ts.map +1 -1
  138. package/dist/types/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.d.ts.map +1 -1
  139. package/dist/types/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.d.ts.map +1 -1
  140. package/dist/types/parser/json/JsonParser.d.ts.map +1 -1
  141. package/dist/types/utils/BitUtils.d.ts +24 -1
  142. package/dist/types/utils/BitUtils.d.ts.map +1 -1
  143. package/package.json +2 -2
@@ -6,6 +6,8 @@ const BitType_1 = require("../../../../model/enum/BitType");
6
6
  const ResourceType_1 = require("../../../../model/enum/ResourceType");
7
7
  const BitUtils_1 = require("../../../../utils/BitUtils");
8
8
  const BitmarkPegParserTypes_1 = require("../BitmarkPegParserTypes");
9
+ const IMAGE_RESPONSIVE_RESOURCE_TYPES_MSG = ' The expected resource types are [&image-portrait] and [&image-landscape]';
10
+ const STILL_IMAGE_FILM_EXPECTED_RESOURCE_TYPES_MSG = ' The expected resource types are [&image] and [&audio]';
9
11
  // const builder = new Builder();
10
12
  const resourceBuilder = new ResourceBuilder_1.ResourceBuilder();
11
13
  /**
@@ -25,8 +27,30 @@ function buildResource(context, bitType, resourceType, resources) {
25
27
  // Get the valid resource types for the bit
26
28
  const rt = resourceAttachmentAllowed ? resourceType : undefined;
27
29
  const validResourceType = BitUtils_1.BitUtils.calculateValidResourceType(bitType, rt, undefined);
28
- // Handle special case for stillImageFilm
29
- if (validResourceType === ResourceType_1.ResourceType.stillImageFilm) {
30
+ // Handle special cases for multiple resource bits (imageResponsive, stillImageFilm)
31
+ if (validResourceType === ResourceType_1.ResourceType.imageResponsive) {
32
+ if (resources) {
33
+ filteredResources = [];
34
+ let imagePortraitResource;
35
+ let imageLandscapeResource;
36
+ for (const r of resources.reverse()) {
37
+ if (!imagePortraitResource && ResourceType_1.ResourceType.imagePortrait === r.typeAlias) {
38
+ imagePortraitResource = r;
39
+ }
40
+ else if (!imageLandscapeResource && ResourceType_1.ResourceType.imageLandscape === r.typeAlias) {
41
+ imageLandscapeResource = r;
42
+ }
43
+ else {
44
+ filteredResources.push(r);
45
+ }
46
+ }
47
+ resource = resourceBuilder.imageResponsiveResource({
48
+ imagePortrait: imagePortraitResource,
49
+ imageLandscape: imageLandscapeResource,
50
+ });
51
+ }
52
+ }
53
+ else if (validResourceType === ResourceType_1.ResourceType.stillImageFilm) {
30
54
  if (resources) {
31
55
  filteredResources = [];
32
56
  let imageResource;
@@ -63,18 +87,30 @@ function buildResource(context, bitType, resourceType, resources) {
63
87
  }
64
88
  }
65
89
  if (!resourceAttachmentAllowed && resourceType) {
66
- let warningMsg = `Resource type '&${resourceType}' is specified in the bit header, but no extra resource is allowed for this bit.`;
90
+ let warningMsg = `Resource type [&${resourceType}] is specified in the bit header, but no extra resource is allowed for this bit.`;
67
91
  if (validResourceType) {
68
- warningMsg += ` The resource type '&${validResourceType}' is automatically expected and should not be added.`;
92
+ warningMsg += ` The resource type [&${validResourceType}] is automatically expected and should not be added.`;
69
93
  }
70
94
  context.addWarning(warningMsg);
71
95
  }
72
96
  if (!resource) {
73
97
  if (resourceType) {
74
- context.addWarning(`Resource type '&${resourceType}' is specified in the bit header, but no such a resource is present in the bit`);
98
+ context.addWarning(`Resource type [&${resourceType}] is specified in the bit header, but no such a resource is present in the bit`);
75
99
  }
76
100
  else if (validResourceType) {
77
- context.addWarning(`Resource type '&${validResourceType}' is required but is not present in the bit`);
101
+ let warningMsg = `A resource is required but is not present in the bit.`;
102
+ // Handle special cases for multiple resource bits (imageResponsive, stillImageFilm)
103
+ if (validResourceType === BitType_1.RootBitType.imageResponsive) {
104
+ warningMsg += IMAGE_RESPONSIVE_RESOURCE_TYPES_MSG;
105
+ }
106
+ else if (validResourceType === BitType_1.RootBitType.stillImageFilm) {
107
+ warningMsg += STILL_IMAGE_FILM_EXPECTED_RESOURCE_TYPES_MSG;
108
+ }
109
+ else {
110
+ const resourceTypeString = `[&${validResourceType}]`;
111
+ warningMsg += ` The expected resource type is ${resourceTypeString}`;
112
+ }
113
+ context.addWarning(warningMsg);
78
114
  }
79
115
  }
80
116
  if (excessResources.length > 0) {
@@ -82,13 +118,16 @@ function buildResource(context, bitType, resourceType, resources) {
82
118
  context.parser.excessResources = excessResources;
83
119
  // Add an error to warn about the excess resources
84
120
  let warningMsg = `${excessResources.length} excess resource(s) present in the bit.`;
85
- if (validResourceType === BitType_1.RootBitType.stillImageFilm) {
86
- // Special case for stillImageFilm
87
- warningMsg += ` The expected resource types are '&image' and '&audio'`;
121
+ // Handle special cases for multiple resource bits (imageResponsive, stillImageFilm)
122
+ if (validResourceType === BitType_1.RootBitType.imageResponsive) {
123
+ warningMsg += IMAGE_RESPONSIVE_RESOURCE_TYPES_MSG;
124
+ }
125
+ else if (validResourceType === BitType_1.RootBitType.stillImageFilm) {
126
+ warningMsg += STILL_IMAGE_FILM_EXPECTED_RESOURCE_TYPES_MSG;
88
127
  }
89
128
  else {
90
- const resourceTypeString = validResourceType ? `&${validResourceType}` : 'NONE';
91
- warningMsg += ` The expected resource type is '${resourceTypeString}'`;
129
+ const resourceTypeString = validResourceType ? `[&${validResourceType}]` : 'NONE';
130
+ warningMsg += ` The expected resource type is ${resourceTypeString}`;
92
131
  }
93
132
  context.addWarning(warningMsg);
94
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceContentProcessor.js","sourceRoot":"","sources":["../../../../../../src/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResourceContentProcessor.js","sourceRoot":"","sources":["../../../../../../src/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.ts"],"names":[],"mappings":"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"}
@@ -122,7 +122,7 @@ class JsonParser {
122
122
  }
123
123
  bitToAst(bit) {
124
124
  var _a;
125
- const { type, format, id, externalId, spaceId, padletId, AIGenerated, releaseVersion, ageRange, language, computerLanguage, target, tag, icon, iconTag, colorTag, subtype, coverImage, publisher, publications, author, date, location, theme, kind, action, thumbImage, focusX, focusY, duration, deeplink, externalLink, externalLinkText, videoCallLink, bot, list, textReference, isTracked, isInfoOnly, labelTrue, labelFalse, quotedPerson, book, title, subtitle, level, toc, progress, anchor, reference: referenceIn, referenceEnd, item, lead, hint, instruction, example, partner, marks, resource, body, sampleSolution, elements, statement, isCorrect, cards, statements, responses, quizzes, heading, pairs, matrix, choices, questions, footer, placeholders, } = bit;
125
+ const { type, format, id, externalId, spaceId, padletId, AIGenerated, releaseVersion, ageRange, language, computerLanguage, target, tag, icon, iconTag, colorTag, flashcardSet, subtype, coverImage, publisher, publications, author, date, location, theme, kind, action, thumbImage, focusX, focusY, duration, deeplink, externalLink, externalLinkText, videoCallLink, bot, list, textReference, isTracked, isInfoOnly, labelTrue, labelFalse, quotedPerson, book, title, subtitle, level, toc, progress, anchor, reference: referenceIn, referenceEnd, item, lead, hint, instruction, example, partner, marks, resource, body, sampleSolution, elements, statement, isCorrect, cards, statements, responses, quizzes, heading, pairs, matrix, choices, questions, footer, placeholders, } = bit;
126
126
  // Bit type
127
127
  const bitType = BitType_1.BitTypeUtils.getBitType(type);
128
128
  // Text Format
@@ -172,6 +172,7 @@ class JsonParser {
172
172
  icon,
173
173
  iconTag,
174
174
  colorTag,
175
+ flashcardSet,
175
176
  subtype,
176
177
  coverImage,
177
178
  publisher,
@@ -427,8 +428,17 @@ class JsonParser {
427
428
  if (resource) {
428
429
  const resourceKey = (_a = ResourceType_1.ResourceType.keyFromValue(resource.type)) !== null && _a !== void 0 ? _a : ResourceType_1.ResourceType.unknown;
429
430
  let data;
430
- // Special case for 'still-image-film'
431
- if (resource.type === ResourceType_1.ResourceType.stillImageFilm) {
431
+ // Handle special cases for multiple resource bits (imageResponsive, stillImageFilm)
432
+ if (resource.type === ResourceType_1.ResourceType.imageResponsive) {
433
+ const r = resource;
434
+ const imagePortraitNode = this.resourceDataToAst(ResourceType_1.ResourceType.imagePortrait, r.imagePortrait);
435
+ const imageLandscapeNode = this.resourceDataToAst(ResourceType_1.ResourceType.imageLandscape, r.imageLandscape);
436
+ node = resourceBuilder.imageResponsiveResource({
437
+ imagePortrait: imagePortraitNode,
438
+ imageLandscape: imageLandscapeNode,
439
+ });
440
+ }
441
+ else if (resource.type === ResourceType_1.ResourceType.stillImageFilm) {
432
442
  const r = resource;
433
443
  const imageNode = this.resourceDataToAst(ResourceType_1.ResourceType.image, r.image);
434
444
  const audioNode = this.resourceDataToAst(ResourceType_1.ResourceType.audio, r.audio);
@@ -1 +1 @@
1
- {"version":3,"file":"JsonParser.js","sourceRoot":"","sources":["../../../../src/parser/json/JsonParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonParser.js","sourceRoot":"","sources":["../../../../src/parser/json/JsonParser.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BitUtils = void 0;
4
4
  const BitType_1 = require("../model/enum/BitType");
5
5
  const ResourceType_1 = require("../model/enum/ResourceType");
6
+ const BooleanUtils_1 = require("./BooleanUtils");
6
7
  class BitUtils {
7
8
  /**
8
9
  * Calculate the valid bit resource type based on the bit type, resource type, and resource.
@@ -28,6 +29,67 @@ class BitUtils {
28
29
  }
29
30
  return ret;
30
31
  }
32
+ /**
33
+ * Helper function to fill in the example / isExample of a node based on the values of isDefaultExample and example.
34
+ * This function if for 'string' examples.
35
+ *
36
+ * @param nodes
37
+ * @param isDefaultExample
38
+ * @param example
39
+ * @param firstOnly
40
+ * @returns
41
+ */
42
+ fillStringExample(nodes, isDefaultExample, example, firstOnly) {
43
+ if (!nodes)
44
+ return;
45
+ if (!Array.isArray(nodes))
46
+ nodes = [nodes];
47
+ for (const node of nodes) {
48
+ if (!node.isExample) {
49
+ if (isDefaultExample) {
50
+ node.isDefaultExample = true;
51
+ node.isExample = true;
52
+ }
53
+ else {
54
+ node.isDefaultExample = false;
55
+ node.example = example;
56
+ }
57
+ if (firstOnly)
58
+ break;
59
+ }
60
+ }
61
+ }
62
+ /**
63
+ * Helper function to fill in the example / isExample of a node based on the values of isDefaultExample and example.
64
+ * This function if for 'boolean' examples.
65
+ *
66
+ * @param nodes
67
+ * @param isDefaultExample
68
+ * @param example
69
+ * @param firstCorrectOnly
70
+ * @returns
71
+ */
72
+ fillBooleanExample(nodes, isDefaultExample, example, firstCorrectOnly) {
73
+ if (!nodes)
74
+ return;
75
+ if (!Array.isArray(nodes))
76
+ nodes = [nodes];
77
+ for (const node of nodes) {
78
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
79
+ if (!node.isExample && (!firstCorrectOnly || node.isCorrect)) {
80
+ if (isDefaultExample) {
81
+ node.isDefaultExample = true;
82
+ node.isExample = true;
83
+ }
84
+ else {
85
+ node.isDefaultExample = false;
86
+ node.example = BooleanUtils_1.BooleanUtils.toBoolean(example);
87
+ }
88
+ if (firstCorrectOnly)
89
+ break;
90
+ }
91
+ }
92
+ }
31
93
  }
32
94
  const instance = new BitUtils();
33
95
  exports.BitUtils = instance;
@@ -1 +1 @@
1
- {"version":3,"file":"BitUtils.js","sourceRoot":"","sources":["../../../src/utils/BitUtils.ts"],"names":[],"mappings":";;;AACA,mDAAkF;AAClF,6DAA4E;AAE5E,MAAM,QAAQ;IACZ;;;;;;;OAOG;IACH,0BAA0B,CACxB,OAAgB,EAChB,YAAgC,EAChC,QAA8B;QAE9B,IAAI,GAAiC,CAAC;QAEtC,IAAI,YAAY,EAAE;YAChB,GAAG,GAAG,2BAAY,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE;YACpB,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC;SACrB;QAED,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,GAAG,qBAAW,CAAC,WAAW,CAAsB,OAAO,CAAC,IAAI,CAAC,CAAC;YAExE,IAAI,IAAI,EAAE;gBACR,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;aACzB;SACF;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAEX,4BAAQ"}
1
+ {"version":3,"file":"BitUtils.js","sourceRoot":"","sources":["../../../src/utils/BitUtils.ts"],"names":[],"mappings":";;;AAEA,mDAAkF;AAClF,6DAA4E;AAE5E,iDAA8C;AAE9C,MAAM,QAAQ;IACZ;;;;;;;OAOG;IACH,0BAA0B,CACxB,OAAgB,EAChB,YAAgC,EAChC,QAA8B;QAE9B,IAAI,GAAiC,CAAC;QAEtC,IAAI,YAAY,EAAE;YAChB,GAAG,GAAG,2BAAY,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE;YACpB,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC;SACrB;QAED,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,GAAG,qBAAW,CAAC,WAAW,CAAsB,OAAO,CAAC,IAAI,CAAC,CAAC;YAExE,IAAI,IAAI,EAAE;gBACR,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;aACzB;SACF;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;OASG;IACH,iBAAiB,CACf,KAAkC,EAClC,gBAAqC,EACrC,OAA4B,EAC5B,SAAkB;QAElB,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;QAE3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,IAAI,gBAAgB,EAAE;oBACpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;iBACvB;qBAAM;oBACL,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;iBACxB;gBACD,IAAI,SAAS;oBAAE,MAAM;aACtB;SACF;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,kBAAkB,CAChB,KAAkC,EAClC,gBAAqC,EACrC,OAA4B,EAC5B,gBAAyB;QAEzB,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;QAE3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,8DAA8D;YAC9D,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,gBAAgB,IAAK,IAAY,CAAC,SAAS,CAAC,EAAE;gBACrE,IAAI,gBAAgB,EAAE;oBACpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;iBACvB;qBAAM;oBACL,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBAC9B,IAAI,CAAC,OAAO,GAAG,2BAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;iBAChD;gBACD,IAAI,gBAAgB;oBAAE,MAAM;aAC7B;SACF;IACH,CAAC;CACF;AAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAEX,4BAAQ"}
@@ -37,11 +37,11 @@ class Builder extends BaseBuilder {
37
37
  */
38
38
  bit(data) {
39
39
  var _a;
40
- const { bitType, textFormat, resourceType, id, externalId, spaceId, padletId, aiGenerated, releaseVersion, ageRange, language, computerLanguage, target, tag, icon, iconTag, colorTag, subtype, coverImage, publisher, publications, author, subject, date, location, theme, kind, action, thumbImage, focusX, focusY, duration, referenceProperty, deeplink, externalLink, externalLinkText, videoCallLink, bot, list, textReference, isTracked, isInfoOnly, labelTrue, labelFalse, book, quotedPerson, partialAnswer, levelProperty, title, subtitle, level, toc, progress, anchor, reference, referenceEnd, item, lead, hint, instruction, isDefaultExample, example, partner, markConfig, extraProperties, resource, body, sampleSolution, footer, markup, parser, } = data;
40
+ const { bitType, textFormat, resourceType, id, externalId, spaceId, padletId, aiGenerated, releaseVersion, ageRange, language, computerLanguage, target, tag, icon, iconTag, colorTag, flashcardSet, subtype, coverImage, publisher, publications, author, subject, date, location, theme, kind, action, thumbImage, focusX, focusY, duration, referenceProperty, deeplink, externalLink, externalLinkText, videoCallLink, bot, list, textReference, isTracked, isInfoOnly, labelTrue, labelFalse, book, quotedPerson, partialAnswer, levelProperty, title, subtitle, level, toc, progress, anchor, reference, referenceEnd, item, lead, hint, instruction, isDefaultExample, example, partner, markConfig, extraProperties, resource, body, sampleSolution, footer, markup, parser, } = data;
41
41
  // Set the card node data
42
42
  const cardNode = this.cardNode(data);
43
43
  // NOTE: Node order is important and is defined here
44
- const node = Object.assign(Object.assign({ bitType, textFormat: (_a = TextFormat.fromValue(textFormat)) !== null && _a !== void 0 ? _a : TextFormat.bitmarkMinusMinus, resourceType: BitUtils.calculateValidResourceType(bitType, resourceType, resource), id: this.toAstProperty(PropertyKey.id, id), externalId: this.toAstProperty(PropertyKey.externalId, externalId), spaceId: this.toAstProperty(PropertyKey.spaceId, spaceId), padletId: this.toAstProperty(PropertyKey.padletId, padletId), aiGenerated: this.toAstProperty(PropertyKey.aiGenerated, aiGenerated), releaseVersion: this.toAstProperty(PropertyKey.releaseVersion, releaseVersion), book, ageRange: this.toAstProperty(PropertyKey.ageRange, ageRange), language: this.toAstProperty(PropertyKey.language, language), computerLanguage: this.toAstProperty(PropertyKey.computerLanguage, computerLanguage), target: this.toAstProperty(PropertyKey.target, target), tag: this.toAstProperty(PropertyKey.tag, tag), icon: this.toAstProperty(PropertyKey.icon, icon), iconTag: this.toAstProperty(PropertyKey.iconTag, iconTag), colorTag: this.toAstProperty(PropertyKey.colorTag, colorTag), subtype: this.toAstProperty(PropertyKey.subtype, subtype), coverImage: this.toAstProperty(PropertyKey.coverImage, coverImage), publisher: this.toAstProperty(PropertyKey.publisher, publisher), publications: this.toAstProperty(PropertyKey.publications, publications), author: this.toAstProperty(PropertyKey.author, author), subject: this.toAstProperty(PropertyKey.subject, subject), date: this.toAstProperty(PropertyKey.date, date), location: this.toAstProperty(PropertyKey.location, location), theme: this.toAstProperty(PropertyKey.theme, theme), kind: this.toAstProperty(PropertyKey.kind, kind), action: this.toAstProperty(PropertyKey.action, action), thumbImage: this.toAstProperty(PropertyKey.thumbImage, thumbImage), focusX: this.toAstProperty(PropertyKey.focusX, focusX), focusY: this.toAstProperty(PropertyKey.focusY, focusY), deeplink: this.toAstProperty(PropertyKey.deeplink, deeplink), externalLink: this.toAstProperty(PropertyKey.externalLink, externalLink), externalLinkText: this.toAstProperty(PropertyKey.externalLinkText, externalLinkText), videoCallLink: this.toAstProperty(PropertyKey.videoCallLink, videoCallLink), bot: this.toAstProperty(PropertyKey.bot, bot), duration: this.toAstProperty(PropertyKey.duration, duration), referenceProperty: this.toAstProperty(PropertyKey.reference, referenceProperty), list: this.toAstProperty(PropertyKey.list, list), textReference: this.toAstProperty(PropertyKey.textReference, textReference), isTracked: this.toAstProperty(PropertyKey.isTracked, isTracked), isInfoOnly: this.toAstProperty(PropertyKey.isInfoOnly, isInfoOnly), labelTrue: this.toAstProperty(PropertyKey.labelTrue, labelTrue), labelFalse: this.toAstProperty(PropertyKey.labelFalse, labelFalse), quotedPerson: this.toAstProperty(PropertyKey.quotedPerson, quotedPerson), partialAnswer: this.toAstProperty(PropertyKey.partialAnswer, partialAnswer), levelProperty: this.toAstProperty(PropertyKey.level, levelProperty), title,
44
+ const node = Object.assign(Object.assign({ bitType, textFormat: (_a = TextFormat.fromValue(textFormat)) !== null && _a !== void 0 ? _a : TextFormat.bitmarkMinusMinus, resourceType: BitUtils.calculateValidResourceType(bitType, resourceType, resource), id: this.toAstProperty(PropertyKey.id, id), externalId: this.toAstProperty(PropertyKey.externalId, externalId), spaceId: this.toAstProperty(PropertyKey.spaceId, spaceId), padletId: this.toAstProperty(PropertyKey.padletId, padletId), aiGenerated: this.toAstProperty(PropertyKey.aiGenerated, aiGenerated), releaseVersion: this.toAstProperty(PropertyKey.releaseVersion, releaseVersion), book, ageRange: this.toAstProperty(PropertyKey.ageRange, ageRange), language: this.toAstProperty(PropertyKey.language, language), computerLanguage: this.toAstProperty(PropertyKey.computerLanguage, computerLanguage), target: this.toAstProperty(PropertyKey.target, target), tag: this.toAstProperty(PropertyKey.tag, tag), icon: this.toAstProperty(PropertyKey.icon, icon), iconTag: this.toAstProperty(PropertyKey.iconTag, iconTag), colorTag: this.toAstProperty(PropertyKey.colorTag, colorTag), flashcardSet: this.toAstProperty(PropertyKey.flashcardSet, flashcardSet), subtype: this.toAstProperty(PropertyKey.subtype, subtype), coverImage: this.toAstProperty(PropertyKey.coverImage, coverImage), publisher: this.toAstProperty(PropertyKey.publisher, publisher), publications: this.toAstProperty(PropertyKey.publications, publications), author: this.toAstProperty(PropertyKey.author, author), subject: this.toAstProperty(PropertyKey.subject, subject), date: this.toAstProperty(PropertyKey.date, date), location: this.toAstProperty(PropertyKey.location, location), theme: this.toAstProperty(PropertyKey.theme, theme), kind: this.toAstProperty(PropertyKey.kind, kind), action: this.toAstProperty(PropertyKey.action, action), thumbImage: this.toAstProperty(PropertyKey.thumbImage, thumbImage), focusX: this.toAstProperty(PropertyKey.focusX, focusX), focusY: this.toAstProperty(PropertyKey.focusY, focusY), deeplink: this.toAstProperty(PropertyKey.deeplink, deeplink), externalLink: this.toAstProperty(PropertyKey.externalLink, externalLink), externalLinkText: this.toAstProperty(PropertyKey.externalLinkText, externalLinkText), videoCallLink: this.toAstProperty(PropertyKey.videoCallLink, videoCallLink), bot: this.toAstProperty(PropertyKey.bot, bot), duration: this.toAstProperty(PropertyKey.duration, duration), referenceProperty: this.toAstProperty(PropertyKey.reference, referenceProperty), list: this.toAstProperty(PropertyKey.list, list), textReference: this.toAstProperty(PropertyKey.textReference, textReference), isTracked: this.toAstProperty(PropertyKey.isTracked, isTracked), isInfoOnly: this.toAstProperty(PropertyKey.isInfoOnly, isInfoOnly), labelTrue: this.toAstProperty(PropertyKey.labelTrue, labelTrue), labelFalse: this.toAstProperty(PropertyKey.labelFalse, labelFalse), quotedPerson: this.toAstProperty(PropertyKey.quotedPerson, quotedPerson), partialAnswer: this.toAstProperty(PropertyKey.partialAnswer, partialAnswer), levelProperty: this.toAstProperty(PropertyKey.level, levelProperty), title,
45
45
  subtitle, level: NumberUtils.asNumber(level), toc: this.toAstProperty(PropertyKey.toc, toc), progress: this.toAstProperty(PropertyKey.progress, progress), anchor,
46
46
  reference,
47
47
  referenceEnd,
@@ -133,16 +133,16 @@ class Builder extends BaseBuilder {
133
133
  * @returns
134
134
  */
135
135
  quiz(data) {
136
- const { choices, responses, item, lead, hint, instruction, isDefaultExample } = data;
136
+ const { choices, responses, item, lead, hint, instruction, isDefaultExample, example } = data;
137
137
  // Push isDefaultExample down the tree
138
- this.pushExampleDownTreeBoolean(isDefaultExample, undefined, true, choices);
139
- this.pushExampleDownTreeBoolean(isDefaultExample, undefined, false, responses);
138
+ this.pushExampleDownTreeBoolean(isDefaultExample, example, true, choices);
139
+ this.pushExampleDownTreeBoolean(isDefaultExample, example, false, responses);
140
140
  // NOTE: Node order is important and is defined here
141
141
  const node = {
142
142
  itemLead: this.itemLead(item, lead),
143
143
  hint,
144
144
  instruction,
145
- isExample: isDefaultExample,
145
+ isExample: isDefaultExample || example != null,
146
146
  choices,
147
147
  responses,
148
148
  };
@@ -574,38 +574,6 @@ class Builder extends BaseBuilder {
574
574
  }
575
575
  return node;
576
576
  }
577
- /**
578
- * Set examples for boolean nodes
579
- *
580
- * @param isDefaultExample
581
- * @param example
582
- * @param onlyCorrect
583
- * @param nodes
584
- * @returns true if any of the answers has an example, otherwise undefined
585
- */
586
- pushExampleDownTreeBoolean(isDefaultExample, example, onlyCorrect, ...nodes) {
587
- if (!isDefaultExample && !example)
588
- return;
589
- const fillExample = (node) => {
590
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
591
- if (!node.isExample && (!onlyCorrect || node.isCorrect)) {
592
- node.isDefaultExample = true;
593
- node.isExample = true;
594
- }
595
- };
596
- if (Array.isArray(nodes)) {
597
- for (const ds of nodes) {
598
- if (Array.isArray(ds)) {
599
- for (const d of ds) {
600
- fillExample(d);
601
- }
602
- }
603
- else if (ds) {
604
- fillExample(ds);
605
- }
606
- }
607
- }
608
- }
609
577
  /**
610
578
  * Set examples down the tree
611
579
  *
@@ -640,37 +608,42 @@ class Builder extends BaseBuilder {
640
608
  }
641
609
  }
642
610
  /**
643
- * Set examples for string nodes
611
+ * Set examples for boolean nodes
644
612
  *
645
613
  * @param isDefaultExample
646
614
  * @param example
615
+ * @param onlyCorrect
647
616
  * @param nodes
648
617
  * @returns true if any of the answers has an example, otherwise undefined
649
618
  */
650
- pushExampleDownTreeString(isDefaultExample, example, ...nodes) {
619
+ pushExampleDownTreeBoolean(isDefaultExample, example, onlyCorrect, ...nodes) {
651
620
  if (!isDefaultExample && !example)
652
621
  return;
653
- const fillExample = (node) => {
654
- if (!node.isExample) {
655
- if (isDefaultExample) {
656
- node.isDefaultExample = true;
657
- node.isExample = true;
658
- }
659
- else {
660
- node.isDefaultExample = false;
661
- node.example = example;
622
+ if (Array.isArray(nodes)) {
623
+ for (const ds of nodes) {
624
+ if (ds) {
625
+ const exampleNodes = Array.isArray(ds) ? ds : [ds];
626
+ BitUtils.fillBooleanExample(exampleNodes, isDefaultExample, example, onlyCorrect);
662
627
  }
663
628
  }
664
- };
629
+ }
630
+ }
631
+ /**
632
+ * Set examples for string nodes
633
+ *
634
+ * @param isDefaultExample
635
+ * @param example
636
+ * @param nodes
637
+ * @returns true if any of the answers has an example, otherwise undefined
638
+ */
639
+ pushExampleDownTreeString(isDefaultExample, example, ...nodes) {
640
+ if (!isDefaultExample && !example)
641
+ return;
665
642
  if (Array.isArray(nodes)) {
666
643
  for (const ds of nodes) {
667
- if (Array.isArray(ds)) {
668
- for (const d of ds) {
669
- fillExample(d);
670
- }
671
- }
672
- else if (ds) {
673
- fillExample(ds);
644
+ if (ds) {
645
+ const exampleNodes = Array.isArray(ds) ? ds : [ds];
646
+ BitUtils.fillStringExample(exampleNodes, isDefaultExample, example, false);
674
647
  }
675
648
  }
676
649
  }
@@ -685,38 +658,22 @@ class Builder extends BaseBuilder {
685
658
  switch (part.type) {
686
659
  case BodyBitType.gap: {
687
660
  const gap = part;
688
- if (!gap.data.isExample) {
689
- gap.data.isDefaultExample = true;
690
- gap.data.isExample = true;
691
- }
661
+ BitUtils.fillStringExample([gap.data], isDefaultExample, example, false);
692
662
  break;
693
663
  }
694
664
  case BodyBitType.mark: {
695
665
  const mark = part;
696
- if (!mark.data.isExample) {
697
- mark.data.isDefaultExample = true;
698
- mark.data.isExample = true;
699
- }
666
+ BitUtils.fillBooleanExample([mark.data], isDefaultExample, example, false);
700
667
  break;
701
668
  }
702
669
  case BodyBitType.select: {
703
670
  const select = part;
704
- for (const option of select.data.options) {
705
- if (!option.isExample && option.isCorrect) {
706
- option.isDefaultExample = true;
707
- option.isExample = true;
708
- }
709
- }
671
+ BitUtils.fillBooleanExample(select.data.options, isDefaultExample, example, true);
710
672
  break;
711
673
  }
712
674
  case BodyBitType.highlight: {
713
675
  const highlight = part;
714
- for (const text of highlight.data.texts) {
715
- if (!text.isExample && text.isCorrect) {
716
- text.isDefaultExample = true;
717
- text.isExample = true;
718
- }
719
- }
676
+ BitUtils.fillBooleanExample(highlight.data.texts, isDefaultExample, example, true);
720
677
  break;
721
678
  }
722
679
  }