@gmb/bitmark-parser-generator 3.25.2 → 3.27.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.
Files changed (212) hide show
  1. package/README.md +1 -1
  2. package/dist/browser/bitmark-parser-generator.min.js +1 -1
  3. package/dist/browser/bundle-report.html +2 -2
  4. package/dist/cjs/BitmarkParserGenerator.js +9 -5
  5. package/dist/cjs/BitmarkParserGenerator.js.map +1 -1
  6. package/dist/cjs/ast/BaseBuilder.js +8 -8
  7. package/dist/cjs/ast/BaseBuilder.js.map +1 -1
  8. package/dist/cjs/ast/Builder.js +53 -46
  9. package/dist/cjs/ast/Builder.js.map +1 -1
  10. package/dist/cjs/ast/ResourceBuilder.js +19 -18
  11. package/dist/cjs/ast/ResourceBuilder.js.map +1 -1
  12. package/dist/cjs/breakscaping/Breakscape.js +59 -72
  13. package/dist/cjs/breakscaping/Breakscape.js.map +1 -1
  14. package/dist/cjs/config/Config.js +1 -1
  15. package/dist/cjs/config/Config.js.map +1 -1
  16. package/dist/cjs/config/raw/bits.js +26 -10
  17. package/dist/cjs/config/raw/bits.js.map +1 -1
  18. package/dist/cjs/config/raw/groups.js +5 -0
  19. package/dist/cjs/config/raw/groups.js.map +1 -1
  20. package/dist/cjs/config/raw/properties.js +145 -141
  21. package/dist/cjs/config/raw/properties.js.map +1 -1
  22. package/dist/cjs/generated/build-info.js +1 -1
  23. package/dist/cjs/generator/bitmark/BitmarkGenerator.js +116 -128
  24. package/dist/cjs/generator/bitmark/BitmarkGenerator.js.map +1 -1
  25. package/dist/cjs/generator/json/JsonGenerator.js +15 -10
  26. package/dist/cjs/generator/json/JsonGenerator.js.map +1 -1
  27. package/dist/cjs/generator/text/TextGenerator.js +14 -14
  28. package/dist/cjs/generator/text/TextGenerator.js.map +1 -1
  29. package/dist/cjs/model/ast/NodeType.js +2 -0
  30. package/dist/cjs/model/ast/NodeType.js.map +1 -1
  31. package/dist/cjs/model/config/enum/PropertyConfigKey.js +1 -0
  32. package/dist/cjs/model/config/enum/PropertyConfigKey.js.map +1 -1
  33. package/dist/cjs/model/enum/BitType.js +3 -0
  34. package/dist/cjs/model/enum/BitType.js.map +1 -1
  35. package/dist/cjs/model/enum/DeprecatedTextFormat.js +10 -0
  36. package/dist/cjs/model/enum/DeprecatedTextFormat.js.map +1 -0
  37. package/dist/cjs/model/enum/PropertyFormat.js +2 -4
  38. package/dist/cjs/model/enum/PropertyFormat.js.map +1 -1
  39. package/dist/cjs/model/enum/TextFormat.js +4 -12
  40. package/dist/cjs/model/enum/TextFormat.js.map +1 -1
  41. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserHelper.js +2 -2
  42. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserHelper.js.map +1 -1
  43. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserProcessor.js +11 -4
  44. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserProcessor.js.map +1 -1
  45. package/dist/cjs/parser/bitmark/peg/contentProcessors/BodyContentProcessor.js +4 -4
  46. package/dist/cjs/parser/bitmark/peg/contentProcessors/BodyContentProcessor.js.map +1 -1
  47. package/dist/cjs/parser/bitmark/peg/contentProcessors/BookChainContentProcessor.js +1 -1
  48. package/dist/cjs/parser/bitmark/peg/contentProcessors/BookChainContentProcessor.js.map +1 -1
  49. package/dist/cjs/parser/bitmark/peg/contentProcessors/ClozeTagContentProcessor.js +2 -2
  50. package/dist/cjs/parser/bitmark/peg/contentProcessors/ClozeTagContentProcessor.js.map +1 -1
  51. package/dist/cjs/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js +8 -8
  52. package/dist/cjs/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js.map +1 -1
  53. package/dist/cjs/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js +3 -3
  54. package/dist/cjs/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js.map +1 -1
  55. package/dist/cjs/parser/bitmark/peg/contentProcessors/FooterContentProcessor.js +4 -4
  56. package/dist/cjs/parser/bitmark/peg/contentProcessors/FooterContentProcessor.js.map +1 -1
  57. package/dist/cjs/parser/bitmark/peg/contentProcessors/ImageSourceChainContentProcessor.js +1 -1
  58. package/dist/cjs/parser/bitmark/peg/contentProcessors/ImageSourceChainContentProcessor.js.map +1 -1
  59. package/dist/cjs/parser/bitmark/peg/contentProcessors/ItemLeadTagContentProcessor.js +2 -1
  60. package/dist/cjs/parser/bitmark/peg/contentProcessors/ItemLeadTagContentProcessor.js.map +1 -1
  61. package/dist/cjs/parser/bitmark/peg/contentProcessors/MarkConfigChainContentProcessor.js +1 -1
  62. package/dist/cjs/parser/bitmark/peg/contentProcessors/MarkConfigChainContentProcessor.js.map +1 -1
  63. package/dist/cjs/parser/bitmark/peg/contentProcessors/PersonChainContentProcessor.js +1 -1
  64. package/dist/cjs/parser/bitmark/peg/contentProcessors/PersonChainContentProcessor.js.map +1 -1
  65. package/dist/cjs/parser/bitmark/peg/contentProcessors/PropertyContentProcessor.js +10 -16
  66. package/dist/cjs/parser/bitmark/peg/contentProcessors/PropertyContentProcessor.js.map +1 -1
  67. package/dist/cjs/parser/bitmark/peg/contentProcessors/RatingLevelChainContentProcessor.js +2 -1
  68. package/dist/cjs/parser/bitmark/peg/contentProcessors/RatingLevelChainContentProcessor.js.map +1 -1
  69. package/dist/cjs/parser/bitmark/peg/contentProcessors/ReferenceTagContentProcessor.js +2 -2
  70. package/dist/cjs/parser/bitmark/peg/contentProcessors/ReferenceTagContentProcessor.js.map +1 -1
  71. package/dist/cjs/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js +2 -2
  72. package/dist/cjs/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js.map +1 -1
  73. package/dist/cjs/parser/bitmark/peg/contentProcessors/TechnicalTermChainContentProcessor.js +1 -1
  74. package/dist/cjs/parser/bitmark/peg/contentProcessors/TechnicalTermChainContentProcessor.js.map +1 -1
  75. package/dist/cjs/parser/bitmark/peg/contentProcessors/TitleTagContentProcessor.js +2 -1
  76. package/dist/cjs/parser/bitmark/peg/contentProcessors/TitleTagContentProcessor.js.map +1 -1
  77. package/dist/cjs/parser/bitmark/peg/contentProcessors/TrueFalseTagContentProcessor.js +1 -1
  78. package/dist/cjs/parser/bitmark/peg/contentProcessors/TrueFalseTagContentProcessor.js.map +1 -1
  79. package/dist/cjs/parser/json/JsonParser.js +7 -1
  80. package/dist/cjs/parser/json/JsonParser.js.map +1 -1
  81. package/dist/cjs/parser/text/TextParser.js +4 -4
  82. package/dist/cjs/parser/text/TextParser.js.map +1 -1
  83. package/dist/cjs/utils/BitUtils.js +2 -1
  84. package/dist/cjs/utils/BitUtils.js.map +1 -1
  85. package/dist/esm/BitmarkParserGenerator.js +9 -5
  86. package/dist/esm/BitmarkParserGenerator.js.map +1 -1
  87. package/dist/esm/ast/BaseBuilder.js +8 -8
  88. package/dist/esm/ast/BaseBuilder.js.map +1 -1
  89. package/dist/esm/ast/Builder.js +53 -46
  90. package/dist/esm/ast/Builder.js.map +1 -1
  91. package/dist/esm/ast/ResourceBuilder.js +19 -18
  92. package/dist/esm/ast/ResourceBuilder.js.map +1 -1
  93. package/dist/esm/breakscaping/Breakscape.js +59 -72
  94. package/dist/esm/breakscaping/Breakscape.js.map +1 -1
  95. package/dist/esm/config/Config.js +1 -1
  96. package/dist/esm/config/Config.js.map +1 -1
  97. package/dist/esm/config/raw/bits.js +26 -10
  98. package/dist/esm/config/raw/bits.js.map +1 -1
  99. package/dist/esm/config/raw/groups.js +5 -0
  100. package/dist/esm/config/raw/groups.js.map +1 -1
  101. package/dist/esm/config/raw/properties.js +145 -141
  102. package/dist/esm/config/raw/properties.js.map +1 -1
  103. package/dist/esm/generated/build-info.js +1 -1
  104. package/dist/esm/generator/bitmark/BitmarkGenerator.js +116 -128
  105. package/dist/esm/generator/bitmark/BitmarkGenerator.js.map +1 -1
  106. package/dist/esm/generator/json/JsonGenerator.js +15 -10
  107. package/dist/esm/generator/json/JsonGenerator.js.map +1 -1
  108. package/dist/esm/generator/text/TextGenerator.js +14 -14
  109. package/dist/esm/generator/text/TextGenerator.js.map +1 -1
  110. package/dist/esm/model/ast/NodeType.js +2 -0
  111. package/dist/esm/model/ast/NodeType.js.map +1 -1
  112. package/dist/esm/model/config/enum/PropertyConfigKey.js +1 -0
  113. package/dist/esm/model/config/enum/PropertyConfigKey.js.map +1 -1
  114. package/dist/esm/model/enum/BitType.js +3 -0
  115. package/dist/esm/model/enum/BitType.js.map +1 -1
  116. package/dist/esm/model/enum/DeprecatedTextFormat.js +7 -0
  117. package/dist/esm/model/enum/DeprecatedTextFormat.js.map +1 -0
  118. package/dist/esm/model/enum/PropertyFormat.js +2 -4
  119. package/dist/esm/model/enum/PropertyFormat.js.map +1 -1
  120. package/dist/esm/model/enum/TextFormat.js +4 -12
  121. package/dist/esm/model/enum/TextFormat.js.map +1 -1
  122. package/dist/esm/parser/bitmark/peg/BitmarkPegParserHelper.js +2 -2
  123. package/dist/esm/parser/bitmark/peg/BitmarkPegParserHelper.js.map +1 -1
  124. package/dist/esm/parser/bitmark/peg/BitmarkPegParserProcessor.js +11 -4
  125. package/dist/esm/parser/bitmark/peg/BitmarkPegParserProcessor.js.map +1 -1
  126. package/dist/esm/parser/bitmark/peg/contentProcessors/BodyContentProcessor.js +4 -4
  127. package/dist/esm/parser/bitmark/peg/contentProcessors/BodyContentProcessor.js.map +1 -1
  128. package/dist/esm/parser/bitmark/peg/contentProcessors/BookChainContentProcessor.js +1 -1
  129. package/dist/esm/parser/bitmark/peg/contentProcessors/BookChainContentProcessor.js.map +1 -1
  130. package/dist/esm/parser/bitmark/peg/contentProcessors/ClozeTagContentProcessor.js +2 -2
  131. package/dist/esm/parser/bitmark/peg/contentProcessors/ClozeTagContentProcessor.js.map +1 -1
  132. package/dist/esm/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js +8 -8
  133. package/dist/esm/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js.map +1 -1
  134. package/dist/esm/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js +3 -3
  135. package/dist/esm/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js.map +1 -1
  136. package/dist/esm/parser/bitmark/peg/contentProcessors/FooterContentProcessor.js +4 -4
  137. package/dist/esm/parser/bitmark/peg/contentProcessors/FooterContentProcessor.js.map +1 -1
  138. package/dist/esm/parser/bitmark/peg/contentProcessors/ImageSourceChainContentProcessor.js +1 -1
  139. package/dist/esm/parser/bitmark/peg/contentProcessors/ImageSourceChainContentProcessor.js.map +1 -1
  140. package/dist/esm/parser/bitmark/peg/contentProcessors/ItemLeadTagContentProcessor.js +2 -1
  141. package/dist/esm/parser/bitmark/peg/contentProcessors/ItemLeadTagContentProcessor.js.map +1 -1
  142. package/dist/esm/parser/bitmark/peg/contentProcessors/MarkConfigChainContentProcessor.js +1 -1
  143. package/dist/esm/parser/bitmark/peg/contentProcessors/MarkConfigChainContentProcessor.js.map +1 -1
  144. package/dist/esm/parser/bitmark/peg/contentProcessors/PersonChainContentProcessor.js +1 -1
  145. package/dist/esm/parser/bitmark/peg/contentProcessors/PersonChainContentProcessor.js.map +1 -1
  146. package/dist/esm/parser/bitmark/peg/contentProcessors/PropertyContentProcessor.js +10 -16
  147. package/dist/esm/parser/bitmark/peg/contentProcessors/PropertyContentProcessor.js.map +1 -1
  148. package/dist/esm/parser/bitmark/peg/contentProcessors/RatingLevelChainContentProcessor.js +2 -1
  149. package/dist/esm/parser/bitmark/peg/contentProcessors/RatingLevelChainContentProcessor.js.map +1 -1
  150. package/dist/esm/parser/bitmark/peg/contentProcessors/ReferenceTagContentProcessor.js +2 -2
  151. package/dist/esm/parser/bitmark/peg/contentProcessors/ReferenceTagContentProcessor.js.map +1 -1
  152. package/dist/esm/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js +2 -2
  153. package/dist/esm/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js.map +1 -1
  154. package/dist/esm/parser/bitmark/peg/contentProcessors/TechnicalTermChainContentProcessor.js +1 -1
  155. package/dist/esm/parser/bitmark/peg/contentProcessors/TechnicalTermChainContentProcessor.js.map +1 -1
  156. package/dist/esm/parser/bitmark/peg/contentProcessors/TitleTagContentProcessor.js +2 -1
  157. package/dist/esm/parser/bitmark/peg/contentProcessors/TitleTagContentProcessor.js.map +1 -1
  158. package/dist/esm/parser/bitmark/peg/contentProcessors/TrueFalseTagContentProcessor.js +1 -1
  159. package/dist/esm/parser/bitmark/peg/contentProcessors/TrueFalseTagContentProcessor.js.map +1 -1
  160. package/dist/esm/parser/json/JsonParser.js +7 -1
  161. package/dist/esm/parser/json/JsonParser.js.map +1 -1
  162. package/dist/esm/parser/text/TextParser.js +4 -4
  163. package/dist/esm/parser/text/TextParser.js.map +1 -1
  164. package/dist/esm/utils/BitUtils.js +2 -1
  165. package/dist/esm/utils/BitUtils.js.map +1 -1
  166. package/dist/types/BitmarkParserGenerator.d.ts +5 -1
  167. package/dist/types/BitmarkParserGenerator.d.ts.map +1 -1
  168. package/dist/types/ast/BaseBuilder.d.ts +5 -3
  169. package/dist/types/ast/BaseBuilder.d.ts.map +1 -1
  170. package/dist/types/ast/Builder.d.ts +1 -0
  171. package/dist/types/ast/Builder.d.ts.map +1 -1
  172. package/dist/types/ast/ResourceBuilder.d.ts.map +1 -1
  173. package/dist/types/breakscaping/Breakscape.d.ts +2 -2
  174. package/dist/types/breakscaping/Breakscape.d.ts.map +1 -1
  175. package/dist/types/config/raw/bits.d.ts.map +1 -1
  176. package/dist/types/config/raw/groups.d.ts.map +1 -1
  177. package/dist/types/config/raw/properties.d.ts.map +1 -1
  178. package/dist/types/generator/bitmark/BitmarkGenerator.d.ts +0 -1
  179. package/dist/types/generator/bitmark/BitmarkGenerator.d.ts.map +1 -1
  180. package/dist/types/generator/json/JsonGenerator.d.ts +2 -2
  181. package/dist/types/generator/json/JsonGenerator.d.ts.map +1 -1
  182. package/dist/types/generator/text/TextGenerator.d.ts.map +1 -1
  183. package/dist/types/model/ast/NodeType.d.ts +4 -0
  184. package/dist/types/model/ast/NodeType.d.ts.map +1 -1
  185. package/dist/types/model/ast/Nodes.d.ts +1 -0
  186. package/dist/types/model/ast/Nodes.d.ts.map +1 -1
  187. package/dist/types/model/config/enum/ConfigKey.d.ts +2 -0
  188. package/dist/types/model/config/enum/ConfigKey.d.ts.map +1 -1
  189. package/dist/types/model/config/enum/PropertyConfigKey.d.ts +3 -0
  190. package/dist/types/model/config/enum/PropertyConfigKey.d.ts.map +1 -1
  191. package/dist/types/model/enum/BitType.d.ts +6 -0
  192. package/dist/types/model/enum/BitType.d.ts.map +1 -1
  193. package/dist/types/model/enum/DeprecatedTextFormat.d.ts +11 -0
  194. package/dist/types/model/enum/DeprecatedTextFormat.d.ts.map +1 -0
  195. package/dist/types/model/enum/PropertyFormat.d.ts +4 -6
  196. package/dist/types/model/enum/PropertyFormat.d.ts.map +1 -1
  197. package/dist/types/model/enum/PropertyTag.d.ts +2 -0
  198. package/dist/types/model/enum/PropertyTag.d.ts.map +1 -1
  199. package/dist/types/model/enum/TextFormat.d.ts +4 -6
  200. package/dist/types/model/enum/TextFormat.d.ts.map +1 -1
  201. package/dist/types/model/json/BitJson.d.ts +1 -0
  202. package/dist/types/model/json/BitJson.d.ts.map +1 -1
  203. package/dist/types/parser/bitmark/peg/BitmarkPegParserProcessor.d.ts.map +1 -1
  204. package/dist/types/parser/bitmark/peg/contentProcessors/ItemLeadTagContentProcessor.d.ts.map +1 -1
  205. package/dist/types/parser/bitmark/peg/contentProcessors/PropertyContentProcessor.d.ts.map +1 -1
  206. package/dist/types/parser/bitmark/peg/contentProcessors/RatingLevelChainContentProcessor.d.ts.map +1 -1
  207. package/dist/types/parser/bitmark/peg/contentProcessors/TitleTagContentProcessor.d.ts.map +1 -1
  208. package/dist/types/parser/json/JsonParser.d.ts.map +1 -1
  209. package/dist/types/parser/text/TextParser.d.ts +2 -1
  210. package/dist/types/parser/text/TextParser.d.ts.map +1 -1
  211. package/dist/types/utils/BitUtils.d.ts.map +1 -1
  212. package/package.json +26 -21
@@ -541,7 +541,7 @@ class BitmarkParserGenerator {
541
541
  const opts = Object.assign({}, options);
542
542
  const fileOptions = Object.assign({}, opts.fileOptions);
543
543
  const jsonOptions = Object.assign({}, opts.jsonOptions);
544
- const textFormat = (_a = opts.textFormat) !== null && _a !== void 0 ? _a : TextFormat.bitmarkMinusMinus;
544
+ const textFormat = (_a = opts.textFormat) !== null && _a !== void 0 ? _a : TextFormat.bitmarkText;
545
545
  const textLocation = (_b = opts.textLocation) !== null && _b !== void 0 ? _b : TextLocation.body;
546
546
  let inStr = input;
547
547
  // Check if we are trying to write to a file in the browser
@@ -564,7 +564,7 @@ class BitmarkParserGenerator {
564
564
  if (!isAst) {
565
565
  preRes = this.textParser.toAst(inStr, {
566
566
  textFormat,
567
- isProperty: false,
567
+ textLocation: TextLocation.body,
568
568
  });
569
569
  }
570
570
  else {
@@ -595,13 +595,15 @@ class BitmarkParserGenerator {
595
595
  });
596
596
  }
597
597
  /**
598
- * Escape (breakscape) bitmark text.
598
+ * Breakscape bitmark text.
599
599
  *
600
600
  * Input type is detected automatically and may be:
601
601
  * - string: text
602
602
  * - file: path to a file containing text
603
603
  *
604
604
  * By default, the result is returned as a string.
605
+ * By default, the text is breakscaped as if it was bitmark text in the body.
606
+ * Use the options to change this behaviour.
605
607
  *
606
608
  * The options can be used to write the output to a file.
607
609
  *
@@ -616,7 +618,7 @@ class BitmarkParserGenerator {
616
618
  const opts = Object.assign({}, options);
617
619
  const fileOptions = Object.assign({}, opts.fileOptions);
618
620
  if (!opts.textFormat)
619
- opts.textFormat = TextFormat.bitmarkMinusMinus;
621
+ opts.textFormat = TextFormat.bitmarkText;
620
622
  if (!opts.textLocation)
621
623
  opts.textLocation = TextLocation.body;
622
624
  let inStr = input;
@@ -660,6 +662,8 @@ class BitmarkParserGenerator {
660
662
  * - file: path to a file containing text
661
663
  *
662
664
  * By default, the result is returned as a string.
665
+ * By default, the text is unbreakscaped as if it was bitmark text in the body.
666
+ * Use the options to change this behaviour.
663
667
  *
664
668
  * The options can be used to write the output to a file.
665
669
  *
@@ -674,7 +678,7 @@ class BitmarkParserGenerator {
674
678
  const opts = Object.assign({}, options);
675
679
  const fileOptions = Object.assign({}, opts.fileOptions);
676
680
  if (!opts.textFormat)
677
- opts.textFormat = TextFormat.bitmarkMinusMinus; // Default to bitmark--
681
+ opts.textFormat = TextFormat.bitmarkText; // Default to bitmark--
678
682
  if (!opts.textLocation)
679
683
  opts.textLocation = TextLocation.body;
680
684
  let inStr = input;
@@ -1 +1 @@
1
- {"version":3,"file":"BitmarkParserGenerator.js","sourceRoot":"","sources":["../../src/BitmarkParserGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BitmarkParserGenerator.js","sourceRoot":"","sources":["../../src/BitmarkParserGenerator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yCAAyC;AACzC,OAAO,EAAY,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAEpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E,OAAO,EAAE,iBAAiB,EAAyB,MAAM,gCAAgC,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAgB,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAgB,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAkB,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAkB,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD;;;;;;;;GAQG;AACH,MAAM,KAAK,GAAG,CAAC,CAAC;AAEhB,iBAAiB;AACjB,KAAK,CAAC;AAEN,yCAAyC;AACzC,OAAO,KAAK,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAoB,MAAM,2BAA2B,CAAC;AAE3E,eAAe;AACf,KAAK,CAAC;AAwPN;;GAEG;AACH,MAAM,KAAK,GAAG,SAAS,CAAC;IACtB;;OAEG;IACH,MAAM,EAAE,QAAQ;IAEhB;;OAEG;IACH,IAAI,EAAE,MAAM;CACb,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,MAAM,GAAG,SAAS,CAAC;IACvB;;OAEG;IACH,OAAO,EAAE,SAAS;IAElB;;OAEG;IACH,IAAI,EAAE,MAAM;IAEZ;;OAEG;IACH,GAAG,EAAE,KAAK;CACX,CAAC,CAAC;AAoCH;;;GAGG;AACH,MAAM,sBAAsB;IAA5B;QACY,QAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QAChB,eAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,kBAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QACpC,eAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,kBAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAqpB9C;;;;;;;WAOG;QACK,0BAAqB,GAAG,CAAC,IAAa,EAAE,OAAoB,EAAE,cAAwB,EAAW,EAAE;YACzG,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;YACpF,MAAM,SAAS,GAAG,cAAc,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,IAAI,aAAa,KAAK,SAAS,CAAC;YAE9F,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IAmBJ,CAAC;IAtrBC;;OAEG;IACI,OAAO;QACZ,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,IAAI,CAAC,OAAqB;QAC/B,MAAM,IAAI,GAAgB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,GAAY,CAAC;QACjB,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,KAAK,UAAU,CAAC,IAAI,CAAC;QACjF,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,KAAK,UAAU,CAAC,IAAI,CAAC;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,GAAG,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,UAAU,CAAC;QACrD,MAAM,oBAAoB,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;QAChD,MAAM,iBAAiB,GAAG,GAAG,IAAI,UAAU,CAAC;QAE5C,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,GAAG,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC/D,IAAI,CAAC,IAAI,CAAC,GAAG;oBAAE,OAAO,IAAI,CAAC;gBAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5C,OAAO,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC;YAC/B,CAAC,CAAC,CAAC;YACH,IAAI,YAAY,EAAE,CAAC;gBACjB,GAAG,GAAG,UAAU;qBACb,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,CAAC,CAAC,QAAQ,CAAC;oBACT,aAAa,EAAE,IAAI;oBACnB,cAAc,EAAE,IAAI;iBACrB,CAAC,CACH;qBACA,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,UAAU,CAAC;YACnB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,yBAAyB;YACzB,MAAM,aAAa,GAAG,OAAO;iBAC1B,gBAAgB,CAAC;gBAChB,oBAAoB;gBACpB,iBAAiB;aAClB,CAAC;iBACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC,GAAG;oBAAE,OAAO,IAAI,CAAC;gBAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5C,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;oBAAE,OAAO,IAAI,CAAC;YACtC,CAAC,CAAC,CAAC;YACL,IAAI,YAAY,EAAE,CAAC;gBACjB,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,aAAa,CAAC;YACtB,CAAC;QACH,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC;YAC9E,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACU,OAAO,CAClB,KAAqC,EACrC,OAAwB;;YAExB,IAAI,GAA4B,CAAC;YACjC,MAAM,IAAI,GAAmB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACxD,2DAA2D;YAC3D,iEAAiE;YACjE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAExD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACvC,MAAM,aAAa,GAAG,YAAY,KAAK,MAAM,CAAC,OAAO,CAAC;YACtD,MAAM,UAAU,GAAG,YAAY,KAAK,MAAM,CAAC,IAAI,CAAC;YAChD,MAAM,SAAS,GAAG,YAAY,KAAK,MAAM,CAAC,GAAG,CAAC;YAC9C,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,0DAA0D;YAE7G,IAAI,KAAK,GAAW,KAAe,CAAC;YAEpC,2DAA2D;YAC3D,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;YAED,8BAA8B;YAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;gBACzD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACf,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;wBACzB,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE;4BAC7B,QAAQ,EAAE,MAAM;yBACjB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,kCAAkC;YAClC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;YAEpB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,qDAAqD;gBACrD,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;YACD,MAAM,MAAM,GAAG,CAAC,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,CAAA,CAAC;YAC3B,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,uCAAuC;YAE5E,8BAA8B;YAC9B,MAAM,gBAAgB,GAAG,CAAO,UAAkB,EAAE,EAAE;gBACpD,wBAAwB;gBACxB,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;gBAC/B,MAAM,YAAY,CAAC,GAAiB,CAAC,CAAC;YACxC,CAAC,CAAA,CAAC;YAEF,MAAM,YAAY,GAAG,CAAO,UAAkB,EAAE,EAAE;gBAChD,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE;oBACzC,UAAU,EAAE,iBAAiB;iBAC9B,CAAC,CAAC;YACL,CAAC,CAAA,CAAC;YAEF,MAAM,aAAa,GAAG,CAAO,UAAkB,EAAE,EAAE;gBACjD,IAAI,iBAAiB,KAAK,iBAAiB,CAAC,KAAK,EAAE,CAAC;oBAClD,+FAA+F;oBAE/F,uCAAuC;oBACvC,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE;wBACzC,UAAU,EAAE,iBAAiB;qBAC9B,CAAC,CAAC;oBAEH,0BAA0B;oBAC1B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBACpB,kBAAkB;wBAClB,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;wBAC/D,MAAM,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACN,uBAAuB;wBACvB,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;wBAChD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAE3C,yEAAyE;wBACzE,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC;YACH,CAAC,CAAA,CAAC;YAEF,MAAM,YAAY,GAAG,CAAO,OAAmB,EAAE,EAAE;gBACjD,6BAA6B;gBAC7B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,oBAAoB;oBACpB,MAAM,SAAS,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBAClE,MAAM,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,yBAAyB;oBACzB,MAAM,SAAS,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;oBACnD,GAAG,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC,CAAA,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAO,OAAmB,EAAE,EAAE;gBAC7C,yEAAyE;gBACzE,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACzD,CAAC,CAAA,CAAC;YAEF,MAAM,SAAS,GAAG,CAAO,OAAmB,EAAE,EAAE;gBAC9C,0BAA0B;gBAC1B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,kBAAkB;oBAClB,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBAC/D,MAAM,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,uBAAuB;oBACvB,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;oBAChD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAE/C,yEAAyE;oBACzE,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC,CAAA,CAAC;YAEF,MAAM,aAAa,GAAG,CAAO,OAAmB,EAAE,EAAE;gBAClD,wFAAwF;gBAExF,8BAA8B;gBAC9B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,oBAAoB;oBACpB,MAAM,SAAS,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBAClE,MAAM,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,yBAAyB;oBACzB,MAAM,SAAS,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;oBACnD,GAAG,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC,CAAA,CAAC;YAEF,MAAM,SAAS,GAAG,CAAO,OAAmB,EAAE,EAAE;gBAC9C,gGAAgG;gBAEhG,yEAAyE;gBACzE,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACzD,CAAC,CAAA,CAAC;YAEF,MAAM,UAAU,GAAG,CAAO,OAAmB,EAAE,EAAE;gBAC/C,wBAAwB;gBACxB,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC,CAAA,CAAC;YAEF,UAAU;YACV,IAAI,SAAS,EAAE,CAAC;gBACd,oBAAoB;gBACpB,IAAI,aAAa,EAAE,CAAC;oBAClB,sBAAsB;oBACtB,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAChC,CAAC;qBAAM,IAAI,SAAS,EAAE,CAAC;oBACrB,kBAAkB;oBAClB,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,mBAAmB;oBACnB,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,EAAE,CAAC;gBACjB,gBAAgB;gBAChB,GAAG,GAAG,GAAiB,CAAC;gBACxB,IAAI,SAAS,EAAE,CAAC;oBACd,cAAc;oBACd,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC;qBAAM,IAAI,UAAU,EAAE,CAAC;oBACtB,eAAe;oBACf,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,kBAAkB;oBAClB,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,iBAAiB;gBACjB,GAAG,GAAG,GAAiB,CAAC;gBACxB,IAAI,UAAU,EAAE,CAAC;oBACf,gBAAgB;oBAChB,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;gBACxB,CAAC;qBAAM,IAAI,SAAS,EAAE,CAAC;oBACrB,eAAe;oBACf,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,mBAAmB;oBACnB,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;YAED,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACU,OAAO,CAClB,KAAqC,EACrC,OAAwB;;YAExB,IAAI,GAA4B,CAAC;YACjC,MAAM,IAAI,GAAmB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACxD,2DAA2D;YAC3D,iEAAiE;YACjE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAExD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAEjD,IAAI,KAAK,GAAW,KAAe,CAAC;YAEpC,2DAA2D;YAC3D,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;YAED,8BAA8B;YAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;gBACzD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACf,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;wBACzB,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE;4BAC7B,QAAQ,EAAE,MAAM;yBACjB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,yCAAyC;YACzC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEvC,MAAM,MAAM,GAAG,CAAC,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,CAAA,CAAC;YAC3B,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,CAAC,gCAAgC;YAE3D,8BAA8B;YAC9B,MAAM,gBAAgB,GAAG,CAAO,UAAkB,EAAE,EAAE;gBACpD,uBAAuB;gBACvB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE;oBACnD,UAAU,EAAE,iBAAiB;iBAC9B,CAAC,CAAC;gBAEH,6BAA6B;gBAC7B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,oBAAoB;oBACpB,MAAM,SAAS,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBAClE,MAAM,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,yBAAyB;oBACzB,MAAM,SAAS,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;oBACnD,GAAG,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC,CAAA,CAAC;YAEF,MAAM,UAAU,GAAG,CAAO,OAAmB,EAAE,EAAE;gBAC/C,uBAAuB;gBAEvB,0BAA0B;gBAC1B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,kBAAkB;oBAClB,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBAC/D,MAAM,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,uBAAuB;oBACvB,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;oBAChD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAE/C,yEAAyE;oBACzE,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC,CAAA,CAAC;YAEF,uBAAuB;YACvB,IAAI,SAAS,EAAE,CAAC;gBACd,sBAAsB;gBACtB,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,gBAAgB;gBAChB,GAAG,GAAG,GAAiB,CAAC;gBACxB,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;YAED,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IAED;;;;;;;;;OASG;IACI,SAAS,CAAC,KAAc,EAAE,OAA0B;QACzD,IAAI,GAAe,CAAC;QACpB,IAAI,KAAK,GAAW,KAAe,CAAC;QACpC,MAAM,IAAI,GAAqB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAE1D,8BAA8B;QAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;YACzD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE;wBAC7B,QAAQ,EAAE,MAAM;qBACjB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;QAEpB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,qDAAqD;YACrD,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,CAAA,CAAC;QAC3B,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,uCAAuC;QAE5E,IAAI,SAAS,EAAE,CAAC;YACd,kBAAkB;YAClB,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,GAAG,GAAG,GAAiB,CAAC;QAC1B,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACU,WAAW,CACtB,KAAqC,EACrC,OAA4B;;;YAE5B,IAAI,GAA4B,CAAC;YACjC,IAAI,MAA+B,CAAC;YACpC,MAAM,IAAI,GAAuB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,UAAU,mCAAI,UAAU,CAAC,WAAW,CAAC;YAC7D,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,YAAY,mCAAI,YAAY,CAAC,IAAI,CAAC;YAE5D,IAAI,KAAK,GAAW,KAAe,CAAC;YAEpC,2DAA2D;YAC3D,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;YAED,8BAA8B;YAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;gBACzD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACf,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;wBACzB,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE;4BAC7B,QAAQ,EAAE,MAAM;yBACjB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,4CAA4C;YAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;YAEpB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE;oBACpC,UAAU;oBACV,YAAY,EAAE,YAAY,CAAC,IAAI;iBAChC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;YAC5E,CAAC;YAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC1C,IAAI,MAAM,GAAW,MAAgB,CAAC;gBACtC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAW,CAAC;gBAC3E,CAAC;gBAED,qBAAqB;gBACrB,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC5C,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvC,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE;oBAC/B,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAW,CAAC;gBAClE,CAAC;qBAAM,CAAC;oBACN,GAAG,GAAG,MAAM,CAAC;gBACf,CAAC;YACH,CAAC;YAED,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;OAiBG;IACI,cAAc,CAAC,KAAa,EAAE,OAA2B;QAC9D,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,MAAM,IAAI,GAAsB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC;QAE9D,IAAI,KAAK,GAAW,KAAe,CAAC;QAEpC,2DAA2D;QAC3D,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;YACzD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE;wBAC7B,QAAQ,EAAE,MAAM;qBACjB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE;YACvC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAE1C,qBAAqB;YACrB,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5C,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACvC,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC5B,IAAI;aACL,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACI,gBAAgB,CAAC,KAAa,EAAE,OAA6B;QAClE,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,MAAM,IAAI,GAAwB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,uBAAuB;QACvF,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC;QAE9D,IAAI,KAAK,GAAsB,KAA0B,CAAC;QAE1D,2DAA2D;QAC3D,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;YACzD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE;wBAC7B,QAAQ,EAAE,MAAM;qBACjB,CAAsB,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE;YACzC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAE1C,qBAAqB;YACrB,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5C,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACvC,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC5B,IAAI;aACL,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,CAAC;QACb,CAAC;QAED,OAAO;IACT,CAAC;IAoBD;;;;;OAKG;IACK,qBAAqB,CAAC,aAA6B;QACzD,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;YACpC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,YAAY,OAAO,CAAC,KAAK,EAAE,CAAC;YAClD,IAAI,OAAO,CAAC,UAAU;gBAAE,GAAG,IAAI,iBAAiB,OAAO,CAAC,UAAU,EAAE,CAAC;YACrE,GAAG,IAAI,KAAK,CAAC;QACf,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC"}
@@ -78,7 +78,7 @@ class BaseBuilder {
78
78
  // if (NumberUtils.asNumber(v) != null) v = `${v}`;
79
79
  // return StringUtils.isString(v) ? StringUtils.string(v) : undefined;
80
80
  // }
81
- case PropertyFormat.trimmedString:
81
+ case PropertyFormat.plainText:
82
82
  // Convert number to string
83
83
  if (NumberUtils.asNumber(v) != null)
84
84
  v = `${v}`;
@@ -104,7 +104,7 @@ class BaseBuilder {
104
104
  return ArrayUtils.asArray(value);
105
105
  }
106
106
  getEmptyTextAst(context) {
107
- return this.handleJsonText(context, true, ' ');
107
+ return this.handleJsonText(context, TextLocation.tag, ' ');
108
108
  }
109
109
  /**
110
110
  * Convert the JsonText from the JSON to the AST format:
@@ -116,15 +116,15 @@ class BaseBuilder {
116
116
  *
117
117
  * In the case of Bitmark v2 type texts, there is nothing to do but cast the type.
118
118
  *
119
- * @param breakscaped string or TextAst or breakscaped string[] or TextAst[]
119
+ * @param context BuildContext
120
120
  * @param textFormat format of TextAst
121
- * @param inBody true if the text is in the body
121
+ * @param textLocation location of the text (body, tag, etc.)
122
+ * @param text JsonText or JsonText[] to convert
122
123
  * @returns Breakscaped string or breakscaped string[]
123
124
  */
124
- handleJsonText(context, isProperty, text) {
125
+ handleJsonText(context, textLocation, text) {
125
126
  let res;
126
127
  const { textFormat } = context;
127
- const textLocation = isProperty ? TextLocation.tag : TextLocation.body;
128
128
  if (text == null) {
129
129
  res = [];
130
130
  }
@@ -149,7 +149,7 @@ class BaseBuilder {
149
149
  textLocation,
150
150
  }), {
151
151
  textFormat,
152
- isProperty,
152
+ textLocation,
153
153
  });
154
154
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
155
155
  strArray[i].__tag = 'text';
@@ -170,7 +170,7 @@ class BaseBuilder {
170
170
  v2: true,
171
171
  }), {
172
172
  textFormat,
173
- isProperty,
173
+ textLocation,
174
174
  });
175
175
  }
176
176
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"BaseBuilder.js","sourceRoot":"","sources":["../../../src/ast/BaseBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseBuilder.js","sourceRoot":"","sources":["../../../src/ast/BaseBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAMhE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAoB,MAAM,4BAA4B,CAAC;AAE5E,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAcnD,MAAM,WAAW;IAIf;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAC3C,CAAC;IAED;;;;;;;;;OASG;IACO,SAAS,CACjB,kBAAuC,EACvC,OAAsD,EACtD,cAA8D;QAE9D,UAAU;QACV,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;YACzB,IAAI,YAAuC,CAAC;YAE5C,4EAA4E;YAC5E,IAAI,YAAY,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC3C,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,OAAO,CAAC;YACzB,CAAC;YAED,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,YAAY;gBACrB,gBAAgB,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,IAAI;aACzC,CAAC;QACJ,CAAC;QAED,kBAAkB;QAClB,IAAI,kBAAkB,EAAE,CAAC;YACvB,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,IAAI;gBAC/B,gBAAgB,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,IAAI;aACzC,CAAC;QACJ,CAAC;QAED,iBAAiB;QACjB,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,IAAI;YACb,gBAAgB,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,IAAI;SACzC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACO,aAAa,CAAC,GAAkB,EAAE,KAAsC;QAChF,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,SAAS,CAAC;QAEpC,MAAM,gBAAgB,GAAG,MAAM,CAAC,sBAAsB,EAAE,CAAC;QACzD,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE7C,oCAAoC;QAEpC,6BAA6B;QAC7B,MAAM,YAAY,GAAG,CAAC,CAAU,EAAE,EAAE;YAClC,IAAI,CAAC,IAAI,IAAI;gBAAE,OAAO,SAAS,CAAC;YAChC,QAAQ,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC9B,gCAAgC;gBAChC,gCAAgC;gBAChC,qDAAqD;gBAErD,wEAAwE;gBACxE,IAAI;gBACJ,KAAK,cAAc,CAAC,SAAS;oBAC3B,2BAA2B;oBAC3B,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI;wBAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;oBAEhD,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAE5E,KAAK,cAAc,CAAC,MAAM;oBACxB,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAEjC,KAAK,cAAc,CAAC,OAAO;oBACzB,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAEzC,KAAK,cAAc,CAAC,eAAe;oBACjC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,KAAkB,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtD,UAAU,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAES,eAAe,CAAC,OAAqB;QAC7C,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACO,cAAc,CACtB,OAAqB,EACrB,YAA8B,EAC9B,IAAO;QAEP,IAAI,GAAM,CAAC;QAEX,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAE/B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,GAAG,GAAG,EAAO,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,sEAAsE;gBACtE,8CAA8C;gBAE9C,GAAG,GAAG,IAAS,CAAC;YAClB,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAc,EAAE,CAAC;gBAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBAElB,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7B,sEAAsE;wBACtE,8CAA8C;wBAC9C,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAY,CAAC;oBAC7B,CAAC;yBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;wBACnC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CACjC,UAAU,CAAC,UAAU,CAAC,CAAW,EAAE;4BACjC,UAAU;4BACV,YAAY;yBACb,CAAC,EACF;4BACE,UAAU;4BACV,YAAY;yBACb,CACF,CAAC;wBACF,8DAA8D;wBAC7D,QAAQ,CAAC,CAAC,CAAS,CAAC,KAAK,GAAG,MAAM,CAAC;oBACtC,CAAC;yBAAM,CAAC;wBACN,eAAe;wBACf,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACnB,CAAC;gBACH,CAAC;gBACD,oCAAoC;gBACpC,OAAO,QAAa,CAAC;YACvB,CAAC;iBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,aAAa;gBACb,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CACzB,UAAU,CAAC,UAAU,CAAC,IAAc,EAAE;oBACpC,UAAU;oBACV,YAAY;oBACZ,EAAE,EAAE,IAAI;iBACT,CAAC,EACF;oBACE,UAAU;oBACV,YAAY;iBACb,CACG,CAAC;YACT,CAAC;iBAAM,CAAC;gBACN,eAAe;gBACf,GAAG,GAAG,EAAO,CAAC;YAChB,CAAC;QACH,CAAC;QAED,yDAAyD;QACzD,yGAAyG;QACzG,0CAA0C;QAC1C,8DAA8D;QAC7D,GAAW,CAAC,KAAK,GAAG,MAAM,CAAC;QAE5B,OAAO,GAAG,CAAC;IACb,CAAC;CAiBF;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -4,6 +4,7 @@ import { Config } from '../config/Config';
4
4
  import { PropertyConfigKey } from '../model/config/enum/PropertyConfigKey';
5
5
  import { BitType } from '../model/enum/BitType';
6
6
  import { BodyBitType } from '../model/enum/BodyBitType';
7
+ import { DeprecatedTextFormat } from '../model/enum/DeprecatedTextFormat';
7
8
  import { ResourceTag } from '../model/enum/ResourceTag';
8
9
  import { TextFormat } from '../model/enum/TextFormat';
9
10
  import { TextLocation } from '../model/enum/TextLocation';
@@ -51,7 +52,13 @@ class Builder extends BaseBuilder {
51
52
  var _a, _b, _c, _d, _e, _f, _g, _h;
52
53
  const bitConfig = Config.getBitConfig(data.bitType);
53
54
  const bitType = data.bitType;
54
- const textFormat = (_a = TextFormat.fromValue(data.textFormat)) !== null && _a !== void 0 ? _a : bitConfig.textFormatDefault;
55
+ // Text Format (accepts deprecated values, and converts them to the new format)
56
+ const deprecatedTextFormat = DeprecatedTextFormat.fromValue(data.textFormat);
57
+ let textFormat = (_a = TextFormat.fromValue(data.textFormat)) !== null && _a !== void 0 ? _a : bitConfig.textFormatDefault;
58
+ if (deprecatedTextFormat === DeprecatedTextFormat.bitmarkMinusMinus ||
59
+ deprecatedTextFormat === DeprecatedTextFormat.bitmarkPlusPlus) {
60
+ textFormat = TextFormat.bitmarkText;
61
+ }
55
62
  const context = {
56
63
  bitConfig,
57
64
  bitType,
@@ -69,11 +76,11 @@ class Builder extends BaseBuilder {
69
76
  // NOTE: Node order is important and is defined here
70
77
  const node = Object.assign(Object.assign({ bitType, bitLevel: data.bitLevel, textFormat, resourceType: ResourceTag.fromValue(data.resourceType), isCommented: data.isCommented,
71
78
  // Properties
72
- id: this.toAstProperty(PropertyConfigKey.id, data.id), internalComment: this.toAstProperty(PropertyConfigKey.internalComment, data.internalComment), customerId: this.toAstProperty(PropertyConfigKey.customerId, data.customerId), customerExternalId: this.toAstProperty(PropertyConfigKey.customerExternalId, data.customerExternalId), externalId: this.toAstProperty(PropertyConfigKey.externalId, data.externalId), spaceId: this.toAstProperty(PropertyConfigKey.spaceId, data.spaceId), padletId: this.toAstProperty(PropertyConfigKey.padletId, data.padletId), jupyterId: this.toAstProperty(PropertyConfigKey.jupyterId, data.jupyterId), jupyterExecutionCount: this.toAstProperty(PropertyConfigKey.jupyterExecutionCount, data.jupyterExecutionCount), isPublic: this.toAstProperty(PropertyConfigKey.isPublic, data.isPublic), aiGenerated: this.toAstProperty(PropertyConfigKey.aiGenerated, data.aiGenerated), machineTranslated: this.toAstProperty(PropertyConfigKey.machineTranslated, data.machineTranslated), searchIndex: this.toAstProperty(PropertyConfigKey.searchIndex, data.searchIndex), analyticsTag: this.toAstProperty(PropertyConfigKey.analyticsTag, data.analyticsTag), categoryTag: this.toAstProperty(PropertyConfigKey.categoryTag, data.categoryTag), topicTag: this.toAstProperty(PropertyConfigKey.topicTag, data.topicTag), altLangTag: this.toAstProperty(PropertyConfigKey.altLangTag, data.altLangTag), feedbackEngine: this.toAstProperty(PropertyConfigKey.feedbackEngine, data.feedbackEngine), feedbackType: this.toAstProperty(PropertyConfigKey.feedbackType, data.feedbackType), disableFeedback: this.toAstProperty(PropertyConfigKey.disableFeedback, data.disableFeedback), diffTo: this.toAstProperty(PropertyConfigKey.diffTo, data.diffTo), diffOp: this.toAstProperty(PropertyConfigKey.diffOp, data.diffOp), diffRef: this.toAstProperty(PropertyConfigKey.diffRef, data.diffRef), diffContext: this.toAstProperty(PropertyConfigKey.diffContext, data.diffContext), diffTime: this.toAstProperty(PropertyConfigKey.diffTime, data.diffTime), path: this.toAstProperty(PropertyConfigKey.path, data.path), releaseVersion: this.toAstProperty(PropertyConfigKey.releaseVersion, data.releaseVersion), releaseKind: this.toAstProperty(PropertyConfigKey.releaseKind, data.releaseKind), releaseDate: this.toAstProperty(PropertyConfigKey.releaseDate, data.releaseDate), book: this.buildBooks(context, data.book), ageRange: this.toAstProperty(PropertyConfigKey.ageRange, data.ageRange), lang: this.toAstProperty(PropertyConfigKey.lang, data.lang), language: this.toAstProperty(PropertyConfigKey.language, data.language), publisher: this.toAstProperty(PropertyConfigKey.publisher, data.publisher), publisherName: this.toAstProperty(PropertyConfigKey.publisherName, data.publisherName), theme: this.toAstProperty(PropertyConfigKey.theme, data.theme), computerLanguage: this.toAstProperty(PropertyConfigKey.computerLanguage, data.computerLanguage), target: this.toAstProperty(PropertyConfigKey.target, data.target), slug: this.toAstProperty(PropertyConfigKey.slug, data.slug), tag: this.toAstProperty(PropertyConfigKey.tag, data.tag), reductionTag: this.toAstProperty(PropertyConfigKey.reductionTag, data.reductionTag), bubbleTag: this.toAstProperty(PropertyConfigKey.bubbleTag, data.bubbleTag), levelCEFRp: this.toAstProperty(PropertyConfigKey.levelCEFRp, data.levelCEFRp), levelCEFR: this.toAstProperty(PropertyConfigKey.levelCEFR, data.levelCEFR), levelILR: this.toAstProperty(PropertyConfigKey.levelILR, data.levelILR), levelACTFL: this.toAstProperty(PropertyConfigKey.levelACTFL, data.levelACTFL), icon: this.toAstProperty(PropertyConfigKey.icon, data.icon), iconTag: this.toAstProperty(PropertyConfigKey.iconTag, data.iconTag), colorTag: this.toAstProperty(PropertyConfigKey.colorTag, data.colorTag), flashcardSet: this.toAstProperty(PropertyConfigKey.flashcardSet, data.flashcardSet), subtype: this.toAstProperty(PropertyConfigKey.subtype, data.subtype), bookAlias: this.toAstProperty(PropertyConfigKey.bookAlias, data.bookAlias), bookDiff: this.toAstProperty(PropertyConfigKey.bookDiff, data.bookDiff), coverImage: this.toAstProperty(PropertyConfigKey.coverImage, data.coverImage), coverColor: this.toAstProperty(PropertyConfigKey.coverColor, data.coverColor), publications: this.toAstProperty(PropertyConfigKey.publications, data.publications), author: this.toAstProperty(PropertyConfigKey.author, data.author), subject: this.toAstProperty(PropertyConfigKey.subject, data.subject), date: this.toAstProperty(PropertyConfigKey.date, data.date), dateEnd: this.toAstProperty(PropertyConfigKey.dateEnd, data.dateEnd), location: this.toAstProperty(PropertyConfigKey.location, data.location), kind: this.toAstProperty(PropertyConfigKey.kind, data.kind), hasMarkAsDone: this.toAstProperty(PropertyConfigKey.hasMarkAsDone, data.hasMarkAsDone), processHandIn: this.toAstProperty(PropertyConfigKey.processHandIn, data.processHandIn), chatWithBook: this.toAstProperty(PropertyConfigKey.chatWithBook, data.chatWithBook), chatWithBookBrainKey: this.toAstProperty(PropertyConfigKey.chatWithBookBrainKey, data.chatWithBookBrainKey), action: this.toAstProperty(PropertyConfigKey.action, data.action), showInIndex: this.toAstProperty(PropertyConfigKey.showInIndex, data.showInIndex), refAuthor: this.toAstProperty(PropertyConfigKey.refAuthor, data.refAuthor), refBookTitle: this.toAstProperty(PropertyConfigKey.refBookTitle, data.refBookTitle), refPublisher: this.toAstProperty(PropertyConfigKey.refPublisher, data.refPublisher), refPublicationYear: this.toAstProperty(PropertyConfigKey.refPublicationYear, data.refPublicationYear), citationStyle: this.toAstProperty(PropertyConfigKey.citationStyle, data.citationStyle), blockId: this.toAstProperty(PropertyConfigKey.blockId, data.blockId), pageNo: this.toAstProperty(PropertyConfigKey.pageNo, data.pageNo), x: this.toAstProperty(PropertyConfigKey.x, data.x), y: this.toAstProperty(PropertyConfigKey.y, data.y), width: this.toAstProperty(PropertyConfigKey.width, data.width), height: this.toAstProperty(PropertyConfigKey.height, data.height), index: this.toAstProperty(PropertyConfigKey.index, data.index), classification: this.toAstProperty(PropertyConfigKey.classification, data.classification), availableClassifications: this.toAstProperty(PropertyConfigKey.availableClassifications, data.availableClassifications), allowedBit: this.toAstProperty(PropertyConfigKey.allowedBit, data.allowedBit), tableFixedHeader: this.toAstProperty(PropertyConfigKey.tableFixedHeader, data.tableFixedHeader), tableSearch: this.toAstProperty(PropertyConfigKey.tableSearch, data.tableSearch), tableSort: this.toAstProperty(PropertyConfigKey.tableSort, data.tableSort), tablePagination: this.toAstProperty(PropertyConfigKey.tablePagination, data.tablePagination), tablePaginationLimit: this.toAstProperty(PropertyConfigKey.tablePaginationLimit, data.tablePaginationLimit), tableHeight: this.toAstProperty(PropertyConfigKey.tableHeight, data.tableHeight), tableWhitespaceNoWrap: this.toAstProperty(PropertyConfigKey.tableWhitespaceNoWrap, data.tableWhitespaceNoWrap), tableAutoWidth: this.toAstProperty(PropertyConfigKey.tableAutoWidth, data.tableAutoWidth), tableResizableColumns: this.toAstProperty(PropertyConfigKey.tableResizableColumns, data.tableResizableColumns), tableColumnMinWidth: this.toAstProperty(PropertyConfigKey.tableColumnMinWidth, data.tableColumnMinWidth), quizCountItems: this.toAstProperty(PropertyConfigKey.quizCountItems, data.quizCountItems), quizStrikethroughSolutions: this.toAstProperty(PropertyConfigKey.quizStrikethroughSolutions, data.quizStrikethroughSolutions), codeLineNumbers: this.toAstProperty(PropertyConfigKey.codeLineNumbers, data.codeLineNumbers), codeMinimap: this.toAstProperty(PropertyConfigKey.codeMinimap, data.codeMinimap), stripePricingTableId: this.toAstProperty(PropertyConfigKey.stripePricingTableId, data.stripePricingTableId), stripePublishableKey: this.toAstProperty(PropertyConfigKey.stripePublishableKey, data.stripePublishableKey), thumbImage: this.toAstProperty(PropertyConfigKey.thumbImage, data.thumbImage), scormSource: this.toAstProperty(PropertyConfigKey.scormSource, data.scormSource), posterImage: this.toAstProperty(PropertyConfigKey.posterImage, data.posterImage), focusX: this.toAstProperty(PropertyConfigKey.focusX, data.focusX), focusY: this.toAstProperty(PropertyConfigKey.focusY, data.focusY), pointerLeft: this.toAstProperty(PropertyConfigKey.pointerLeft, data.pointerLeft), pointerTop: this.toAstProperty(PropertyConfigKey.pointerTop, data.pointerTop), listItemIndent: this.toAstProperty(PropertyConfigKey.listItemIndent, data.listItemIndent), backgroundWallpaper: this.toAstProperty(PropertyConfigKey.backgroundWallpaper, data.backgroundWallpaper), hasBookNavigation: this.toAstProperty(PropertyConfigKey.hasBookNavigation, data.hasBookNavigation), duration: this.toAstProperty(PropertyConfigKey.duration, data.duration), deeplink: this.toAstProperty(PropertyConfigKey.deeplink, data.deeplink), externalLink: this.toAstProperty(PropertyConfigKey.externalLink, data.externalLink), externalLinkText: this.toAstProperty(PropertyConfigKey.externalLinkText, data.externalLinkText), videoCallLink: this.toAstProperty(PropertyConfigKey.videoCallLink, data.videoCallLink), vendorDashboardId: this.toAstProperty(PropertyConfigKey.vendorDashboardId, data.vendorDashboardId), vendorSurveyId: this.toAstProperty(PropertyConfigKey.vendorSurveyId, data.vendorSurveyId), vendorUrl: this.toAstProperty(PropertyConfigKey.vendorUrl, data.vendorUrl), search: this.toAstProperty(PropertyConfigKey.search, data.search), list: this.toAstProperty(PropertyConfigKey.list, data.list), layer: this.toAstProperty(PropertyConfigKey.layer, data.layer), textReference: this.toAstProperty(PropertyConfigKey.textReference, data.textReference), isTracked: this.toAstProperty(PropertyConfigKey.isTracked, data.isTracked), isInfoOnly: this.toAstProperty(PropertyConfigKey.isInfoOnly, data.isInfoOnly), imageFirst: this.toAstProperty(PropertyConfigKey.imageFirst, data.imageFirst), activityType: this.toAstProperty(PropertyConfigKey.activityType, data.activityType), labelTrue: this.toAstProperty(PropertyConfigKey.labelTrue, data.labelTrue), labelFalse: this.toAstProperty(PropertyConfigKey.labelFalse, data.labelFalse), content2Buy: this.toAstProperty(PropertyConfigKey.content2Buy, data.content2Buy), mailingList: this.toAstProperty(PropertyConfigKey.mailingList, data.mailingList), buttonCaption: this.toAstProperty(PropertyConfigKey.buttonCaption, data.buttonCaption), callToActionUrl: this.toAstProperty(PropertyConfigKey.callToActionUrl, data.callToActionUrl), caption: this.handleJsonText(context, true, data.caption), quotedPerson: this.toAstProperty(PropertyConfigKey.quotedPerson, data.quotedPerson), reasonableNumOfChars: reasonableNumOfCharsProperty, resolved: this.toAstProperty(PropertyConfigKey.resolved, data.resolved), resolvedDate: this.toAstProperty(PropertyConfigKey.resolvedDate, data.resolvedDate), resolvedBy: this.toAstProperty(PropertyConfigKey.resolvedBy, data.resolvedBy), handInAcceptFileType: this.toAstProperty(PropertyConfigKey.handInAcceptFileType, data.handInAcceptFileType), handInRequirement: this.toAstProperty(PropertyConfigKey.handInRequirement, data.handInRequirement), handInInstruction: this.toAstProperty(PropertyConfigKey.handInInstruction, data.handInInstruction), maxCreatedBits: this.toAstProperty(PropertyConfigKey.maxCreatedBits, data.maxCreatedBits), maxDisplayLevel: this.toAstProperty(PropertyConfigKey.maxDisplayLevel, data.maxDisplayLevel), maxTocChapterLevel: this.toAstProperty(PropertyConfigKey.maxTocChapterLevel, data.maxTocChapterLevel), page: this.toAstProperty(PropertyConfigKey.page, data.page), productId: this.toAstProperty(PropertyConfigKey.productId, data.productId), product: this.toAstProperty(PropertyConfigKey.product, data.product), productList: this.toAstProperty(PropertyConfigKey.productList, data.productList), productVideo: this.toAstProperty(PropertyConfigKey.productVideo, data.productVideo), productVideoList: this.toAstProperty(PropertyConfigKey.productVideoList, data.productVideoList), productFolder: this.toAstProperty(PropertyConfigKey.productFolder, data.productFolder), technicalTerm: this.buildTechnicalTerm(context, data.technicalTerm), servings: this.buildServings(context, data.servings), ratingLevelStart: this.buildRatingLevelStartEnd(context, data.ratingLevelStart), ratingLevelEnd: this.buildRatingLevelStartEnd(context, data.ratingLevelEnd), ratingLevelSelected: this.toAstProperty(PropertyConfigKey.ratingLevelSelected, data.ratingLevelSelected), markConfig: this.buildMarkConfigs(context, data.markConfig), imageSource: this.buildImageSource(context, data.imageSource), person: this.buildPerson(context, data.person), bot: this.toAstProperty(PropertyConfigKey.bot, data.bot), referenceProperty: this.toAstProperty(PropertyConfigKey.property_reference, data.referenceProperty),
79
+ id: this.toAstProperty(PropertyConfigKey.id, data.id), internalComment: this.toAstProperty(PropertyConfigKey.internalComment, data.internalComment), customerId: this.toAstProperty(PropertyConfigKey.customerId, data.customerId), customerExternalId: this.toAstProperty(PropertyConfigKey.customerExternalId, data.customerExternalId), externalId: this.toAstProperty(PropertyConfigKey.externalId, data.externalId), spaceId: this.toAstProperty(PropertyConfigKey.spaceId, data.spaceId), padletId: this.toAstProperty(PropertyConfigKey.padletId, data.padletId), jupyterId: this.toAstProperty(PropertyConfigKey.jupyterId, data.jupyterId), jupyterExecutionCount: this.toAstProperty(PropertyConfigKey.jupyterExecutionCount, data.jupyterExecutionCount), isPublic: this.toAstProperty(PropertyConfigKey.isPublic, data.isPublic), aiGenerated: this.toAstProperty(PropertyConfigKey.aiGenerated, data.aiGenerated), machineTranslated: this.toAstProperty(PropertyConfigKey.machineTranslated, data.machineTranslated), searchIndex: this.toAstProperty(PropertyConfigKey.searchIndex, data.searchIndex), analyticsTag: this.toAstProperty(PropertyConfigKey.analyticsTag, data.analyticsTag), categoryTag: this.toAstProperty(PropertyConfigKey.categoryTag, data.categoryTag), topicTag: this.toAstProperty(PropertyConfigKey.topicTag, data.topicTag), altLangTag: this.toAstProperty(PropertyConfigKey.altLangTag, data.altLangTag), feedbackEngine: this.toAstProperty(PropertyConfigKey.feedbackEngine, data.feedbackEngine), feedbackType: this.toAstProperty(PropertyConfigKey.feedbackType, data.feedbackType), disableFeedback: this.toAstProperty(PropertyConfigKey.disableFeedback, data.disableFeedback), diffTo: this.toAstProperty(PropertyConfigKey.diffTo, data.diffTo), diffOp: this.toAstProperty(PropertyConfigKey.diffOp, data.diffOp), diffRef: this.toAstProperty(PropertyConfigKey.diffRef, data.diffRef), diffContext: this.toAstProperty(PropertyConfigKey.diffContext, data.diffContext), diffTime: this.toAstProperty(PropertyConfigKey.diffTime, data.diffTime), path: this.toAstProperty(PropertyConfigKey.path, data.path), releaseVersion: this.toAstProperty(PropertyConfigKey.releaseVersion, data.releaseVersion), releaseKind: this.toAstProperty(PropertyConfigKey.releaseKind, data.releaseKind), releaseDate: this.toAstProperty(PropertyConfigKey.releaseDate, data.releaseDate), book: this.buildBooks(context, data.book), ageRange: this.toAstProperty(PropertyConfigKey.ageRange, data.ageRange), lang: this.toAstProperty(PropertyConfigKey.lang, data.lang), language: this.toAstProperty(PropertyConfigKey.language, data.language), publisher: this.toAstProperty(PropertyConfigKey.publisher, data.publisher), publisherName: this.toAstProperty(PropertyConfigKey.publisherName, data.publisherName), theme: this.toAstProperty(PropertyConfigKey.theme, data.theme), computerLanguage: this.toAstProperty(PropertyConfigKey.computerLanguage, data.computerLanguage), target: this.toAstProperty(PropertyConfigKey.target, data.target), slug: this.toAstProperty(PropertyConfigKey.slug, data.slug), tag: this.toAstProperty(PropertyConfigKey.tag, data.tag), reductionTag: this.toAstProperty(PropertyConfigKey.reductionTag, data.reductionTag), bubbleTag: this.toAstProperty(PropertyConfigKey.bubbleTag, data.bubbleTag), levelCEFRp: this.toAstProperty(PropertyConfigKey.levelCEFRp, data.levelCEFRp), levelCEFR: this.toAstProperty(PropertyConfigKey.levelCEFR, data.levelCEFR), levelILR: this.toAstProperty(PropertyConfigKey.levelILR, data.levelILR), levelACTFL: this.toAstProperty(PropertyConfigKey.levelACTFL, data.levelACTFL), icon: this.toAstProperty(PropertyConfigKey.icon, data.icon), iconTag: this.toAstProperty(PropertyConfigKey.iconTag, data.iconTag), colorTag: this.toAstProperty(PropertyConfigKey.colorTag, data.colorTag), flashcardSet: this.toAstProperty(PropertyConfigKey.flashcardSet, data.flashcardSet), subtype: this.toAstProperty(PropertyConfigKey.subtype, data.subtype), bookAlias: this.toAstProperty(PropertyConfigKey.bookAlias, data.bookAlias), bookDiff: this.toAstProperty(PropertyConfigKey.bookDiff, data.bookDiff), coverImage: this.toAstProperty(PropertyConfigKey.coverImage, data.coverImage), coverColor: this.toAstProperty(PropertyConfigKey.coverColor, data.coverColor), publications: this.toAstProperty(PropertyConfigKey.publications, data.publications), author: this.toAstProperty(PropertyConfigKey.author, data.author), subject: this.toAstProperty(PropertyConfigKey.subject, data.subject), date: this.toAstProperty(PropertyConfigKey.date, data.date), dateEnd: this.toAstProperty(PropertyConfigKey.dateEnd, data.dateEnd), location: this.toAstProperty(PropertyConfigKey.location, data.location), kind: this.toAstProperty(PropertyConfigKey.kind, data.kind), hasMarkAsDone: this.toAstProperty(PropertyConfigKey.hasMarkAsDone, data.hasMarkAsDone), processHandIn: this.toAstProperty(PropertyConfigKey.processHandIn, data.processHandIn), chatWithBook: this.toAstProperty(PropertyConfigKey.chatWithBook, data.chatWithBook), chatWithBookBrainKey: this.toAstProperty(PropertyConfigKey.chatWithBookBrainKey, data.chatWithBookBrainKey), action: this.toAstProperty(PropertyConfigKey.action, data.action), showInIndex: this.toAstProperty(PropertyConfigKey.showInIndex, data.showInIndex), refAuthor: this.toAstProperty(PropertyConfigKey.refAuthor, data.refAuthor), refBookTitle: this.toAstProperty(PropertyConfigKey.refBookTitle, data.refBookTitle), refPublisher: this.toAstProperty(PropertyConfigKey.refPublisher, data.refPublisher), refPublicationYear: this.toAstProperty(PropertyConfigKey.refPublicationYear, data.refPublicationYear), citationStyle: this.toAstProperty(PropertyConfigKey.citationStyle, data.citationStyle), blockId: this.toAstProperty(PropertyConfigKey.blockId, data.blockId), pageNo: this.toAstProperty(PropertyConfigKey.pageNo, data.pageNo), x: this.toAstProperty(PropertyConfigKey.x, data.x), y: this.toAstProperty(PropertyConfigKey.y, data.y), width: this.toAstProperty(PropertyConfigKey.width, data.width), height: this.toAstProperty(PropertyConfigKey.height, data.height), index: this.toAstProperty(PropertyConfigKey.index, data.index), classification: this.toAstProperty(PropertyConfigKey.classification, data.classification), availableClassifications: this.toAstProperty(PropertyConfigKey.availableClassifications, data.availableClassifications), allowedBit: this.toAstProperty(PropertyConfigKey.allowedBit, data.allowedBit), tableFixedHeader: this.toAstProperty(PropertyConfigKey.tableFixedHeader, data.tableFixedHeader), tableSearch: this.toAstProperty(PropertyConfigKey.tableSearch, data.tableSearch), tableSort: this.toAstProperty(PropertyConfigKey.tableSort, data.tableSort), tablePagination: this.toAstProperty(PropertyConfigKey.tablePagination, data.tablePagination), tablePaginationLimit: this.toAstProperty(PropertyConfigKey.tablePaginationLimit, data.tablePaginationLimit), tableHeight: this.toAstProperty(PropertyConfigKey.tableHeight, data.tableHeight), tableWhitespaceNoWrap: this.toAstProperty(PropertyConfigKey.tableWhitespaceNoWrap, data.tableWhitespaceNoWrap), tableAutoWidth: this.toAstProperty(PropertyConfigKey.tableAutoWidth, data.tableAutoWidth), tableResizableColumns: this.toAstProperty(PropertyConfigKey.tableResizableColumns, data.tableResizableColumns), tableColumnMinWidth: this.toAstProperty(PropertyConfigKey.tableColumnMinWidth, data.tableColumnMinWidth), quizCountItems: this.toAstProperty(PropertyConfigKey.quizCountItems, data.quizCountItems), quizStrikethroughSolutions: this.toAstProperty(PropertyConfigKey.quizStrikethroughSolutions, data.quizStrikethroughSolutions), codeLineNumbers: this.toAstProperty(PropertyConfigKey.codeLineNumbers, data.codeLineNumbers), codeMinimap: this.toAstProperty(PropertyConfigKey.codeMinimap, data.codeMinimap), stripePricingTableId: this.toAstProperty(PropertyConfigKey.stripePricingTableId, data.stripePricingTableId), stripePublishableKey: this.toAstProperty(PropertyConfigKey.stripePublishableKey, data.stripePublishableKey), thumbImage: this.toAstProperty(PropertyConfigKey.thumbImage, data.thumbImage), scormSource: this.toAstProperty(PropertyConfigKey.scormSource, data.scormSource), posterImage: this.toAstProperty(PropertyConfigKey.posterImage, data.posterImage), focusX: this.toAstProperty(PropertyConfigKey.focusX, data.focusX), focusY: this.toAstProperty(PropertyConfigKey.focusY, data.focusY), pointerLeft: this.toAstProperty(PropertyConfigKey.pointerLeft, data.pointerLeft), pointerTop: this.toAstProperty(PropertyConfigKey.pointerTop, data.pointerTop), listItemIndent: this.toAstProperty(PropertyConfigKey.listItemIndent, data.listItemIndent), backgroundWallpaper: this.toAstProperty(PropertyConfigKey.backgroundWallpaper, data.backgroundWallpaper), hasBookNavigation: this.toAstProperty(PropertyConfigKey.hasBookNavigation, data.hasBookNavigation), duration: this.toAstProperty(PropertyConfigKey.duration, data.duration), deeplink: this.toAstProperty(PropertyConfigKey.deeplink, data.deeplink), externalLink: this.toAstProperty(PropertyConfigKey.externalLink, data.externalLink), externalLinkText: this.toAstProperty(PropertyConfigKey.externalLinkText, data.externalLinkText), videoCallLink: this.toAstProperty(PropertyConfigKey.videoCallLink, data.videoCallLink), vendorDashboardId: this.toAstProperty(PropertyConfigKey.vendorDashboardId, data.vendorDashboardId), vendorSurveyId: this.toAstProperty(PropertyConfigKey.vendorSurveyId, data.vendorSurveyId), vendorUrl: this.toAstProperty(PropertyConfigKey.vendorUrl, data.vendorUrl), search: this.toAstProperty(PropertyConfigKey.search, data.search), list: this.toAstProperty(PropertyConfigKey.list, data.list), layer: this.toAstProperty(PropertyConfigKey.layer, data.layer), layerRole: this.toAstProperty(PropertyConfigKey.layerRole, data.layerRole), textReference: this.toAstProperty(PropertyConfigKey.textReference, data.textReference), isTracked: this.toAstProperty(PropertyConfigKey.isTracked, data.isTracked), isInfoOnly: this.toAstProperty(PropertyConfigKey.isInfoOnly, data.isInfoOnly), imageFirst: this.toAstProperty(PropertyConfigKey.imageFirst, data.imageFirst), activityType: this.toAstProperty(PropertyConfigKey.activityType, data.activityType), labelTrue: this.toAstProperty(PropertyConfigKey.labelTrue, data.labelTrue), labelFalse: this.toAstProperty(PropertyConfigKey.labelFalse, data.labelFalse), content2Buy: this.toAstProperty(PropertyConfigKey.content2Buy, data.content2Buy), mailingList: this.toAstProperty(PropertyConfigKey.mailingList, data.mailingList), buttonCaption: this.toAstProperty(PropertyConfigKey.buttonCaption, data.buttonCaption), callToActionUrl: this.toAstProperty(PropertyConfigKey.callToActionUrl, data.callToActionUrl), caption: this.handleJsonText(context, TextLocation.tag, data.caption), quotedPerson: this.toAstProperty(PropertyConfigKey.quotedPerson, data.quotedPerson), reasonableNumOfChars: reasonableNumOfCharsProperty, resolved: this.toAstProperty(PropertyConfigKey.resolved, data.resolved), resolvedDate: this.toAstProperty(PropertyConfigKey.resolvedDate, data.resolvedDate), resolvedBy: this.toAstProperty(PropertyConfigKey.resolvedBy, data.resolvedBy), handInAcceptFileType: this.toAstProperty(PropertyConfigKey.handInAcceptFileType, data.handInAcceptFileType), handInRequirement: this.toAstProperty(PropertyConfigKey.handInRequirement, data.handInRequirement), handInInstruction: this.toAstProperty(PropertyConfigKey.handInInstruction, data.handInInstruction), maxCreatedBits: this.toAstProperty(PropertyConfigKey.maxCreatedBits, data.maxCreatedBits), maxDisplayLevel: this.toAstProperty(PropertyConfigKey.maxDisplayLevel, data.maxDisplayLevel), maxTocChapterLevel: this.toAstProperty(PropertyConfigKey.maxTocChapterLevel, data.maxTocChapterLevel), page: this.toAstProperty(PropertyConfigKey.page, data.page), productId: this.toAstProperty(PropertyConfigKey.productId, data.productId), product: this.toAstProperty(PropertyConfigKey.product, data.product), productList: this.toAstProperty(PropertyConfigKey.productList, data.productList), productVideo: this.toAstProperty(PropertyConfigKey.productVideo, data.productVideo), productVideoList: this.toAstProperty(PropertyConfigKey.productVideoList, data.productVideoList), productFolder: this.toAstProperty(PropertyConfigKey.productFolder, data.productFolder), technicalTerm: this.buildTechnicalTerm(context, data.technicalTerm), servings: this.buildServings(context, data.servings), ratingLevelStart: this.buildRatingLevelStartEnd(context, data.ratingLevelStart), ratingLevelEnd: this.buildRatingLevelStartEnd(context, data.ratingLevelEnd), ratingLevelSelected: this.toAstProperty(PropertyConfigKey.ratingLevelSelected, data.ratingLevelSelected), markConfig: this.buildMarkConfigs(context, data.markConfig), imageSource: this.buildImageSource(context, data.imageSource), person: this.buildPerson(context, data.person), bot: this.toAstProperty(PropertyConfigKey.bot, data.bot), referenceProperty: this.toAstProperty(PropertyConfigKey.property_reference, data.referenceProperty),
73
80
  // Book data
74
- title: this.handleJsonText(context, true, data.title), subtitle: this.handleJsonText(context, true, data.subtitle), level: NumberUtils.asNumber(data.level), toc: this.toAstProperty(PropertyConfigKey.toc, data.toc), progress: this.toAstProperty(PropertyConfigKey.progress, data.progress), anchor: data.anchor, reference: data.reference, referenceEnd: data.referenceEnd, revealSolutions: this.toAstProperty(PropertyConfigKey.revealSolutions, data.revealSolutions),
81
+ title: this.handleJsonText(context, TextLocation.tag, data.title), subtitle: this.handleJsonText(context, TextLocation.tag, data.subtitle), level: NumberUtils.asNumber(data.level), toc: this.toAstProperty(PropertyConfigKey.toc, data.toc), progress: this.toAstProperty(PropertyConfigKey.progress, data.progress), anchor: data.anchor, reference: data.reference, referenceEnd: data.referenceEnd, revealSolutions: this.toAstProperty(PropertyConfigKey.revealSolutions, data.revealSolutions),
75
82
  // Item, Lead, Hint, Instruction
76
- item: this.handleJsonText(context, true, data.item), lead: this.handleJsonText(context, true, data.lead), pageNumber: this.handleJsonText(context, true, data.pageNumber), marginNumber: this.handleJsonText(context, true, data.marginNumber), hint: this.handleJsonText(context, true, data.hint), instruction: this.handleJsonText(context, true, data.instruction), partialAnswer: this.toAstProperty(PropertyConfigKey.partialAnswer, data.partialAnswer), sampleSolution: this.toAstProperty(PropertyConfigKey.property_sampleSolution, data.sampleSolution), additionalSolutions: this.toAstProperty(PropertyConfigKey.additionalSolutions, data.additionalSolutions) }, this.toExample(data.__isDefaultExample, data.example)), {
83
+ item: this.handleJsonText(context, TextLocation.tag, data.item), lead: this.handleJsonText(context, TextLocation.tag, data.lead), pageNumber: this.handleJsonText(context, TextLocation.tag, data.pageNumber), marginNumber: this.handleJsonText(context, TextLocation.tag, data.marginNumber), hint: this.handleJsonText(context, TextLocation.tag, data.hint), instruction: this.handleJsonText(context, TextLocation.tag, data.instruction), partialAnswer: this.toAstProperty(PropertyConfigKey.partialAnswer, data.partialAnswer), sampleSolution: this.toAstProperty(PropertyConfigKey.property_sampleSolution, data.sampleSolution), additionalSolutions: this.toAstProperty(PropertyConfigKey.additionalSolutions, data.additionalSolutions) }, this.toExample(data.__isDefaultExample, data.example)), {
77
84
  // Person
78
85
  imagePlaceholder: ArrayUtils.asSingle(this.resourceBuilder.resourceFromResourceDataJson(context, ResourceTag.image, (_b = data.imagePlaceholder) === null || _b === void 0 ? void 0 : _b.image)), resources: ArrayUtils.asArray(this.resourceBuilder.resourceFromResourceJson(context, data.resources)),
79
86
  // Body, Card, Footer, must be after all other properties except the extraProperties and markup / parser
@@ -172,7 +179,7 @@ class Builder extends BaseBuilder {
172
179
  if (!data)
173
180
  return undefined;
174
181
  // NOTE: Node order is important and is defined here
175
- const node = Object.assign({ choice: (_a = data.choice) !== null && _a !== void 0 ? _a : '', requireReason: !!data.requireReason, item: this.handleJsonText(context, true, data.item), lead: this.handleJsonText(context, true, data.lead), hint: this.handleJsonText(context, true, data.hint), instruction: this.handleJsonText(context, true, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, true));
182
+ const node = Object.assign({ choice: (_a = data.choice) !== null && _a !== void 0 ? _a : '', requireReason: !!data.requireReason, item: this.handleJsonText(context, TextLocation.tag, data.item), lead: this.handleJsonText(context, TextLocation.tag, data.lead), hint: this.handleJsonText(context, TextLocation.tag, data.hint), instruction: this.handleJsonText(context, TextLocation.tag, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, true));
176
183
  // Remove Unset Optionals
177
184
  ObjectUtils.removeUnwantedProperties(node, {
178
185
  ignoreAllFalse: true,
@@ -193,9 +200,9 @@ class Builder extends BaseBuilder {
193
200
  return undefined;
194
201
  // Set default example
195
202
  // Not __testAst - there is no default example
196
- const defaultExample = this.handleJsonText(context, true, 'true');
203
+ const defaultExample = this.handleJsonText(context, TextLocation.tag, 'true');
197
204
  // NOTE: Node order is important and is defined here
198
- const node = Object.assign(Object.assign({ text: (_a = data.text) !== null && _a !== void 0 ? _a : '', reasonableNumOfChars: ((_b = data.reasonableNumOfChars) !== null && _b !== void 0 ? _b : undefined), item: this.handleJsonText(context, true, data.item), lead: this.handleJsonText(context, true, data.lead), hint: this.handleJsonText(context, true, data.hint), instruction: this.handleJsonText(context, true, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, defaultExample)), { __textAst: data.__textAst });
205
+ const node = Object.assign(Object.assign({ text: (_a = data.text) !== null && _a !== void 0 ? _a : '', reasonableNumOfChars: ((_b = data.reasonableNumOfChars) !== null && _b !== void 0 ? _b : undefined), item: this.handleJsonText(context, TextLocation.tag, data.item), lead: this.handleJsonText(context, TextLocation.tag, data.lead), hint: this.handleJsonText(context, TextLocation.tag, data.hint), instruction: this.handleJsonText(context, TextLocation.tag, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, defaultExample)), { __textAst: data.__textAst });
199
206
  // Remove Unset Optionals
200
207
  ObjectUtils.removeUnwantedProperties(node, {
201
208
  ignoreAllFalse: true,
@@ -227,7 +234,7 @@ class Builder extends BaseBuilder {
227
234
  if (!data)
228
235
  return undefined;
229
236
  // NOTE: Node order is important and is defined here
230
- const node = Object.assign({ choice: (_a = data.choice) !== null && _a !== void 0 ? _a : '', isCorrect: !!data.isCorrect, item: this.handleJsonText(context, true, data.item), lead: this.handleJsonText(context, true, data.lead), hint: this.handleJsonText(context, true, data.hint), instruction: this.handleJsonText(context, true, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, !!data.isCorrect));
237
+ const node = Object.assign({ choice: (_a = data.choice) !== null && _a !== void 0 ? _a : '', isCorrect: !!data.isCorrect, item: this.handleJsonText(context, TextLocation.tag, data.item), lead: this.handleJsonText(context, TextLocation.tag, data.lead), hint: this.handleJsonText(context, TextLocation.tag, data.hint), instruction: this.handleJsonText(context, TextLocation.tag, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, !!data.isCorrect));
231
238
  // Remove Unset Optionals
232
239
  ObjectUtils.removeUnwantedProperties(node, {
233
240
  ignoreAllFalse: true,
@@ -259,7 +266,7 @@ class Builder extends BaseBuilder {
259
266
  if (!data)
260
267
  return undefined;
261
268
  // NOTE: Node order is important and is defined here
262
- const node = Object.assign({ response: (_a = data.response) !== null && _a !== void 0 ? _a : '', isCorrect: !!data.isCorrect, item: this.handleJsonText(context, true, data.item), lead: this.handleJsonText(context, true, data.lead), hint: this.handleJsonText(context, true, data.hint), instruction: this.handleJsonText(context, true, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, !!data.isCorrect));
269
+ const node = Object.assign({ response: (_a = data.response) !== null && _a !== void 0 ? _a : '', isCorrect: !!data.isCorrect, item: this.handleJsonText(context, TextLocation.tag, data.item), lead: this.handleJsonText(context, TextLocation.tag, data.lead), hint: this.handleJsonText(context, TextLocation.tag, data.hint), instruction: this.handleJsonText(context, TextLocation.tag, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, !!data.isCorrect));
263
270
  // Remove Unset Optionals
264
271
  ObjectUtils.removeUnwantedProperties(node, {
265
272
  ignoreAllFalse: true,
@@ -295,9 +302,9 @@ class Builder extends BaseBuilder {
295
302
  response: (_a = data.response) !== null && _a !== void 0 ? _a : '',
296
303
  reaction: (_b = data.reaction) !== null && _b !== void 0 ? _b : '',
297
304
  feedback: (_c = data.feedback) !== null && _c !== void 0 ? _c : '',
298
- item: this.handleJsonText(context, true, data.item),
299
- lead: this.handleJsonText(context, true, data.lead),
300
- hint: this.handleJsonText(context, true, data.hint),
305
+ item: this.handleJsonText(context, TextLocation.tag, data.item),
306
+ lead: this.handleJsonText(context, TextLocation.tag, data.lead),
307
+ hint: this.handleJsonText(context, TextLocation.tag, data.hint),
301
308
  };
302
309
  // Remove Unset Optionals
303
310
  ObjectUtils.removeUnwantedProperties(node, {
@@ -345,10 +352,10 @@ class Builder extends BaseBuilder {
345
352
  }
346
353
  // NOTE: Node order is important and is defined here
347
354
  const node = {
348
- item: this.handleJsonText(context, true, data.item),
349
- lead: this.handleJsonText(context, true, data.lead),
350
- hint: this.handleJsonText(context, true, data.hint),
351
- instruction: this.handleJsonText(context, true, data.instruction),
355
+ item: this.handleJsonText(context, TextLocation.tag, data.item),
356
+ lead: this.handleJsonText(context, TextLocation.tag, data.lead),
357
+ hint: this.handleJsonText(context, TextLocation.tag, data.hint),
358
+ instruction: this.handleJsonText(context, TextLocation.tag, data.instruction),
352
359
  // isExample: !!data.__defaultExample,
353
360
  choices: choices,
354
361
  reason: reason, // Might be undefined
@@ -400,10 +407,10 @@ class Builder extends BaseBuilder {
400
407
  }
401
408
  // NOTE: Node order is important and is defined here
402
409
  const node = {
403
- item: this.handleJsonText(context, true, data.item),
404
- lead: this.handleJsonText(context, true, data.lead),
405
- hint: this.handleJsonText(context, true, data.hint),
406
- instruction: this.handleJsonText(context, true, data.instruction),
410
+ item: this.handleJsonText(context, TextLocation.tag, data.item),
411
+ lead: this.handleJsonText(context, TextLocation.tag, data.lead),
412
+ hint: this.handleJsonText(context, TextLocation.tag, data.hint),
413
+ instruction: this.handleJsonText(context, TextLocation.tag, data.instruction),
407
414
  isExample: !!data.__defaultExample,
408
415
  choices: choices,
409
416
  responses: responses,
@@ -469,7 +476,7 @@ class Builder extends BaseBuilder {
469
476
  const keyImage = this.resourceBuilder.resourceFromResourceJson(context, data.keyImage);
470
477
  // NOTE: Node order is important and is defined here
471
478
  const node = Object.assign(Object.assign({ key: (_a = data.key) !== null && _a !== void 0 ? _a : '', keyAudio,
472
- keyImage, item: this.handleJsonText(context, true, data.item), lead: this.handleJsonText(context, true, data.lead), hint: this.handleJsonText(context, true, data.hint), instruction: this.handleJsonText(context, true, data.instruction), isCaseSensitive: data.isCaseSensitive }, this.toExample(data.__isDefaultExample, data.example, defaultExample)), { values: (_b = data.values) !== null && _b !== void 0 ? _b : [], __valuesAst: data.__valuesAst });
479
+ keyImage, item: this.handleJsonText(context, TextLocation.tag, data.item), lead: this.handleJsonText(context, TextLocation.tag, data.lead), hint: this.handleJsonText(context, TextLocation.tag, data.hint), instruction: this.handleJsonText(context, TextLocation.tag, data.instruction), isCaseSensitive: data.isCaseSensitive }, this.toExample(data.__isDefaultExample, data.example, defaultExample)), { values: (_b = data.values) !== null && _b !== void 0 ? _b : [], __valuesAst: data.__valuesAst });
473
480
  // Remove Unset Optionals
474
481
  ObjectUtils.removeUnwantedProperties(node, {
475
482
  ignoreAllFalse: true,
@@ -529,10 +536,10 @@ class Builder extends BaseBuilder {
529
536
  // NOTE: Node order is important and is defined here
530
537
  const node = {
531
538
  key: (_b = data.key) !== null && _b !== void 0 ? _b : '',
532
- item: this.handleJsonText(context, true, data.item),
533
- lead: this.handleJsonText(context, true, data.lead),
534
- hint: this.handleJsonText(context, true, data.hint),
535
- instruction: this.handleJsonText(context, true, data.instruction),
539
+ item: this.handleJsonText(context, TextLocation.tag, data.item),
540
+ lead: this.handleJsonText(context, TextLocation.tag, data.lead),
541
+ hint: this.handleJsonText(context, TextLocation.tag, data.hint),
542
+ instruction: this.handleJsonText(context, TextLocation.tag, data.instruction),
536
543
  isExample,
537
544
  cells: ((_c = data.cells) !== null && _c !== void 0 ? _c : []).map((c) => this.buildMatrixCell(context, c)).filter((c) => c != null),
538
545
  };
@@ -557,7 +564,7 @@ class Builder extends BaseBuilder {
557
564
  // Set default example
558
565
  const defaultExample = Array.isArray(data.__valuesAst) && data.__valuesAst.length > 0 ? data.__valuesAst[0] : null;
559
566
  // NOTE: Node order is important and is defined here
560
- const node = Object.assign(Object.assign({ values: (_a = data.values) !== null && _a !== void 0 ? _a : [], item: this.handleJsonText(context, true, data.item), lead: this.handleJsonText(context, true, data.lead), hint: this.handleJsonText(context, true, data.hint), instruction: this.handleJsonText(context, true, data.instruction), isCaseSensitive: data.isCaseSensitive }, this.toExample(data.__isDefaultExample, data.example, defaultExample)), { __valuesAst: data.__valuesAst });
567
+ const node = Object.assign(Object.assign({ values: (_a = data.values) !== null && _a !== void 0 ? _a : [], item: this.handleJsonText(context, TextLocation.tag, data.item), lead: this.handleJsonText(context, TextLocation.tag, data.lead), hint: this.handleJsonText(context, TextLocation.tag, data.hint), instruction: this.handleJsonText(context, TextLocation.tag, data.instruction), isCaseSensitive: data.isCaseSensitive }, this.toExample(data.__isDefaultExample, data.example, defaultExample)), { __valuesAst: data.__valuesAst });
561
568
  // Remove Unset Optionals
562
569
  ObjectUtils.removeUnwantedProperties(node, {
563
570
  ignoreAllFalse: true,
@@ -582,8 +589,8 @@ class Builder extends BaseBuilder {
582
589
  // Process the audio resource
583
590
  const audio = this.resourceBuilder.resourceFromResourceJson(context, cell.audio);
584
591
  return {
585
- title: this.handleJsonText(context, true, cell.title),
586
- body: this.handleJsonText(context, true, cell.body),
592
+ title: this.handleJsonText(context, TextLocation.tag, cell.title),
593
+ body: this.handleJsonText(context, TextLocation.tag, cell.body),
587
594
  audio,
588
595
  };
589
596
  })),
@@ -606,8 +613,8 @@ class Builder extends BaseBuilder {
606
613
  return undefined;
607
614
  // NOTE: Node order is important and is defined here
608
615
  const node = {
609
- columns: ((_a = dataIn.columns) !== null && _a !== void 0 ? _a : []).map((col) => this.handleJsonText(context, true, col)),
610
- data: ((_b = dataIn.data) !== null && _b !== void 0 ? _b : []).map((row) => (row !== null && row !== void 0 ? row : []).map((cell) => this.handleJsonText(context, true, cell))),
616
+ columns: ((_a = dataIn.columns) !== null && _a !== void 0 ? _a : []).map((col) => this.handleJsonText(context, TextLocation.tag, col)),
617
+ data: ((_b = dataIn.data) !== null && _b !== void 0 ? _b : []).map((row) => (row !== null && row !== void 0 ? row : []).map((cell) => this.handleJsonText(context, TextLocation.tag, cell))),
611
618
  };
612
619
  // Remove Unset Optionals
613
620
  // ObjectUtils.removeUnwantedProperties(node, {
@@ -640,7 +647,7 @@ class Builder extends BaseBuilder {
640
647
  // Set default example
641
648
  const defaultExample = data.__sampleSolutionAst;
642
649
  // NOTE: Node order is important and is defined here
643
- const node = Object.assign(Object.assign({ question: (_a = data.question) !== null && _a !== void 0 ? _a : '', partialAnswer: (_b = data.partialAnswer) !== null && _b !== void 0 ? _b : '', sampleSolution: (_c = data.sampleSolution) !== null && _c !== void 0 ? _c : '', additionalSolutions: ((_d = data.additionalSolutions) !== null && _d !== void 0 ? _d : undefined), reasonableNumOfChars: ((_e = data.reasonableNumOfChars) !== null && _e !== void 0 ? _e : undefined), item: this.handleJsonText(context, true, data.item), lead: this.handleJsonText(context, true, data.lead), hint: this.handleJsonText(context, true, data.hint), instruction: this.handleJsonText(context, true, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, defaultExample)), { __sampleSolutionAst: data.__sampleSolutionAst });
650
+ const node = Object.assign(Object.assign({ question: (_a = data.question) !== null && _a !== void 0 ? _a : '', partialAnswer: (_b = data.partialAnswer) !== null && _b !== void 0 ? _b : '', sampleSolution: (_c = data.sampleSolution) !== null && _c !== void 0 ? _c : '', additionalSolutions: ((_d = data.additionalSolutions) !== null && _d !== void 0 ? _d : undefined), reasonableNumOfChars: ((_e = data.reasonableNumOfChars) !== null && _e !== void 0 ? _e : undefined), item: this.handleJsonText(context, TextLocation.tag, data.item), lead: this.handleJsonText(context, TextLocation.tag, data.lead), hint: this.handleJsonText(context, TextLocation.tag, data.hint), instruction: this.handleJsonText(context, TextLocation.tag, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, defaultExample)), { __sampleSolutionAst: data.__sampleSolutionAst });
644
651
  // Remove Unset Optionals
645
652
  ObjectUtils.removeUnwantedProperties(node, {
646
653
  ignoreAllFalse: true,
@@ -777,7 +784,7 @@ class Builder extends BaseBuilder {
777
784
  // Convert the body string to AST
778
785
  rawBody = this.textParser.toAst(bodyStr, {
779
786
  textFormat,
780
- isProperty: false,
787
+ textLocation: TextLocation.body,
781
788
  });
782
789
  const replaceBitsRecursive = (bodyText) => {
783
790
  for (let i = 0, len = bodyText.length; i < len; i++) {
@@ -834,7 +841,7 @@ class Builder extends BaseBuilder {
834
841
  const handlePlainTextBody = () => {
835
842
  body = data.body;
836
843
  };
837
- const isBitmarkText = textFormat === TextFormat.bitmarkMinusMinus || textFormat === TextFormat.bitmarkPlusPlus;
844
+ const isBitmarkText = textFormat === TextFormat.bitmarkText;
838
845
  if (textFormat === TextFormat.json) {
839
846
  // JSON
840
847
  handleJsonBody();
@@ -865,7 +872,7 @@ class Builder extends BaseBuilder {
865
872
  if (!data)
866
873
  return undefined;
867
874
  const node = {
868
- footer: this.handleJsonText(context, false, data.footer),
875
+ footer: this.handleJsonText(context, TextLocation.body, data.footer),
869
876
  };
870
877
  return node;
871
878
  }
@@ -884,7 +891,7 @@ class Builder extends BaseBuilder {
884
891
  // Copy any attributes from 'attrs' to the body bit (data is in 'attrs' when coming from JSON)
885
892
  data = this.bodyBitCopyFromAttrs(data);
886
893
  // NOTE: Node order is important and is defined here
887
- const node = Object.assign(Object.assign({ type: BodyBitType.gap, solutions: (_a = data.solutions) !== null && _a !== void 0 ? _a : [], item: this.handleJsonText(context, true, data.item), lead: this.handleJsonText(context, true, data.lead), hint: this.handleJsonText(context, true, data.hint), instruction: this.handleJsonText(context, true, data.instruction), isCaseSensitive: data.isCaseSensitive }, this.toExample(data.__isDefaultExample, data.example, defaultExample)), { __solutionsAst: data.__solutionsAst, attrs: {} });
894
+ const node = Object.assign(Object.assign({ type: BodyBitType.gap, solutions: (_a = data.solutions) !== null && _a !== void 0 ? _a : [], item: this.handleJsonText(context, TextLocation.tag, data.item), lead: this.handleJsonText(context, TextLocation.tag, data.lead), hint: this.handleJsonText(context, TextLocation.tag, data.hint), instruction: this.handleJsonText(context, TextLocation.tag, data.instruction), isCaseSensitive: data.isCaseSensitive }, this.toExample(data.__isDefaultExample, data.example, defaultExample)), { __solutionsAst: data.__solutionsAst, attrs: {} });
888
895
  // Remove Unset Optionals
889
896
  ObjectUtils.removeUnwantedProperties(node, {
890
897
  ignoreAllFalse: true,
@@ -940,7 +947,7 @@ class Builder extends BaseBuilder {
940
947
  // Copy any attributes from 'attrs' to the body bit (data is in 'attrs' when coming from JSON)
941
948
  data = this.bodyBitCopyFromAttrs(data);
942
949
  // NOTE: Node order is important and is defined here
943
- 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(context, true, data.item), lead: this.handleJsonText(context, true, data.lead), hint: this.handleJsonText(context, true, data.hint), instruction: this.handleJsonText(context, true, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, true)), { attrs: {} });
950
+ 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(context, TextLocation.tag, data.item), lead: this.handleJsonText(context, TextLocation.tag, data.lead), hint: this.handleJsonText(context, TextLocation.tag, data.hint), instruction: this.handleJsonText(context, TextLocation.tag, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, true)), { attrs: {} });
944
951
  // Remove Unset Optionals
945
952
  ObjectUtils.removeUnwantedProperties(node, {
946
953
  ignoreAllFalse: true,
@@ -963,7 +970,7 @@ class Builder extends BaseBuilder {
963
970
  // Copy any attributes from 'attrs' to the body bit (data is in 'attrs' when coming from JSON)
964
971
  data = this.bodyBitCopyFromAttrs(data);
965
972
  // NOTE: Node order is important and is defined here
966
- const node = Object.assign(Object.assign({ type: BodyBitType.select, options: (_a = this.buildSelectOptions(context, 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(context, true, data.item), lead: this.handleJsonText(context, true, data.lead), hint: this.handleJsonText(context, true, data.hint), instruction: this.handleJsonText(context, true, data.instruction) }, this.toExample(false, undefined, undefined)), { __hintString: data.__hintString, __instructionString: data.__instructionString, attrs: {} });
973
+ const node = Object.assign(Object.assign({ type: BodyBitType.select, options: (_a = this.buildSelectOptions(context, 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(context, TextLocation.tag, data.item), lead: this.handleJsonText(context, TextLocation.tag, data.lead), hint: this.handleJsonText(context, TextLocation.tag, data.hint), instruction: this.handleJsonText(context, TextLocation.tag, data.instruction) }, this.toExample(false, undefined, undefined)), { __hintString: data.__hintString, __instructionString: data.__instructionString, attrs: {} });
967
974
  // Remove Unset Optionals
968
975
  ObjectUtils.removeUnwantedProperties(node, {
969
976
  ignoreAllFalse: true,
@@ -995,7 +1002,7 @@ class Builder extends BaseBuilder {
995
1002
  if (!data)
996
1003
  return undefined;
997
1004
  // NOTE: Node order is important and is defined here
998
- const node = Object.assign({ text: (_a = data.text) !== null && _a !== void 0 ? _a : '', isCorrect: !!data.isCorrect, item: this.handleJsonText(context, true, data.item), lead: this.handleJsonText(context, true, data.lead), hint: this.handleJsonText(context, true, data.hint), instruction: this.handleJsonText(context, true, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, !!data.isCorrect));
1005
+ const node = Object.assign({ text: (_a = data.text) !== null && _a !== void 0 ? _a : '', isCorrect: !!data.isCorrect, item: this.handleJsonText(context, TextLocation.tag, data.item), lead: this.handleJsonText(context, TextLocation.tag, data.lead), hint: this.handleJsonText(context, TextLocation.tag, data.hint), instruction: this.handleJsonText(context, TextLocation.tag, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, !!data.isCorrect));
999
1006
  // Remove Unset Optionals
1000
1007
  ObjectUtils.removeUnwantedProperties(node, {
1001
1008
  ignoreAllFalse: true,
@@ -1017,7 +1024,7 @@ class Builder extends BaseBuilder {
1017
1024
  // Copy any attributes from 'attrs' to the body bit (data is in 'attrs' when coming from JSON)
1018
1025
  data = this.bodyBitCopyFromAttrs(data);
1019
1026
  // NOTE: Node order is important and is defined here
1020
- const node = Object.assign(Object.assign({ type: BodyBitType.highlight, texts: (_a = this.buildHighlightTexts(context, 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(context, true, data.item), lead: this.handleJsonText(context, true, data.lead), hint: this.handleJsonText(context, true, data.hint), instruction: this.handleJsonText(context, true, data.instruction) }, this.toExample(false, undefined, undefined)), { attrs: {} });
1027
+ const node = Object.assign(Object.assign({ type: BodyBitType.highlight, texts: (_a = this.buildHighlightTexts(context, 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(context, TextLocation.tag, data.item), lead: this.handleJsonText(context, TextLocation.tag, data.lead), hint: this.handleJsonText(context, TextLocation.tag, data.hint), instruction: this.handleJsonText(context, TextLocation.tag, data.instruction) }, this.toExample(false, undefined, undefined)), { attrs: {} });
1021
1028
  // Remove Unset Optionals
1022
1029
  ObjectUtils.removeUnwantedProperties(node, {
1023
1030
  ignoreAllFalse: true,
@@ -1049,7 +1056,7 @@ class Builder extends BaseBuilder {
1049
1056
  if (!data)
1050
1057
  return undefined;
1051
1058
  // NOTE: Node order is important and is defined here
1052
- const node = Object.assign({ text: (_a = data.text) !== null && _a !== void 0 ? _a : '', isCorrect: !!data.isCorrect, isHighlighted: !!data.isHighlighted, item: this.handleJsonText(context, true, data.item), lead: this.handleJsonText(context, true, data.lead), hint: this.handleJsonText(context, true, data.hint), instruction: this.handleJsonText(context, true, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, !!data.isCorrect));
1059
+ const node = Object.assign({ text: (_a = data.text) !== null && _a !== void 0 ? _a : '', isCorrect: !!data.isCorrect, isHighlighted: !!data.isHighlighted, item: this.handleJsonText(context, TextLocation.tag, data.item), lead: this.handleJsonText(context, TextLocation.tag, data.lead), hint: this.handleJsonText(context, TextLocation.tag, data.hint), instruction: this.handleJsonText(context, TextLocation.tag, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, !!data.isCorrect));
1053
1060
  // Remove Unset Optionals
1054
1061
  ObjectUtils.removeUnwantedProperties(node, {
1055
1062
  ignoreAllFalse: true,
@@ -1083,7 +1090,7 @@ class Builder extends BaseBuilder {
1083
1090
  // NOTE: Node order is important and is defined here
1084
1091
  const node = Object.assign({ question: this.buildTextAndIcon(context, data.question), answer: this.buildTextAndIcon(context, data.answer), alternativeAnswers: ((_a = data.alternativeAnswers) !== null && _a !== void 0 ? _a : [])
1085
1092
  .map((d) => this.buildTextAndIcon(context, d))
1086
- .filter((d) => d != null), item: this.handleJsonText(context, true, data.item), lead: this.handleJsonText(context, true, data.lead), hint: this.handleJsonText(context, true, data.hint), instruction: this.handleJsonText(context, true, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, true));
1093
+ .filter((d) => d != null), item: this.handleJsonText(context, TextLocation.tag, data.item), lead: this.handleJsonText(context, TextLocation.tag, data.lead), hint: this.handleJsonText(context, TextLocation.tag, data.hint), instruction: this.handleJsonText(context, TextLocation.tag, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, true));
1087
1094
  // Remove Unset Optionals
1088
1095
  ObjectUtils.removeUnwantedProperties(node, {
1089
1096
  ignoreAllFalse: true,
@@ -1119,7 +1126,7 @@ class Builder extends BaseBuilder {
1119
1126
  // NOTE: Node order is important and is defined here
1120
1127
  const node = Object.assign({ term: this.buildTextAndIcon(context, data.term, textAsStrings), definition: this.buildTextAndIcon(context, data.definition, textAsStrings), alternativeDefinitions: ((_a = data.alternativeDefinitions) !== null && _a !== void 0 ? _a : [])
1121
1128
  .map((d) => this.buildTextAndIcon(context, d, textAsStrings))
1122
- .filter((d) => d != null), item: this.handleJsonText(context, true, data.item), lead: this.handleJsonText(context, true, data.lead), hint: this.handleJsonText(context, true, data.hint), instruction: this.handleJsonText(context, true, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, true));
1129
+ .filter((d) => d != null), item: this.handleJsonText(context, TextLocation.tag, data.item), lead: this.handleJsonText(context, TextLocation.tag, data.lead), hint: this.handleJsonText(context, TextLocation.tag, data.hint), instruction: this.handleJsonText(context, TextLocation.tag, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, true));
1123
1130
  // Remove Unset Optionals
1124
1131
  ObjectUtils.removeUnwantedProperties(node, {
1125
1132
  ignoreAllFalse: true,
@@ -1131,11 +1138,11 @@ class Builder extends BaseBuilder {
1131
1138
  buildTextAndIcon(context, data, textAsStrings = false) {
1132
1139
  const icon = this.resourceBuilder.resourceFromResourceJson(context, data === null || data === void 0 ? void 0 : data.icon);
1133
1140
  // Ensure text is bitmark text
1134
- let text = this.handleJsonText(context, true, data === null || data === void 0 ? void 0 : data.text);
1141
+ let text = this.handleJsonText(context, TextLocation.tag, data === null || data === void 0 ? void 0 : data.text);
1135
1142
  if (textAsStrings) {
1136
1143
  // Convert the bitmark text to plain text (without breakscaping, as that will happen in the Bitmark Generator)
1137
1144
  text = this.textGenerator
1138
- .generateSync(text, TextFormat.text, TextLocation.body, {
1145
+ .generateSync(text, TextFormat.plainText, TextLocation.body, {
1139
1146
  noBreakscaping: true,
1140
1147
  })
1141
1148
  .trim();
@@ -1175,7 +1182,7 @@ class Builder extends BaseBuilder {
1175
1182
  if (!data)
1176
1183
  return undefined;
1177
1184
  // NOTE: Node order is important and is defined here
1178
- const node = Object.assign({ statement: (_a = data.statement) !== null && _a !== void 0 ? _a : '', isCorrect: !!data.isCorrect, item: this.handleJsonText(context, true, data.item), lead: this.handleJsonText(context, true, data.lead), hint: this.handleJsonText(context, true, data.hint), instruction: this.handleJsonText(context, true, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, !!data.isCorrect));
1185
+ const node = Object.assign({ statement: (_a = data.statement) !== null && _a !== void 0 ? _a : '', isCorrect: !!data.isCorrect, item: this.handleJsonText(context, TextLocation.tag, data.item), lead: this.handleJsonText(context, TextLocation.tag, data.lead), hint: this.handleJsonText(context, TextLocation.tag, data.hint), instruction: this.handleJsonText(context, TextLocation.tag, data.instruction) }, this.toExample(data.__isDefaultExample, data.example, !!data.isCorrect));
1179
1186
  // Remove Unset Optionals
1180
1187
  ObjectUtils.removeUnwantedProperties(node, {
1181
1188
  ignoreAllFalse: true,
@@ -1295,7 +1302,7 @@ class Builder extends BaseBuilder {
1295
1302
  // NOTE: Node order is important and is defined here
1296
1303
  const node = {
1297
1304
  level: level !== null && level !== void 0 ? level : 0,
1298
- label: this.handleJsonText(context, true, label),
1305
+ label: this.handleJsonText(context, TextLocation.tag, label),
1299
1306
  };
1300
1307
  // Remove Unset Optionals
1301
1308
  ObjectUtils.removeUnwantedProperties(node, {