@gmb/bitmark-parser-generator 1.35.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (290) hide show
  1. package/dist/browser/bitmark-parser-generator.min.js +1 -1
  2. package/dist/browser/bundle-report.html +2 -2
  3. package/dist/cjs/BitmarkParserGenerator.js +8 -3
  4. package/dist/cjs/BitmarkParserGenerator.js.map +1 -1
  5. package/dist/cjs/ast/Ast.js +1 -0
  6. package/dist/cjs/ast/Ast.js.map +1 -1
  7. package/dist/cjs/ast/BaseBuilder.js +91 -54
  8. package/dist/cjs/ast/BaseBuilder.js.map +1 -1
  9. package/dist/cjs/ast/Builder.js +776 -389
  10. package/dist/cjs/ast/Builder.js.map +1 -1
  11. package/dist/cjs/ast/ResourceBuilder.js +516 -252
  12. package/dist/cjs/ast/ResourceBuilder.js.map +1 -1
  13. package/dist/cjs/ast/rules/NodeValidator.js +61 -22
  14. package/dist/cjs/ast/rules/NodeValidator.js.map +1 -1
  15. package/dist/cjs/breakscaping/Breakscape.js +96 -71
  16. package/dist/cjs/breakscaping/Breakscape.js.map +1 -1
  17. package/dist/cjs/config/raw/bits.js +14 -5
  18. package/dist/cjs/config/raw/bits.js.map +1 -1
  19. package/dist/cjs/config/raw/properties.js +7 -2
  20. package/dist/cjs/config/raw/properties.js.map +1 -1
  21. package/dist/cjs/generated/build-info.js +1 -1
  22. package/dist/cjs/generated/build-info.js.map +1 -1
  23. package/dist/cjs/generated/parser/bitmark/bitmark-peggy-parser.js +1 -0
  24. package/dist/cjs/generated/parser/bitmark/bitmark-peggy-parser.js.map +1 -1
  25. package/dist/cjs/generator/AstWalkerGenerator.js +4 -1
  26. package/dist/cjs/generator/AstWalkerGenerator.js.map +1 -1
  27. package/dist/cjs/generator/bitmark/BitmarkGenerator.js +959 -338
  28. package/dist/cjs/generator/bitmark/BitmarkGenerator.js.map +1 -1
  29. package/dist/cjs/generator/json/JsonGenerator.js +308 -1982
  30. package/dist/cjs/generator/json/JsonGenerator.js.map +1 -1
  31. package/dist/cjs/generator/text/TextGenerator.js +26 -8
  32. package/dist/cjs/generator/text/TextGenerator.js.map +1 -1
  33. package/dist/cjs/index.js.map +1 -1
  34. package/dist/cjs/model/ast/NodeType.js +27 -8
  35. package/dist/cjs/model/ast/NodeType.js.map +1 -1
  36. package/dist/cjs/model/config/enum/PropertyConfigKey.js +1 -0
  37. package/dist/cjs/model/config/enum/PropertyConfigKey.js.map +1 -1
  38. package/dist/cjs/model/enum/BitType.js +1 -2
  39. package/dist/cjs/model/enum/BitType.js.map +1 -1
  40. package/dist/cjs/model/enum/PropertyFormat.js +3 -1
  41. package/dist/cjs/model/enum/PropertyFormat.js.map +1 -1
  42. package/dist/cjs/model/enum/TextFormat.js +1 -1
  43. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserHelper.js +9 -3
  44. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserHelper.js.map +1 -1
  45. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserProcessor.js +49 -131
  46. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserProcessor.js.map +1 -1
  47. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserTypes.js.map +1 -1
  48. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserValidator.js +7 -31
  49. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserValidator.js.map +1 -1
  50. package/dist/cjs/parser/bitmark/peg/contentProcessors/BodyContentProcessor.js +255 -0
  51. package/dist/cjs/parser/bitmark/peg/contentProcessors/BodyContentProcessor.js.map +1 -0
  52. package/dist/cjs/parser/bitmark/peg/contentProcessors/BookChainContentProcessor.js +2 -1
  53. package/dist/cjs/parser/bitmark/peg/contentProcessors/BookChainContentProcessor.js.map +1 -1
  54. package/dist/cjs/parser/bitmark/peg/contentProcessors/CardContentProcessor.js +175 -129
  55. package/dist/cjs/parser/bitmark/peg/contentProcessors/CardContentProcessor.js.map +1 -1
  56. package/dist/cjs/parser/bitmark/peg/contentProcessors/ClozeTagContentProcessor.js +8 -2
  57. package/dist/cjs/parser/bitmark/peg/contentProcessors/ClozeTagContentProcessor.js.map +1 -1
  58. package/dist/cjs/parser/bitmark/peg/contentProcessors/ContentProcessorUtils.js +61 -0
  59. package/dist/cjs/parser/bitmark/peg/contentProcessors/ContentProcessorUtils.js.map +1 -0
  60. package/dist/cjs/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js +11 -5
  61. package/dist/cjs/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js.map +1 -1
  62. package/dist/cjs/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js +21 -17
  63. package/dist/cjs/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js.map +1 -1
  64. package/dist/cjs/parser/bitmark/peg/contentProcessors/FooterContentProcessor.js +50 -0
  65. package/dist/cjs/parser/bitmark/peg/contentProcessors/FooterContentProcessor.js.map +1 -0
  66. package/dist/cjs/parser/bitmark/peg/contentProcessors/GapChainContentProcessor.js +2 -15
  67. package/dist/cjs/parser/bitmark/peg/contentProcessors/GapChainContentProcessor.js.map +1 -1
  68. package/dist/cjs/parser/bitmark/peg/contentProcessors/ImageSourceChainContentProcessor.js +2 -4
  69. package/dist/cjs/parser/bitmark/peg/contentProcessors/ImageSourceChainContentProcessor.js.map +1 -1
  70. package/dist/cjs/parser/bitmark/peg/contentProcessors/ItemLeadTagContentProcessor.js +4 -1
  71. package/dist/cjs/parser/bitmark/peg/contentProcessors/ItemLeadTagContentProcessor.js.map +1 -1
  72. package/dist/cjs/parser/bitmark/peg/contentProcessors/MarkChainContentProcessor.js +2 -4
  73. package/dist/cjs/parser/bitmark/peg/contentProcessors/MarkChainContentProcessor.js.map +1 -1
  74. package/dist/cjs/parser/bitmark/peg/contentProcessors/MarkConfigChainContentProcessor.js +5 -5
  75. package/dist/cjs/parser/bitmark/peg/contentProcessors/MarkConfigChainContentProcessor.js.map +1 -1
  76. package/dist/cjs/parser/bitmark/peg/contentProcessors/PersonChainContentProcessor.js +5 -6
  77. package/dist/cjs/parser/bitmark/peg/contentProcessors/PersonChainContentProcessor.js.map +1 -1
  78. package/dist/cjs/parser/bitmark/peg/contentProcessors/PropertyContentProcessor.js +23 -7
  79. package/dist/cjs/parser/bitmark/peg/contentProcessors/PropertyContentProcessor.js.map +1 -1
  80. package/dist/cjs/parser/bitmark/peg/contentProcessors/RatingLevelChainContentProcessor.js +5 -5
  81. package/dist/cjs/parser/bitmark/peg/contentProcessors/RatingLevelChainContentProcessor.js.map +1 -1
  82. package/dist/cjs/parser/bitmark/peg/contentProcessors/ReferenceTagContentProcessor.js +3 -2
  83. package/dist/cjs/parser/bitmark/peg/contentProcessors/ReferenceTagContentProcessor.js.map +1 -1
  84. package/dist/cjs/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js +19 -8
  85. package/dist/cjs/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js.map +1 -1
  86. package/dist/cjs/parser/bitmark/peg/contentProcessors/ServingsChainContentProcessor.js +4 -6
  87. package/dist/cjs/parser/bitmark/peg/contentProcessors/ServingsChainContentProcessor.js.map +1 -1
  88. package/dist/cjs/parser/bitmark/peg/contentProcessors/TechnicalTermChainContentProcessor.js +4 -5
  89. package/dist/cjs/parser/bitmark/peg/contentProcessors/TechnicalTermChainContentProcessor.js.map +1 -1
  90. package/dist/cjs/parser/bitmark/peg/contentProcessors/TitleTagContentProcessor.js +14 -5
  91. package/dist/cjs/parser/bitmark/peg/contentProcessors/TitleTagContentProcessor.js.map +1 -1
  92. package/dist/cjs/parser/bitmark/peg/contentProcessors/TrueFalseChainContentProcessor.js +37 -21
  93. package/dist/cjs/parser/bitmark/peg/contentProcessors/TrueFalseChainContentProcessor.js.map +1 -1
  94. package/dist/cjs/parser/bitmark/peg/contentProcessors/TrueFalseTagContentProcessor.js +3 -2
  95. package/dist/cjs/parser/bitmark/peg/contentProcessors/TrueFalseTagContentProcessor.js.map +1 -1
  96. package/dist/cjs/parser/json/JsonParser.js +73 -765
  97. package/dist/cjs/parser/json/JsonParser.js.map +1 -1
  98. package/dist/cjs/parser/text/TextParser.js +61 -2
  99. package/dist/cjs/parser/text/TextParser.js.map +1 -1
  100. package/dist/cjs/utils/BitUtils.js +15 -13
  101. package/dist/cjs/utils/BitUtils.js.map +1 -1
  102. package/dist/esm/BitmarkParserGenerator.js +8 -3
  103. package/dist/esm/BitmarkParserGenerator.js.map +1 -1
  104. package/dist/esm/ast/Ast.js +1 -0
  105. package/dist/esm/ast/Ast.js.map +1 -1
  106. package/dist/esm/ast/BaseBuilder.js +91 -54
  107. package/dist/esm/ast/BaseBuilder.js.map +1 -1
  108. package/dist/esm/ast/Builder.js +776 -389
  109. package/dist/esm/ast/Builder.js.map +1 -1
  110. package/dist/esm/ast/ResourceBuilder.js +516 -252
  111. package/dist/esm/ast/ResourceBuilder.js.map +1 -1
  112. package/dist/esm/ast/rules/NodeValidator.js +61 -22
  113. package/dist/esm/ast/rules/NodeValidator.js.map +1 -1
  114. package/dist/esm/breakscaping/Breakscape.js +96 -71
  115. package/dist/esm/breakscaping/Breakscape.js.map +1 -1
  116. package/dist/esm/config/raw/bits.js +14 -5
  117. package/dist/esm/config/raw/bits.js.map +1 -1
  118. package/dist/esm/config/raw/properties.js +7 -2
  119. package/dist/esm/config/raw/properties.js.map +1 -1
  120. package/dist/esm/generated/build-info.js +1 -1
  121. package/dist/esm/generated/build-info.js.map +1 -1
  122. package/dist/esm/generated/parser/bitmark/bitmark-peggy-parser.js +1 -0
  123. package/dist/esm/generated/parser/bitmark/bitmark-peggy-parser.js.map +1 -1
  124. package/dist/esm/generator/AstWalkerGenerator.js +4 -1
  125. package/dist/esm/generator/AstWalkerGenerator.js.map +1 -1
  126. package/dist/esm/generator/bitmark/BitmarkGenerator.js +959 -338
  127. package/dist/esm/generator/bitmark/BitmarkGenerator.js.map +1 -1
  128. package/dist/esm/generator/json/JsonGenerator.js +308 -1982
  129. package/dist/esm/generator/json/JsonGenerator.js.map +1 -1
  130. package/dist/esm/generator/text/TextGenerator.js +26 -8
  131. package/dist/esm/generator/text/TextGenerator.js.map +1 -1
  132. package/dist/esm/index.js.map +1 -1
  133. package/dist/esm/model/ast/NodeType.js +27 -8
  134. package/dist/esm/model/ast/NodeType.js.map +1 -1
  135. package/dist/esm/model/config/enum/PropertyConfigKey.js +1 -0
  136. package/dist/esm/model/config/enum/PropertyConfigKey.js.map +1 -1
  137. package/dist/esm/model/enum/BitType.js +1 -2
  138. package/dist/esm/model/enum/BitType.js.map +1 -1
  139. package/dist/esm/model/enum/PropertyFormat.js +3 -1
  140. package/dist/esm/model/enum/PropertyFormat.js.map +1 -1
  141. package/dist/esm/model/enum/TextFormat.js +1 -1
  142. package/dist/esm/parser/bitmark/peg/BitmarkPegParserHelper.js +9 -3
  143. package/dist/esm/parser/bitmark/peg/BitmarkPegParserHelper.js.map +1 -1
  144. package/dist/esm/parser/bitmark/peg/BitmarkPegParserProcessor.js +49 -131
  145. package/dist/esm/parser/bitmark/peg/BitmarkPegParserProcessor.js.map +1 -1
  146. package/dist/esm/parser/bitmark/peg/BitmarkPegParserTypes.js.map +1 -1
  147. package/dist/esm/parser/bitmark/peg/BitmarkPegParserValidator.js +7 -31
  148. package/dist/esm/parser/bitmark/peg/BitmarkPegParserValidator.js.map +1 -1
  149. package/dist/esm/parser/bitmark/peg/contentProcessors/BodyContentProcessor.js +252 -0
  150. package/dist/esm/parser/bitmark/peg/contentProcessors/BodyContentProcessor.js.map +1 -0
  151. package/dist/esm/parser/bitmark/peg/contentProcessors/BookChainContentProcessor.js +2 -1
  152. package/dist/esm/parser/bitmark/peg/contentProcessors/BookChainContentProcessor.js.map +1 -1
  153. package/dist/esm/parser/bitmark/peg/contentProcessors/CardContentProcessor.js +175 -129
  154. package/dist/esm/parser/bitmark/peg/contentProcessors/CardContentProcessor.js.map +1 -1
  155. package/dist/esm/parser/bitmark/peg/contentProcessors/ClozeTagContentProcessor.js +8 -2
  156. package/dist/esm/parser/bitmark/peg/contentProcessors/ClozeTagContentProcessor.js.map +1 -1
  157. package/dist/esm/parser/bitmark/peg/contentProcessors/ContentProcessorUtils.js +58 -0
  158. package/dist/esm/parser/bitmark/peg/contentProcessors/ContentProcessorUtils.js.map +1 -0
  159. package/dist/esm/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js +11 -5
  160. package/dist/esm/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js.map +1 -1
  161. package/dist/esm/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js +21 -17
  162. package/dist/esm/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js.map +1 -1
  163. package/dist/esm/parser/bitmark/peg/contentProcessors/FooterContentProcessor.js +47 -0
  164. package/dist/esm/parser/bitmark/peg/contentProcessors/FooterContentProcessor.js.map +1 -0
  165. package/dist/esm/parser/bitmark/peg/contentProcessors/GapChainContentProcessor.js +2 -15
  166. package/dist/esm/parser/bitmark/peg/contentProcessors/GapChainContentProcessor.js.map +1 -1
  167. package/dist/esm/parser/bitmark/peg/contentProcessors/ImageSourceChainContentProcessor.js +2 -4
  168. package/dist/esm/parser/bitmark/peg/contentProcessors/ImageSourceChainContentProcessor.js.map +1 -1
  169. package/dist/esm/parser/bitmark/peg/contentProcessors/ItemLeadTagContentProcessor.js +4 -1
  170. package/dist/esm/parser/bitmark/peg/contentProcessors/ItemLeadTagContentProcessor.js.map +1 -1
  171. package/dist/esm/parser/bitmark/peg/contentProcessors/MarkChainContentProcessor.js +2 -4
  172. package/dist/esm/parser/bitmark/peg/contentProcessors/MarkChainContentProcessor.js.map +1 -1
  173. package/dist/esm/parser/bitmark/peg/contentProcessors/MarkConfigChainContentProcessor.js +5 -5
  174. package/dist/esm/parser/bitmark/peg/contentProcessors/MarkConfigChainContentProcessor.js.map +1 -1
  175. package/dist/esm/parser/bitmark/peg/contentProcessors/PersonChainContentProcessor.js +5 -6
  176. package/dist/esm/parser/bitmark/peg/contentProcessors/PersonChainContentProcessor.js.map +1 -1
  177. package/dist/esm/parser/bitmark/peg/contentProcessors/PropertyContentProcessor.js +23 -7
  178. package/dist/esm/parser/bitmark/peg/contentProcessors/PropertyContentProcessor.js.map +1 -1
  179. package/dist/esm/parser/bitmark/peg/contentProcessors/RatingLevelChainContentProcessor.js +5 -5
  180. package/dist/esm/parser/bitmark/peg/contentProcessors/RatingLevelChainContentProcessor.js.map +1 -1
  181. package/dist/esm/parser/bitmark/peg/contentProcessors/ReferenceTagContentProcessor.js +3 -2
  182. package/dist/esm/parser/bitmark/peg/contentProcessors/ReferenceTagContentProcessor.js.map +1 -1
  183. package/dist/esm/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js +19 -8
  184. package/dist/esm/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js.map +1 -1
  185. package/dist/esm/parser/bitmark/peg/contentProcessors/ServingsChainContentProcessor.js +4 -6
  186. package/dist/esm/parser/bitmark/peg/contentProcessors/ServingsChainContentProcessor.js.map +1 -1
  187. package/dist/esm/parser/bitmark/peg/contentProcessors/TechnicalTermChainContentProcessor.js +4 -5
  188. package/dist/esm/parser/bitmark/peg/contentProcessors/TechnicalTermChainContentProcessor.js.map +1 -1
  189. package/dist/esm/parser/bitmark/peg/contentProcessors/TitleTagContentProcessor.js +14 -5
  190. package/dist/esm/parser/bitmark/peg/contentProcessors/TitleTagContentProcessor.js.map +1 -1
  191. package/dist/esm/parser/bitmark/peg/contentProcessors/TrueFalseChainContentProcessor.js +37 -21
  192. package/dist/esm/parser/bitmark/peg/contentProcessors/TrueFalseChainContentProcessor.js.map +1 -1
  193. package/dist/esm/parser/bitmark/peg/contentProcessors/TrueFalseTagContentProcessor.js +3 -2
  194. package/dist/esm/parser/bitmark/peg/contentProcessors/TrueFalseTagContentProcessor.js.map +1 -1
  195. package/dist/esm/parser/json/JsonParser.js +73 -765
  196. package/dist/esm/parser/json/JsonParser.js.map +1 -1
  197. package/dist/esm/parser/text/TextParser.js +61 -2
  198. package/dist/esm/parser/text/TextParser.js.map +1 -1
  199. package/dist/esm/utils/BitUtils.js +15 -13
  200. package/dist/esm/utils/BitUtils.js.map +1 -1
  201. package/dist/types/BitmarkParserGenerator.d.ts +8 -0
  202. package/dist/types/BitmarkParserGenerator.d.ts.map +1 -1
  203. package/dist/types/ast/Ast.d.ts.map +1 -1
  204. package/dist/types/ast/BaseBuilder.d.ts +31 -21
  205. package/dist/types/ast/BaseBuilder.d.ts.map +1 -1
  206. package/dist/types/ast/Builder.d.ts +279 -441
  207. package/dist/types/ast/Builder.d.ts.map +1 -1
  208. package/dist/types/ast/ResourceBuilder.d.ts +177 -164
  209. package/dist/types/ast/ResourceBuilder.d.ts.map +1 -1
  210. package/dist/types/ast/rules/NodeValidator.d.ts +3 -2
  211. package/dist/types/ast/rules/NodeValidator.d.ts.map +1 -1
  212. package/dist/types/breakscaping/Breakscape.d.ts +6 -5
  213. package/dist/types/breakscaping/Breakscape.d.ts.map +1 -1
  214. package/dist/types/config/raw/bits.d.ts.map +1 -1
  215. package/dist/types/config/raw/properties.d.ts.map +1 -1
  216. package/dist/types/generated/parser/bitmark/bitmark-peggy-parser.d.ts.map +1 -1
  217. package/dist/types/generator/AstWalkerGenerator.d.ts.map +1 -1
  218. package/dist/types/generator/bitmark/BitmarkGenerator.d.ts +89 -55
  219. package/dist/types/generator/bitmark/BitmarkGenerator.d.ts.map +1 -1
  220. package/dist/types/generator/json/JsonGenerator.d.ts +88 -108
  221. package/dist/types/generator/json/JsonGenerator.d.ts.map +1 -1
  222. package/dist/types/generator/text/TextGenerator.d.ts +14 -2
  223. package/dist/types/generator/text/TextGenerator.d.ts.map +1 -1
  224. package/dist/types/index.d.ts +2 -2
  225. package/dist/types/index.d.ts.map +1 -1
  226. package/dist/types/model/ast/NodeType.d.ts +48 -16
  227. package/dist/types/model/ast/NodeType.d.ts.map +1 -1
  228. package/dist/types/model/ast/Nodes.d.ts +64 -440
  229. package/dist/types/model/ast/Nodes.d.ts.map +1 -1
  230. package/dist/types/model/config/enum/ConfigKey.d.ts +2 -0
  231. package/dist/types/model/config/enum/ConfigKey.d.ts.map +1 -1
  232. package/dist/types/model/config/enum/PropertyConfigKey.d.ts +3 -0
  233. package/dist/types/model/config/enum/PropertyConfigKey.d.ts.map +1 -1
  234. package/dist/types/model/enum/BitType.d.ts +2 -4
  235. package/dist/types/model/enum/BitType.d.ts.map +1 -1
  236. package/dist/types/model/enum/PropertyFormat.d.ts +4 -2
  237. package/dist/types/model/enum/PropertyFormat.d.ts.map +1 -1
  238. package/dist/types/model/enum/PropertyTag.d.ts +2 -0
  239. package/dist/types/model/enum/PropertyTag.d.ts.map +1 -1
  240. package/dist/types/model/json/BitJson.d.ts +32 -20
  241. package/dist/types/model/json/BitJson.d.ts.map +1 -1
  242. package/dist/types/model/json/BodyBitJson.d.ts +16 -12
  243. package/dist/types/model/json/BodyBitJson.d.ts.map +1 -1
  244. package/dist/types/model/json/ResourceJson.d.ts +2 -22
  245. package/dist/types/model/json/ResourceJson.d.ts.map +1 -1
  246. package/dist/types/parser/bitmark/peg/BitmarkPegParserHelper.d.ts +3 -2
  247. package/dist/types/parser/bitmark/peg/BitmarkPegParserHelper.d.ts.map +1 -1
  248. package/dist/types/parser/bitmark/peg/BitmarkPegParserProcessor.d.ts +2 -15
  249. package/dist/types/parser/bitmark/peg/BitmarkPegParserProcessor.d.ts.map +1 -1
  250. package/dist/types/parser/bitmark/peg/BitmarkPegParserTypes.d.ts +83 -71
  251. package/dist/types/parser/bitmark/peg/BitmarkPegParserTypes.d.ts.map +1 -1
  252. package/dist/types/parser/bitmark/peg/BitmarkPegParserValidator.d.ts +2 -2
  253. package/dist/types/parser/bitmark/peg/BitmarkPegParserValidator.d.ts.map +1 -1
  254. package/dist/types/parser/bitmark/peg/contentProcessors/BodyContentProcessor.d.ts +37 -0
  255. package/dist/types/parser/bitmark/peg/contentProcessors/BodyContentProcessor.d.ts.map +1 -0
  256. package/dist/types/parser/bitmark/peg/contentProcessors/BookChainContentProcessor.d.ts.map +1 -1
  257. package/dist/types/parser/bitmark/peg/contentProcessors/CardContentProcessor.d.ts +2 -2
  258. package/dist/types/parser/bitmark/peg/contentProcessors/CardContentProcessor.d.ts.map +1 -1
  259. package/dist/types/parser/bitmark/peg/contentProcessors/ClozeTagContentProcessor.d.ts.map +1 -1
  260. package/dist/types/parser/bitmark/peg/contentProcessors/ContentProcessorUtils.d.ts +15 -0
  261. package/dist/types/parser/bitmark/peg/contentProcessors/ContentProcessorUtils.d.ts.map +1 -0
  262. package/dist/types/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.d.ts.map +1 -1
  263. package/dist/types/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.d.ts.map +1 -1
  264. package/dist/types/parser/bitmark/peg/contentProcessors/FooterContentProcessor.d.ts +16 -0
  265. package/dist/types/parser/bitmark/peg/contentProcessors/FooterContentProcessor.d.ts.map +1 -0
  266. package/dist/types/parser/bitmark/peg/contentProcessors/GapChainContentProcessor.d.ts.map +1 -1
  267. package/dist/types/parser/bitmark/peg/contentProcessors/ImageSourceChainContentProcessor.d.ts.map +1 -1
  268. package/dist/types/parser/bitmark/peg/contentProcessors/ItemLeadTagContentProcessor.d.ts.map +1 -1
  269. package/dist/types/parser/bitmark/peg/contentProcessors/MarkChainContentProcessor.d.ts.map +1 -1
  270. package/dist/types/parser/bitmark/peg/contentProcessors/MarkConfigChainContentProcessor.d.ts.map +1 -1
  271. package/dist/types/parser/bitmark/peg/contentProcessors/PersonChainContentProcessor.d.ts.map +1 -1
  272. package/dist/types/parser/bitmark/peg/contentProcessors/PropertyContentProcessor.d.ts.map +1 -1
  273. package/dist/types/parser/bitmark/peg/contentProcessors/RatingLevelChainContentProcessor.d.ts.map +1 -1
  274. package/dist/types/parser/bitmark/peg/contentProcessors/ReferenceTagContentProcessor.d.ts.map +1 -1
  275. package/dist/types/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.d.ts +2 -2
  276. package/dist/types/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.d.ts.map +1 -1
  277. package/dist/types/parser/bitmark/peg/contentProcessors/ServingsChainContentProcessor.d.ts.map +1 -1
  278. package/dist/types/parser/bitmark/peg/contentProcessors/TechnicalTermChainContentProcessor.d.ts.map +1 -1
  279. package/dist/types/parser/bitmark/peg/contentProcessors/TitleTagContentProcessor.d.ts +5 -2
  280. package/dist/types/parser/bitmark/peg/contentProcessors/TitleTagContentProcessor.d.ts.map +1 -1
  281. package/dist/types/parser/bitmark/peg/contentProcessors/TrueFalseChainContentProcessor.d.ts +1 -1
  282. package/dist/types/parser/bitmark/peg/contentProcessors/TrueFalseChainContentProcessor.d.ts.map +1 -1
  283. package/dist/types/parser/bitmark/peg/contentProcessors/TrueFalseTagContentProcessor.d.ts.map +1 -1
  284. package/dist/types/parser/json/JsonParser.d.ts +9 -72
  285. package/dist/types/parser/json/JsonParser.d.ts.map +1 -1
  286. package/dist/types/parser/text/TextParser.d.ts +16 -1
  287. package/dist/types/parser/text/TextParser.d.ts.map +1 -1
  288. package/dist/types/utils/BitUtils.d.ts +8 -8
  289. package/dist/types/utils/BitUtils.d.ts.map +1 -1
  290. package/package.json +1 -1
@@ -1,22 +1,26 @@
1
- import { BreakscapedString } from '../model/ast/BreakscapedString';
1
+ import { Bit, BitmarkAst, Body, CardBit, Footer } from '../model/ast/Nodes';
2
+ import { JsonText } from '../model/ast/TextNodes';
2
3
  import { BitTypeType } from '../model/enum/BitType';
3
4
  import { ResourceTagType } from '../model/enum/ResourceTag';
4
5
  import { TextFormatType } from '../model/enum/TextFormat';
6
+ import { ImageResourceWrapperJson, ResourceJson } from '../model/json/ResourceJson';
5
7
  import { ParserError } from '../model/parser/ParserError';
6
8
  import { ParserInfo } from '../model/parser/ParserInfo';
7
9
  import { BaseBuilder } from './BaseBuilder';
8
- import { Bit, BitmarkAst, Resource, Body, Statement, Response, Quiz, Heading, Pair, Matrix, Choice, Question, AudioResource, ImageResource, MatrixCell, Gap, SelectOption, Select, HighlightText, Highlight, BotResponse, Person, BodyText, BodyPart, Mark, MarkConfig, Example, Flashcard, ImageSource, CardBit, Ingredient, TechnicalTerm, Table, Servings, RatingLevelStartEnd, CaptionDefinition, CaptionDefinitionList, Footer, FooterText, DefinitionListItem } from '../model/ast/Nodes';
10
+ import { BotResponseJson, CaptionDefinitionJson, CaptionDefinitionListJson, ChoiceJson, DefinitionListItemJson, ExampleJson, FlashcardJson, HeadingJson, ImageSourceJson, IngredientJson, MarkConfigJson, MatrixCellJson, MatrixJson, PairJson, PersonJson, QuestionJson, QuizJson, RatingLevelStartEndJson, ResponseJson, ServingsJson, StatementJson, TableJson, TechnicalTermJson } from '../model/json/BitJson';
11
+ import { GapJson, HighlightJson, HighlightTextJson, MarkJson, SelectJson, SelectOptionJson } from '../model/json/BodyBitJson';
9
12
  /**
10
13
  * Builder to build bitmark AST node programmatically
11
14
  */
12
15
  declare class Builder extends BaseBuilder {
16
+ private resourceBuilder;
13
17
  /**
14
18
  * Build bitmark node
15
19
  *
16
20
  * @param data - data for the node
17
21
  * @returns
18
22
  */
19
- bitmark(data: {
23
+ buildBitmark(data: {
20
24
  bits?: Bit[];
21
25
  errors?: ParserError[];
22
26
  }): BitmarkAst;
@@ -26,74 +30,74 @@ declare class Builder extends BaseBuilder {
26
30
  * @param data - data for the node
27
31
  * @returns
28
32
  */
29
- bit(data: {
33
+ buildBit(data: {
30
34
  bitType: BitTypeType;
31
35
  bitLevel: number;
32
36
  textFormat?: TextFormatType;
33
37
  resourceType?: ResourceTagType;
34
38
  isCommented?: boolean;
35
- id?: BreakscapedString | BreakscapedString[];
36
- internalComment?: BreakscapedString | BreakscapedString[];
37
- externalId?: BreakscapedString | BreakscapedString[];
38
- spaceId?: BreakscapedString | BreakscapedString[];
39
- padletId?: BreakscapedString;
40
- jupyterId?: BreakscapedString;
39
+ id?: string | string[];
40
+ internalComment?: string | string[];
41
+ externalId?: string | string[];
42
+ spaceId?: string | string[];
43
+ padletId?: string;
44
+ jupyterId?: string;
41
45
  jupyterExecutionCount?: number;
42
46
  isPublic?: boolean;
43
47
  aiGenerated?: boolean;
44
- machineTranslated?: BreakscapedString;
45
- analyticsTag?: BreakscapedString | BreakscapedString[];
46
- feedbackEngine?: BreakscapedString;
47
- feedbackType?: BreakscapedString;
48
+ machineTranslated?: string;
49
+ analyticsTag?: string | string[];
50
+ feedbackEngine?: string;
51
+ feedbackType?: string;
48
52
  disableFeedback?: boolean;
49
- releaseVersion?: BreakscapedString;
50
- releaseKind?: BreakscapedString;
51
- releaseDate?: BreakscapedString;
53
+ releaseVersion?: string;
54
+ releaseKind?: string;
55
+ releaseDate?: string;
52
56
  ageRange?: number | number[];
53
- lang?: BreakscapedString;
54
- language?: BreakscapedString | BreakscapedString[];
55
- publisher?: BreakscapedString | BreakscapedString[];
56
- publisherName?: BreakscapedString;
57
- theme?: BreakscapedString | BreakscapedString[];
58
- computerLanguage?: BreakscapedString;
59
- target?: BreakscapedString | BreakscapedString[];
60
- slug?: BreakscapedString;
61
- tag?: BreakscapedString | BreakscapedString[];
62
- reductionTag?: BreakscapedString | BreakscapedString[];
63
- bubbleTag?: BreakscapedString | BreakscapedString[];
64
- levelCEFRp?: BreakscapedString | BreakscapedString[];
65
- levelCEFR?: BreakscapedString | BreakscapedString[];
66
- levelILR?: BreakscapedString | BreakscapedString[];
67
- levelACTFL?: BreakscapedString | BreakscapedString[];
68
- icon?: BreakscapedString;
69
- iconTag?: BreakscapedString;
70
- colorTag?: BreakscapedString | BreakscapedString[];
71
- flashcardSet?: BreakscapedString | BreakscapedString[];
72
- subtype?: BreakscapedString;
73
- bookAlias?: BreakscapedString | BreakscapedString[];
74
- coverImage?: BreakscapedString | BreakscapedString[];
75
- coverColor?: BreakscapedString;
76
- publications?: BreakscapedString | BreakscapedString[];
77
- author?: BreakscapedString | BreakscapedString[];
78
- subject?: BreakscapedString | BreakscapedString[];
79
- date?: BreakscapedString;
80
- dateEnd?: BreakscapedString;
81
- location?: BreakscapedString;
82
- kind?: BreakscapedString;
57
+ lang?: string;
58
+ language?: string | string[];
59
+ publisher?: string | string[];
60
+ publisherName?: string;
61
+ theme?: string | string[];
62
+ computerLanguage?: string;
63
+ target?: string | string[];
64
+ slug?: string;
65
+ tag?: string | string[];
66
+ reductionTag?: string | string[];
67
+ bubbleTag?: string | string[];
68
+ levelCEFRp?: string | string[];
69
+ levelCEFR?: string | string[];
70
+ levelILR?: string | string[];
71
+ levelACTFL?: string | string[];
72
+ icon?: string;
73
+ iconTag?: string;
74
+ colorTag?: string | string[];
75
+ flashcardSet?: string | string[];
76
+ subtype?: string;
77
+ bookAlias?: string | string[];
78
+ coverImage?: string | string[];
79
+ coverColor?: string;
80
+ publications?: string | string[];
81
+ author?: string | string[];
82
+ subject?: string | string[];
83
+ date?: string;
84
+ dateEnd?: string;
85
+ location?: string;
86
+ kind?: string;
83
87
  hasMarkAsDone?: boolean;
84
88
  processHandIn?: boolean;
85
- action?: BreakscapedString;
89
+ action?: string;
86
90
  showInIndex?: boolean;
87
- blockId?: BreakscapedString;
91
+ blockId?: string;
88
92
  pageNo?: number;
89
93
  x?: number;
90
94
  y?: number;
91
95
  width?: string;
92
96
  height?: string;
93
97
  index?: number;
94
- classification?: BreakscapedString;
95
- availableClassifications?: BreakscapedString | BreakscapedString[];
96
- allowedBit?: BreakscapedString | BreakscapedString[];
98
+ classification?: string;
99
+ availableClassifications?: string | string[];
100
+ allowedBit?: string | string[];
97
101
  tableFixedHeader?: boolean;
98
102
  tableSearch?: boolean;
99
103
  tableSort?: boolean;
@@ -103,615 +107,449 @@ declare class Builder extends BaseBuilder {
103
107
  tableWhitespaceNoWrap?: boolean;
104
108
  tableAutoWidth?: boolean;
105
109
  tableResizableColumns?: boolean;
110
+ tableColumnMinWidth?: number;
106
111
  quizCountItems?: boolean;
107
112
  quizStrikethroughSolutions?: boolean;
108
113
  codeLineNumbers?: boolean;
109
114
  codeMinimap?: boolean;
110
- stripePricingTableId?: BreakscapedString;
111
- stripePublishableKey?: BreakscapedString;
112
- thumbImage?: BreakscapedString;
113
- scormSource?: BreakscapedString;
114
- posterImage?: BreakscapedString;
115
+ stripePricingTableId?: string;
116
+ stripePublishableKey?: string;
117
+ thumbImage?: string;
118
+ scormSource?: string;
119
+ posterImage?: string;
115
120
  focusX?: number;
116
121
  focusY?: number;
117
- pointerLeft?: BreakscapedString;
118
- pointerTop?: BreakscapedString;
122
+ pointerLeft?: string;
123
+ pointerTop?: string;
119
124
  listItemIndent?: number;
120
- backgroundWallpaper?: BreakscapedString;
125
+ backgroundWallpaper?: string;
121
126
  hasBookNavigation?: boolean;
122
- duration?: BreakscapedString;
123
- referenceProperty?: BreakscapedString | BreakscapedString[];
124
- deeplink?: BreakscapedString | BreakscapedString[];
125
- externalLink?: BreakscapedString;
126
- externalLinkText?: BreakscapedString;
127
- videoCallLink?: BreakscapedString;
128
- vendorUrl?: BreakscapedString;
129
- search?: BreakscapedString;
130
- bot?: BreakscapedString | BreakscapedString[];
131
- list?: BreakscapedString | BreakscapedString[];
132
- textReference?: BreakscapedString;
127
+ duration?: string;
128
+ referenceProperty?: string | string[];
129
+ deeplink?: string | string[];
130
+ externalLink?: string;
131
+ externalLinkText?: string;
132
+ videoCallLink?: string;
133
+ vendorUrl?: string;
134
+ search?: string;
135
+ bot?: string | string[];
136
+ list?: string | string[];
137
+ textReference?: string;
133
138
  isTracked?: boolean;
134
139
  isInfoOnly?: boolean;
135
140
  imageFirst?: boolean;
136
- activityType?: BreakscapedString;
137
- labelTrue?: BreakscapedString;
138
- labelFalse?: BreakscapedString;
139
- content2Buy?: BreakscapedString;
140
- mailingList?: BreakscapedString;
141
- buttonCaption?: BreakscapedString;
142
- callToActionUrl?: BreakscapedString;
143
- caption?: BreakscapedString;
144
- quotedPerson?: BreakscapedString;
141
+ activityType?: string;
142
+ labelTrue?: string;
143
+ labelFalse?: string;
144
+ content2Buy?: string;
145
+ mailingList?: string;
146
+ buttonCaption?: string;
147
+ callToActionUrl?: string;
148
+ caption?: JsonText;
149
+ quotedPerson?: string;
145
150
  reasonableNumOfChars?: number;
146
151
  resolved?: boolean;
147
- resolvedDate?: BreakscapedString;
148
- resolvedBy?: BreakscapedString;
152
+ resolvedDate?: string;
153
+ resolvedBy?: string;
149
154
  maxCreatedBits?: number;
150
155
  maxDisplayLevel?: number;
151
- page?: BreakscapedString | BreakscapedString[];
152
- productId?: BreakscapedString | BreakscapedString[];
153
- product?: BreakscapedString | BreakscapedString[];
154
- productList?: BreakscapedString | BreakscapedString[];
155
- productVideo?: BreakscapedString | BreakscapedString[];
156
- productVideoList?: BreakscapedString | BreakscapedString[];
157
- productFolder?: BreakscapedString;
158
- technicalTerm?: TechnicalTerm;
159
- servings?: Servings;
160
- ratingLevelStart?: RatingLevelStartEnd;
161
- ratingLevelEnd?: RatingLevelStartEnd;
156
+ page?: string | string[];
157
+ productId?: string | string[];
158
+ product?: string | string[];
159
+ productList?: string | string[];
160
+ productVideo?: string | string[];
161
+ productVideoList?: string | string[];
162
+ productFolder?: string;
163
+ technicalTerm?: Partial<TechnicalTermJson>;
164
+ servings?: Partial<ServingsJson>;
165
+ ratingLevelStart?: Partial<RatingLevelStartEndJson>;
166
+ ratingLevelEnd?: Partial<RatingLevelStartEndJson>;
162
167
  ratingLevelSelected?: number;
163
- partialAnswer?: BreakscapedString;
164
- book?: BreakscapedString;
165
- title?: BreakscapedString;
166
- subtitle?: BreakscapedString;
167
- level?: number | BreakscapedString;
168
+ partialAnswer?: string;
169
+ book?: string;
170
+ title?: JsonText;
171
+ subtitle?: JsonText;
172
+ level?: number | string;
168
173
  toc?: boolean;
169
174
  progress?: boolean;
170
- anchor?: BreakscapedString;
171
- reference?: BreakscapedString;
172
- referenceEnd?: BreakscapedString;
175
+ anchor?: string;
176
+ reference?: string;
177
+ referenceEnd?: string;
173
178
  isCaseSensitive?: boolean;
174
- item?: BreakscapedString;
175
- lead?: BreakscapedString;
176
- pageNumber?: BreakscapedString;
177
- marginNumber?: BreakscapedString;
178
- hint?: BreakscapedString;
179
- instruction?: BreakscapedString;
180
- isDefaultExample?: boolean;
181
- example?: Example;
182
- imageSource?: ImageSource;
183
- person?: Person;
179
+ item?: JsonText;
180
+ lead?: JsonText;
181
+ pageNumber?: JsonText;
182
+ marginNumber?: JsonText;
183
+ hint?: JsonText;
184
+ instruction?: JsonText;
185
+ example?: Partial<ExampleJson>;
186
+ imageSource?: Partial<ImageSourceJson>;
187
+ person?: Partial<PersonJson>;
184
188
  extraProperties?: {
185
189
  [key: string]: unknown | unknown[];
186
190
  };
187
- markConfig?: MarkConfig[];
188
- imagePlaceholder?: ImageResource;
189
- resources?: Resource | Resource[];
190
- body?: Body;
191
- sampleSolution?: BreakscapedString;
192
- additionalSolutions?: BreakscapedString | BreakscapedString[];
193
- elements?: BreakscapedString[];
194
- flashcards?: Flashcard[];
195
- definitions?: DefinitionListItem[];
196
- statement?: Statement;
197
- statements?: Statement[];
198
- responses?: Response[];
199
- quizzes?: Quiz[];
200
- heading?: Heading;
201
- pairs?: Pair[];
202
- matrix?: Matrix[];
203
- table?: Table;
204
- choices?: Choice[];
205
- questions?: Question[];
206
- botResponses?: BotResponse[];
207
- ingredients?: Ingredient[];
208
- captionDefinitionList?: CaptionDefinitionList;
209
- cardBits?: CardBit[];
210
- footer?: Footer;
191
+ markConfig?: Partial<MarkConfigJson>[];
192
+ imagePlaceholder?: Partial<ImageResourceWrapperJson>;
193
+ resources?: Partial<ResourceJson> | Partial<ResourceJson>[];
194
+ body?: Partial<Body>;
195
+ sampleSolution?: string;
196
+ additionalSolutions?: string | string[];
197
+ elements?: string[];
198
+ flashcards?: Partial<FlashcardJson>[];
199
+ definitions?: Partial<DefinitionListItemJson>[];
200
+ statement?: Partial<StatementJson>;
201
+ statements?: Partial<StatementJson>[];
202
+ responses?: Partial<ResponseJson>[];
203
+ quizzes?: Partial<QuizJson>[];
204
+ heading?: Partial<HeadingJson>;
205
+ pairs?: Partial<PairJson>[];
206
+ matrix?: Partial<MatrixJson>[];
207
+ table?: Partial<TableJson>;
208
+ choices?: Partial<ChoiceJson>[];
209
+ questions?: Partial<QuestionJson>[];
210
+ botResponses?: Partial<BotResponseJson>[];
211
+ ingredients?: Partial<IngredientJson>[];
212
+ captionDefinitionList?: Partial<CaptionDefinitionListJson>;
213
+ cardBits?: Partial<CardBit>[];
214
+ footer?: Partial<Footer>;
211
215
  markup?: string;
212
216
  parser?: ParserInfo;
217
+ __isDefaultExample?: boolean;
213
218
  }): Bit | undefined;
219
+ /**
220
+ * Build choice[] node
221
+ *
222
+ * @param data - data for the node
223
+ * @returns
224
+ */
225
+ protected buildChoices(data: Partial<ChoiceJson>[] | undefined): ChoiceJson[] | undefined;
214
226
  /**
215
227
  * Build choice node
216
228
  *
217
229
  * @param data - data for the node
218
230
  * @returns
219
231
  */
220
- choice(data: {
221
- text: BreakscapedString;
222
- isCorrect: boolean;
223
- item?: BreakscapedString;
224
- lead?: BreakscapedString;
225
- pageNumber?: BreakscapedString;
226
- marginNumber?: BreakscapedString;
227
- hint?: BreakscapedString;
228
- instruction?: BreakscapedString;
229
- isDefaultExample?: boolean;
230
- example?: Example;
231
- }): Choice;
232
+ protected buildChoice(data: Partial<ChoiceJson> | undefined): ChoiceJson | undefined;
233
+ /**
234
+ * Build response[] node
235
+ *
236
+ * @param data - data for the node
237
+ * @returns
238
+ */
239
+ protected buildResponses(data: Partial<ResponseJson>[] | undefined): ResponseJson[] | undefined;
232
240
  /**
233
241
  * Build response node
234
242
  *
235
243
  * @param data - data for the node
236
244
  * @returns
237
245
  */
238
- response(data: {
239
- text: BreakscapedString;
240
- isCorrect: boolean;
241
- item?: BreakscapedString;
242
- lead?: BreakscapedString;
243
- pageNumber?: BreakscapedString;
244
- marginNumber?: BreakscapedString;
245
- hint?: BreakscapedString;
246
- instruction?: BreakscapedString;
247
- isDefaultExample?: boolean;
248
- example?: Example;
249
- }): Response;
246
+ protected buildResponse(data: Partial<ResponseJson> | undefined): ResponseJson | undefined;
247
+ /**
248
+ * Build bot response[] node
249
+ *
250
+ * @param data - data for the node
251
+ * @returns
252
+ */
253
+ protected buildBotResponses(data: Partial<BotResponseJson>[] | undefined): BotResponseJson[] | undefined;
250
254
  /**
251
255
  * Build bot response node
252
256
  *
253
257
  * @param data - data for the node
254
258
  * @returns
255
259
  */
256
- botResponse(data: {
257
- response: BreakscapedString;
258
- reaction: BreakscapedString;
259
- feedback: BreakscapedString;
260
- item?: BreakscapedString;
261
- lead?: BreakscapedString;
262
- pageNumber?: BreakscapedString;
263
- marginNumber?: BreakscapedString;
264
- hint?: BreakscapedString;
265
- }): BotResponse;
260
+ protected botResponse(data: Partial<BotResponseJson> | undefined): BotResponseJson | undefined;
261
+ /**
262
+ * Build quiz[] node
263
+ *
264
+ * @param data - data for the node
265
+ * @returns
266
+ */
267
+ protected buildQuizzes(data: Partial<QuizJson>[] | undefined): QuizJson[] | undefined;
266
268
  /**
267
269
  * Build quiz node
268
270
  *
269
271
  * @param data - data for the node
270
272
  * @returns
271
273
  */
272
- quiz(data: {
273
- item?: BreakscapedString;
274
- lead?: BreakscapedString;
275
- pageNumber?: BreakscapedString;
276
- marginNumber?: BreakscapedString;
277
- hint?: BreakscapedString;
278
- instruction?: BreakscapedString;
279
- isDefaultExample?: boolean;
280
- example?: Example;
281
- choices?: Choice[];
282
- responses?: Response[];
283
- }): Quiz;
274
+ protected buildQuiz(data: Partial<QuizJson> | undefined): QuizJson | undefined;
284
275
  /**
285
276
  * Build heading node
286
277
  *
287
278
  * @param data - data for the node
288
279
  * @returns
289
280
  */
290
- heading(data: {
291
- forKeys: BreakscapedString;
292
- forValues: BreakscapedString | BreakscapedString[];
293
- }): Heading | undefined;
281
+ protected buildHeading(data: Partial<HeadingJson> | undefined): HeadingJson | undefined;
282
+ /**
283
+ * Build pair[] node
284
+ *
285
+ * @param data - data for the node
286
+ * @returns
287
+ */
288
+ protected buildPairs(bitType: BitTypeType, data: Partial<PairJson>[] | undefined): PairJson[] | undefined;
294
289
  /**
295
290
  * Build pair node
296
291
  *
297
292
  * @param data - data for the node
298
293
  * @returns
299
294
  */
300
- pair(data: {
301
- key?: BreakscapedString;
302
- keyAudio?: AudioResource;
303
- keyImage?: ImageResource;
304
- values: BreakscapedString[];
305
- item?: BreakscapedString;
306
- lead?: BreakscapedString;
307
- pageNumber?: BreakscapedString;
308
- marginNumber?: BreakscapedString;
309
- hint?: BreakscapedString;
310
- instruction?: BreakscapedString;
311
- isCaseSensitive?: boolean;
312
- isDefaultExample?: boolean;
313
- example?: Example;
314
- }): Pair;
295
+ protected buildPair(bitType: BitTypeType, data: Partial<PairJson> | undefined): PairJson | undefined;
296
+ /**
297
+ * Build matrix[] node
298
+ *
299
+ * @param data - data for the node
300
+ * @returns
301
+ */
302
+ protected buildMatricies(data: Partial<MatrixJson>[] | undefined): MatrixJson[] | undefined;
315
303
  /**
316
304
  * Build matrix node
317
305
  *
318
306
  * @param data - data for the node
319
307
  * @returns
320
308
  */
321
- matrix(data: {
322
- key: BreakscapedString;
323
- cells: MatrixCell[];
324
- item?: BreakscapedString;
325
- lead?: BreakscapedString;
326
- pageNumber?: BreakscapedString;
327
- marginNumber?: BreakscapedString;
328
- hint?: BreakscapedString;
329
- instruction?: BreakscapedString;
330
- isDefaultExample?: boolean;
331
- }): Matrix;
309
+ protected buildMatrix(data: Partial<MatrixJson> | undefined): MatrixJson | undefined;
332
310
  /**
333
311
  * Build matrixCell node
334
312
  *
335
313
  * @param data - data for the node
336
314
  * @returns
337
315
  */
338
- matrixCell(data: {
339
- values: BreakscapedString[];
340
- item?: BreakscapedString;
341
- lead?: BreakscapedString;
342
- hint?: BreakscapedString;
343
- pageNumber?: BreakscapedString;
344
- marginNumber?: BreakscapedString;
345
- instruction?: BreakscapedString;
346
- isCaseSensitive?: boolean;
347
- isDefaultExample?: boolean;
348
- example?: Example;
349
- }): MatrixCell;
316
+ protected buildMatrixCell(data: Partial<MatrixCellJson> | undefined): MatrixCellJson | undefined;
350
317
  /**
351
318
  * Build table node
352
319
  *
353
320
  * @param data - data for the node
354
321
  * @returns
355
322
  */
356
- table(data: {
357
- columns: BreakscapedString[];
358
- rows: BreakscapedString[][];
359
- }): Table;
323
+ protected buildTable(dataIn: Partial<TableJson> | undefined): TableJson | undefined;
360
324
  /**
361
- * Build question node
325
+ * Build question[] node
362
326
  *
363
327
  * @param data - data for the node
364
328
  * @returns
365
329
  */
366
- question(data: {
367
- question: BreakscapedString;
368
- partialAnswer?: BreakscapedString;
369
- sampleSolution?: BreakscapedString;
370
- additionalSolutions?: BreakscapedString[];
371
- item?: BreakscapedString;
372
- lead?: BreakscapedString;
373
- pageNumber?: BreakscapedString;
374
- marginNumber?: BreakscapedString;
375
- hint?: BreakscapedString;
376
- instruction?: BreakscapedString;
377
- reasonableNumOfChars?: number;
378
- isDefaultExample?: boolean;
379
- example?: Example;
380
- }): Question;
330
+ protected buildQuestions(data: Partial<QuestionJson>[] | undefined): QuestionJson[] | undefined;
381
331
  /**
382
- * Build ingredient node
332
+ * Build question node
383
333
  *
384
334
  * @param data - data for the node
385
335
  * @returns
386
336
  */
387
- ingredient(data: {
388
- title?: BreakscapedString;
389
- checked?: boolean;
390
- item?: BreakscapedString;
391
- quantity?: number;
392
- unit?: BreakscapedString;
393
- unitAbbr?: BreakscapedString;
394
- decimalPlaces?: number;
395
- disableCalculation?: boolean;
396
- }): Ingredient;
337
+ protected buildQuestion(data: Partial<QuestionJson> | undefined): QuestionJson | undefined;
397
338
  /**
398
- * Build body node
339
+ * Build ingredient[] node
399
340
  *
400
341
  * @param data - data for the node
401
342
  * @returns
402
343
  */
403
- body(data: {
404
- bodyParts?: BodyPart[];
405
- bodyJson?: unknown;
406
- }): Body;
344
+ protected buildIngredients(data: Partial<IngredientJson>[] | undefined): IngredientJson[] | undefined;
407
345
  /**
408
- * Build bodyPartText node
346
+ * Build ingredient node
409
347
  *
410
348
  * @param data - data for the node
411
- * @param isPlain - true if plain text, otherwise false
412
349
  * @returns
413
350
  */
414
- bodyText(data: {
415
- text: BreakscapedString;
416
- }, isPlain: boolean): BodyText;
351
+ protected buildIngredient(data: Partial<IngredientJson> | undefined): IngredientJson | undefined;
417
352
  /**
418
- * Build footer node
353
+ * Build body node
354
+ * - Handles JSON, Bitmark text, and plain text
355
+ * - body: set to either string, TextAst, or JSON
356
+ * - bodyBits: set to array of BodyBitJson (will be validated and merged into body if it is a string)
357
+ * - placeholders: set to placeholders from v2 JSON when body is a v2 JSON string
358
+ * - bodyString: set to the original string if body is a string (only used for card body)
419
359
  *
420
360
  * @param data - data for the node
421
361
  * @returns
422
362
  */
423
- footer(data: {
424
- footerParts?: FooterText[];
425
- }): Footer;
363
+ protected buildBody(textFormat: TextFormatType, data: Partial<Body> | undefined): Body | undefined;
426
364
  /**
427
365
  * Build footer node
428
366
  *
429
367
  * @param data - data for the node
430
368
  * @returns
431
369
  */
432
- footerText(data: {
433
- text: BreakscapedString;
434
- }, isPlain: boolean): FooterText;
370
+ protected buildFooter(data: Partial<Footer> | undefined): Footer | undefined;
435
371
  /**
436
372
  * Build gap node
437
373
  *
438
374
  * @param data - data for the node
439
375
  * @returns
440
376
  */
441
- gap(data: {
442
- solutions: BreakscapedString[];
443
- item?: BreakscapedString;
444
- lead?: BreakscapedString;
445
- pageNumber?: BreakscapedString;
446
- marginNumber?: BreakscapedString;
447
- hint?: BreakscapedString;
448
- instruction?: BreakscapedString;
449
- isCaseSensitive?: boolean;
450
- isDefaultExample?: boolean;
451
- example?: Example;
452
- }): Gap;
377
+ protected buildGap(data: Partial<GapJson> | undefined): GapJson | undefined;
378
+ /**
379
+ * Build mark configs node
380
+ *
381
+ * @param data - data for the node
382
+ * @returns
383
+ */
384
+ protected buildMarkConfigs(data: Partial<MarkConfigJson>[] | undefined): MarkConfigJson[] | undefined;
453
385
  /**
454
386
  * Build mark config node
455
387
  *
456
388
  * @param data - data for the node
457
389
  * @returns
458
390
  */
459
- markConfig(data: {
460
- mark: BreakscapedString;
461
- color?: BreakscapedString;
462
- emphasis?: BreakscapedString;
463
- }): MarkConfig;
391
+ protected buildMarkConfig(data: Partial<MarkConfigJson> | undefined): MarkConfigJson | undefined;
464
392
  /**
465
393
  * Build mark node
466
394
  *
467
395
  * @param data - data for the node
468
396
  * @returns
469
397
  */
470
- mark(data: {
471
- solution: BreakscapedString;
472
- mark?: BreakscapedString;
473
- item?: BreakscapedString;
474
- lead?: BreakscapedString;
475
- pageNumber?: BreakscapedString;
476
- marginNumber?: BreakscapedString;
477
- hint?: BreakscapedString;
478
- instruction?: BreakscapedString;
479
- isDefaultExample?: boolean;
480
- example?: BreakscapedString | boolean;
481
- }): Mark;
398
+ protected buildMark(data: Partial<MarkJson> | undefined): MarkJson | undefined;
482
399
  /**
483
400
  * Build select node
484
401
  *
485
402
  * @param data - data for the node
486
403
  * @returns
487
404
  */
488
- select(data: {
489
- options: SelectOption[];
490
- prefix?: BreakscapedString;
491
- postfix?: BreakscapedString;
492
- item?: BreakscapedString;
493
- lead?: BreakscapedString;
494
- pageNumber?: BreakscapedString;
495
- marginNumber?: BreakscapedString;
496
- hint?: BreakscapedString;
497
- instruction?: BreakscapedString;
498
- }): Select;
405
+ protected buildSelect(data: Partial<SelectJson> | undefined): SelectJson | undefined;
406
+ /**
407
+ * Build selectOption[] node
408
+ *
409
+ * @param data - data for the node
410
+ * @returns
411
+ */
412
+ protected buildSelectOptions(data: Partial<SelectOptionJson>[] | undefined): SelectOptionJson[] | undefined;
499
413
  /**
500
414
  * Build selectOption node
501
415
  *
502
416
  * @param data - data for the node
503
417
  * @returns
504
418
  */
505
- selectOption(data: {
506
- text: BreakscapedString;
507
- isCorrect: boolean;
508
- item?: BreakscapedString;
509
- lead?: BreakscapedString;
510
- pageNumber?: BreakscapedString;
511
- marginNumber?: BreakscapedString;
512
- hint?: BreakscapedString;
513
- instruction?: BreakscapedString;
514
- isDefaultExample?: boolean;
515
- example?: Example;
516
- }): SelectOption;
419
+ protected buildSelectOption(data: Partial<SelectOptionJson> | undefined): SelectOptionJson | undefined;
517
420
  /**
518
421
  * Build highlight node
519
422
  *
520
423
  * @param data - data for the node
521
424
  * @returns
522
425
  */
523
- highlight(data: {
524
- texts: HighlightText[];
525
- prefix?: BreakscapedString;
526
- postfix?: BreakscapedString;
527
- item?: BreakscapedString;
528
- lead?: BreakscapedString;
529
- pageNumber?: BreakscapedString;
530
- marginNumber?: BreakscapedString;
531
- hint?: BreakscapedString;
532
- instruction?: BreakscapedString;
533
- }): Highlight;
426
+ buildHighlight(data: Partial<HighlightJson> | undefined): HighlightJson | undefined;
427
+ /**
428
+ * Build highlightText[] node
429
+ *
430
+ * @param data - data for the node
431
+ * @returns
432
+ */
433
+ protected buildHighlightTexts(data: Partial<HighlightTextJson>[] | undefined): HighlightTextJson[] | undefined;
534
434
  /**
535
435
  * Build highlightText node
536
436
  *
537
437
  * @param data - data for the node
538
438
  * @returns
539
439
  */
540
- highlightText(data: {
541
- text: BreakscapedString;
542
- isCorrect: boolean;
543
- isHighlighted: boolean;
544
- item?: BreakscapedString;
545
- lead?: BreakscapedString;
546
- pageNumber?: BreakscapedString;
547
- marginNumber?: BreakscapedString;
548
- hint?: BreakscapedString;
549
- instruction?: BreakscapedString;
550
- isDefaultExample?: boolean;
551
- example?: Example;
552
- }): HighlightText;
440
+ protected buildHighlightText(data: Partial<HighlightTextJson> | undefined): HighlightTextJson | undefined;
441
+ /**
442
+ * Build flashcards node
443
+ *
444
+ * @param data - data for the node
445
+ * @returns
446
+ */
447
+ protected buildFlashcards(data: Partial<FlashcardJson>[] | undefined): FlashcardJson[] | undefined;
553
448
  /**
554
449
  * Build flashcard node
555
450
  *
556
451
  * @param data - data for the node
557
452
  * @returns
558
453
  */
559
- flashcard(data: {
560
- question: BreakscapedString;
561
- answer?: BreakscapedString;
562
- alternativeAnswers?: BreakscapedString[];
563
- item?: BreakscapedString;
564
- lead?: BreakscapedString;
565
- pageNumber?: BreakscapedString;
566
- marginNumber?: BreakscapedString;
567
- hint?: BreakscapedString;
568
- instruction?: BreakscapedString;
569
- isDefaultExample?: boolean;
570
- example?: Example;
571
- }): Flashcard;
454
+ protected buildFlashcard(data: Partial<FlashcardJson> | undefined): FlashcardJson | undefined;
455
+ /**
456
+ * Build definitionListItem[] node
457
+ *
458
+ * @param data - data for the node
459
+ * @returns
460
+ */
461
+ protected buildDefinitionList(data: Partial<DefinitionListItemJson>[] | undefined): DefinitionListItemJson[] | undefined;
572
462
  /**
573
463
  * Build definitionListItem node
574
464
  *
575
465
  * @param data - data for the node
576
466
  * @returns
577
467
  */
578
- definitionListItem(data: {
579
- term: BreakscapedString;
580
- description?: BreakscapedString;
581
- alternativeDefinitions?: BreakscapedString[];
582
- item?: BreakscapedString;
583
- lead?: BreakscapedString;
584
- pageNumber?: BreakscapedString;
585
- marginNumber?: BreakscapedString;
586
- hint?: BreakscapedString;
587
- instruction?: BreakscapedString;
588
- isDefaultExample?: boolean;
589
- example?: Example;
590
- }): DefinitionListItem;
468
+ protected buildDefinitionListItem(data: Partial<DefinitionListItemJson> | undefined): DefinitionListItemJson | undefined;
469
+ /**
470
+ * Build statement[] node
471
+ *
472
+ * @param data - data for the node
473
+ * @returns
474
+ */
475
+ protected buildStatements(data: Partial<StatementJson>[] | undefined): StatementJson[] | undefined;
591
476
  /**
592
477
  * Build statement node
593
478
  *
594
479
  * @param data - data for the node
595
480
  * @returns
596
481
  */
597
- statement(data: {
598
- text: BreakscapedString;
599
- isCorrect: boolean;
600
- item?: BreakscapedString;
601
- lead?: BreakscapedString;
602
- pageNumber?: BreakscapedString;
603
- marginNumber?: BreakscapedString;
604
- hint?: BreakscapedString;
605
- instruction?: BreakscapedString;
606
- isDefaultExample?: boolean;
607
- example?: Example;
608
- }): Statement;
482
+ protected buildStatement(data: Partial<StatementJson> | undefined): StatementJson | undefined;
609
483
  /**
610
484
  * Build (image-on-device) imageSource node
611
485
  *
612
486
  * @param data - data for the node
613
487
  * @returns
614
488
  */
615
- imageSource(data: {
616
- url: BreakscapedString;
617
- mockupId: BreakscapedString;
618
- size?: number;
619
- format?: BreakscapedString;
620
- trim?: boolean;
621
- }): ImageSource;
489
+ protected buildImageSource(data: Partial<ImageSourceJson> | undefined): ImageSourceJson | undefined;
622
490
  /**
623
491
  * Build (chat) person node
624
492
  *
625
493
  * @param data - data for the node
626
494
  * @returns
627
495
  */
628
- person(data: {
629
- name: BreakscapedString;
630
- title?: BreakscapedString;
631
- avatarImage?: ImageResource;
632
- }): Person;
496
+ protected buildPerson(bitType: BitTypeType, data: Partial<PersonJson> | undefined): PersonJson | undefined;
633
497
  /**
634
498
  * Build (cook-ingredients) technicalTerm node
635
499
  *
636
500
  * @param data - data for the node
637
501
  * @returns
638
502
  */
639
- technicalTerm(data: {
640
- technicalTerm: BreakscapedString;
641
- lang?: BreakscapedString;
642
- }): TechnicalTerm;
503
+ protected buildTechnicalTerm(data: Partial<TechnicalTermJson> | undefined): TechnicalTermJson | undefined;
643
504
  /**
644
505
  * Build (cook-ingredients) servings node
645
506
  *
646
507
  * @param data - data for the node
647
508
  * @returns
648
509
  */
649
- servings(data: {
650
- servings: number;
651
- unit?: BreakscapedString;
652
- unitAbbr?: BreakscapedString;
653
- decimalPlaces?: number;
654
- disableCalculation?: boolean;
655
- hint?: BreakscapedString;
656
- }): Servings;
510
+ protected buildServings(data: Partial<ServingsJson> | undefined): ServingsJson | undefined;
657
511
  /**
658
512
  * Build (survey-rating) ratingLevelStart / ratingLevelEnd node
659
513
  *
660
514
  * @param data - data for the node
661
515
  * @returns
662
516
  */
663
- ratingLevelStartEnd(data: {
664
- level: number;
665
- label?: BreakscapedString;
666
- }): RatingLevelStartEnd;
517
+ protected buildRatingLevelStartEnd(data: Partial<RatingLevelStartEndJson> | undefined): RatingLevelStartEndJson | undefined;
667
518
  /**
668
519
  * Build captionDefinition node
669
520
  *
670
521
  * @param data - data for the node
671
522
  * @returns
672
523
  */
673
- captionDefinition(data: {
674
- term: BreakscapedString;
675
- description: BreakscapedString;
676
- }): CaptionDefinition;
524
+ protected buildCaptionDefinition(data: Partial<CaptionDefinitionJson> | undefined): CaptionDefinitionJson | undefined;
677
525
  /**
678
526
  * Build captionDefinitionList node
679
527
  *
680
528
  * @param data - data for the node
681
529
  * @returns
682
530
  */
683
- captionDefinitionList(data: {
684
- columns: BreakscapedString[];
685
- definitions: CaptionDefinition[];
686
- }): CaptionDefinitionList;
687
- private itemLead;
531
+ protected buildCaptionDefinitionList(data: Partial<CaptionDefinitionListJson> | undefined): CaptionDefinitionListJson | undefined;
532
+ /**
533
+ * Build card bit[] node
534
+ *
535
+ * @param data - data for the node
536
+ * @returns
537
+ */
538
+ protected buildCardBits(textFormat: TextFormatType, data: Partial<CardBit>[] | undefined): CardBit[] | undefined;
688
539
  /**
689
540
  * Build card bit node
690
541
  *
691
542
  * @param data - data for the node
692
543
  * @returns
693
544
  */
694
- cardBit(data: {
695
- item?: BreakscapedString;
696
- lead?: BreakscapedString;
697
- pageNumber?: BreakscapedString;
698
- marginNumber?: BreakscapedString;
699
- hint?: BreakscapedString;
700
- instruction?: BreakscapedString;
701
- isDefaultExample?: boolean;
702
- example?: Example;
703
- extraProperties?: {
704
- [key: string]: unknown | unknown[];
705
- };
706
- body?: Body;
707
- }): CardBit | undefined;
708
- private cardNode;
545
+ protected buildCardBit(textFormat: TextFormatType, data: Partial<CardBit> | undefined): CardBit | undefined;
546
+ private buildCardNode;
709
547
  /**
710
548
  * Set examples down the tree
711
549
  *
712
550
  * @param body
713
551
  * @param cardNode
714
- * @param isDefaultExample
552
+ * @param __isDefaultExample
715
553
  * @param example
716
554
  * @returns true if any of the answers has an example, otherwise undefined
717
555
  */
@@ -719,7 +557,7 @@ declare class Builder extends BaseBuilder {
719
557
  /**
720
558
  * Set examples for boolean nodes
721
559
  *
722
- * @param isDefaultExample
560
+ * @param __isDefaultExample
723
561
  * @param example
724
562
  * @param onlyCorrect
725
563
  * @param nodes
@@ -729,7 +567,7 @@ declare class Builder extends BaseBuilder {
729
567
  /**
730
568
  * Set examples for string nodes
731
569
  *
732
- * @param isDefaultExample
570
+ * @param __isDefaultExample
733
571
  * @param example
734
572
  * @param nodes
735
573
  * @returns true if any of the answers has an example, otherwise undefined
@@ -741,7 +579,7 @@ declare class Builder extends BaseBuilder {
741
579
  *
742
580
  * This function is not type safe and should be used with care
743
581
  *
744
- * @param body set if the value should be passed down the body to the body bits
582
+ * @param body/body[] set if the value should be passed down the body to the body bits / card body bits
745
583
  * @param bodyBitTypes body bit types to push the value down to
746
584
  * @param cardNode set if the value should be passed down the card node
747
585
  * @param path path for the value