@gmb/bitmark-parser-generator 2.3.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/browser/bitmark-parser-generator.min.js +1 -1
  2. package/dist/browser/bundle-report.html +2 -2
  3. package/dist/cjs/ast/Builder.js +42 -8
  4. package/dist/cjs/ast/Builder.js.map +1 -1
  5. package/dist/cjs/config/raw/groups.js +4 -0
  6. package/dist/cjs/config/raw/groups.js.map +1 -1
  7. package/dist/cjs/config/raw/properties.js +5 -0
  8. package/dist/cjs/config/raw/properties.js.map +1 -1
  9. package/dist/cjs/generated/build-info.js +1 -1
  10. package/dist/cjs/generator/bitmark/BitmarkGenerator.js +47 -14
  11. package/dist/cjs/generator/bitmark/BitmarkGenerator.js.map +1 -1
  12. package/dist/cjs/generator/json/JsonGenerator.js +55 -1
  13. package/dist/cjs/generator/json/JsonGenerator.js.map +1 -1
  14. package/dist/cjs/generator/text/TextGenerator.js +6 -3
  15. package/dist/cjs/generator/text/TextGenerator.js.map +1 -1
  16. package/dist/cjs/model/ast/NodeType.js +2 -0
  17. package/dist/cjs/model/ast/NodeType.js.map +1 -1
  18. package/dist/cjs/model/config/enum/PropertyConfigKey.js +1 -0
  19. package/dist/cjs/model/config/enum/PropertyConfigKey.js.map +1 -1
  20. package/dist/cjs/model/enum/TextFormat.js +6 -5
  21. package/dist/cjs/model/enum/TextFormat.js.map +1 -1
  22. package/dist/cjs/utils/ObjectUtils.js +62 -0
  23. package/dist/cjs/utils/ObjectUtils.js.map +1 -1
  24. package/dist/esm/ast/Builder.js +39 -8
  25. package/dist/esm/ast/Builder.js.map +1 -1
  26. package/dist/esm/config/raw/groups.js +4 -0
  27. package/dist/esm/config/raw/groups.js.map +1 -1
  28. package/dist/esm/config/raw/properties.js +5 -0
  29. package/dist/esm/config/raw/properties.js.map +1 -1
  30. package/dist/esm/generated/build-info.js +1 -1
  31. package/dist/esm/generator/bitmark/BitmarkGenerator.js +47 -14
  32. package/dist/esm/generator/bitmark/BitmarkGenerator.js.map +1 -1
  33. package/dist/esm/generator/json/JsonGenerator.js +52 -1
  34. package/dist/esm/generator/json/JsonGenerator.js.map +1 -1
  35. package/dist/esm/generator/text/TextGenerator.js +6 -3
  36. package/dist/esm/generator/text/TextGenerator.js.map +1 -1
  37. package/dist/esm/model/ast/NodeType.js +2 -0
  38. package/dist/esm/model/ast/NodeType.js.map +1 -1
  39. package/dist/esm/model/config/enum/PropertyConfigKey.js +1 -0
  40. package/dist/esm/model/config/enum/PropertyConfigKey.js.map +1 -1
  41. package/dist/esm/model/enum/TextFormat.js +6 -5
  42. package/dist/esm/model/enum/TextFormat.js.map +1 -1
  43. package/dist/esm/utils/ObjectUtils.js +62 -0
  44. package/dist/esm/utils/ObjectUtils.js.map +1 -1
  45. package/dist/types/ast/Builder.d.ts +10 -0
  46. package/dist/types/ast/Builder.d.ts.map +1 -1
  47. package/dist/types/config/raw/groups.d.ts.map +1 -1
  48. package/dist/types/config/raw/properties.d.ts.map +1 -1
  49. package/dist/types/generator/bitmark/BitmarkGenerator.d.ts +6 -5
  50. package/dist/types/generator/bitmark/BitmarkGenerator.d.ts.map +1 -1
  51. package/dist/types/generator/json/JsonGenerator.d.ts +16 -1
  52. package/dist/types/generator/json/JsonGenerator.d.ts.map +1 -1
  53. package/dist/types/generator/text/TextGenerator.d.ts.map +1 -1
  54. package/dist/types/model/ast/NodeType.d.ts +4 -0
  55. package/dist/types/model/ast/NodeType.d.ts.map +1 -1
  56. package/dist/types/model/ast/Nodes.d.ts +1 -0
  57. package/dist/types/model/ast/Nodes.d.ts.map +1 -1
  58. package/dist/types/model/config/enum/ConfigKey.d.ts +2 -0
  59. package/dist/types/model/config/enum/ConfigKey.d.ts.map +1 -1
  60. package/dist/types/model/config/enum/PropertyConfigKey.d.ts +3 -0
  61. package/dist/types/model/config/enum/PropertyConfigKey.d.ts.map +1 -1
  62. package/dist/types/model/enum/PropertyTag.d.ts +2 -0
  63. package/dist/types/model/enum/PropertyTag.d.ts.map +1 -1
  64. package/dist/types/model/enum/TextFormat.d.ts +2 -0
  65. package/dist/types/model/enum/TextFormat.d.ts.map +1 -1
  66. package/dist/types/model/json/BitJson.d.ts +1 -0
  67. package/dist/types/model/json/BitJson.d.ts.map +1 -1
  68. package/dist/types/model/json/BodyBitJson.d.ts +3 -2
  69. package/dist/types/model/json/BodyBitJson.d.ts.map +1 -1
  70. package/dist/types/utils/ObjectUtils.d.ts +20 -0
  71. package/dist/types/utils/ObjectUtils.d.ts.map +1 -1
  72. package/package.json +1 -1
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8"/>
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
- <title>@gmb/bitmark-parser-generator [3 Dec 2024 at 03:56]</title>
6
+ <title>@gmb/bitmark-parser-generator [11 Dec 2024 at 02:03]</title>
7
7
  <link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
8
8
 
9
9
  <script>
@@ -31,7 +31,7 @@
31
31
  <body>
32
32
  <div id="app"></div>
33
33
  <script>
34
- window.chartData = [{"label":"bitmark-parser-generator.min.js","isAsset":true,"statSize":1429862,"parsedSize":470105,"gzipSize":87796,"groups":[{"label":"dist/cjs","path":"./dist/cjs","statSize":1415292,"groups":[{"id":1791,"label":"BitmarkParserGenerator.js","path":"./dist/cjs/BitmarkParserGenerator.js","statSize":30977},{"label":"ast","path":"./dist/cjs/ast","statSize":153912,"groups":[{"id":5126,"label":"Ast.js","path":"./dist/cjs/ast/Ast.js","statSize":7709},{"id":4470,"label":"BaseBuilder.js","path":"./dist/cjs/ast/BaseBuilder.js","statSize":7307},{"id":5809,"label":"Builder.js","path":"./dist/cjs/ast/Builder.js","statSize":79313},{"id":5533,"label":"ResourceBuilder.js","path":"./dist/cjs/ast/ResourceBuilder.js","statSize":49557},{"label":"rules","path":"./dist/cjs/ast/rules","statSize":6615,"groups":[{"id":4564,"label":"NodeValidator.js","path":"./dist/cjs/ast/rules/NodeValidator.js","statSize":6615}],"parsedSize":0,"gzipSize":0},{"label":"writer","path":"./dist/cjs/ast/writer","statSize":3411,"groups":[{"id":6772,"label":"StringWriter.js","path":"./dist/cjs/ast/writer/StringWriter.js","statSize":3411}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0},{"label":"breakscaping","path":"./dist/cjs/breakscaping","statSize":15658,"groups":[{"id":7735,"label":"Breakscape.js","path":"./dist/cjs/breakscaping/Breakscape.js","statSize":15658}],"parsedSize":0,"gzipSize":0},{"label":"config","path":"./dist/cjs/config","statSize":234396,"groups":[{"id":2028,"label":"Config.js","path":"./dist/cjs/config/Config.js","statSize":15231},{"id":4445,"label":"ConfigHydrator.js","path":"./dist/cjs/config/ConfigHydrator.js","statSize":7676},{"label":"raw","path":"./dist/cjs/config/raw","statSize":211489,"groups":[{"id":6853,"label":"bits.js","path":"./dist/cjs/config/raw/bits.js","statSize":113627},{"id":5554,"label":"cardSets.js","path":"./dist/cjs/config/raw/cardSets.js","statSize":16042},{"id":5837,"label":"groups.js","path":"./dist/cjs/config/raw/groups.js","statSize":41326},{"id":9916,"label":"properties.js","path":"./dist/cjs/config/raw/properties.js","statSize":34962},{"id":168,"label":"resources.js","path":"./dist/cjs/config/raw/resources.js","statSize":4094},{"id":9248,"label":"tags.js","path":"./dist/cjs/config/raw/tags.js","statSize":1438}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0},{"label":"generated","path":"./dist/cjs/generated","statSize":436683,"groups":[{"id":1464,"label":"build-info.js","path":"./dist/cjs/generated/build-info.js","statSize":437},{"label":"parser","path":"./dist/cjs/generated/parser","statSize":436246,"groups":[{"label":"bitmark","path":"./dist/cjs/generated/parser/bitmark","statSize":92707,"groups":[{"id":5057,"label":"bitmark-peggy-parser.js","path":"./dist/cjs/generated/parser/bitmark/bitmark-peggy-parser.js","statSize":92707}],"parsedSize":0,"gzipSize":0},{"label":"text","path":"./dist/cjs/generated/parser/text","statSize":343539,"groups":[{"id":8321,"label":"text-peggy-parser.js","path":"./dist/cjs/generated/parser/text/text-peggy-parser.js","statSize":343539}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0},{"label":"generator","path":"./dist/cjs/generator","statSize":201240,"groups":[{"id":4,"label":"AstWalkerGenerator.js","path":"./dist/cjs/generator/AstWalkerGenerator.js","statSize":3051},{"label":"bitmark","path":"./dist/cjs/generator/bitmark","statSize":98130,"groups":[{"id":5087,"label":"BitmarkGenerator.js","path":"./dist/cjs/generator/bitmark/BitmarkGenerator.js","statSize":96065},{"id":3968,"label":"BitmarkStringGenerator.js","path":"./dist/cjs/generator/bitmark/BitmarkStringGenerator.js","statSize":2065}],"parsedSize":0,"gzipSize":0},{"label":"json","path":"./dist/cjs/generator/json","statSize":67587,"groups":[{"id":2497,"label":"JsonGenerator.js","path":"./dist/cjs/generator/json/JsonGenerator.js","statSize":63637},{"id":7984,"label":"JsonObjectGenerator.js","path":"./dist/cjs/generator/json/JsonObjectGenerator.js","statSize":2002},{"id":98,"label":"JsonStringGenerator.js","path":"./dist/cjs/generator/json/JsonStringGenerator.js","statSize":1948}],"parsedSize":0,"gzipSize":0},{"label":"text","path":"./dist/cjs/generator/text","statSize":32472,"groups":[{"id":431,"label":"TextGenerator.js","path":"./dist/cjs/generator/text/TextGenerator.js","statSize":32472}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0},{"id":5469,"label":"index.js","path":"./dist/cjs/index.js","statSize":5626,"parsedSize":469981,"gzipSize":87796},{"label":"info","path":"./dist/cjs/info","statSize":1971,"groups":[{"id":3881,"label":"InfoBuilder.js","path":"./dist/cjs/info/InfoBuilder.js","statSize":1971}],"parsedSize":0,"gzipSize":0},{"label":"init","path":"./dist/cjs/init","statSize":480,"groups":[{"id":1412,"label":"init.js","path":"./dist/cjs/init/init.js","statSize":480}],"parsedSize":0,"gzipSize":0},{"label":"model","path":"./dist/cjs/model","statSize":75310,"groups":[{"label":"ast","path":"./dist/cjs/model/ast","statSize":16178,"groups":[{"id":126,"label":"NodeType.js","path":"./dist/cjs/model/ast/NodeType.js","statSize":16178}],"parsedSize":0,"gzipSize":0},{"label":"config","path":"./dist/cjs/model/config","statSize":24865,"groups":[{"id":6634,"label":"AbstractTagConfig.js","path":"./dist/cjs/model/config/AbstractTagConfig.js","statSize":617},{"id":3619,"label":"BitConfig.js","path":"./dist/cjs/model/config/BitConfig.js","statSize":2900},{"id":5814,"label":"CardSetConfig.js","path":"./dist/cjs/model/config/CardSetConfig.js","statSize":781},{"id":9371,"label":"CardVariantConfig.js","path":"./dist/cjs/model/config/CardVariantConfig.js","statSize":1073},{"id":9788,"label":"MarkupTagConfig.js","path":"./dist/cjs/model/config/MarkupTagConfig.js","statSize":1553},{"id":1519,"label":"PropertyTagConfig.js","path":"./dist/cjs/model/config/PropertyTagConfig.js","statSize":2005},{"id":9600,"label":"ResourceTagConfig.js","path":"./dist/cjs/model/config/ResourceTagConfig.js","statSize":1594},{"id":1457,"label":"ResourcesConfig.js","path":"./dist/cjs/model/config/ResourcesConfig.js","statSize":1127},{"label":"enum","path":"./dist/cjs/model/config/enum","statSize":13215,"groups":[{"id":8199,"label":"CardSetConfigKey.js","path":"./dist/cjs/model/config/enum/CardSetConfigKey.js","statSize":838},{"id":5591,"label":"ConfigKey.js","path":"./dist/cjs/model/config/enum/ConfigKey.js","statSize":1267},{"id":7112,"label":"GroupConfigKey.js","path":"./dist/cjs/model/config/enum/GroupConfigKey.js","statSize":2798},{"id":6915,"label":"GroupConfigType.js","path":"./dist/cjs/model/config/enum/GroupConfigType.js","statSize":493},{"id":9888,"label":"PropertyConfigKey.js","path":"./dist/cjs/model/config/enum/PropertyConfigKey.js","statSize":5826},{"id":5051,"label":"ResourceConfigKey.js","path":"./dist/cjs/model/config/enum/ResourceConfigKey.js","statSize":1247},{"id":7797,"label":"TagConfigKey.js","path":"./dist/cjs/model/config/enum/TagConfigKey.js","statSize":746}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0},{"label":"enum","path":"./dist/cjs/model/enum","statSize":33485,"groups":[{"id":5512,"label":"BitTagType.js","path":"./dist/cjs/model/enum/BitTagType.js","statSize":457},{"id":5854,"label":"BitType.js","path":"./dist/cjs/model/enum/BitType.js","statSize":23454},{"id":8588,"label":"BitmarkParserType.js","path":"./dist/cjs/model/enum/BitmarkParserType.js","statSize":335},{"id":3811,"label":"BitmarkVersion.js","path":"./dist/cjs/model/enum/BitmarkVersion.js","statSize":466},{"id":4410,"label":"BodyBitType.js","path":"./dist/cjs/model/enum/BodyBitType.js","statSize":426},{"id":1163,"label":"CardSetVersion.js","path":"./dist/cjs/model/enum/CardSetVersion.js","statSize":322},{"id":3778,"label":"Count.js","path":"./dist/cjs/model/enum/Count.js","statSize":281},{"id":363,"label":"ExampleType.js","path":"./dist/cjs/model/enum/ExampleType.js","statSize":434},{"id":7203,"label":"PropertyAstKey.js","path":"./dist/cjs/model/enum/PropertyAstKey.js","statSize":615},{"id":9727,"label":"PropertyFormat.js","path":"./dist/cjs/model/enum/PropertyFormat.js","statSize":1100},{"id":166,"label":"PropertyTag.js","path":"./dist/cjs/model/enum/PropertyTag.js","statSize":535},{"id":9984,"label":"ResourceJsonKey.js","path":"./dist/cjs/model/enum/ResourceJsonKey.js","statSize":959},{"id":6149,"label":"ResourceTag.js","path":"./dist/cjs/model/enum/ResourceTag.js","statSize":1097},{"id":9917,"label":"Tag.js","path":"./dist/cjs/model/enum/Tag.js","statSize":533},{"id":385,"label":"TextFormat.js","path":"./dist/cjs/model/enum/TextFormat.js","statSize":450},{"id":2483,"label":"TextMarkType.js","path":"./dist/cjs/model/enum/TextMarkType.js","statSize":1088},{"id":9554,"label":"TextNodeType.js","path":"./dist/cjs/model/enum/TextNodeType.js","statSize":933}],"parsedSize":0,"gzipSize":0},{"label":"info/enum","path":"./dist/cjs/model/info/enum","statSize":782,"groups":[{"id":3069,"label":"InfoFormat.js","path":"./dist/cjs/model/info/enum/InfoFormat.js","statSize":334},{"id":486,"label":"InfoType.js","path":"./dist/cjs/model/info/enum/InfoType.js","statSize":448}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0},{"label":"parser","path":"./dist/cjs/parser","statSize":223290,"groups":[{"label":"bitmark","path":"./dist/cjs/parser/bitmark","statSize":206662,"groups":[{"id":5633,"label":"BitmarkParser.js","path":"./dist/cjs/parser/bitmark/BitmarkParser.js","statSize":795},{"label":"peg","path":"./dist/cjs/parser/bitmark/peg","statSize":205867,"groups":[{"id":5078,"label":"BitmarkPegParser.js","path":"./dist/cjs/parser/bitmark/peg/BitmarkPegParser.js","statSize":319},{"id":3206,"label":"BitmarkPegParserHelper.js","path":"./dist/cjs/parser/bitmark/peg/BitmarkPegParserHelper.js","statSize":21574},{"id":7124,"label":"BitmarkPegParserProcessor.js","path":"./dist/cjs/parser/bitmark/peg/BitmarkPegParserProcessor.js","statSize":33744},{"id":3029,"label":"BitmarkPegParserTypes.js","path":"./dist/cjs/parser/bitmark/peg/BitmarkPegParserTypes.js","statSize":2433},{"id":4266,"label":"BitmarkPegParserValidator.js","path":"./dist/cjs/parser/bitmark/peg/BitmarkPegParserValidator.js","statSize":30705},{"id":7461,"label":"PeggyGrammarLocation.js","path":"./dist/cjs/parser/bitmark/peg/PeggyGrammarLocation.js","statSize":2879},{"label":"contentProcessors","path":"./dist/cjs/parser/bitmark/peg/contentProcessors","statSize":114213,"groups":[{"id":5033,"label":"BodyContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/BodyContentProcessor.js","statSize":11647},{"id":3045,"label":"BookChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/BookChainContentProcessor.js","statSize":2336},{"id":1083,"label":"CardContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/CardContentProcessor.js","statSize":36144},{"id":554,"label":"ClozeTagContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/ClozeTagContentProcessor.js","statSize":1049},{"id":6128,"label":"ContentProcessorUtils.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/ContentProcessorUtils.js","statSize":2643},{"id":4402,"label":"DefaultTagContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js","statSize":2085},{"id":4091,"label":"ExampleTagContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js","statSize":6444},{"id":4382,"label":"FooterContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/FooterContentProcessor.js","statSize":2657},{"id":3904,"label":"GapChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/GapChainContentProcessor.js","statSize":1794},{"id":8848,"label":"ImageSourceChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/ImageSourceChainContentProcessor.js","statSize":3142},{"id":6991,"label":"InternalCommentTagContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/InternalCommentTagContentProcessor.js","statSize":682},{"id":9289,"label":"ItemLeadChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/ItemLeadChainContentProcessor.js","statSize":1757},{"id":8216,"label":"ItemLeadTagContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/ItemLeadTagContentProcessor.js","statSize":747},{"id":5189,"label":"MarkChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/MarkChainContentProcessor.js","statSize":2674},{"id":3063,"label":"MarkConfigChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/MarkConfigChainContentProcessor.js","statSize":2222},{"id":5980,"label":"MarkTagContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/MarkTagContentProcessor.js","statSize":463},{"id":21,"label":"PersonChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/PersonChainContentProcessor.js","statSize":2366},{"id":9647,"label":"PropertyContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/PropertyContentProcessor.js","statSize":9251},{"id":3967,"label":"RatingLevelChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/RatingLevelChainContentProcessor.js","statSize":1604},{"id":3990,"label":"ReferenceTagContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/ReferenceTagContentProcessor.js","statSize":803},{"id":6521,"label":"ResourceContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js","statSize":6556},{"id":4953,"label":"ServingsChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/ServingsChainContentProcessor.js","statSize":1338},{"id":4475,"label":"TechnicalTermChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/TechnicalTermChainContentProcessor.js","statSize":1218},{"id":7667,"label":"TitleTagContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/TitleTagContentProcessor.js","statSize":2465},{"id":9885,"label":"TrueFalseChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/TrueFalseChainContentProcessor.js","statSize":9221},{"id":4020,"label":"TrueFalseTagContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/TrueFalseTagContentProcessor.js","statSize":905}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0},{"label":"json","path":"./dist/cjs/parser/json","statSize":10581,"groups":[{"id":5663,"label":"JsonParser.js","path":"./dist/cjs/parser/json/JsonParser.js","statSize":10581}],"parsedSize":0,"gzipSize":0},{"label":"text","path":"./dist/cjs/parser/text","statSize":6047,"groups":[{"id":777,"label":"TextParser.js","path":"./dist/cjs/parser/text/TextParser.js","statSize":5743},{"label":"peg","path":"./dist/cjs/parser/text/peg","statSize":304,"groups":[{"id":2220,"label":"TextPegParser.js","path":"./dist/cjs/parser/text/peg/TextPegParser.js","statSize":304}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0},{"label":"utils","path":"./dist/cjs/utils","statSize":35749,"groups":[{"id":6989,"label":"ArrayUtils.js","path":"./dist/cjs/utils/ArrayUtils.js","statSize":1474},{"id":8903,"label":"BitUtils.js","path":"./dist/cjs/utils/BitUtils.js","statSize":2488},{"id":4078,"label":"BooleanUtils.js","path":"./dist/cjs/utils/BooleanUtils.js","statSize":1839},{"id":8025,"label":"NumberUtils.js","path":"./dist/cjs/utils/NumberUtils.js","statSize":1890},{"id":955,"label":"ObjectUtils.js","path":"./dist/cjs/utils/ObjectUtils.js","statSize":12296},{"id":9681,"label":"StringUtils.js","path":"./dist/cjs/utils/StringUtils.js","statSize":6529},{"id":201,"label":"UrlUtils.js","path":"./dist/cjs/utils/UrlUtils.js","statSize":986},{"label":"env","path":"./dist/cjs/utils/env","statSize":8247,"groups":[{"id":6936,"label":"Env.js","path":"./dist/cjs/utils/env/Env.js","statSize":4069},{"id":6278,"label":"Environment.js","path":"./dist/cjs/utils/env/Environment.js","statSize":420},{"id":9561,"label":"Os.js","path":"./dist/cjs/utils/env/Os.js","statSize":361},{"id":2287,"label":"Version.js","path":"./dist/cjs/utils/env/Version.js","statSize":284},{"id":5659,"label":"userAgent.js","path":"./dist/cjs/utils/env/userAgent.js","statSize":3113}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0}],"parsedSize":469981,"gzipSize":87796},{"label":"node_modules","path":"./node_modules","statSize":14570,"groups":[{"label":"@ncoderz/superenum/dist/esm","path":"./node_modules/@ncoderz/superenum/dist/esm","statSize":6981,"groups":[{"id":4718,"label":"superenum.js","path":"./node_modules/@ncoderz/superenum/dist/esm/superenum.js","statSize":6981}],"parsedSize":0,"gzipSize":0},{"label":"@ungap/structured-clone/cjs","path":"./node_modules/@ungap/structured-clone/cjs","statSize":7589,"groups":[{"id":5005,"label":"deserialize.js","path":"./node_modules/@ungap/structured-clone/cjs/deserialize.js","statSize":1997},{"id":7678,"label":"index.js","path":"./node_modules/@ungap/structured-clone/cjs/index.js","statSize":941},{"id":5416,"label":"serialize.js","path":"./node_modules/@ungap/structured-clone/cjs/serialize.js","statSize":4156},{"id":1731,"label":"types.js","path":"./node_modules/@ungap/structured-clone/cjs/types.js","statSize":495}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0}],"isInitialByEntrypoint":{"main":true}}];
34
+ window.chartData = [{"label":"bitmark-parser-generator.min.js","isAsset":true,"statSize":1438834,"parsedSize":472499,"gzipSize":88393,"groups":[{"label":"dist/cjs","path":"./dist/cjs","statSize":1424264,"groups":[{"id":1791,"label":"BitmarkParserGenerator.js","path":"./dist/cjs/BitmarkParserGenerator.js","statSize":30977},{"label":"ast","path":"./dist/cjs/ast","statSize":155858,"groups":[{"id":5126,"label":"Ast.js","path":"./dist/cjs/ast/Ast.js","statSize":7709},{"id":4470,"label":"BaseBuilder.js","path":"./dist/cjs/ast/BaseBuilder.js","statSize":7307},{"id":5809,"label":"Builder.js","path":"./dist/cjs/ast/Builder.js","statSize":81259},{"id":5533,"label":"ResourceBuilder.js","path":"./dist/cjs/ast/ResourceBuilder.js","statSize":49557},{"label":"rules","path":"./dist/cjs/ast/rules","statSize":6615,"groups":[{"id":4564,"label":"NodeValidator.js","path":"./dist/cjs/ast/rules/NodeValidator.js","statSize":6615}],"parsedSize":0,"gzipSize":0},{"label":"writer","path":"./dist/cjs/ast/writer","statSize":3411,"groups":[{"id":6772,"label":"StringWriter.js","path":"./dist/cjs/ast/writer/StringWriter.js","statSize":3411}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0},{"label":"breakscaping","path":"./dist/cjs/breakscaping","statSize":15658,"groups":[{"id":7735,"label":"Breakscape.js","path":"./dist/cjs/breakscaping/Breakscape.js","statSize":15658}],"parsedSize":0,"gzipSize":0},{"label":"config","path":"./dist/cjs/config","statSize":234776,"groups":[{"id":2028,"label":"Config.js","path":"./dist/cjs/config/Config.js","statSize":15231},{"id":4445,"label":"ConfigHydrator.js","path":"./dist/cjs/config/ConfigHydrator.js","statSize":7676},{"label":"raw","path":"./dist/cjs/config/raw","statSize":211869,"groups":[{"id":6853,"label":"bits.js","path":"./dist/cjs/config/raw/bits.js","statSize":113627},{"id":5554,"label":"cardSets.js","path":"./dist/cjs/config/raw/cardSets.js","statSize":16042},{"id":5837,"label":"groups.js","path":"./dist/cjs/config/raw/groups.js","statSize":41496},{"id":9916,"label":"properties.js","path":"./dist/cjs/config/raw/properties.js","statSize":35172},{"id":168,"label":"resources.js","path":"./dist/cjs/config/raw/resources.js","statSize":4094},{"id":9248,"label":"tags.js","path":"./dist/cjs/config/raw/tags.js","statSize":1438}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0},{"label":"generated","path":"./dist/cjs/generated","statSize":436683,"groups":[{"id":1464,"label":"build-info.js","path":"./dist/cjs/generated/build-info.js","statSize":437},{"label":"parser","path":"./dist/cjs/generated/parser","statSize":436246,"groups":[{"label":"bitmark","path":"./dist/cjs/generated/parser/bitmark","statSize":92707,"groups":[{"id":5057,"label":"bitmark-peggy-parser.js","path":"./dist/cjs/generated/parser/bitmark/bitmark-peggy-parser.js","statSize":92707}],"parsedSize":0,"gzipSize":0},{"label":"text","path":"./dist/cjs/generated/parser/text","statSize":343539,"groups":[{"id":8321,"label":"text-peggy-parser.js","path":"./dist/cjs/generated/parser/text/text-peggy-parser.js","statSize":343539}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0},{"label":"generator","path":"./dist/cjs/generator","statSize":205250,"groups":[{"id":4,"label":"AstWalkerGenerator.js","path":"./dist/cjs/generator/AstWalkerGenerator.js","statSize":3051},{"label":"bitmark","path":"./dist/cjs/generator/bitmark","statSize":99382,"groups":[{"id":5087,"label":"BitmarkGenerator.js","path":"./dist/cjs/generator/bitmark/BitmarkGenerator.js","statSize":97317},{"id":3968,"label":"BitmarkStringGenerator.js","path":"./dist/cjs/generator/bitmark/BitmarkStringGenerator.js","statSize":2065}],"parsedSize":0,"gzipSize":0},{"label":"json","path":"./dist/cjs/generator/json","statSize":70157,"groups":[{"id":2497,"label":"JsonGenerator.js","path":"./dist/cjs/generator/json/JsonGenerator.js","statSize":66207},{"id":7984,"label":"JsonObjectGenerator.js","path":"./dist/cjs/generator/json/JsonObjectGenerator.js","statSize":2002},{"id":98,"label":"JsonStringGenerator.js","path":"./dist/cjs/generator/json/JsonStringGenerator.js","statSize":1948}],"parsedSize":0,"gzipSize":0},{"label":"text","path":"./dist/cjs/generator/text","statSize":32660,"groups":[{"id":431,"label":"TextGenerator.js","path":"./dist/cjs/generator/text/TextGenerator.js","statSize":32660}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0},{"id":5469,"label":"index.js","path":"./dist/cjs/index.js","statSize":5626,"parsedSize":472373,"gzipSize":88393},{"label":"info","path":"./dist/cjs/info","statSize":1971,"groups":[{"id":3881,"label":"InfoBuilder.js","path":"./dist/cjs/info/InfoBuilder.js","statSize":1971}],"parsedSize":0,"gzipSize":0},{"label":"init","path":"./dist/cjs/init","statSize":480,"groups":[{"id":1412,"label":"init.js","path":"./dist/cjs/init/init.js","statSize":480}],"parsedSize":0,"gzipSize":0},{"label":"model","path":"./dist/cjs/model","statSize":75787,"groups":[{"label":"ast","path":"./dist/cjs/model/ast","statSize":16280,"groups":[{"id":126,"label":"NodeType.js","path":"./dist/cjs/model/ast/NodeType.js","statSize":16280}],"parsedSize":0,"gzipSize":0},{"label":"config","path":"./dist/cjs/model/config","statSize":24911,"groups":[{"id":6634,"label":"AbstractTagConfig.js","path":"./dist/cjs/model/config/AbstractTagConfig.js","statSize":617},{"id":3619,"label":"BitConfig.js","path":"./dist/cjs/model/config/BitConfig.js","statSize":2900},{"id":5814,"label":"CardSetConfig.js","path":"./dist/cjs/model/config/CardSetConfig.js","statSize":781},{"id":9371,"label":"CardVariantConfig.js","path":"./dist/cjs/model/config/CardVariantConfig.js","statSize":1073},{"id":9788,"label":"MarkupTagConfig.js","path":"./dist/cjs/model/config/MarkupTagConfig.js","statSize":1553},{"id":1519,"label":"PropertyTagConfig.js","path":"./dist/cjs/model/config/PropertyTagConfig.js","statSize":2005},{"id":9600,"label":"ResourceTagConfig.js","path":"./dist/cjs/model/config/ResourceTagConfig.js","statSize":1594},{"id":1457,"label":"ResourcesConfig.js","path":"./dist/cjs/model/config/ResourcesConfig.js","statSize":1127},{"label":"enum","path":"./dist/cjs/model/config/enum","statSize":13261,"groups":[{"id":8199,"label":"CardSetConfigKey.js","path":"./dist/cjs/model/config/enum/CardSetConfigKey.js","statSize":838},{"id":5591,"label":"ConfigKey.js","path":"./dist/cjs/model/config/enum/ConfigKey.js","statSize":1267},{"id":7112,"label":"GroupConfigKey.js","path":"./dist/cjs/model/config/enum/GroupConfigKey.js","statSize":2798},{"id":6915,"label":"GroupConfigType.js","path":"./dist/cjs/model/config/enum/GroupConfigType.js","statSize":493},{"id":9888,"label":"PropertyConfigKey.js","path":"./dist/cjs/model/config/enum/PropertyConfigKey.js","statSize":5872},{"id":5051,"label":"ResourceConfigKey.js","path":"./dist/cjs/model/config/enum/ResourceConfigKey.js","statSize":1247},{"id":7797,"label":"TagConfigKey.js","path":"./dist/cjs/model/config/enum/TagConfigKey.js","statSize":746}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0},{"label":"enum","path":"./dist/cjs/model/enum","statSize":33814,"groups":[{"id":5512,"label":"BitTagType.js","path":"./dist/cjs/model/enum/BitTagType.js","statSize":457},{"id":5854,"label":"BitType.js","path":"./dist/cjs/model/enum/BitType.js","statSize":23454},{"id":8588,"label":"BitmarkParserType.js","path":"./dist/cjs/model/enum/BitmarkParserType.js","statSize":335},{"id":3811,"label":"BitmarkVersion.js","path":"./dist/cjs/model/enum/BitmarkVersion.js","statSize":466},{"id":4410,"label":"BodyBitType.js","path":"./dist/cjs/model/enum/BodyBitType.js","statSize":426},{"id":1163,"label":"CardSetVersion.js","path":"./dist/cjs/model/enum/CardSetVersion.js","statSize":322},{"id":3778,"label":"Count.js","path":"./dist/cjs/model/enum/Count.js","statSize":281},{"id":363,"label":"ExampleType.js","path":"./dist/cjs/model/enum/ExampleType.js","statSize":434},{"id":7203,"label":"PropertyAstKey.js","path":"./dist/cjs/model/enum/PropertyAstKey.js","statSize":615},{"id":9727,"label":"PropertyFormat.js","path":"./dist/cjs/model/enum/PropertyFormat.js","statSize":1100},{"id":166,"label":"PropertyTag.js","path":"./dist/cjs/model/enum/PropertyTag.js","statSize":535},{"id":9984,"label":"ResourceJsonKey.js","path":"./dist/cjs/model/enum/ResourceJsonKey.js","statSize":959},{"id":6149,"label":"ResourceTag.js","path":"./dist/cjs/model/enum/ResourceTag.js","statSize":1097},{"id":9917,"label":"Tag.js","path":"./dist/cjs/model/enum/Tag.js","statSize":533},{"id":385,"label":"TextFormat.js","path":"./dist/cjs/model/enum/TextFormat.js","statSize":779},{"id":2483,"label":"TextMarkType.js","path":"./dist/cjs/model/enum/TextMarkType.js","statSize":1088},{"id":9554,"label":"TextNodeType.js","path":"./dist/cjs/model/enum/TextNodeType.js","statSize":933}],"parsedSize":0,"gzipSize":0},{"label":"info/enum","path":"./dist/cjs/model/info/enum","statSize":782,"groups":[{"id":3069,"label":"InfoFormat.js","path":"./dist/cjs/model/info/enum/InfoFormat.js","statSize":334},{"id":486,"label":"InfoType.js","path":"./dist/cjs/model/info/enum/InfoType.js","statSize":448}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0},{"label":"parser","path":"./dist/cjs/parser","statSize":223290,"groups":[{"label":"bitmark","path":"./dist/cjs/parser/bitmark","statSize":206662,"groups":[{"id":5633,"label":"BitmarkParser.js","path":"./dist/cjs/parser/bitmark/BitmarkParser.js","statSize":795},{"label":"peg","path":"./dist/cjs/parser/bitmark/peg","statSize":205867,"groups":[{"id":5078,"label":"BitmarkPegParser.js","path":"./dist/cjs/parser/bitmark/peg/BitmarkPegParser.js","statSize":319},{"id":3206,"label":"BitmarkPegParserHelper.js","path":"./dist/cjs/parser/bitmark/peg/BitmarkPegParserHelper.js","statSize":21574},{"id":7124,"label":"BitmarkPegParserProcessor.js","path":"./dist/cjs/parser/bitmark/peg/BitmarkPegParserProcessor.js","statSize":33744},{"id":3029,"label":"BitmarkPegParserTypes.js","path":"./dist/cjs/parser/bitmark/peg/BitmarkPegParserTypes.js","statSize":2433},{"id":4266,"label":"BitmarkPegParserValidator.js","path":"./dist/cjs/parser/bitmark/peg/BitmarkPegParserValidator.js","statSize":30705},{"id":7461,"label":"PeggyGrammarLocation.js","path":"./dist/cjs/parser/bitmark/peg/PeggyGrammarLocation.js","statSize":2879},{"label":"contentProcessors","path":"./dist/cjs/parser/bitmark/peg/contentProcessors","statSize":114213,"groups":[{"id":5033,"label":"BodyContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/BodyContentProcessor.js","statSize":11647},{"id":3045,"label":"BookChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/BookChainContentProcessor.js","statSize":2336},{"id":1083,"label":"CardContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/CardContentProcessor.js","statSize":36144},{"id":554,"label":"ClozeTagContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/ClozeTagContentProcessor.js","statSize":1049},{"id":6128,"label":"ContentProcessorUtils.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/ContentProcessorUtils.js","statSize":2643},{"id":4402,"label":"DefaultTagContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/DefaultTagContentProcessor.js","statSize":2085},{"id":4091,"label":"ExampleTagContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js","statSize":6444},{"id":4382,"label":"FooterContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/FooterContentProcessor.js","statSize":2657},{"id":3904,"label":"GapChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/GapChainContentProcessor.js","statSize":1794},{"id":8848,"label":"ImageSourceChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/ImageSourceChainContentProcessor.js","statSize":3142},{"id":6991,"label":"InternalCommentTagContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/InternalCommentTagContentProcessor.js","statSize":682},{"id":9289,"label":"ItemLeadChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/ItemLeadChainContentProcessor.js","statSize":1757},{"id":8216,"label":"ItemLeadTagContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/ItemLeadTagContentProcessor.js","statSize":747},{"id":5189,"label":"MarkChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/MarkChainContentProcessor.js","statSize":2674},{"id":3063,"label":"MarkConfigChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/MarkConfigChainContentProcessor.js","statSize":2222},{"id":5980,"label":"MarkTagContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/MarkTagContentProcessor.js","statSize":463},{"id":21,"label":"PersonChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/PersonChainContentProcessor.js","statSize":2366},{"id":9647,"label":"PropertyContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/PropertyContentProcessor.js","statSize":9251},{"id":3967,"label":"RatingLevelChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/RatingLevelChainContentProcessor.js","statSize":1604},{"id":3990,"label":"ReferenceTagContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/ReferenceTagContentProcessor.js","statSize":803},{"id":6521,"label":"ResourceContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js","statSize":6556},{"id":4953,"label":"ServingsChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/ServingsChainContentProcessor.js","statSize":1338},{"id":4475,"label":"TechnicalTermChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/TechnicalTermChainContentProcessor.js","statSize":1218},{"id":7667,"label":"TitleTagContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/TitleTagContentProcessor.js","statSize":2465},{"id":9885,"label":"TrueFalseChainContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/TrueFalseChainContentProcessor.js","statSize":9221},{"id":4020,"label":"TrueFalseTagContentProcessor.js","path":"./dist/cjs/parser/bitmark/peg/contentProcessors/TrueFalseTagContentProcessor.js","statSize":905}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0},{"label":"json","path":"./dist/cjs/parser/json","statSize":10581,"groups":[{"id":5663,"label":"JsonParser.js","path":"./dist/cjs/parser/json/JsonParser.js","statSize":10581}],"parsedSize":0,"gzipSize":0},{"label":"text","path":"./dist/cjs/parser/text","statSize":6047,"groups":[{"id":777,"label":"TextParser.js","path":"./dist/cjs/parser/text/TextParser.js","statSize":5743},{"label":"peg","path":"./dist/cjs/parser/text/peg","statSize":304,"groups":[{"id":2220,"label":"TextPegParser.js","path":"./dist/cjs/parser/text/peg/TextPegParser.js","statSize":304}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0},{"label":"utils","path":"./dist/cjs/utils","statSize":37908,"groups":[{"id":6989,"label":"ArrayUtils.js","path":"./dist/cjs/utils/ArrayUtils.js","statSize":1474},{"id":8903,"label":"BitUtils.js","path":"./dist/cjs/utils/BitUtils.js","statSize":2488},{"id":4078,"label":"BooleanUtils.js","path":"./dist/cjs/utils/BooleanUtils.js","statSize":1839},{"id":8025,"label":"NumberUtils.js","path":"./dist/cjs/utils/NumberUtils.js","statSize":1890},{"id":955,"label":"ObjectUtils.js","path":"./dist/cjs/utils/ObjectUtils.js","statSize":14455},{"id":9681,"label":"StringUtils.js","path":"./dist/cjs/utils/StringUtils.js","statSize":6529},{"id":201,"label":"UrlUtils.js","path":"./dist/cjs/utils/UrlUtils.js","statSize":986},{"label":"env","path":"./dist/cjs/utils/env","statSize":8247,"groups":[{"id":6936,"label":"Env.js","path":"./dist/cjs/utils/env/Env.js","statSize":4069},{"id":6278,"label":"Environment.js","path":"./dist/cjs/utils/env/Environment.js","statSize":420},{"id":9561,"label":"Os.js","path":"./dist/cjs/utils/env/Os.js","statSize":361},{"id":2287,"label":"Version.js","path":"./dist/cjs/utils/env/Version.js","statSize":284},{"id":5659,"label":"userAgent.js","path":"./dist/cjs/utils/env/userAgent.js","statSize":3113}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0}],"parsedSize":472373,"gzipSize":88393},{"label":"node_modules","path":"./node_modules","statSize":14570,"groups":[{"label":"@ncoderz/superenum/dist/esm","path":"./node_modules/@ncoderz/superenum/dist/esm","statSize":6981,"groups":[{"id":4718,"label":"superenum.js","path":"./node_modules/@ncoderz/superenum/dist/esm/superenum.js","statSize":6981}],"parsedSize":0,"gzipSize":0},{"label":"@ungap/structured-clone/cjs","path":"./node_modules/@ungap/structured-clone/cjs","statSize":7589,"groups":[{"id":5005,"label":"deserialize.js","path":"./node_modules/@ungap/structured-clone/cjs/deserialize.js","statSize":1997},{"id":7678,"label":"index.js","path":"./node_modules/@ungap/structured-clone/cjs/index.js","statSize":941},{"id":5416,"label":"serialize.js","path":"./node_modules/@ungap/structured-clone/cjs/serialize.js","statSize":4156},{"id":1731,"label":"types.js","path":"./node_modules/@ungap/structured-clone/cjs/types.js","statSize":495}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0}],"isInitialByEntrypoint":{"main":true}}];
35
35
  window.entrypoints = ["main"];
36
36
  window.defaultSizes = "stat";
37
37
  </script>
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.Builder = void 0;
7
+ const structured_clone_1 = __importDefault(require("@ungap/structured-clone"));
4
8
  const Breakscape_1 = require("../breakscaping/Breakscape");
5
9
  const Config_1 = require("../config/Config");
6
10
  const PropertyConfigKey_1 = require("../model/config/enum/PropertyConfigKey");
@@ -64,7 +68,7 @@ class Builder extends BaseBuilder_1.BaseBuilder {
64
68
  // NOTE: Node order is important and is defined here
65
69
  const node = Object.assign(Object.assign({ bitType: data.bitType, bitLevel: data.bitLevel, textFormat, resourceType: ResourceTag_1.ResourceTag.fromValue(data.resourceType), isCommented: data.isCommented,
66
70
  // Properties
67
- id: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.id, data.id), internalComment: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.internalComment, data.internalComment), externalId: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.externalId, data.externalId), spaceId: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.spaceId, data.spaceId), padletId: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.padletId, data.padletId), jupyterId: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.jupyterId, data.jupyterId), jupyterExecutionCount: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.jupyterExecutionCount, data.jupyterExecutionCount), isPublic: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.isPublic, data.isPublic), aiGenerated: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.aiGenerated, data.aiGenerated), machineTranslated: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.machineTranslated, data.machineTranslated), analyticsTag: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.analyticsTag, data.analyticsTag), feedbackEngine: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.feedbackEngine, data.feedbackEngine), feedbackType: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.feedbackType, data.feedbackType), disableFeedback: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.disableFeedback, data.disableFeedback), releaseVersion: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.releaseVersion, data.releaseVersion), releaseKind: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.releaseKind, data.releaseKind), releaseDate: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.releaseDate, data.releaseDate), book: this.buildBooks(data.book), ageRange: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.ageRange, data.ageRange), lang: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.lang, data.lang), language: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.language, data.language), publisher: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.publisher, data.publisher), publisherName: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.publisherName, data.publisherName), theme: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.theme, data.theme), computerLanguage: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.computerLanguage, data.computerLanguage), target: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.target, data.target), slug: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.slug, data.slug), tag: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tag, data.tag), reductionTag: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.reductionTag, data.reductionTag), bubbleTag: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.bubbleTag, data.bubbleTag), levelCEFRp: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.levelCEFRp, data.levelCEFRp), levelCEFR: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.levelCEFR, data.levelCEFR), levelILR: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.levelILR, data.levelILR), levelACTFL: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.levelACTFL, data.levelACTFL), icon: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.icon, data.icon), iconTag: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.iconTag, data.iconTag), colorTag: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.colorTag, data.colorTag), flashcardSet: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.flashcardSet, data.flashcardSet), subtype: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.subtype, data.subtype), bookAlias: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.bookAlias, data.bookAlias), coverImage: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.coverImage, data.coverImage), coverColor: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.coverColor, data.coverColor), publications: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.publications, data.publications), author: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.author, data.author), subject: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.subject, data.subject), date: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.date, data.date), dateEnd: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.dateEnd, data.dateEnd), location: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.location, data.location), kind: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.kind, data.kind), hasMarkAsDone: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.hasMarkAsDone, data.hasMarkAsDone), processHandIn: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.processHandIn, data.processHandIn), action: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.action, data.action), showInIndex: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.showInIndex, data.showInIndex), refAuthor: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.refAuthor, data.refAuthor), refBookTitle: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.refBookTitle, data.refBookTitle), refPublisher: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.refPublisher, data.refPublisher), blockId: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.blockId, data.blockId), pageNo: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.pageNo, data.pageNo), x: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.x, data.x), y: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.y, data.y), width: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.width, data.width), height: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.height, data.height), index: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.index, data.index), classification: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.classification, data.classification), availableClassifications: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.availableClassifications, data.availableClassifications), allowedBit: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.allowedBit, data.allowedBit), tableFixedHeader: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tableFixedHeader, data.tableFixedHeader), tableSearch: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tableSearch, data.tableSearch), tableSort: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tableSort, data.tableSort), tablePagination: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tablePagination, data.tablePagination), tablePaginationLimit: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tablePaginationLimit, data.tablePaginationLimit), tableHeight: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tableHeight, data.tableHeight), tableWhitespaceNoWrap: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tableWhitespaceNoWrap, data.tableWhitespaceNoWrap), tableAutoWidth: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tableAutoWidth, data.tableAutoWidth), tableResizableColumns: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tableResizableColumns, data.tableResizableColumns), tableColumnMinWidth: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tableColumnMinWidth, data.tableColumnMinWidth), quizCountItems: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.quizCountItems, data.quizCountItems), quizStrikethroughSolutions: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.quizStrikethroughSolutions, data.quizStrikethroughSolutions), codeLineNumbers: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.codeLineNumbers, data.codeLineNumbers), codeMinimap: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.codeMinimap, data.codeMinimap), stripePricingTableId: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.stripePricingTableId, data.stripePricingTableId), stripePublishableKey: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.stripePublishableKey, data.stripePublishableKey), thumbImage: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.thumbImage, data.thumbImage), scormSource: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.scormSource, data.scormSource), posterImage: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.posterImage, data.posterImage), focusX: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.focusX, data.focusX), focusY: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.focusY, data.focusY), pointerLeft: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.pointerLeft, data.pointerLeft), pointerTop: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.pointerTop, data.pointerTop), listItemIndent: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.listItemIndent, data.listItemIndent), backgroundWallpaper: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.backgroundWallpaper, data.backgroundWallpaper), hasBookNavigation: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.hasBookNavigation, data.hasBookNavigation), duration: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.duration, data.duration), deeplink: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.deeplink, data.deeplink), externalLink: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.externalLink, data.externalLink), externalLinkText: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.externalLinkText, data.externalLinkText), videoCallLink: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.videoCallLink, data.videoCallLink), vendorUrl: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.vendorUrl, data.vendorUrl), search: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.search, data.search), list: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.list, data.list), textReference: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.textReference, data.textReference), isTracked: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.isTracked, data.isTracked), isInfoOnly: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.isInfoOnly, data.isInfoOnly), imageFirst: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.imageFirst, data.imageFirst), activityType: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.activityType, data.activityType), labelTrue: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.labelTrue, data.labelTrue), labelFalse: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.labelFalse, data.labelFalse), content2Buy: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.content2Buy, data.content2Buy), mailingList: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.mailingList, data.mailingList), buttonCaption: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.buttonCaption, data.buttonCaption), callToActionUrl: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.callToActionUrl, data.callToActionUrl), caption: this.handleJsonText(data.caption), quotedPerson: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.quotedPerson, data.quotedPerson), reasonableNumOfChars: reasonableNumOfCharsProperty, resolved: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.resolved, data.resolved), resolvedDate: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.resolvedDate, data.resolvedDate), resolvedBy: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.resolvedBy, data.resolvedBy), maxCreatedBits: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.maxCreatedBits, data.maxCreatedBits), maxDisplayLevel: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.maxDisplayLevel, data.maxDisplayLevel), page: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.page, data.page), productId: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.productId, data.productId), product: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.product, data.product), productList: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.productList, data.productList), productVideo: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.productVideo, data.productVideo), productVideoList: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.productVideoList, data.productVideoList), productFolder: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.productFolder, data.productFolder), technicalTerm: this.buildTechnicalTerm(data.technicalTerm), servings: this.buildServings(data.servings), ratingLevelStart: this.buildRatingLevelStartEnd(data.ratingLevelStart), ratingLevelEnd: this.buildRatingLevelStartEnd(data.ratingLevelEnd), ratingLevelSelected: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.ratingLevelSelected, data.ratingLevelSelected), markConfig: this.buildMarkConfigs(data.markConfig), imageSource: this.buildImageSource(data.imageSource), person: this.buildPerson(data.bitType, data.person), bot: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.bot, data.bot), referenceProperty: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.property_reference, data.referenceProperty),
71
+ id: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.id, data.id), internalComment: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.internalComment, data.internalComment), externalId: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.externalId, data.externalId), spaceId: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.spaceId, data.spaceId), padletId: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.padletId, data.padletId), jupyterId: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.jupyterId, data.jupyterId), jupyterExecutionCount: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.jupyterExecutionCount, data.jupyterExecutionCount), isPublic: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.isPublic, data.isPublic), aiGenerated: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.aiGenerated, data.aiGenerated), machineTranslated: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.machineTranslated, data.machineTranslated), analyticsTag: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.analyticsTag, data.analyticsTag), feedbackEngine: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.feedbackEngine, data.feedbackEngine), feedbackType: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.feedbackType, data.feedbackType), disableFeedback: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.disableFeedback, data.disableFeedback), releaseVersion: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.releaseVersion, data.releaseVersion), releaseKind: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.releaseKind, data.releaseKind), releaseDate: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.releaseDate, data.releaseDate), book: this.buildBooks(data.book), ageRange: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.ageRange, data.ageRange), lang: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.lang, data.lang), language: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.language, data.language), publisher: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.publisher, data.publisher), publisherName: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.publisherName, data.publisherName), theme: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.theme, data.theme), computerLanguage: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.computerLanguage, data.computerLanguage), target: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.target, data.target), slug: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.slug, data.slug), tag: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tag, data.tag), reductionTag: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.reductionTag, data.reductionTag), bubbleTag: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.bubbleTag, data.bubbleTag), levelCEFRp: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.levelCEFRp, data.levelCEFRp), levelCEFR: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.levelCEFR, data.levelCEFR), levelILR: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.levelILR, data.levelILR), levelACTFL: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.levelACTFL, data.levelACTFL), icon: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.icon, data.icon), iconTag: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.iconTag, data.iconTag), colorTag: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.colorTag, data.colorTag), flashcardSet: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.flashcardSet, data.flashcardSet), subtype: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.subtype, data.subtype), bookAlias: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.bookAlias, data.bookAlias), coverImage: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.coverImage, data.coverImage), coverColor: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.coverColor, data.coverColor), publications: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.publications, data.publications), author: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.author, data.author), subject: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.subject, data.subject), date: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.date, data.date), dateEnd: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.dateEnd, data.dateEnd), location: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.location, data.location), kind: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.kind, data.kind), hasMarkAsDone: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.hasMarkAsDone, data.hasMarkAsDone), processHandIn: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.processHandIn, data.processHandIn), action: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.action, data.action), showInIndex: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.showInIndex, data.showInIndex), refAuthor: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.refAuthor, data.refAuthor), refBookTitle: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.refBookTitle, data.refBookTitle), refPublisher: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.refPublisher, data.refPublisher), blockId: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.blockId, data.blockId), pageNo: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.pageNo, data.pageNo), x: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.x, data.x), y: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.y, data.y), width: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.width, data.width), height: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.height, data.height), index: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.index, data.index), classification: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.classification, data.classification), availableClassifications: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.availableClassifications, data.availableClassifications), allowedBit: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.allowedBit, data.allowedBit), tableFixedHeader: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tableFixedHeader, data.tableFixedHeader), tableSearch: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tableSearch, data.tableSearch), tableSort: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tableSort, data.tableSort), tablePagination: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tablePagination, data.tablePagination), tablePaginationLimit: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tablePaginationLimit, data.tablePaginationLimit), tableHeight: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tableHeight, data.tableHeight), tableWhitespaceNoWrap: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tableWhitespaceNoWrap, data.tableWhitespaceNoWrap), tableAutoWidth: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tableAutoWidth, data.tableAutoWidth), tableResizableColumns: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tableResizableColumns, data.tableResizableColumns), tableColumnMinWidth: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.tableColumnMinWidth, data.tableColumnMinWidth), quizCountItems: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.quizCountItems, data.quizCountItems), quizStrikethroughSolutions: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.quizStrikethroughSolutions, data.quizStrikethroughSolutions), codeLineNumbers: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.codeLineNumbers, data.codeLineNumbers), codeMinimap: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.codeMinimap, data.codeMinimap), stripePricingTableId: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.stripePricingTableId, data.stripePricingTableId), stripePublishableKey: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.stripePublishableKey, data.stripePublishableKey), thumbImage: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.thumbImage, data.thumbImage), scormSource: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.scormSource, data.scormSource), posterImage: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.posterImage, data.posterImage), focusX: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.focusX, data.focusX), focusY: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.focusY, data.focusY), pointerLeft: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.pointerLeft, data.pointerLeft), pointerTop: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.pointerTop, data.pointerTop), listItemIndent: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.listItemIndent, data.listItemIndent), backgroundWallpaper: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.backgroundWallpaper, data.backgroundWallpaper), hasBookNavigation: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.hasBookNavigation, data.hasBookNavigation), duration: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.duration, data.duration), deeplink: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.deeplink, data.deeplink), externalLink: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.externalLink, data.externalLink), externalLinkText: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.externalLinkText, data.externalLinkText), videoCallLink: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.videoCallLink, data.videoCallLink), vendorUrl: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.vendorUrl, data.vendorUrl), search: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.search, data.search), list: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.list, data.list), textReference: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.textReference, data.textReference), isTracked: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.isTracked, data.isTracked), isInfoOnly: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.isInfoOnly, data.isInfoOnly), imageFirst: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.imageFirst, data.imageFirst), activityType: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.activityType, data.activityType), labelTrue: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.labelTrue, data.labelTrue), labelFalse: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.labelFalse, data.labelFalse), content2Buy: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.content2Buy, data.content2Buy), mailingList: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.mailingList, data.mailingList), buttonCaption: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.buttonCaption, data.buttonCaption), callToActionUrl: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.callToActionUrl, data.callToActionUrl), caption: this.handleJsonText(data.caption), quotedPerson: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.quotedPerson, data.quotedPerson), reasonableNumOfChars: reasonableNumOfCharsProperty, resolved: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.resolved, data.resolved), resolvedDate: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.resolvedDate, data.resolvedDate), resolvedBy: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.resolvedBy, data.resolvedBy), maxCreatedBits: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.maxCreatedBits, data.maxCreatedBits), maxDisplayLevel: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.maxDisplayLevel, data.maxDisplayLevel), maxTocChapterLevel: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.maxTocChapterLevel, data.maxTocChapterLevel), page: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.page, data.page), productId: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.productId, data.productId), product: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.product, data.product), productList: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.productList, data.productList), productVideo: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.productVideo, data.productVideo), productVideoList: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.productVideoList, data.productVideoList), productFolder: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.productFolder, data.productFolder), technicalTerm: this.buildTechnicalTerm(data.technicalTerm), servings: this.buildServings(data.servings), ratingLevelStart: this.buildRatingLevelStartEnd(data.ratingLevelStart), ratingLevelEnd: this.buildRatingLevelStartEnd(data.ratingLevelEnd), ratingLevelSelected: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.ratingLevelSelected, data.ratingLevelSelected), markConfig: this.buildMarkConfigs(data.markConfig), imageSource: this.buildImageSource(data.imageSource), person: this.buildPerson(data.bitType, data.person), bot: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.bot, data.bot), referenceProperty: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.property_reference, data.referenceProperty),
68
72
  // Book data
69
73
  title: this.handleJsonText(data.title), subtitle: this.handleJsonText(data.subtitle), level: NumberUtils_1.NumberUtils.asNumber(data.level), toc: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.toc, data.toc), progress: this.toAstProperty(PropertyConfigKey_1.PropertyConfigKey.progress, data.progress), anchor: data.anchor, reference: data.reference, referenceEnd: data.referenceEnd,
70
74
  // Item, Lead, Hint, Instruction
@@ -77,15 +81,16 @@ class Builder extends BaseBuilder_1.BaseBuilder {
77
81
  // Private properties
78
82
  __isDefaultExample: (_c = data.__isDefaultExample) !== null && _c !== void 0 ? _c : false });
79
83
  // Push reasonableNumOfChars down the tree for the interview bit
80
- if (Config_1.Config.isOfBitType(data.bitType, BitType_1.BitType.interview)) {
84
+ if (Config_1.Config.isOfBitType(node.bitType, BitType_1.BitType.interview)) {
81
85
  this.pushDownTree(undefined, undefined, cardNode, 'questions', PropertyConfigKey_1.PropertyConfigKey.reasonableNumOfChars, data.reasonableNumOfChars);
82
86
  }
83
87
  // Push isCaseSensitive down the tree for the cloze, match and match-matrix bits
84
- this.pushDownTree([data.body, ...((_e = (_d = cardNode === null || cardNode === void 0 ? void 0 : cardNode.cardBits) === null || _d === void 0 ? void 0 : _d.map((cardBit) => cardBit.body)) !== null && _e !== void 0 ? _e : [])], [BodyBitType_1.BodyBitType.gap], undefined, 'isCaseSensitive', PropertyConfigKey_1.PropertyConfigKey.isCaseSensitive, (_f = data.isCaseSensitive) !== null && _f !== void 0 ? _f : true);
88
+ this.pushDownTree([node.body, ...((_e = (_d = cardNode === null || cardNode === void 0 ? void 0 : cardNode.cardBits) === null || _d === void 0 ? void 0 : _d.map((cardBit) => cardBit.body)) !== null && _e !== void 0 ? _e : [])], [BodyBitType_1.BodyBitType.gap], undefined, undefined, //'isCaseSensitive',
89
+ PropertyConfigKey_1.PropertyConfigKey.isCaseSensitive, (_f = data.isCaseSensitive) !== null && _f !== void 0 ? _f : true);
85
90
  this.pushDownTree(undefined, undefined, cardNode, 'pairs', PropertyConfigKey_1.PropertyConfigKey.isCaseSensitive, (_g = data.isCaseSensitive) !== null && _g !== void 0 ? _g : true);
86
91
  this.pushDownTree(undefined, undefined, cardNode, ['matrix', 'cells'], PropertyConfigKey_1.PropertyConfigKey.isCaseSensitive, (_h = data.isCaseSensitive) !== null && _h !== void 0 ? _h : true);
87
92
  // If __isDefaultExample is set at the bit level, push the default example down the tree to the relevant nodes
88
- this.pushExampleDownTree(data.body, cardNode, data.__isDefaultExample, convertedExample.example);
93
+ this.pushExampleDownTree(node.body, cardNode, node.__isDefaultExample, convertedExample.example);
89
94
  // Set default values
90
95
  this.setDefaultBitValues(node);
91
96
  // Set the 'isExample' flags
@@ -650,6 +655,8 @@ class Builder extends BaseBuilder_1.BaseBuilder {
650
655
  replaceBitsRecursive(rawBody);
651
656
  }
652
657
  // Process the body bits to ensure they are valid
658
+ // Walking the body bits will change them, so we should make a copy before processing
659
+ rawBody = (0, structured_clone_1.default)(rawBody);
653
660
  this.textParser.walkBodyBits(rawBody, (parent, index, bodyBit) => {
654
661
  // Ensure the body bit is valid
655
662
  let parsedBit;
@@ -730,8 +737,10 @@ class Builder extends BaseBuilder_1.BaseBuilder {
730
737
  return undefined;
731
738
  // Set default example
732
739
  const defaultExample = Array.isArray(data.__solutionsAst) && data.__solutionsAst.length > 0 ? data.__solutionsAst[0] : null;
740
+ // Copy any attributes from 'attrs' to the body bit (data is in 'attrs' when coming from JSON)
741
+ data = this.bodyBitCopyFromAttrs(data);
733
742
  // NOTE: Node order is important and is defined here
734
- const node = Object.assign(Object.assign({ type: BodyBitType_1.BodyBitType.gap, solutions: (_a = data.solutions) !== null && _a !== void 0 ? _a : [], item: this.handleJsonText(data.item), lead: this.handleJsonText(data.lead), hint: this.handleJsonText(data.hint), instruction: this.handleJsonText(data.instruction), isCaseSensitive: data.isCaseSensitive }, this.toExample(data.__isDefaultExample, data.example, defaultExample)), { __solutionsAst: data.__solutionsAst });
743
+ const node = Object.assign(Object.assign({ type: BodyBitType_1.BodyBitType.gap, solutions: (_a = data.solutions) !== null && _a !== void 0 ? _a : [], item: this.handleJsonText(data.item), lead: this.handleJsonText(data.lead), hint: this.handleJsonText(data.hint), instruction: this.handleJsonText(data.instruction), isCaseSensitive: data.isCaseSensitive }, this.toExample(data.__isDefaultExample, data.example, defaultExample)), { __solutionsAst: data.__solutionsAst, attrs: {} });
735
744
  // Remove Unset Optionals
736
745
  ObjectUtils_1.ObjectUtils.removeUnwantedProperties(node, {
737
746
  ignoreAllFalse: true,
@@ -784,8 +793,10 @@ class Builder extends BaseBuilder_1.BaseBuilder {
784
793
  var _a, _b;
785
794
  if (!data)
786
795
  return undefined;
796
+ // Copy any attributes from 'attrs' to the body bit (data is in 'attrs' when coming from JSON)
797
+ data = this.bodyBitCopyFromAttrs(data);
787
798
  // NOTE: Node order is important and is defined here
788
- const node = Object.assign({ type: BodyBitType_1.BodyBitType.mark, solution: (_a = data.solution) !== null && _a !== void 0 ? _a : '', mark: (_b = data.mark) !== null && _b !== void 0 ? _b : '', item: this.handleJsonText(data.item), lead: this.handleJsonText(data.lead), hint: this.handleJsonText(data.hint), instruction: this.handleJsonText(data.instruction) }, this.toExample(data.__isDefaultExample, data.example, true));
799
+ const node = Object.assign(Object.assign({ type: BodyBitType_1.BodyBitType.mark, solution: (_a = data.solution) !== null && _a !== void 0 ? _a : '', mark: (_b = data.mark) !== null && _b !== void 0 ? _b : '', item: this.handleJsonText(data.item), lead: this.handleJsonText(data.lead), hint: this.handleJsonText(data.hint), instruction: this.handleJsonText(data.instruction) }, this.toExample(data.__isDefaultExample, data.example, true)), { attrs: {} });
789
800
  // Remove Unset Optionals
790
801
  ObjectUtils_1.ObjectUtils.removeUnwantedProperties(node, {
791
802
  ignoreAllFalse: true,
@@ -805,8 +816,10 @@ class Builder extends BaseBuilder_1.BaseBuilder {
805
816
  var _a, _b, _c;
806
817
  if (!data)
807
818
  return undefined;
819
+ // Copy any attributes from 'attrs' to the body bit (data is in 'attrs' when coming from JSON)
820
+ data = this.bodyBitCopyFromAttrs(data);
808
821
  // NOTE: Node order is important and is defined here
809
- const node = Object.assign(Object.assign({ type: BodyBitType_1.BodyBitType.select, options: (_a = this.buildSelectOptions(data.options)) !== null && _a !== void 0 ? _a : [], prefix: (_b = data.prefix) !== null && _b !== void 0 ? _b : '', postfix: (_c = data.postfix) !== null && _c !== void 0 ? _c : '', item: this.handleJsonText(data.item), lead: this.handleJsonText(data.lead), hint: this.handleJsonText(data.hint), instruction: this.handleJsonText(data.instruction) }, this.toExample(false, undefined, undefined)), { __hintString: data.__hintString, __instructionString: data.__instructionString });
822
+ const node = Object.assign(Object.assign({ type: BodyBitType_1.BodyBitType.select, options: (_a = this.buildSelectOptions(data.options)) !== null && _a !== void 0 ? _a : [], prefix: (_b = data.prefix) !== null && _b !== void 0 ? _b : '', postfix: (_c = data.postfix) !== null && _c !== void 0 ? _c : '', item: this.handleJsonText(data.item), lead: this.handleJsonText(data.lead), hint: this.handleJsonText(data.hint), instruction: this.handleJsonText(data.instruction) }, this.toExample(false, undefined, undefined)), { __hintString: data.__hintString, __instructionString: data.__instructionString, attrs: {} });
810
823
  // Remove Unset Optionals
811
824
  ObjectUtils_1.ObjectUtils.removeUnwantedProperties(node, {
812
825
  ignoreAllFalse: true,
@@ -857,8 +870,10 @@ class Builder extends BaseBuilder_1.BaseBuilder {
857
870
  var _a, _b, _c;
858
871
  if (!data)
859
872
  return undefined;
873
+ // Copy any attributes from 'attrs' to the body bit (data is in 'attrs' when coming from JSON)
874
+ data = this.bodyBitCopyFromAttrs(data);
860
875
  // NOTE: Node order is important and is defined here
861
- const node = Object.assign({ type: BodyBitType_1.BodyBitType.highlight, texts: (_a = this.buildHighlightTexts(data.texts)) !== null && _a !== void 0 ? _a : [], prefix: (_b = data.prefix) !== null && _b !== void 0 ? _b : '', postfix: (_c = data.postfix) !== null && _c !== void 0 ? _c : '', item: this.handleJsonText(data.item), lead: this.handleJsonText(data.lead), hint: this.handleJsonText(data.hint), instruction: this.handleJsonText(data.instruction) }, this.toExample(false, undefined, undefined));
876
+ const node = Object.assign(Object.assign({ type: BodyBitType_1.BodyBitType.highlight, texts: (_a = this.buildHighlightTexts(data.texts)) !== null && _a !== void 0 ? _a : [], prefix: (_b = data.prefix) !== null && _b !== void 0 ? _b : '', postfix: (_c = data.postfix) !== null && _c !== void 0 ? _c : '', item: this.handleJsonText(data.item), lead: this.handleJsonText(data.lead), hint: this.handleJsonText(data.hint), instruction: this.handleJsonText(data.instruction) }, this.toExample(false, undefined, undefined)), { attrs: {} });
862
877
  // Remove Unset Optionals
863
878
  ObjectUtils_1.ObjectUtils.removeUnwantedProperties(node, {
864
879
  ignoreAllFalse: true,
@@ -1228,6 +1243,25 @@ class Builder extends BaseBuilder_1.BaseBuilder {
1228
1243
  ObjectUtils_1.ObjectUtils.removeUnwantedProperties(node);
1229
1244
  return Object.keys(node).length > 0 ? node : undefined;
1230
1245
  }
1246
+ /**
1247
+ * Copy any attributes from 'attrs' property to the root node (necessary when the input if from JSON)
1248
+ * The values in 'attrs' will overwrite any existing values in the node
1249
+ *
1250
+ * The original object is not modified, a new object is returned
1251
+ *
1252
+ * @param data
1253
+ */
1254
+ bodyBitCopyFromAttrs(data) {
1255
+ const copy = Object.assign({}, data);
1256
+ // Copy any attributes from 'attrs' to the node (necessary when the input if from JSON)
1257
+ if (data.attrs) {
1258
+ for (const [key, value] of Object.entries(data.attrs)) {
1259
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1260
+ copy[key] = value;
1261
+ }
1262
+ }
1263
+ return copy;
1264
+ }
1231
1265
  /**
1232
1266
  * Set examples down the tree
1233
1267
  *