@wildboar/asn1-parser 2.6.0 → 2.7.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 (221) hide show
  1. package/README.md +64 -13
  2. package/dist/cli.d.mts +3 -0
  3. package/dist/cli.d.mts.map +1 -0
  4. package/dist/cli.mjs +291 -0
  5. package/dist/cli.mjs.map +1 -0
  6. package/dist/index.d.mts +1 -0
  7. package/dist/index.d.mts.map +1 -1
  8. package/dist/index.mjs +1 -0
  9. package/dist/index.mjs.map +1 -1
  10. package/dist/lib/OptionalParser.d.mts.map +1 -1
  11. package/dist/lib/OptionalParser.mjs +1 -9
  12. package/dist/lib/OptionalParser.mjs.map +1 -1
  13. package/dist/lib/Parser.d.mts +3 -1
  14. package/dist/lib/Parser.d.mts.map +1 -1
  15. package/dist/lib/Parser.mjs +41 -10
  16. package/dist/lib/Parser.mjs.map +1 -1
  17. package/dist/lib/Production.d.mts +2 -0
  18. package/dist/lib/Production.d.mts.map +1 -1
  19. package/dist/lib/Production.mjs +13 -0
  20. package/dist/lib/Production.mjs.map +1 -1
  21. package/dist/lib/ProductionType.d.mts +2 -1
  22. package/dist/lib/ProductionType.d.mts.map +1 -1
  23. package/dist/lib/ProductionType.mjs +1 -0
  24. package/dist/lib/ProductionType.mjs.map +1 -1
  25. package/dist/lib/correct.d.mts.map +1 -1
  26. package/dist/lib/correct.mjs +120 -115
  27. package/dist/lib/correct.mjs.map +1 -1
  28. package/dist/lib/grokers/ConstraintSpecs/GeneralConstraint.d.mts.map +1 -1
  29. package/dist/lib/grokers/ConstraintSpecs/GeneralConstraint.mjs +22 -5
  30. package/dist/lib/grokers/ConstraintSpecs/GeneralConstraint.mjs.map +1 -1
  31. package/dist/lib/grokers/DefinitiveOID.mjs +1 -1
  32. package/dist/lib/grokers/DefinitiveOID.mjs.map +1 -1
  33. package/dist/lib/grokers/Types/SetOrSequenceType.d.mts.map +1 -1
  34. package/dist/lib/grokers/Types/SetOrSequenceType.mjs +30 -30
  35. package/dist/lib/grokers/Types/SetOrSequenceType.mjs.map +1 -1
  36. package/dist/lib/grokers/ValueSet.d.mts.map +1 -1
  37. package/dist/lib/grokers/ValueSet.mjs +6 -1
  38. package/dist/lib/grokers/ValueSet.mjs.map +1 -1
  39. package/dist/lib/interfaces/ParserState.d.mts +2 -0
  40. package/dist/lib/interfaces/ParserState.d.mts.map +1 -1
  41. package/dist/lib/interfaces/ParserState.mjs.map +1 -1
  42. package/dist/lib/lex.d.mts.map +1 -1
  43. package/dist/lib/lex.mjs +121 -95
  44. package/dist/lib/lex.mjs.map +1 -1
  45. package/dist/lib/maps/productionTypeToTypeTypeMap.d.mts.map +1 -1
  46. package/dist/lib/maps/productionTypeToTypeTypeMap.mjs +17 -0
  47. package/dist/lib/maps/productionTypeToTypeTypeMap.mjs.map +1 -1
  48. package/dist/lib/parse.d.mts.map +1 -1
  49. package/dist/lib/parse.mjs +20 -2
  50. package/dist/lib/parse.mjs.map +1 -1
  51. package/dist/lib/parseMemo.d.mts +18 -0
  52. package/dist/lib/parseMemo.d.mts.map +1 -0
  53. package/dist/lib/parseMemo.mjs +77 -0
  54. package/dist/lib/parseMemo.mjs.map +1 -0
  55. package/dist/lib/parsers/callbacks/Assignment.d.mts.map +1 -1
  56. package/dist/lib/parsers/callbacks/Assignment.mjs +6 -1
  57. package/dist/lib/parsers/callbacks/Assignment.mjs.map +1 -1
  58. package/dist/lib/parsers/callbacks/ObjectClassAssignment.d.mts.map +1 -1
  59. package/dist/lib/parsers/callbacks/ObjectClassAssignment.mjs +20 -10
  60. package/dist/lib/parsers/callbacks/ObjectClassAssignment.mjs.map +1 -1
  61. package/dist/lib/parsers/generic/aliasFor.d.mts.map +1 -1
  62. package/dist/lib/parsers/generic/aliasFor.mjs +4 -1
  63. package/dist/lib/parsers/generic/aliasFor.mjs.map +1 -1
  64. package/dist/lib/parsers/generic/anythingUntil.d.mts.map +1 -1
  65. package/dist/lib/parsers/generic/anythingUntil.mjs +35 -13
  66. package/dist/lib/parsers/generic/anythingUntil.mjs.map +1 -1
  67. package/dist/lib/parsers/generic/assert.d.mts.map +1 -1
  68. package/dist/lib/parsers/generic/assert.mjs +3 -0
  69. package/dist/lib/parsers/generic/assert.mjs.map +1 -1
  70. package/dist/lib/parsers/generic/choiceOf.d.mts.map +1 -1
  71. package/dist/lib/parsers/generic/choiceOf.mjs +7 -4
  72. package/dist/lib/parsers/generic/choiceOf.mjs.map +1 -1
  73. package/dist/lib/parsers/generic/dispatchOnToken.d.mts +8 -0
  74. package/dist/lib/parsers/generic/dispatchOnToken.d.mts.map +1 -0
  75. package/dist/lib/parsers/generic/dispatchOnToken.mjs +43 -0
  76. package/dist/lib/parsers/generic/dispatchOnToken.mjs.map +1 -0
  77. package/dist/lib/parsers/generic/doif.mjs +1 -1
  78. package/dist/lib/parsers/generic/doif.mjs.map +1 -1
  79. package/dist/lib/parsers/generic/index.d.mts +5 -0
  80. package/dist/lib/parsers/generic/index.d.mts.map +1 -1
  81. package/dist/lib/parsers/generic/index.mjs +5 -0
  82. package/dist/lib/parsers/generic/index.mjs.map +1 -1
  83. package/dist/lib/parsers/generic/limitConstructedNesting.d.mts +5 -0
  84. package/dist/lib/parsers/generic/limitConstructedNesting.d.mts.map +1 -0
  85. package/dist/lib/parsers/generic/limitConstructedNesting.mjs +30 -0
  86. package/dist/lib/parsers/generic/limitConstructedNesting.mjs.map +1 -0
  87. package/dist/lib/parsers/generic/literal.d.mts.map +1 -1
  88. package/dist/lib/parsers/generic/literal.mjs +37 -13
  89. package/dist/lib/parsers/generic/literal.mjs.map +1 -1
  90. package/dist/lib/parsers/generic/recursiveParser.d.mts.map +1 -1
  91. package/dist/lib/parsers/generic/recursiveParser.mjs +3 -1
  92. package/dist/lib/parsers/generic/recursiveParser.mjs.map +1 -1
  93. package/dist/lib/parsers/generic/recyclingSequenceOf.d.mts.map +1 -1
  94. package/dist/lib/parsers/generic/recyclingSequenceOf.mjs +10 -10
  95. package/dist/lib/parsers/generic/recyclingSequenceOf.mjs.map +1 -1
  96. package/dist/lib/parsers/generic/repeatable.d.mts.map +1 -1
  97. package/dist/lib/parsers/generic/repeatable.mjs +4 -0
  98. package/dist/lib/parsers/generic/repeatable.mjs.map +1 -1
  99. package/dist/lib/parsers/generic/tokenPeek.d.mts +12 -0
  100. package/dist/lib/parsers/generic/tokenPeek.d.mts.map +1 -0
  101. package/dist/lib/parsers/generic/tokenPeek.mjs +167 -0
  102. package/dist/lib/parsers/generic/tokenPeek.mjs.map +1 -0
  103. package/dist/lib/parsers/generic/when.d.mts +5 -0
  104. package/dist/lib/parsers/generic/when.d.mts.map +1 -0
  105. package/dist/lib/parsers/generic/when.mjs +12 -0
  106. package/dist/lib/parsers/generic/when.mjs.map +1 -0
  107. package/dist/lib/parsers/generic/whitespace.d.mts.map +1 -1
  108. package/dist/lib/parsers/generic/whitespace.mjs +1 -1
  109. package/dist/lib/parsers/generic/whitespace.mjs.map +1 -1
  110. package/dist/lib/parsers/generic/whitespaceIntolerantList.d.mts.map +1 -1
  111. package/dist/lib/parsers/generic/whitespaceIntolerantList.mjs +12 -5
  112. package/dist/lib/parsers/generic/whitespaceIntolerantList.mjs.map +1 -1
  113. package/dist/lib/parsers/generic/whitespaceTolerantSequenceOf.d.mts.map +1 -1
  114. package/dist/lib/parsers/generic/whitespaceTolerantSequenceOf.mjs +11 -1
  115. package/dist/lib/parsers/generic/whitespaceTolerantSequenceOf.mjs.map +1 -1
  116. package/dist/lib/parsers/optimized/ComponentType_NamedType.d.mts.map +1 -1
  117. package/dist/lib/parsers/optimized/ComponentType_NamedType.mjs +4 -2
  118. package/dist/lib/parsers/optimized/ComponentType_NamedType.mjs.map +1 -1
  119. package/dist/lib/parsers/optimized/FieldName_LowercasedFinalPrimitiveFieldName.mjs +2 -5
  120. package/dist/lib/parsers/optimized/FieldName_LowercasedFinalPrimitiveFieldName.mjs.map +1 -1
  121. package/dist/lib/parsers/optimized/FieldName_UppercasedFinalPrimitiveFieldName.mjs +2 -5
  122. package/dist/lib/parsers/optimized/FieldName_UppercasedFinalPrimitiveFieldName.mjs.map +1 -1
  123. package/dist/lib/parsers/optimized/Literal.d.mts.map +1 -1
  124. package/dist/lib/parsers/optimized/Literal.mjs +13 -6
  125. package/dist/lib/parsers/optimized/Literal.mjs.map +1 -1
  126. package/dist/lib/parsers/optimized/ParamGovernor.d.mts.map +1 -1
  127. package/dist/lib/parsers/optimized/ParamGovernor.mjs +9 -4
  128. package/dist/lib/parsers/optimized/ParamGovernor.mjs.map +1 -1
  129. package/dist/lib/parsers/optimized/Setting.d.mts.map +1 -1
  130. package/dist/lib/parsers/optimized/Setting.mjs +1 -1
  131. package/dist/lib/parsers/optimized/Setting.mjs.map +1 -1
  132. package/dist/lib/parsers/optimized/Type.d.mts.map +1 -1
  133. package/dist/lib/parsers/optimized/Type.mjs +13 -8
  134. package/dist/lib/parsers/optimized/Type.mjs.map +1 -1
  135. package/dist/lib/parsers/optimized/Value_listens_to_currentType.d.mts.map +1 -1
  136. package/dist/lib/parsers/optimized/Value_listens_to_currentType.mjs +40 -110
  137. package/dist/lib/parsers/optimized/Value_listens_to_currentType.mjs.map +1 -1
  138. package/dist/lib/parsers/specific/BuiltinType.d.mts +1 -1
  139. package/dist/lib/parsers/specific/BuiltinType.d.mts.map +1 -1
  140. package/dist/lib/parsers/specific/BuiltinType.mjs +59 -31
  141. package/dist/lib/parsers/specific/BuiltinType.mjs.map +1 -1
  142. package/dist/lib/parsers/specific/BuiltinValue.d.mts +1 -1
  143. package/dist/lib/parsers/specific/BuiltinValue.d.mts.map +1 -1
  144. package/dist/lib/parsers/specific/BuiltinValue.mjs +67 -18
  145. package/dist/lib/parsers/specific/BuiltinValue.mjs.map +1 -1
  146. package/dist/lib/parsers/specific/CharacterStringType.d.mts.map +1 -1
  147. package/dist/lib/parsers/specific/CharacterStringType.mjs +11 -5
  148. package/dist/lib/parsers/specific/CharacterStringType.mjs.map +1 -1
  149. package/dist/lib/parsers/specific/ChoiceType.mjs +2 -2
  150. package/dist/lib/parsers/specific/ChoiceType.mjs.map +1 -1
  151. package/dist/lib/parsers/specific/ChoiceValue.mjs +2 -2
  152. package/dist/lib/parsers/specific/ChoiceValue.mjs.map +1 -1
  153. package/dist/lib/parsers/specific/EncodingInstruction.d.mts.map +1 -1
  154. package/dist/lib/parsers/specific/EncodingInstruction.mjs.map +1 -1
  155. package/dist/lib/parsers/specific/EncodingInstructionAssignmentList.d.mts.map +1 -1
  156. package/dist/lib/parsers/specific/EncodingInstructionAssignmentList.mjs.map +1 -1
  157. package/dist/lib/parsers/specific/OpenTypeFieldVal.d.mts.map +1 -1
  158. package/dist/lib/parsers/specific/OpenTypeFieldVal.mjs +3 -3
  159. package/dist/lib/parsers/specific/OpenTypeFieldVal.mjs.map +1 -1
  160. package/dist/lib/parsers/specific/ParameterizedValueSetTypeAssignment.mjs +1 -1
  161. package/dist/lib/parsers/specific/ParameterizedValueSetTypeAssignment.mjs.map +1 -1
  162. package/dist/lib/parsers/specific/ReferencedType.d.mts +1 -1
  163. package/dist/lib/parsers/specific/ReferencedType.d.mts.map +1 -1
  164. package/dist/lib/parsers/specific/ReferencedType.mjs +38 -8
  165. package/dist/lib/parsers/specific/ReferencedType.mjs.map +1 -1
  166. package/dist/lib/parsers/specific/ReferencedValue.d.mts.map +1 -1
  167. package/dist/lib/parsers/specific/ReferencedValue.mjs +6 -2
  168. package/dist/lib/parsers/specific/ReferencedValue.mjs.map +1 -1
  169. package/dist/lib/parsers/specific/RestrictedCharacterStringType.d.mts.map +1 -1
  170. package/dist/lib/parsers/specific/RestrictedCharacterStringType.mjs +6 -16
  171. package/dist/lib/parsers/specific/RestrictedCharacterStringType.mjs.map +1 -1
  172. package/dist/lib/parsers/specific/SequenceOfType.mjs +2 -2
  173. package/dist/lib/parsers/specific/SequenceOfType.mjs.map +1 -1
  174. package/dist/lib/parsers/specific/SequenceOfValue.mjs +2 -2
  175. package/dist/lib/parsers/specific/SequenceOfValue.mjs.map +1 -1
  176. package/dist/lib/parsers/specific/SequenceType.mjs +2 -2
  177. package/dist/lib/parsers/specific/SequenceType.mjs.map +1 -1
  178. package/dist/lib/parsers/specific/SequenceValue.mjs +2 -2
  179. package/dist/lib/parsers/specific/SequenceValue.mjs.map +1 -1
  180. package/dist/lib/parsers/specific/SetOfType.mjs +2 -2
  181. package/dist/lib/parsers/specific/SetOfType.mjs.map +1 -1
  182. package/dist/lib/parsers/specific/SetOfValue.mjs +2 -2
  183. package/dist/lib/parsers/specific/SetOfValue.mjs.map +1 -1
  184. package/dist/lib/parsers/specific/SetType.mjs +2 -2
  185. package/dist/lib/parsers/specific/SetType.mjs.map +1 -1
  186. package/dist/lib/parsers/specific/SetValue.mjs +2 -2
  187. package/dist/lib/parsers/specific/SetValue.mjs.map +1 -1
  188. package/dist/lib/parsers/specific/TimeValue.d.mts.map +1 -1
  189. package/dist/lib/parsers/specific/TimeValue.mjs +5 -2
  190. package/dist/lib/parsers/specific/TimeValue.mjs.map +1 -1
  191. package/dist/lib/parsers/specific/TypeWithConstraint.mjs +2 -2
  192. package/dist/lib/parsers/specific/TypeWithConstraint.mjs.map +1 -1
  193. package/dist/lib/parsers/specific/UsefulType.d.mts.map +1 -1
  194. package/dist/lib/parsers/specific/UsefulType.mjs +16 -6
  195. package/dist/lib/parsers/specific/UsefulType.mjs.map +1 -1
  196. package/dist/lib/parsers/specific/UserDefinedConstraintParameter.d.mts.map +1 -1
  197. package/dist/lib/parsers/specific/UserDefinedConstraintParameter.mjs +1 -1
  198. package/dist/lib/parsers/specific/UserDefinedConstraintParameter.mjs.map +1 -1
  199. package/dist/lib/parsers/specific/Value.d.mts.map +1 -1
  200. package/dist/lib/parsers/specific/Value.mjs +2 -2
  201. package/dist/lib/parsers/specific/Value.mjs.map +1 -1
  202. package/dist/lib/parsers/specific/ValueSet.d.mts +4 -1
  203. package/dist/lib/parsers/specific/ValueSet.d.mts.map +1 -1
  204. package/dist/lib/parsers/specific/ValueSet.mjs +28 -1
  205. package/dist/lib/parsers/specific/ValueSet.mjs.map +1 -1
  206. package/dist/lib/parsers/specific/ValueSetOptionalitySpec.mjs +1 -1
  207. package/dist/lib/parsers/specific/ValueSetOptionalitySpec.mjs.map +1 -1
  208. package/dist/lib/parsers/specific/ValueSetTypeAssignment.d.mts.map +1 -1
  209. package/dist/lib/parsers/specific/ValueSetTypeAssignment.mjs +1 -1
  210. package/dist/lib/parsers/specific/ValueSetTypeAssignment.mjs.map +1 -1
  211. package/dist/lib/parsers/specific/_word.d.mts.map +1 -1
  212. package/dist/lib/parsers/specific/_word.mjs +6 -3
  213. package/dist/lib/parsers/specific/_word.mjs.map +1 -1
  214. package/dist/lib/parsers/specific/index.d.mts +1 -1
  215. package/dist/lib/parsers/specific/index.d.mts.map +1 -1
  216. package/dist/lib/parsers/specific/index.mjs +1 -1
  217. package/dist/lib/parsers/specific/index.mjs.map +1 -1
  218. package/dist/lib/updateCurrentType.d.mts.map +1 -1
  219. package/dist/lib/updateCurrentType.mjs +9 -2
  220. package/dist/lib/updateCurrentType.mjs.map +1 -1
  221. package/package.json +6 -1
@@ -1 +1 @@
1
- {"version":3,"file":"productionTypeToTypeTypeMap.mjs","sourceRoot":"","sources":["../../../src/lib/maps/productionTypeToTypeTypeMap.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAMlD,eAAe,IAAI,GAAG,CAA2B;IAC/C,CAAC,cAAc,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC;IACtD,CAAC,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC;IAElD,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAChD,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC5C,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC;IACpD,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC;IACpD,CAAC,cAAc,CAAC,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC;IAC1D,CAAC,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC;IACxD,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC;IACpD,CAAC,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC;IACxD,CAAC,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC;IAClD,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;IAC1C,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC5C,CAAC,cAAc,CAAC,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB,CAAC;IACpE,CAAC,cAAc,CAAC,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB,CAAC;IACpE,CAAC,cAAc,CAAC,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC;IAC1D,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC5C,CAAC,cAAc,CAAC,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC;IAC1D,CAAC,cAAc,CAAC,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC;IAC1D,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC;IACpD,CAAC,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC;IACxD,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;IAC1C,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;IAC9C,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC;IACpD,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC5C,CAAC,cAAc,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC;CACvD,CAAC,CAAC"}
1
+ {"version":3,"file":"productionTypeToTypeTypeMap.mjs","sourceRoot":"","sources":["../../../src/lib/maps/productionTypeToTypeTypeMap.mts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.mts","sourceRoot":"","sources":["../../src/lib/parse.mts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAG1C,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAC;AAe9D,MAAM,CAAC,OAAO,UAAU,KAAK,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,UAAU,EAAE,GACrB,YAAY,CAOd"}
1
+ {"version":3,"file":"parse.d.mts","sourceRoot":"","sources":["../../src/lib/parse.mts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAG1C,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAC;AAqB9D,MAAM,CAAC,OAAO,UAAU,KAAK,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,UAAU,EAAE,GACrB,YAAY,CAyBd"}
@@ -2,10 +2,28 @@ import Production from './Production.mjs';
2
2
  import { ProductionType } from './ProductionType.mjs';
3
3
  import parseFile from './parsers/file.mjs';
4
4
  import lex from './lex.mjs';
5
+ import ASN1SyntaxError from './errors/ASN1SyntaxError.mjs';
5
6
  export default function parse(text, lexemes) {
6
7
  const lexemes_ = lexemes ?? Array.from(lex(text));
7
- const nonCommentLexemes = lexemes_.filter((l) => l.type !== ProductionType.comment);
8
- const parseResult = parseFile.start(nonCommentLexemes, text);
8
+ const lexerSyntaxErrors = {};
9
+ const parseableLexemes = lexemes_.filter((l) => {
10
+ if (l.type === ProductionType.SYNTAX_ERROR) {
11
+ const lexeme = text.slice(l.location.startIndex, l.location.endIndex);
12
+ const message = /^0\d+$/.test(lexeme)
13
+ ? `Number with leading zeros at index ${l.location.startIndex}.`
14
+ : `Unrecognized character at index ${l.location.startIndex}.`;
15
+ lexerSyntaxErrors[l.location.startIndex] = new ASN1SyntaxError(l, message);
16
+ return false;
17
+ }
18
+ return l.type !== ProductionType.comment;
19
+ });
20
+ const parseResult = parseFile.start(parseableLexemes, text);
21
+ for (const [index, error] of Object.entries(lexerSyntaxErrors)) {
22
+ const key = Number(index);
23
+ if (!(key in parseResult.syntaxErrors)) {
24
+ parseResult.syntaxErrors[key] = error;
25
+ }
26
+ }
9
27
  return parseResult;
10
28
  }
11
29
  //# sourceMappingURL=parse.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse.mjs","sourceRoot":"","sources":["../../src/lib/parse.mts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,OAAO,GAAG,MAAM,WAAW,CAAC;AAc5B,MAAM,CAAC,OAAO,UAAU,KAAK,CAC3B,IAAY,EACZ,OAAsB;IAEtB,MAAM,QAAQ,GAAiB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CACvC,CAAC,CAAa,EAAW,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO,CAC9D,CAAC;IACF,MAAM,WAAW,GAAiB,SAAS,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC3E,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"parse.mjs","sourceRoot":"","sources":["../../src/lib/parse.mts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,OAAO,GAAG,MAAM,WAAW,CAAC;AAC5B,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAmB3D,MAAM,CAAC,OAAO,UAAU,KAAK,CAC3B,IAAY,EACZ,OAAsB;IAEtB,MAAM,QAAQ,GAAiB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,MAAM,iBAAiB,GAAoC,EAAE,CAAC;IAC9D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAa,EAAW,EAAE;QAClE,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,YAAY,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;gBACnC,CAAC,CAAC,sCAAsC,CAAC,CAAC,QAAQ,CAAC,UAAU,GAAG;gBAChE,CAAC,CAAC,mCAAmC,CAAC,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC;YAChE,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,eAAe,CAC5D,CAAC,EACD,OAAO,CACR,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,MAAM,WAAW,GAAiB,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC1E,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC/D,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC,GAAG,IAAI,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;YACvC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACxC,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type ParseContext from './interfaces/ParseContext.mjs';
2
+ import type Production from './Production.mjs';
3
+ import type TypeType from './constructs/TypeType.mjs';
4
+ export interface MemoEntry {
5
+ error: boolean | undefined;
6
+ index: number;
7
+ cst: Production;
8
+ currentType: TypeType | undefined;
9
+ justParsedPluralLiteral: boolean | undefined;
10
+ }
11
+ export type MemoFingerprintTable = Map<number, MemoEntry>;
12
+ export type MemoIndexTable = Map<number, MemoFingerprintTable>;
13
+ export type ParseMemo = WeakMap<object, MemoIndexTable>;
14
+ export declare function memoFingerprint(state: ParseContext): number | undefined;
15
+ export declare function createParseMemo(): ParseMemo;
16
+ export declare function lookupMemo(parser: object, state: ParseContext, fingerprint: number): ParseContext | undefined;
17
+ export declare function storeMemo(parser: object, state: ParseContext, startIndex: number, fingerprint: number, result: ParseContext): void;
18
+ //# sourceMappingURL=parseMemo.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseMemo.d.mts","sourceRoot":"","sources":["../../src/lib/parseMemo.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAC;AAKtD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,UAAU,CAAC;IAChB,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC;IAClC,uBAAuB,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9C;AAKD,MAAM,MAAM,oBAAoB,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAK1D,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;AAW/D,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAWxD,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CA8BvE;AAMD,wBAAgB,eAAe,IAAI,SAAS,CAE3C;AAgBD,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,MAAM,GAClB,YAAY,GAAG,SAAS,CAiB1B;AAUD,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,YAAY,GACnB,IAAI,CAyBN"}
@@ -0,0 +1,77 @@
1
+ const TYPE_CODE = new Map();
2
+ export function memoFingerprint(state) {
3
+ const idCount = state.discoveredIdentifiers.size;
4
+ const syntaxTokenCount = state.definedSyntaxTokens.size;
5
+ const enumCount = state.definedEnumItems.size;
6
+ if (idCount > 0xffff || syntaxTokenCount > 0xfff || enumCount > 0xfff) {
7
+ return undefined;
8
+ }
9
+ let typeCode = 0;
10
+ const currentType = state.currentType;
11
+ if (currentType !== undefined) {
12
+ const existing = TYPE_CODE.get(currentType);
13
+ if (existing === undefined) {
14
+ typeCode = TYPE_CODE.size + 1;
15
+ if (typeCode > 0xff) {
16
+ return undefined;
17
+ }
18
+ TYPE_CODE.set(currentType, typeCode);
19
+ }
20
+ else {
21
+ typeCode = existing;
22
+ }
23
+ }
24
+ return (typeCode +
25
+ (state.justParsedPluralLiteral ? 256 : 0) +
26
+ idCount * 512 +
27
+ syntaxTokenCount * 33554432 +
28
+ enumCount * 137438953472);
29
+ }
30
+ export function createParseMemo() {
31
+ return new WeakMap();
32
+ }
33
+ export function lookupMemo(parser, state, fingerprint) {
34
+ const table = state.memo;
35
+ if (!table) {
36
+ return undefined;
37
+ }
38
+ const entry = table.get(parser)?.get(state.index)?.get(fingerprint);
39
+ if (!entry) {
40
+ return undefined;
41
+ }
42
+ return {
43
+ ...state,
44
+ error: entry.error,
45
+ index: entry.index,
46
+ cst: entry.cst,
47
+ currentType: entry.currentType,
48
+ justParsedPluralLiteral: entry.justParsedPluralLiteral,
49
+ };
50
+ }
51
+ export function storeMemo(parser, state, startIndex, fingerprint, result) {
52
+ const table = state.memo;
53
+ if (!table) {
54
+ return;
55
+ }
56
+ let byIndex = table.get(parser);
57
+ if (!byIndex) {
58
+ byIndex = new Map();
59
+ table.set(parser, byIndex);
60
+ }
61
+ let byFp = byIndex.get(startIndex);
62
+ if (!byFp) {
63
+ byFp = new Map();
64
+ byIndex.set(startIndex, byFp);
65
+ }
66
+ if (byFp.has(fingerprint)) {
67
+ return;
68
+ }
69
+ byFp.set(fingerprint, {
70
+ error: result.error,
71
+ index: result.index,
72
+ cst: result.cst,
73
+ currentType: result.currentType,
74
+ justParsedPluralLiteral: result.justParsedPluralLiteral,
75
+ });
76
+ }
77
+ //# sourceMappingURL=parseMemo.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseMemo.mjs","sourceRoot":"","sources":["../../src/lib/parseMemo.mts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Assignment.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/callbacks/Assignment.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,YAAY,MAAM,mCAAmC,CAAC;AAuClE,eAAO,MAAM,oBAAoB,GAAiC,KAAK,YAAY,KAAG,IAyGrF,CAAC;AACF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"Assignment.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/callbacks/Assignment.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,YAAY,MAAM,mCAAmC,CAAC;AA4ClE,eAAO,MAAM,oBAAoB,GAAiC,KAAK,YAAY,KAAG,IAyGrF,CAAC;AACF,eAAe,oBAAoB,CAAC"}
@@ -2,7 +2,12 @@ import { ProductionType } from '../../ProductionType.mjs';
2
2
  import AssignmentType from '../../constructs/AssignmentType.mjs';
3
3
  import ASN1ParserExpectationError from '../../errors/ASN1ParserExpectationError.mjs';
4
4
  function findRef(prods, type_) {
5
- return prods.find((p) => p.type === type_);
5
+ for (let i = 0; i < prods.length; i++) {
6
+ if (prods[i].type === type_) {
7
+ return prods[i];
8
+ }
9
+ }
10
+ return undefined;
6
11
  }
7
12
  export const onDidParseAssignment = function onDidParseAssignment(ctx) {
8
13
  if (ctx.cst.children.length !== 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"Assignment.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/callbacks/Assignment.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Assignment.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/callbacks/Assignment.mts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectClassAssignment.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/callbacks/ObjectClassAssignment.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,YAAY,MAAM,mCAAmC,CAAC;AA4JlE,eAAO,MAAM,+BAA+B,GAC1C,KAAK,YAAY,KAChB,IAkDF,CAAC;AACF,eAAe,+BAA+B,CAAC"}
1
+ {"version":3,"file":"ObjectClassAssignment.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/callbacks/ObjectClassAssignment.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,YAAY,MAAM,mCAAmC,CAAC;AAwKlE,eAAO,MAAM,+BAA+B,GAC1C,KAAK,YAAY,KAChB,IAgDF,CAAC;AACF,eAAe,+BAA+B,CAAC"}
@@ -1,10 +1,18 @@
1
1
  import { ProductionType } from '../../ProductionType.mjs';
2
2
  import split from '../../split.mjs';
3
3
  import ASN1ParserExpectationError from '../../errors/ASN1ParserExpectationError.mjs';
4
+ function findChild(children, type_) {
5
+ for (let i = 0; i < children.length; i++) {
6
+ if (children[i].type === type_) {
7
+ return children[i];
8
+ }
9
+ }
10
+ return undefined;
11
+ }
4
12
  const nonLiteralTokens = new Set(['&', '[', ']', ',']);
5
13
  export const onDidParseObjectClassAssignment = function onDidParseObjectClassAssignment(ctx) {
6
- const objectclassreference = ctx.cst.children.find((child) => child.type === ProductionType.objectclassreference);
7
- const ObjectClass = ctx.cst.children.find((child) => child.type === ProductionType.ObjectClass);
14
+ const objectclassreference = findChild(ctx.cst.children, ProductionType.objectclassreference);
15
+ const ObjectClass = findChild(ctx.cst.children, ProductionType.ObjectClass);
8
16
  if (!objectclassreference || !ObjectClass || !ObjectClass.children[0]) {
9
17
  throw new ASN1ParserExpectationError("Unexpected ObjectClassAssignment structure", ctx.cst);
10
18
  }
@@ -12,7 +20,7 @@ export const onDidParseObjectClassAssignment = function onDidParseObjectClassAss
12
20
  return;
13
21
  }
14
22
  const ObjectClassDefn = ObjectClass.children[0];
15
- const WithSyntaxSpec = ObjectClassDefn.children.find((child) => child.type === ProductionType.WithSyntaxSpec);
23
+ const WithSyntaxSpec = findChild(ObjectClassDefn.children, ProductionType.WithSyntaxSpec);
16
24
  if (!WithSyntaxSpec) {
17
25
  return;
18
26
  }
@@ -20,13 +28,15 @@ export const onDidParseObjectClassAssignment = function onDidParseObjectClassAss
20
28
  if (!SyntaxList || SyntaxList.type !== ProductionType.SyntaxList) {
21
29
  throw new ASN1ParserExpectationError("Unexpected WithSyntaxSpec structure", WithSyntaxSpec);
22
30
  }
23
- const TokenOrGroupSpec = SyntaxList.children.find((child) => child.type === ProductionType.TokenOrGroupSpec);
24
- split(TokenOrGroupSpec, ProductionType.whitespace)
25
- .map((token) => ctx.text.slice(token.location.startIndex, token.location.endIndex))
26
- .filter((token) => !nonLiteralTokens.has(token) && token.toUpperCase() === token)
27
- .forEach((token) => {
28
- ctx.definedSyntaxTokens.add(token);
29
- });
31
+ const TokenOrGroupSpec = findChild(SyntaxList.children, ProductionType.TokenOrGroupSpec);
32
+ const tokens = split(TokenOrGroupSpec, ProductionType.whitespace);
33
+ for (let i = 0; i < tokens.length; i++) {
34
+ const location = tokens[i].location;
35
+ const token = ctx.text.slice(location.startIndex, location.endIndex);
36
+ if (!nonLiteralTokens.has(token) && token.toUpperCase() === token) {
37
+ ctx.definedSyntaxTokens.add(token);
38
+ }
39
+ }
30
40
  };
31
41
  export default onDidParseObjectClassAssignment;
32
42
  //# sourceMappingURL=ObjectClassAssignment.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectClassAssignment.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/callbacks/ObjectClassAssignment.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,MAAM,iBAAiB,CAAC;AACpC,OAAO,0BAA0B,MAAM,6CAA6C,CAAC;AAuIrF,MAAM,gBAAgB,GAAgB,IAAI,GAAG,CAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAkB5E,MAAM,CAAC,MAAM,+BAA+B,GAAG,SAAS,+BAA+B,CACrF,GAAiB;IAEjB,MAAM,oBAAoB,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAChD,CAAC,KAAiB,EAAW,EAAE,CAC7B,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,oBAAoB,CACrD,CAAC;IACF,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CACvC,CAAC,KAAiB,EAAW,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,WAAW,CAC1E,CAAC;IACF,IAAI,CAAC,oBAAoB,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,0BAA0B,CAClC,4CAA4C,EAC5C,GAAG,CAAC,GAAG,CACR,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe,EAAE,CAAC;QACpE,OAAO;IACT,CAAC;IACD,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,CAClD,CAAC,KAAiB,EAAW,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc,CAC7E,CAAC;IACF,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IACD,MAAM,UAAU,GACd,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,EAAE,CAAC;QACjE,MAAM,IAAI,0BAA0B,CAClC,qCAAqC,EACrC,cAAc,CACf,CAAC;IACJ,CAAC;IACD,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAC/C,CAAC,KAAiB,EAAW,EAAE,CAC7B,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB,CAChD,CAAC;IAEH,KAAK,CAAC,gBAAgB,EAAE,cAAc,CAAC,UAAU,CAAC;SAC/C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACb,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACnE;SACA,MAAM,CACL,CACE,KAAa,EACJ,EAAE,CACX,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAChE;SACA,OAAO,CAAC,CAAC,KAAa,EAAQ,EAAE;QAC/B,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AACF,eAAe,+BAA+B,CAAC"}
1
+ {"version":3,"file":"ObjectClassAssignment.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/callbacks/ObjectClassAssignment.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,MAAM,iBAAiB,CAAC;AACpC,OAAO,0BAA0B,MAAM,6CAA6C,CAAC;AAErF,SAAS,SAAS,CAChB,QAAsB,EACtB,KAAqB;IAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAuID,MAAM,gBAAgB,GAAgB,IAAI,GAAG,CAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAkB5E,MAAM,CAAC,MAAM,+BAA+B,GAAG,SAAS,+BAA+B,CACrF,GAAiB;IAEjB,MAAM,oBAAoB,GAAG,SAAS,CACpC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAChB,cAAc,CAAC,oBAAoB,CACpC,CAAC;IACF,MAAM,WAAW,GAAG,SAAS,CAC3B,GAAG,CAAC,GAAG,CAAC,QAAQ,EAChB,cAAc,CAAC,WAAW,CAC3B,CAAC;IACF,IAAI,CAAC,oBAAoB,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,0BAA0B,CAClC,4CAA4C,EAC5C,GAAG,CAAC,GAAG,CACR,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe,EAAE,CAAC;QACpE,OAAO;IACT,CAAC;IACD,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,SAAS,CAC9B,eAAe,CAAC,QAAQ,EACxB,cAAc,CAAC,cAAc,CAC9B,CAAC;IACF,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IACD,MAAM,UAAU,GACd,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,EAAE,CAAC;QACjE,MAAM,IAAI,0BAA0B,CAClC,qCAAqC,EACrC,cAAc,CACf,CAAC;IACJ,CAAC;IACD,MAAM,gBAAgB,GAAG,SAAS,CAChC,UAAU,CAAC,QAAQ,EACnB,cAAc,CAAC,gBAAgB,CAC/B,CAAC;IAEH,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACpC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAErE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;YAClE,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AACF,eAAe,+BAA+B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"aliasFor.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/aliasFor.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAiB1D,eAAO,MAAM,QAAQ,GACnB,gBAAgB,cAAc,EAC9B,QAAQ,MAAM,KACb,MA0BF,CACA;AACD,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"aliasFor.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/aliasFor.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAkB1D,eAAO,MAAM,QAAQ,GACnB,gBAAgB,cAAc,EAC9B,QAAQ,MAAM,KACb,MA4BF,CACA;AACD,eAAe,QAAQ,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import Parser from '../../Parser.mjs';
2
2
  import Production from '../../Production.mjs';
3
3
  import { ProductionType } from '../../ProductionType.mjs';
4
+ import LogLevel from '../../LogLevel.mjs';
4
5
  export const aliasFor = function (containingType, parser) {
5
6
  return new Parser(() => `Alias Of ${containingType} (${parser.name()})`, (state) => {
6
7
  const currentloc = state.tokens[state.index].location;
@@ -15,7 +16,9 @@ export const aliasFor = function (containingType, parser) {
15
16
  }),
16
17
  };
17
18
  }
18
- state.log.debug(`Read alias ${containingType}.`);
19
+ if (state.log.level <= LogLevel.debug) {
20
+ state.log.debug(`Read alias ${containingType}.`);
21
+ }
19
22
  return {
20
23
  ...state,
21
24
  error: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"aliasFor.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/aliasFor.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAiB1D,MAAM,CAAC,MAAM,QAAQ,GAAG,UACtB,cAA8B,EAC9B,MAAc;IAEd,OAAO,IAAI,MAAM,CACf,GAAG,EAAE,CAAC,YAAY,cAAc,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,EACrD,CAAC,KAAmB,EAAgB,EAAE;QACpC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO;gBACL,GAAG,KAAK;gBACR,KAAK,EAAE,IAAI;gBACX,GAAG,EAAE,IAAI,UAAU,CAAC,cAAc,EAAE,EAAE,EAAE;oBACtC,GAAG,UAAU;oBACb,QAAQ,EAAE,UAAU,CAAC,UAAU;iBAChC,CAAC;aACH,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,cAAc,GAAG,CAAC,CAAC;QACjD,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAClD,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CACA;AACD,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"aliasFor.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/aliasFor.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAiB1C,MAAM,CAAC,MAAM,QAAQ,GAAG,UACtB,cAA8B,EAC9B,MAAc;IAEd,OAAO,IAAI,MAAM,CACf,GAAG,EAAE,CAAC,YAAY,cAAc,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,EACrD,CAAC,KAAmB,EAAgB,EAAE;QACpC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO;gBACL,GAAG,KAAK;gBACR,KAAK,EAAE,IAAI;gBACX,GAAG,EAAE,IAAI,UAAU,CAAC,cAAc,EAAE,EAAE,EAAE;oBACtC,GAAG,UAAU;oBACb,QAAQ,EAAE,UAAU,CAAC,UAAU;iBAChC,CAAC;aACH,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACtC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,cAAc,GAAG,CAAC,CAAC;QACnD,CAAC;QACD,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAClD,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CACA;AACD,eAAe,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"anythingUntil.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/anythingUntil.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAY1D,eAAO,MAAM,aAAa,GACxB,gBAAgB,cAAc,EAC9B,YAAY,MAAM,KACjB,MA8BF,CACA;AACD,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"anythingUntil.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/anythingUntil.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AA4C1D,eAAO,MAAM,aAAa,GACxB,gBAAgB,cAAc,EAC9B,YAAY,MAAM,KACjB,MA2CF,CACA;AACD,eAAe,aAAa,CAAC"}
@@ -2,29 +2,51 @@ import Parser from '../../Parser.mjs';
2
2
  import Production from '../../Production.mjs';
3
3
  import { ProductionType } from '../../ProductionType.mjs';
4
4
  import anythingExcept from './anythingExcept.mjs';
5
+ function locationAtCursor(state, zeroWidth) {
6
+ const token = state.tokens[state.index];
7
+ if (token) {
8
+ return zeroWidth
9
+ ? {
10
+ ...token.location,
11
+ endIndex: token.location.startIndex,
12
+ }
13
+ : token.location;
14
+ }
15
+ const last = state.tokens[state.tokens.length - 1];
16
+ if (!last) {
17
+ return undefined;
18
+ }
19
+ return {
20
+ ...last.location,
21
+ startIndex: last.location.endIndex,
22
+ endIndex: last.location.endIndex,
23
+ };
24
+ }
5
25
  export const anythingUntil = function (containingType, terminator) {
6
- return new Parser(() => `${containingType} / Anything Until ${terminator}`, (state) => {
26
+ return new Parser(() => `${containingType} / Anything Until ${terminator.name()}`, (state) => {
7
27
  const children = [];
8
28
  let prevState = state;
9
- let nextState = anythingExcept(terminator).execute(state);
10
- while (true) {
11
- nextState = anythingExcept(terminator).execute(prevState);
29
+ while (prevState.index < prevState.tokens.length) {
30
+ const nextState = anythingExcept(terminator).execute(prevState);
12
31
  if (nextState.error) {
13
32
  state.log.debug(`Read ${containingType} terminator ${terminator.name()}.`);
14
- break;
15
- }
16
- else {
17
- children.push(nextState.cst);
33
+ return {
34
+ ...state,
35
+ index: prevState.index,
36
+ cst: new Production(containingType, children, children.length
37
+ ? undefined
38
+ : locationAtCursor(state, false)),
39
+ };
18
40
  }
41
+ children.push(nextState.cst);
19
42
  prevState = nextState;
20
43
  }
44
+ state.log.debug(`Did not read ${containingType} terminator ${terminator.name()} before end of input.`);
21
45
  return {
22
46
  ...state,
23
- index: nextState.index,
24
- cst: new Production(containingType, children, {
25
- ...state.cst.location,
26
- endIndex: nextState.cst.location.endIndex,
27
- }),
47
+ error: true,
48
+ index: prevState.index,
49
+ cst: new Production(containingType, children, children.length ? undefined : locationAtCursor(state, true)),
28
50
  };
29
51
  });
30
52
  };
@@ -1 +1 @@
1
- {"version":3,"file":"anythingUntil.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/anythingUntil.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAWlD,MAAM,CAAC,MAAM,aAAa,GAAG,UAC3B,cAA8B,EAC9B,UAAkB;IAElB,OAAO,IAAI,MAAM,CACf,GAAG,EAAE,CAAC,GAAG,cAAc,qBAAqB,UAAU,EAAE,EACxD,CAAC,KAAmB,EAAgB,EAAE;QACpC,MAAM,QAAQ,GAAiB,EAAE,CAAC;QAClC,IAAI,SAAS,GAAiB,KAAK,CAAC;QACpC,IAAI,SAAS,GAAiB,cAAc,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAExE,OAAO,IAAI,EAAE,CAAC;YACZ,SAAS,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1D,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBACpB,KAAK,CAAC,GAAG,CAAC,KAAK,CACb,QAAQ,cAAc,eAAe,UAAU,CAAC,IAAI,EAAE,GAAG,CAC1D,CAAC;gBACF,MAAM;YACR,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;YACD,SAAS,GAAG,SAAS,CAAC;QACxB,CAAC;QACD,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,GAAG,EAAE,IAAI,UAAU,CAAC,cAAc,EAAE,QAAQ,EAAE;gBAC5C,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ;gBACrB,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ;aAC1C,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CACA;AACD,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"anythingUntil.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/anythingUntil.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAElD,SAAS,gBAAgB,CACvB,KAAmB,EACnB,SAAkB;IAElB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,SAAS;YACd,CAAC,CAAC;gBACE,GAAG,KAAK,CAAC,QAAQ;gBACjB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU;aACpC;YACH,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;IACrB,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,GAAG,IAAI,CAAC,QAAQ;QAChB,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;QAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;KACjC,CAAC;AACJ,CAAC;AAmBD,MAAM,CAAC,MAAM,aAAa,GAAG,UAC3B,cAA8B,EAC9B,UAAkB;IAElB,OAAO,IAAI,MAAM,CACf,GAAG,EAAE,CAAC,GAAG,cAAc,qBAAqB,UAAU,CAAC,IAAI,EAAE,EAAE,EAC/D,CAAC,KAAmB,EAAgB,EAAE;QACpC,MAAM,QAAQ,GAAiB,EAAE,CAAC;QAClC,IAAI,SAAS,GAAiB,KAAK,CAAC;QACpC,OAAO,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,SAAS,GACb,cAAc,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBACpB,KAAK,CAAC,GAAG,CAAC,KAAK,CACb,QAAQ,cAAc,eAAe,UAAU,CAAC,IAAI,EAAE,GAAG,CAC1D,CAAC;gBACF,OAAO;oBACL,GAAG,KAAK;oBACR,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,GAAG,EAAE,IAAI,UAAU,CACjB,cAAc,EACd,QAAQ,EACR,QAAQ,CAAC,MAAM;wBACb,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CACnC;iBACF,CAAC;YACJ,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC7B,SAAS,GAAG,SAAS,CAAC;QACxB,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,KAAK,CACb,gBAAgB,cAAc,eAAe,UAAU,CAAC,IAAI,EAAE,uBAAuB,CACtF,CAAC;QACF,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,GAAG,EAAE,IAAI,UAAU,CACjB,cAAc,EACd,QAAQ,EACR,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAC5D;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CACA;AACD,eAAe,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"assert.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/assert.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AA0BtC,eAAO,MAAM,MAAM,GACjB,UAAU,MAAM,EAChB,UAAU,MAAM,EAChB,MAAM,MAAM,KACX,MAuBF,CACA;AACD,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"assert.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/assert.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AA8BtC,eAAO,MAAM,MAAM,GACjB,UAAU,MAAM,EAChB,UAAU,MAAM,EAChB,MAAM,MAAM,KACX,MA4BF,CACA;AACD,eAAe,MAAM,CAAC"}
@@ -7,6 +7,9 @@ export const assert = function (asserted, recovery, uuid) {
7
7
  const result = asserted.execute(state);
8
8
  if (result.error) {
9
9
  const recoveryResult = anythingUntil(ProductionType.SYNTAX_ERROR, recovery).execute(state);
10
+ if (recoveryResult.error) {
11
+ delete recoveryResult.error;
12
+ }
10
13
  const key = result.cst.location.startIndex;
11
14
  if (!(key in recoveryResult.syntaxErrors)) {
12
15
  recoveryResult.syntaxErrors[key] = new ASN1SyntaxError(recoveryResult.cst, `urn:uuid:${uuid}: Required production '${asserted.name()}' not found.`);
@@ -1 +1 @@
1
- {"version":3,"file":"assert.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/assert.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAsB/D,MAAM,CAAC,MAAM,MAAM,GAAG,UACpB,QAAgB,EAChB,QAAgB,EAChB,IAAY;IAEZ,OAAO,IAAI,MAAM,CACf,GAAG,EAAE,CAAC,WAAW,EACjB,CAAC,KAAmB,EAAgB,EAAE;QACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,cAAc,GAAG,aAAa,CAClC,cAAc,CAAC,YAAY,EAC3B,QAAQ,CACT,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,MAAM,GAAG,GAAW,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;YACnD,IAAI,CAAC,CAAC,GAAG,IAAI,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC1C,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,eAAe,CACpD,cAAc,CAAC,GAAG,EAClB,YAAY,IAAI,0BAA0B,QAAQ,CAAC,IAAI,EAAE,cAAc,CACxE,CAAC;YACJ,CAAC;YACD,OAAO,cAAc,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC,CACA;AACD,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"assert.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/assert.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,eAAe,MAAM,kCAAkC,CAAC;AA0B/D,MAAM,CAAC,MAAM,MAAM,GAAG,UACpB,QAAgB,EAChB,QAAgB,EAChB,IAAY;IAEZ,OAAO,IAAI,MAAM,CACf,GAAG,EAAE,CAAC,WAAW,EACjB,CAAC,KAAmB,EAAgB,EAAE;QACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,cAAc,GAAG,aAAa,CAClC,cAAc,CAAC,YAAY,EAC3B,QAAQ,CACT,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAGjB,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;gBACzB,OAAO,cAAc,CAAC,KAAK,CAAC;YAC9B,CAAC;YACD,MAAM,GAAG,GAAW,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;YACnD,IAAI,CAAC,CAAC,GAAG,IAAI,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC1C,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,eAAe,CACpD,cAAc,CAAC,GAAG,EAClB,YAAY,IAAI,0BAA0B,QAAQ,CAAC,IAAI,EAAE,cAAc,CACxE,CAAC;YACJ,CAAC;YACD,OAAO,cAAc,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC,CACA;AACD,eAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"choiceOf.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/choiceOf.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAoB1D,eAAO,MAAM,QAAQ,GACnB,MAAM,MAAM,EAAE,EACd,iBAAiB,cAAc,KAC9B,MA8CF,CACA;AACD,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"choiceOf.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/choiceOf.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAqB1D,eAAO,MAAM,QAAQ,GACnB,MAAM,MAAM,EAAE,EACd,iBAAiB,cAAc,KAC9B,MAgDF,CACA;AACD,eAAe,QAAQ,CAAC"}
@@ -1,17 +1,20 @@
1
1
  import Parser from '../../Parser.mjs';
2
2
  import Production from '../../Production.mjs';
3
3
  import { ProductionType } from '../../ProductionType.mjs';
4
+ import LogLevel from '../../LogLevel.mjs';
4
5
  export const choiceOf = function (alts, containingType) {
5
6
  return new Parser(() => `${containingType || alts.map((p) => p.name()).join(',')} Choice`, (state) => {
6
7
  const currentloc = state.tokens[state.index].location;
7
- for (const labeledParser of alts) {
8
+ for (let i = 0; i < alts.length; i++) {
9
+ const labeledParser = alts[i];
8
10
  const result = labeledParser.execute(state);
9
11
  if (!result.error) {
10
12
  if (containingType === ProductionType.whitespace) {
11
- state.log.debug(`Read ${containingType || alts.map((p) => p.name()).join(',')} ` +
12
- `alternative ${labeledParser.name()}.`);
13
+ if (state.log.level <= LogLevel.debug) {
14
+ state.log.debug(`Read ${containingType} alternative ${labeledParser.name()}.`);
15
+ }
13
16
  }
14
- else {
17
+ else if (state.log.level <= LogLevel.info) {
15
18
  state.log.info(`Read ${containingType || alts.map((p) => p.name()).join(',')} ` +
16
19
  `alternative ${labeledParser.name()}.`);
17
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"choiceOf.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/choiceOf.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAoB1D,MAAM,CAAC,MAAM,QAAQ,GAAG,UACtB,IAAc,EACd,cAA+B;IAE/B,OAAO,IAAI,MAAM,CACf,GAAG,EAAE,CAAC,GAAG,cAAc,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EACvE,CAAC,KAAmB,EAAgB,EAAE;QACpC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;QACtD,KAAK,MAAM,aAAa,IAAI,IAAI,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAIlB,IAAI,cAAc,KAAK,cAAc,CAAC,UAAU,EAAE,CAAC;oBACjD,KAAK,CAAC,GAAG,CAAC,KAAK,CACb,QAAQ,cAAc,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;wBAC9D,eAAe,aAAa,CAAC,IAAI,EAAE,GAAG,CACzC,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,GAAG,CAAC,IAAI,CACZ,QAAQ,cAAc,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;wBAC9D,eAAe,aAAa,CAAC,IAAI,EAAE,GAAG,CACzC,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,GAAG,MAAM;oBAET,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,GAAG,EAAE,cAAc;wBACjB,CAAC,CAAC,IAAI,UAAU,CAAC,cAAc,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACjE,CAAC,CAAC,MAAM,CAAC,GAAG;iBACf,CAAC;YACJ,CAAC;QACH,CAAC;QAGD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,cAAc,IAAI,cAAc,CAAC,KAAK,EAAE,EAAE,EAAE;YACrE,GAAG,UAAU;YACb,QAAQ,EAAE,UAAU,CAAC,UAAU;SAChC,CAAC,CAAC;QACH,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,IAAI;YACX,GAAG;SACJ,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CACA;AACD,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"choiceOf.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/choiceOf.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAoB1C,MAAM,CAAC,MAAM,QAAQ,GAAG,UACtB,IAAc,EACd,cAA+B;IAE/B,OAAO,IAAI,MAAM,CACf,GAAG,EAAE,CAAC,GAAG,cAAc,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EACvE,CAAC,KAAmB,EAAgB,EAAE;QACpC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAIlB,IAAI,cAAc,KAAK,cAAc,CAAC,UAAU,EAAE,CAAC;oBACjD,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;wBACtC,KAAK,CAAC,GAAG,CAAC,KAAK,CACb,QAAQ,cAAc,gBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,CAC9D,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC5C,KAAK,CAAC,GAAG,CAAC,IAAI,CACZ,QAAQ,cAAc,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;wBAC9D,eAAe,aAAa,CAAC,IAAI,EAAE,GAAG,CACzC,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,GAAG,MAAM;oBAET,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,GAAG,EAAE,cAAc;wBACjB,CAAC,CAAC,IAAI,UAAU,CAAC,cAAc,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACjE,CAAC,CAAC,MAAM,CAAC,GAAG;iBACf,CAAC;YACJ,CAAC;QACH,CAAC;QAGD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,cAAc,IAAI,cAAc,CAAC,KAAK,EAAE,EAAE,EAAE;YACrE,GAAG,UAAU;YACb,QAAQ,EAAE,UAAU,CAAC,UAAU;SAChC,CAAC,CAAC;QACH,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,IAAI;YACX,GAAG;SACJ,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CACA;AACD,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import Parser from '../../Parser.mjs';
2
+ import { ProductionType } from '../../ProductionType.mjs';
3
+ export type TokenParserMapping = Parser | readonly Parser[];
4
+ export type TokenParserTable = Map<string, TokenParserMapping>;
5
+ export declare function tokenParserTable(entries: readonly (readonly [string, TokenParserMapping])[]): TokenParserTable;
6
+ export declare const dispatchOnToken: (table: TokenParserTable, containingType?: ProductionType, fallback?: TokenParserMapping) => Parser;
7
+ export default dispatchOnToken;
8
+ //# sourceMappingURL=dispatchOnToken.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatchOnToken.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/dispatchOnToken.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAO1D,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;AAiB5D,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAe/D,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,EAAE,GAC1D,gBAAgB,CAElB;AAgBD,eAAO,MAAM,eAAe,GAC1B,OAAO,gBAAgB,EACvB,iBAAiB,cAAc,EAC/B,WAAW,kBAAkB,KAC5B,MAkCF,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,43 @@
1
+ import Parser from '../../Parser.mjs';
2
+ import Production from '../../Production.mjs';
3
+ import { ProductionType } from '../../ProductionType.mjs';
4
+ import LogLevel from '../../LogLevel.mjs';
5
+ import { failParse } from './tokenPeek.mjs';
6
+ function parsersFor(mapped) {
7
+ if (mapped instanceof Parser) {
8
+ return [mapped];
9
+ }
10
+ return mapped;
11
+ }
12
+ export function tokenParserTable(entries) {
13
+ return new Map(entries);
14
+ }
15
+ export const dispatchOnToken = function (table, containingType, fallback) {
16
+ return new Parser(() => `${containingType || 'TokenDispatch'}`, (state) => {
17
+ const tokenType = state.tokens[state.index].type;
18
+ const mapped = table.get(tokenType) ?? fallback;
19
+ if (mapped === undefined) {
20
+ return failParse(state, containingType || ProductionType.empty);
21
+ }
22
+ const alts = parsersFor(mapped);
23
+ for (const labeledParser of alts) {
24
+ const result = labeledParser.execute(state);
25
+ if (!result.error) {
26
+ if (containingType !== ProductionType.whitespace &&
27
+ state.log.level <= LogLevel.info) {
28
+ state.log.info(`Read ${containingType || 'TokenDispatch'} alternative ${labeledParser.name()}.`);
29
+ }
30
+ return {
31
+ ...result,
32
+ currentType: state.currentType,
33
+ cst: containingType
34
+ ? new Production(containingType, [result.cst])
35
+ : result.cst,
36
+ };
37
+ }
38
+ }
39
+ return failParse(state, containingType || ProductionType.empty);
40
+ });
41
+ };
42
+ export default dispatchOnToken;
43
+ //# sourceMappingURL=dispatchOnToken.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatchOnToken.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/dispatchOnToken.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAwB5C,SAAS,UAAU,CAAC,MAA0B;IAC5C,IAAI,MAAM,YAAY,MAAM,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAQD,MAAM,UAAU,gBAAgB,CAC9B,OAA2D;IAE3D,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC;AAgBD,MAAM,CAAC,MAAM,eAAe,GAAG,UAC7B,KAAuB,EACvB,cAA+B,EAC/B,QAA6B;IAE7B,OAAO,IAAI,MAAM,CACf,GAAG,EAAE,CAAC,GAAG,cAAc,IAAI,eAAe,EAAE,EAC5C,CAAC,KAAmB,EAAgB,EAAE;QACpC,MAAM,SAAS,GAAW,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;QACzD,MAAM,MAAM,GACV,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC;QACnC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC,KAAK,EAAE,cAAc,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,IAAI,GAAsB,UAAU,CAAC,MAAM,CAAC,CAAC;QACnD,KAAK,MAAM,aAAa,IAAI,IAAI,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAClB,IACE,cAAc,KAAK,cAAc,CAAC,UAAU;oBAC5C,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAChC,CAAC;oBACD,KAAK,CAAC,GAAG,CAAC,IAAI,CACZ,QAAQ,cAAc,IAAI,eAAe,gBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,CACjF,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,GAAG,MAAM;oBACT,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,GAAG,EAAE,cAAc;wBACjB,CAAC,CAAC,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAC9C,CAAC,CAAC,MAAM,CAAC,GAAG;iBACf,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC,KAAK,EAAE,cAAc,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -3,7 +3,7 @@ export const doif = function (parser, callback) {
3
3
  return new Parser(() => 'Do-If Callback', (state) => {
4
4
  const result = parser.execute(state);
5
5
  if (!result.error) {
6
- callback(state);
6
+ callback(result);
7
7
  }
8
8
  return result;
9
9
  });
@@ -1 +1 @@
1
- {"version":3,"file":"doif.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/doif.mts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAkBtC,MAAM,CAAC,MAAM,IAAI,GAAG,UAClB,MAAc,EACd,QAAuC;IAEvC,OAAO,IAAI,MAAM,CACf,GAAG,EAAE,CAAC,gBAAgB,EACtB,CAAC,KAAmB,EAAgB,EAAE;QACpC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CACF,CAAC;AACJ,CAAC,CACA;AACD,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"doif.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/doif.mts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAkBtC,MAAM,CAAC,MAAM,IAAI,GAAG,UAClB,MAAc,EACd,QAAuC;IAEvC,OAAO,IAAI,MAAM,CACf,GAAG,EAAE,CAAC,gBAAgB,EACtB,CAAC,KAAmB,EAAgB,EAAE;QACpC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CACF,CAAC;AACJ,CAAC,CACA;AACD,eAAe,IAAI,CAAC"}
@@ -4,8 +4,13 @@ export { default as anythingExcept } from './anythingExcept.mjs';
4
4
  export { default as anythingUntil } from './anythingUntil.mjs';
5
5
  export { default as assert } from './assert.mjs';
6
6
  export { default as choiceOf } from './choiceOf.mjs';
7
+ export { default as dispatchOnToken } from './dispatchOnToken.mjs';
8
+ export { default as when } from './when.mjs';
9
+ export { canStartOpenTypeFieldVal, canStartType, failParse, isTypeWithConstraintStart, peekNextNonWhitespaceType, RESTRICTED_CHARACTER_STRING_TYPES, skipWhitespaceIndex, TYPE_KEYWORD_FIRST, } from './tokenPeek.mjs';
7
10
  export { default as commaDelimitedList } from './commaDelimitedList.mjs';
8
11
  export { default as doif } from './doif.mjs';
12
+ export { default as limitConstructedNesting } from './limitConstructedNesting.mjs';
13
+ export { MAX_CONSTRUCTED_NESTING_DEPTH } from './limitConstructedNesting.mjs';
9
14
  export { default as literal } from './literal.mjs';
10
15
  export { default as optional } from './optional.mjs';
11
16
  export { default as periodDelimitedList } from './periodDelimitedList.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/index.mts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACjG,OAAO,EAAE,OAAO,IAAI,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AACnG,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,oCAAoC,CAAC"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/index.mts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EACL,wBAAwB,EACxB,YAAY,EACZ,SAAS,EACT,yBAAyB,EACzB,yBAAyB,EACzB,iCAAiC,EACjC,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACjG,OAAO,EAAE,OAAO,IAAI,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AACnG,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,oCAAoC,CAAC"}
@@ -4,8 +4,13 @@ export { default as anythingExcept } from './anythingExcept.mjs';
4
4
  export { default as anythingUntil } from './anythingUntil.mjs';
5
5
  export { default as assert } from './assert.mjs';
6
6
  export { default as choiceOf } from './choiceOf.mjs';
7
+ export { default as dispatchOnToken } from './dispatchOnToken.mjs';
8
+ export { default as when } from './when.mjs';
9
+ export { canStartOpenTypeFieldVal, canStartType, failParse, isTypeWithConstraintStart, peekNextNonWhitespaceType, RESTRICTED_CHARACTER_STRING_TYPES, skipWhitespaceIndex, TYPE_KEYWORD_FIRST, } from './tokenPeek.mjs';
7
10
  export { default as commaDelimitedList } from './commaDelimitedList.mjs';
8
11
  export { default as doif } from './doif.mjs';
12
+ export { default as limitConstructedNesting } from './limitConstructedNesting.mjs';
13
+ export { MAX_CONSTRUCTED_NESTING_DEPTH } from './limitConstructedNesting.mjs';
9
14
  export { default as literal } from './literal.mjs';
10
15
  export { default as optional } from './optional.mjs';
11
16
  export { default as periodDelimitedList } from './periodDelimitedList.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/index.mts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACjG,OAAO,EAAE,OAAO,IAAI,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AACnG,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,oCAAoC,CAAC"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/index.mts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EACL,wBAAwB,EACxB,YAAY,EACZ,SAAS,EACT,yBAAyB,EACzB,yBAAyB,EACzB,iCAAiC,EACjC,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACjG,OAAO,EAAE,OAAO,IAAI,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AACnG,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,oCAAoC,CAAC"}