@gmb/bitmark-parser-generator 1.2.0 → 1.2.1

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 (151) hide show
  1. package/dist/browser/bitmark-parser-generator-antlr.min.js +1 -1
  2. package/dist/browser/bitmark-parser-generator.min.js +1 -1
  3. package/dist/browser/bundle-report.html +2 -2
  4. package/dist/cjs/ast/BaseBuilder.js +22 -22
  5. package/dist/cjs/ast/BaseBuilder.js.map +1 -1
  6. package/dist/cjs/ast/Builder.js +137 -54
  7. package/dist/cjs/ast/Builder.js.map +1 -1
  8. package/dist/cjs/config/bits/flashcardBitConfig.js +6 -2
  9. package/dist/cjs/config/bits/flashcardBitConfig.js.map +1 -1
  10. package/dist/cjs/config/bits/generic/cardSetBitConfigs.js +15 -1
  11. package/dist/cjs/config/bits/generic/cardSetBitConfigs.js.map +1 -1
  12. package/dist/cjs/config/bits/generic/standardBitConfigs.js +18 -0
  13. package/dist/cjs/config/bits/generic/standardBitConfigs.js.map +1 -1
  14. package/dist/cjs/config/config.js +5 -1
  15. package/dist/cjs/config/config.js.map +1 -1
  16. package/dist/cjs/config/properties/colorTagPropertyConfig.js +8 -0
  17. package/dist/cjs/config/properties/colorTagPropertyConfig.js.map +1 -0
  18. package/dist/cjs/config/properties/iconPropertyConfig.js +9 -0
  19. package/dist/cjs/config/properties/iconPropertyConfig.js.map +1 -0
  20. package/dist/cjs/config/properties/iconTagPropertyConfig.js +9 -0
  21. package/dist/cjs/config/properties/iconTagPropertyConfig.js.map +1 -0
  22. package/dist/cjs/config/properties/tagPropertyConfig.js +8 -0
  23. package/dist/cjs/config/properties/tagPropertyConfig.js.map +1 -0
  24. package/dist/cjs/config/properties/targetPropertyConfig.js +8 -0
  25. package/dist/cjs/config/properties/targetPropertyConfig.js.map +1 -0
  26. package/dist/cjs/generated/build-info.js +1 -1
  27. package/dist/cjs/generated/parser/bitmark/bitmark-peggy-parser.js +161 -213
  28. package/dist/cjs/generated/parser/bitmark/bitmark-peggy-parser.js.map +1 -1
  29. package/dist/cjs/generator/bitmark/BitmarkGenerator.js +51 -4
  30. package/dist/cjs/generator/bitmark/BitmarkGenerator.js.map +1 -1
  31. package/dist/cjs/generator/json/JsonGenerator.js +49 -4
  32. package/dist/cjs/generator/json/JsonGenerator.js.map +1 -1
  33. package/dist/cjs/model/ast/NodeType.js +18 -0
  34. package/dist/cjs/model/ast/NodeType.js.map +1 -1
  35. package/dist/cjs/model/enum/BitType.js +13 -1
  36. package/dist/cjs/model/enum/BitType.js.map +1 -1
  37. package/dist/cjs/model/enum/CardSetType.js +1 -0
  38. package/dist/cjs/model/enum/CardSetType.js.map +1 -1
  39. package/dist/cjs/model/enum/PropertyKey.js +5 -0
  40. package/dist/cjs/model/enum/PropertyKey.js.map +1 -1
  41. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserHelper.js +21 -2
  42. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserHelper.js.map +1 -1
  43. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserTypes.js +1 -1
  44. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserTypes.js.map +1 -1
  45. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserValidator.js +10 -3
  46. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserValidator.js.map +1 -1
  47. package/dist/cjs/parser/bitmark/peg/contentProcessors/CardContentProcessor.js +148 -27
  48. package/dist/cjs/parser/bitmark/peg/contentProcessors/CardContentProcessor.js.map +1 -1
  49. package/dist/cjs/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js +4 -0
  50. package/dist/cjs/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js.map +1 -1
  51. package/dist/cjs/parser/json/JsonParser.js +24 -2
  52. package/dist/cjs/parser/json/JsonParser.js.map +1 -1
  53. package/dist/esm/ast/BaseBuilder.js +22 -22
  54. package/dist/esm/ast/BaseBuilder.js.map +1 -1
  55. package/dist/esm/ast/Builder.js +137 -54
  56. package/dist/esm/ast/Builder.js.map +1 -1
  57. package/dist/esm/config/bits/flashcardBitConfig.js +6 -2
  58. package/dist/esm/config/bits/flashcardBitConfig.js.map +1 -1
  59. package/dist/esm/config/bits/generic/cardSetBitConfigs.js +14 -1
  60. package/dist/esm/config/bits/generic/cardSetBitConfigs.js.map +1 -1
  61. package/dist/esm/config/bits/generic/standardBitConfigs.js +18 -0
  62. package/dist/esm/config/bits/generic/standardBitConfigs.js.map +1 -1
  63. package/dist/esm/config/config.js +5 -1
  64. package/dist/esm/config/config.js.map +1 -1
  65. package/dist/esm/config/properties/colorTagPropertyConfig.js +6 -0
  66. package/dist/esm/config/properties/colorTagPropertyConfig.js.map +1 -0
  67. package/dist/esm/config/properties/iconPropertyConfig.js +7 -0
  68. package/dist/esm/config/properties/iconPropertyConfig.js.map +1 -0
  69. package/dist/esm/config/properties/iconTagPropertyConfig.js +7 -0
  70. package/dist/esm/config/properties/iconTagPropertyConfig.js.map +1 -0
  71. package/dist/esm/config/properties/tagPropertyConfig.js +6 -0
  72. package/dist/esm/config/properties/tagPropertyConfig.js.map +1 -0
  73. package/dist/esm/config/properties/targetPropertyConfig.js +6 -0
  74. package/dist/esm/config/properties/targetPropertyConfig.js.map +1 -0
  75. package/dist/esm/generated/build-info.js +1 -1
  76. package/dist/esm/generated/parser/bitmark/bitmark-peggy-parser.js +161 -213
  77. package/dist/esm/generated/parser/bitmark/bitmark-peggy-parser.js.map +1 -1
  78. package/dist/esm/generator/bitmark/BitmarkGenerator.js +51 -4
  79. package/dist/esm/generator/bitmark/BitmarkGenerator.js.map +1 -1
  80. package/dist/esm/generator/json/JsonGenerator.js +49 -4
  81. package/dist/esm/generator/json/JsonGenerator.js.map +1 -1
  82. package/dist/esm/model/ast/NodeType.js +18 -0
  83. package/dist/esm/model/ast/NodeType.js.map +1 -1
  84. package/dist/esm/model/enum/BitType.js +13 -1
  85. package/dist/esm/model/enum/BitType.js.map +1 -1
  86. package/dist/esm/model/enum/CardSetType.js +1 -0
  87. package/dist/esm/model/enum/CardSetType.js.map +1 -1
  88. package/dist/esm/model/enum/PropertyKey.js +5 -0
  89. package/dist/esm/model/enum/PropertyKey.js.map +1 -1
  90. package/dist/esm/parser/bitmark/peg/BitmarkPegParserHelper.js +21 -2
  91. package/dist/esm/parser/bitmark/peg/BitmarkPegParserHelper.js.map +1 -1
  92. package/dist/esm/parser/bitmark/peg/BitmarkPegParserTypes.js +1 -1
  93. package/dist/esm/parser/bitmark/peg/BitmarkPegParserTypes.js.map +1 -1
  94. package/dist/esm/parser/bitmark/peg/BitmarkPegParserValidator.js +10 -3
  95. package/dist/esm/parser/bitmark/peg/BitmarkPegParserValidator.js.map +1 -1
  96. package/dist/esm/parser/bitmark/peg/contentProcessors/CardContentProcessor.js +149 -28
  97. package/dist/esm/parser/bitmark/peg/contentProcessors/CardContentProcessor.js.map +1 -1
  98. package/dist/esm/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js +4 -0
  99. package/dist/esm/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.js.map +1 -1
  100. package/dist/esm/parser/json/JsonParser.js +24 -2
  101. package/dist/esm/parser/json/JsonParser.js.map +1 -1
  102. package/dist/types/ast/BaseBuilder.d.ts +8 -8
  103. package/dist/types/ast/Builder.d.ts +51 -6
  104. package/dist/types/ast/Builder.d.ts.map +1 -1
  105. package/dist/types/config/bits/generic/cardSetBitConfigs.d.ts +2 -1
  106. package/dist/types/config/bits/generic/cardSetBitConfigs.d.ts.map +1 -1
  107. package/dist/types/config/bits/generic/standardBitConfigs.d.ts.map +1 -1
  108. package/dist/types/config/config.d.ts +5 -1
  109. package/dist/types/config/config.d.ts.map +1 -1
  110. package/dist/types/config/properties/colorTagPropertyConfig.d.ts +2 -0
  111. package/dist/types/config/properties/colorTagPropertyConfig.d.ts.map +1 -0
  112. package/dist/types/config/properties/iconPropertyConfig.d.ts +2 -0
  113. package/dist/types/config/properties/iconPropertyConfig.d.ts.map +1 -0
  114. package/dist/types/config/properties/iconTagPropertyConfig.d.ts +2 -0
  115. package/dist/types/config/properties/iconTagPropertyConfig.d.ts.map +1 -0
  116. package/dist/types/config/properties/tagPropertyConfig.d.ts +2 -0
  117. package/dist/types/config/properties/tagPropertyConfig.d.ts.map +1 -0
  118. package/dist/types/config/properties/targetPropertyConfig.d.ts +2 -0
  119. package/dist/types/config/properties/targetPropertyConfig.d.ts.map +1 -0
  120. package/dist/types/generated/parser/bitmark/bitmark-peggy-parser.d.ts.map +1 -1
  121. package/dist/types/generator/bitmark/BitmarkGenerator.d.ts +6 -1
  122. package/dist/types/generator/bitmark/BitmarkGenerator.d.ts.map +1 -1
  123. package/dist/types/generator/json/JsonGenerator.d.ts +1 -0
  124. package/dist/types/generator/json/JsonGenerator.d.ts.map +1 -1
  125. package/dist/types/model/ast/NodeType.d.ts +32 -0
  126. package/dist/types/model/ast/NodeType.d.ts.map +1 -1
  127. package/dist/types/model/ast/Nodes.d.ts +17 -0
  128. package/dist/types/model/ast/Nodes.d.ts.map +1 -1
  129. package/dist/types/model/enum/BitType.d.ts +10 -2
  130. package/dist/types/model/enum/BitType.d.ts.map +1 -1
  131. package/dist/types/model/enum/CardSetType.d.ts +2 -0
  132. package/dist/types/model/enum/CardSetType.d.ts.map +1 -1
  133. package/dist/types/model/enum/PropertyKey.d.ts +10 -0
  134. package/dist/types/model/enum/PropertyKey.d.ts.map +1 -1
  135. package/dist/types/model/json/BitJson.d.ts +24 -7
  136. package/dist/types/model/json/BitJson.d.ts.map +1 -1
  137. package/dist/types/parser/bitmark/peg/BitmarkPegParserHelper.d.ts.map +1 -1
  138. package/dist/types/parser/bitmark/peg/BitmarkPegParserTypes.d.ts +7 -4
  139. package/dist/types/parser/bitmark/peg/BitmarkPegParserTypes.d.ts.map +1 -1
  140. package/dist/types/parser/bitmark/peg/BitmarkPegParserValidator.d.ts.map +1 -1
  141. package/dist/types/parser/bitmark/peg/contentProcessors/CardContentProcessor.d.ts.map +1 -1
  142. package/dist/types/parser/bitmark/peg/contentProcessors/ExampleTagContentProcessor.d.ts.map +1 -1
  143. package/dist/types/parser/json/JsonParser.d.ts +1 -0
  144. package/dist/types/parser/json/JsonParser.d.ts.map +1 -1
  145. package/package.json +1 -1
  146. package/dist/cjs/config/bits/flashcard1BitConfig.js +0 -11
  147. package/dist/cjs/config/bits/flashcard1BitConfig.js.map +0 -1
  148. package/dist/esm/config/bits/flashcard1BitConfig.js +0 -9
  149. package/dist/esm/config/bits/flashcard1BitConfig.js.map +0 -1
  150. package/dist/types/config/bits/flashcard1BitConfig.d.ts +0 -2
  151. package/dist/types/config/bits/flashcard1BitConfig.d.ts.map +0 -1
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const PropertyKey_1 = require("../../model/enum/PropertyKey");
4
+ // Set metadata on the property keys to describe specific behaviour
5
+ PropertyKey_1.PropertyKey.setMetadata(PropertyKey_1.PropertyKey.iconTag, {
6
+ isSingle: true,
7
+ isTrimmedString: true,
8
+ });
9
+ //# sourceMappingURL=iconTagPropertyConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iconTagPropertyConfig.js","sourceRoot":"","sources":["../../../../src/config/properties/iconTagPropertyConfig.ts"],"names":[],"mappings":";;AAAA,8DAAgF;AAEhF,mEAAmE;AAEnE,yBAAW,CAAC,WAAW,CAAsB,yBAAW,CAAC,OAAO,EAAE;IAChE,QAAQ,EAAE,IAAI;IACd,eAAe,EAAE,IAAI;CACtB,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const PropertyKey_1 = require("../../model/enum/PropertyKey");
4
+ // Set metadata on the property keys to describe specific behaviour
5
+ PropertyKey_1.PropertyKey.setMetadata(PropertyKey_1.PropertyKey.tag, {
6
+ isTrimmedString: true,
7
+ });
8
+ //# sourceMappingURL=tagPropertyConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tagPropertyConfig.js","sourceRoot":"","sources":["../../../../src/config/properties/tagPropertyConfig.ts"],"names":[],"mappings":";;AAAA,8DAAgF;AAEhF,mEAAmE;AAEnE,yBAAW,CAAC,WAAW,CAAsB,yBAAW,CAAC,GAAG,EAAE;IAC5D,eAAe,EAAE,IAAI;CACtB,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const PropertyKey_1 = require("../../model/enum/PropertyKey");
4
+ // Set metadata on the property keys to describe specific behaviour
5
+ PropertyKey_1.PropertyKey.setMetadata(PropertyKey_1.PropertyKey.target, {
6
+ isTrimmedString: true,
7
+ });
8
+ //# sourceMappingURL=targetPropertyConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"targetPropertyConfig.js","sourceRoot":"","sources":["../../../../src/config/properties/targetPropertyConfig.ts"],"names":[],"mappings":";;AAAA,8DAAgF;AAEhF,mEAAmE;AAEnE,yBAAW,CAAC,WAAW,CAAsB,yBAAW,CAAC,MAAM,EAAE;IAC/D,eAAe,EAAE,IAAI;CACtB,CAAC,CAAC"}
@@ -5,6 +5,6 @@ exports.buildInfo = void 0;
5
5
  /* eslint-disable */
6
6
  exports.buildInfo = {
7
7
  "name": "@gmb/bitmark-parser-generator",
8
- "version": "1.2.0"
8
+ "version": "1.2.1"
9
9
  };
10
10
  //# sourceMappingURL=build-info.js.map
@@ -166,10 +166,10 @@ function peg$parse(input, options) {
166
166
  var peg$c1 = "]";
167
167
  var peg$c2 = ":";
168
168
  var peg$c3 = "&";
169
- var peg$c4 = "++";
170
- var peg$c5 = "====";
169
+ var peg$c4 = "====";
170
+ var peg$c5 = "~~~~";
171
171
  var peg$c6 = "--";
172
- var peg$c7 = "~~";
172
+ var peg$c7 = "++";
173
173
  var peg$c8 = "===";
174
174
  var peg$c9 = "==";
175
175
  var peg$c10 = "[@id";
@@ -207,10 +207,10 @@ function peg$parse(input, options) {
207
207
  var peg$e3 = peg$literalExpectation(":", false);
208
208
  var peg$e4 = peg$literalExpectation("&", false);
209
209
  var peg$e5 = peg$anyExpectation();
210
- var peg$e6 = peg$literalExpectation("++", false);
211
- var peg$e7 = peg$literalExpectation("====", false);
210
+ var peg$e6 = peg$literalExpectation("====", false);
211
+ var peg$e7 = peg$literalExpectation("~~~~", false);
212
212
  var peg$e8 = peg$literalExpectation("--", false);
213
- var peg$e9 = peg$literalExpectation("~~", false);
213
+ var peg$e9 = peg$literalExpectation("++", false);
214
214
  var peg$e10 = peg$literalExpectation("===", false);
215
215
  var peg$e11 = peg$literalExpectation("==", false);
216
216
  var peg$e12 = peg$literalExpectation("[@id", false);
@@ -984,135 +984,49 @@ function peg$parse(input, options) {
984
984
  return s0;
985
985
  }
986
986
  function peg$parseCardSetStart_V2() {
987
- var s0, s1, s2, s3, s4, s5, s6, s7;
987
+ var s0, s1, s2, s3, s4, s5;
988
988
  s0 = peg$currPos;
989
989
  s1 = peg$parseNL();
990
990
  if (s1 !== peg$FAILED) {
991
- if (input.substr(peg$currPos, 2) === peg$c4) {
992
- s2 = peg$c4;
993
- peg$currPos += 2;
991
+ s2 = peg$currPos;
992
+ peg$silentFails++;
993
+ s3 = peg$currPos;
994
+ if (input.substr(peg$currPos, 4) === peg$c4) {
995
+ s4 = peg$c4;
996
+ peg$currPos += 4;
994
997
  }
995
998
  else {
996
- s2 = peg$FAILED;
999
+ s4 = peg$FAILED;
997
1000
  if (peg$silentFails === 0) {
998
1001
  peg$fail(peg$e6);
999
1002
  }
1000
1003
  }
1001
- if (s2 !== peg$FAILED) {
1002
- s3 = peg$parseWNL();
1003
- if (s3 !== peg$FAILED) {
1004
- s4 = peg$currPos;
1005
- peg$silentFails++;
1006
- s5 = peg$currPos;
1007
- if (input.substr(peg$currPos, 4) === peg$c5) {
1008
- s6 = peg$c5;
1009
- peg$currPos += 4;
1010
- }
1011
- else {
1012
- s6 = peg$FAILED;
1013
- if (peg$silentFails === 0) {
1014
- peg$fail(peg$e7);
1015
- }
1016
- }
1017
- if (s6 !== peg$FAILED) {
1018
- s7 = peg$parseWNL();
1019
- if (s7 !== peg$FAILED) {
1020
- s6 = [s6, s7];
1021
- s5 = s6;
1022
- }
1023
- else {
1024
- peg$currPos = s5;
1025
- s5 = peg$FAILED;
1026
- }
1027
- }
1028
- else {
1029
- peg$currPos = s5;
1030
- s5 = peg$FAILED;
1031
- }
1032
- peg$silentFails--;
1033
- if (s5 !== peg$FAILED) {
1034
- peg$currPos = s4;
1035
- s4 = undefined;
1036
- }
1037
- else {
1038
- s4 = peg$FAILED;
1039
- }
1040
- if (s4 !== peg$FAILED) {
1041
- peg$savedPos = s0;
1042
- s0 = peg$f18();
1043
- }
1044
- else {
1045
- peg$currPos = s0;
1046
- s0 = peg$FAILED;
1047
- }
1004
+ if (s4 !== peg$FAILED) {
1005
+ s5 = peg$parseWNL();
1006
+ if (s5 !== peg$FAILED) {
1007
+ s4 = [s4, s5];
1008
+ s3 = s4;
1048
1009
  }
1049
1010
  else {
1050
- peg$currPos = s0;
1051
- s0 = peg$FAILED;
1011
+ peg$currPos = s3;
1012
+ s3 = peg$FAILED;
1052
1013
  }
1053
1014
  }
1054
1015
  else {
1055
- peg$currPos = s0;
1056
- s0 = peg$FAILED;
1016
+ peg$currPos = s3;
1017
+ s3 = peg$FAILED;
1057
1018
  }
1058
- }
1059
- else {
1060
- peg$currPos = s0;
1061
- s0 = peg$FAILED;
1062
- }
1063
- return s0;
1064
- }
1065
- function peg$parseCardSetEnd_V2() {
1066
- var s0, s1, s2, s3, s4, s5;
1067
- s0 = peg$currPos;
1068
- if (input.substr(peg$currPos, 4) === peg$c5) {
1069
- s1 = peg$c5;
1070
- peg$currPos += 4;
1071
- }
1072
- else {
1073
- s1 = peg$FAILED;
1074
- if (peg$silentFails === 0) {
1075
- peg$fail(peg$e7);
1019
+ peg$silentFails--;
1020
+ if (s3 !== peg$FAILED) {
1021
+ peg$currPos = s2;
1022
+ s2 = undefined;
1023
+ }
1024
+ else {
1025
+ s2 = peg$FAILED;
1076
1026
  }
1077
- }
1078
- if (s1 !== peg$FAILED) {
1079
- s2 = peg$parseWNL();
1080
1027
  if (s2 !== peg$FAILED) {
1081
- if (input.substr(peg$currPos, 2) === peg$c4) {
1082
- s3 = peg$c4;
1083
- peg$currPos += 2;
1084
- }
1085
- else {
1086
- s3 = peg$FAILED;
1087
- if (peg$silentFails === 0) {
1088
- peg$fail(peg$e6);
1089
- }
1090
- }
1091
- if (s3 !== peg$FAILED) {
1092
- s4 = peg$currPos;
1093
- peg$silentFails++;
1094
- s5 = peg$parseWEOL();
1095
- peg$silentFails--;
1096
- if (s5 !== peg$FAILED) {
1097
- peg$currPos = s4;
1098
- s4 = undefined;
1099
- }
1100
- else {
1101
- s4 = peg$FAILED;
1102
- }
1103
- if (s4 !== peg$FAILED) {
1104
- s1 = [s1, s2, s3, s4];
1105
- s0 = s1;
1106
- }
1107
- else {
1108
- peg$currPos = s0;
1109
- s0 = peg$FAILED;
1110
- }
1111
- }
1112
- else {
1113
- peg$currPos = s0;
1114
- s0 = peg$FAILED;
1115
- }
1028
+ peg$savedPos = s0;
1029
+ s0 = peg$f18();
1116
1030
  }
1117
1031
  else {
1118
1032
  peg$currPos = s0;
@@ -1123,127 +1037,81 @@ function peg$parse(input, options) {
1123
1037
  peg$currPos = s0;
1124
1038
  s0 = peg$FAILED;
1125
1039
  }
1126
- if (s0 === peg$FAILED) {
1127
- s0 = peg$currPos;
1128
- s1 = peg$currPos;
1129
- s2 = [];
1130
- s3 = peg$parseWS();
1131
- while (s3 !== peg$FAILED) {
1132
- s2.push(s3);
1133
- s3 = peg$parseWS();
1134
- }
1135
- s3 = peg$parseEOF();
1136
- if (s3 !== peg$FAILED) {
1137
- s2 = [s2, s3];
1138
- s1 = s2;
1139
- }
1140
- else {
1141
- peg$currPos = s1;
1142
- s1 = peg$FAILED;
1143
- }
1144
- if (s1 !== peg$FAILED) {
1145
- peg$savedPos = s0;
1146
- s1 = peg$f19();
1147
- }
1148
- s0 = s1;
1149
- }
1150
1040
  return s0;
1151
1041
  }
1152
- function peg$parseCards_V2() {
1153
- var s0, s1, s2, s3, s4, s5, s6;
1042
+ function peg$parseCardSetEnd_V2() {
1043
+ var s0, s1, s2, s3, s4;
1154
1044
  s0 = peg$currPos;
1155
1045
  s1 = peg$currPos;
1156
- peg$silentFails++;
1157
- s2 = peg$currPos;
1158
1046
  if (input.substr(peg$currPos, 4) === peg$c5) {
1159
- s3 = peg$c5;
1047
+ s2 = peg$c5;
1160
1048
  peg$currPos += 4;
1161
1049
  }
1162
1050
  else {
1163
- s3 = peg$FAILED;
1051
+ s2 = peg$FAILED;
1164
1052
  if (peg$silentFails === 0) {
1165
1053
  peg$fail(peg$e7);
1166
1054
  }
1167
1055
  }
1168
- if (s3 !== peg$FAILED) {
1169
- s4 = peg$parseWNL();
1170
- if (s4 !== peg$FAILED) {
1171
- if (input.substr(peg$currPos, 2) === peg$c4) {
1172
- s5 = peg$c4;
1173
- peg$currPos += 2;
1174
- }
1175
- else {
1176
- s5 = peg$FAILED;
1177
- if (peg$silentFails === 0) {
1178
- peg$fail(peg$e6);
1179
- }
1180
- }
1181
- if (s5 !== peg$FAILED) {
1182
- s6 = peg$parseWEOL();
1183
- if (s6 !== peg$FAILED) {
1184
- s3 = [s3, s4, s5, s6];
1185
- s2 = s3;
1186
- }
1187
- else {
1188
- peg$currPos = s2;
1189
- s2 = peg$FAILED;
1190
- }
1191
- }
1192
- else {
1193
- peg$currPos = s2;
1194
- s2 = peg$FAILED;
1195
- }
1196
- }
1197
- else {
1198
- peg$currPos = s2;
1199
- s2 = peg$FAILED;
1200
- }
1056
+ if (s2 === peg$FAILED) {
1057
+ s2 = null;
1058
+ }
1059
+ s3 = peg$currPos;
1060
+ peg$silentFails++;
1061
+ s4 = peg$parseWEOL();
1062
+ peg$silentFails--;
1063
+ if (s4 !== peg$FAILED) {
1064
+ peg$currPos = s3;
1065
+ s3 = undefined;
1201
1066
  }
1202
1067
  else {
1203
- peg$currPos = s2;
1204
- s2 = peg$FAILED;
1068
+ s3 = peg$FAILED;
1205
1069
  }
1206
- peg$silentFails--;
1207
- if (s2 === peg$FAILED) {
1208
- s1 = undefined;
1070
+ if (s3 !== peg$FAILED) {
1071
+ s2 = [s2, s3];
1072
+ s1 = s2;
1209
1073
  }
1210
1074
  else {
1211
1075
  peg$currPos = s1;
1212
1076
  s1 = peg$FAILED;
1213
1077
  }
1214
1078
  if (s1 !== peg$FAILED) {
1215
- s2 = peg$parseCardLineOrDivider_V2();
1216
- if (s2 !== peg$FAILED) {
1217
- peg$savedPos = s0;
1218
- s0 = peg$f20(s2);
1219
- }
1220
- else {
1221
- peg$currPos = s0;
1222
- s0 = peg$FAILED;
1223
- }
1079
+ peg$savedPos = s0;
1080
+ s1 = peg$f19();
1224
1081
  }
1225
- else {
1226
- peg$currPos = s0;
1227
- s0 = peg$FAILED;
1082
+ s0 = s1;
1083
+ return s0;
1084
+ }
1085
+ function peg$parseCards_V2() {
1086
+ var s0, s1;
1087
+ s0 = peg$currPos;
1088
+ s1 = peg$parseCardLineOrDivider_V2();
1089
+ if (s1 !== peg$FAILED) {
1090
+ peg$savedPos = s0;
1091
+ s1 = peg$f20(s1);
1228
1092
  }
1093
+ s0 = s1;
1229
1094
  return s0;
1230
1095
  }
1231
1096
  function peg$parseCardLineOrDivider_V2() {
1232
1097
  var s0, s1, s2, s3;
1233
1098
  s0 = peg$currPos;
1234
1099
  s1 = peg$currPos;
1235
- if (input.substr(peg$currPos, 4) === peg$c5) {
1236
- s2 = peg$c5;
1100
+ if (input.substr(peg$currPos, 4) === peg$c4) {
1101
+ s2 = peg$c4;
1237
1102
  peg$currPos += 4;
1238
1103
  }
1239
1104
  else {
1240
1105
  s2 = peg$FAILED;
1241
1106
  if (peg$silentFails === 0) {
1242
- peg$fail(peg$e7);
1107
+ peg$fail(peg$e6);
1243
1108
  }
1244
1109
  }
1245
1110
  if (s2 !== peg$FAILED) {
1246
1111
  s3 = peg$parseWNL();
1112
+ if (s3 === peg$FAILED) {
1113
+ s3 = peg$parseWEOL();
1114
+ }
1247
1115
  if (s3 !== peg$FAILED) {
1248
1116
  s2 = [s2, s3];
1249
1117
  s1 = s2;
@@ -1271,6 +1139,9 @@ function peg$parse(input, options) {
1271
1139
  }
1272
1140
  if (s2 !== peg$FAILED) {
1273
1141
  s3 = peg$parseWNL();
1142
+ if (s3 === peg$FAILED) {
1143
+ s3 = peg$parseWEOL();
1144
+ }
1274
1145
  if (s3 !== peg$FAILED) {
1275
1146
  s2 = [s2, s3];
1276
1147
  s1 = s2;
@@ -1298,6 +1169,9 @@ function peg$parse(input, options) {
1298
1169
  }
1299
1170
  if (s2 !== peg$FAILED) {
1300
1171
  s3 = peg$parseWNL();
1172
+ if (s3 === peg$FAILED) {
1173
+ s3 = peg$parseWEOL();
1174
+ }
1301
1175
  if (s3 !== peg$FAILED) {
1302
1176
  s2 = [s2, s3];
1303
1177
  s1 = s2;
@@ -1324,31 +1198,105 @@ function peg$parse(input, options) {
1324
1198
  return s0;
1325
1199
  }
1326
1200
  function peg$parseCardLine_V2() {
1327
- var s0, s1, s2, s3, s4;
1201
+ var s0, s1, s2, s3, s4, s5;
1328
1202
  s0 = peg$currPos;
1329
1203
  s1 = peg$currPos;
1204
+ peg$silentFails++;
1330
1205
  s2 = peg$currPos;
1331
- s3 = peg$parseLine();
1332
- s4 = peg$parseNL();
1333
- if (s4 !== peg$FAILED) {
1334
- s3 = [s3, s4];
1335
- s2 = s3;
1206
+ if (input.substr(peg$currPos, 4) === peg$c5) {
1207
+ s3 = peg$c5;
1208
+ peg$currPos += 4;
1209
+ }
1210
+ else {
1211
+ s3 = peg$FAILED;
1212
+ if (peg$silentFails === 0) {
1213
+ peg$fail(peg$e7);
1214
+ }
1215
+ }
1216
+ if (s3 !== peg$FAILED) {
1217
+ s4 = peg$parseWEOL();
1218
+ if (s4 !== peg$FAILED) {
1219
+ s3 = [s3, s4];
1220
+ s2 = s3;
1221
+ }
1222
+ else {
1223
+ peg$currPos = s2;
1224
+ s2 = peg$FAILED;
1225
+ }
1336
1226
  }
1337
1227
  else {
1338
1228
  peg$currPos = s2;
1339
1229
  s2 = peg$FAILED;
1340
1230
  }
1341
- if (s2 !== peg$FAILED) {
1342
- s1 = input.substring(s1, peg$currPos);
1231
+ peg$silentFails--;
1232
+ if (s2 === peg$FAILED) {
1233
+ s1 = undefined;
1343
1234
  }
1344
1235
  else {
1345
- s1 = s2;
1236
+ peg$currPos = s1;
1237
+ s1 = peg$FAILED;
1346
1238
  }
1347
1239
  if (s1 !== peg$FAILED) {
1348
- peg$savedPos = s0;
1349
- s1 = peg$f22(s1);
1240
+ s2 = peg$currPos;
1241
+ s3 = peg$currPos;
1242
+ s4 = peg$parseLine();
1243
+ s5 = peg$parseNL();
1244
+ if (s5 !== peg$FAILED) {
1245
+ s4 = [s4, s5];
1246
+ s3 = s4;
1247
+ }
1248
+ else {
1249
+ peg$currPos = s3;
1250
+ s3 = peg$FAILED;
1251
+ }
1252
+ if (s3 === peg$FAILED) {
1253
+ s3 = peg$currPos;
1254
+ s4 = [];
1255
+ s5 = peg$parseChar();
1256
+ if (s5 !== peg$FAILED) {
1257
+ while (s5 !== peg$FAILED) {
1258
+ s4.push(s5);
1259
+ s5 = peg$parseChar();
1260
+ }
1261
+ }
1262
+ else {
1263
+ s4 = peg$FAILED;
1264
+ }
1265
+ if (s4 !== peg$FAILED) {
1266
+ s5 = peg$parseEOL();
1267
+ if (s5 !== peg$FAILED) {
1268
+ s4 = [s4, s5];
1269
+ s3 = s4;
1270
+ }
1271
+ else {
1272
+ peg$currPos = s3;
1273
+ s3 = peg$FAILED;
1274
+ }
1275
+ }
1276
+ else {
1277
+ peg$currPos = s3;
1278
+ s3 = peg$FAILED;
1279
+ }
1280
+ }
1281
+ if (s3 !== peg$FAILED) {
1282
+ s2 = input.substring(s2, peg$currPos);
1283
+ }
1284
+ else {
1285
+ s2 = s3;
1286
+ }
1287
+ if (s2 !== peg$FAILED) {
1288
+ peg$savedPos = s0;
1289
+ s0 = peg$f22(s2);
1290
+ }
1291
+ else {
1292
+ peg$currPos = s0;
1293
+ s0 = peg$FAILED;
1294
+ }
1295
+ }
1296
+ else {
1297
+ peg$currPos = s0;
1298
+ s0 = peg$FAILED;
1350
1299
  }
1351
- s0 = s1;
1352
1300
  return s0;
1353
1301
  }
1354
1302
  function peg$parseCardSet_V1() {