@wildboar/asn1-parser 2.5.1 → 2.7.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 (226) 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/constructs/Assignment.d.mts.map +1 -1
  26. package/dist/lib/constructs/AssignmentTypes/ObjectAssignment.d.mts +2 -0
  27. package/dist/lib/constructs/AssignmentTypes/ObjectAssignment.d.mts.map +1 -1
  28. package/dist/lib/correct.d.mts.map +1 -1
  29. package/dist/lib/correct.mjs +120 -115
  30. package/dist/lib/correct.mjs.map +1 -1
  31. package/dist/lib/grokers/ConstraintSpecs/GeneralConstraint.d.mts.map +1 -1
  32. package/dist/lib/grokers/ConstraintSpecs/GeneralConstraint.mjs +22 -5
  33. package/dist/lib/grokers/ConstraintSpecs/GeneralConstraint.mjs.map +1 -1
  34. package/dist/lib/grokers/DefinitiveOID.mjs +1 -1
  35. package/dist/lib/grokers/DefinitiveOID.mjs.map +1 -1
  36. package/dist/lib/grokers/Module.d.mts.map +1 -1
  37. package/dist/lib/grokers/Module.mjs +2 -1
  38. package/dist/lib/grokers/Module.mjs.map +1 -1
  39. package/dist/lib/grokers/Types/SetOrSequenceType.d.mts.map +1 -1
  40. package/dist/lib/grokers/Types/SetOrSequenceType.mjs +30 -30
  41. package/dist/lib/grokers/Types/SetOrSequenceType.mjs.map +1 -1
  42. package/dist/lib/grokers/ValueSet.d.mts.map +1 -1
  43. package/dist/lib/grokers/ValueSet.mjs +6 -1
  44. package/dist/lib/grokers/ValueSet.mjs.map +1 -1
  45. package/dist/lib/interfaces/ParserState.d.mts +2 -0
  46. package/dist/lib/interfaces/ParserState.d.mts.map +1 -1
  47. package/dist/lib/interfaces/ParserState.mjs.map +1 -1
  48. package/dist/lib/lex.d.mts.map +1 -1
  49. package/dist/lib/lex.mjs +121 -95
  50. package/dist/lib/lex.mjs.map +1 -1
  51. package/dist/lib/maps/productionTypeToTypeTypeMap.d.mts.map +1 -1
  52. package/dist/lib/maps/productionTypeToTypeTypeMap.mjs +17 -0
  53. package/dist/lib/maps/productionTypeToTypeTypeMap.mjs.map +1 -1
  54. package/dist/lib/normalizers/Assignment/ObjectAssignment.mjs +1 -1
  55. package/dist/lib/normalizers/Assignment/ObjectAssignment.mjs.map +1 -1
  56. package/dist/lib/parse.d.mts.map +1 -1
  57. package/dist/lib/parse.mjs +20 -2
  58. package/dist/lib/parse.mjs.map +1 -1
  59. package/dist/lib/parseMemo.d.mts +18 -0
  60. package/dist/lib/parseMemo.d.mts.map +1 -0
  61. package/dist/lib/parseMemo.mjs +77 -0
  62. package/dist/lib/parseMemo.mjs.map +1 -0
  63. package/dist/lib/parsers/callbacks/Assignment.d.mts.map +1 -1
  64. package/dist/lib/parsers/callbacks/Assignment.mjs +6 -1
  65. package/dist/lib/parsers/callbacks/Assignment.mjs.map +1 -1
  66. package/dist/lib/parsers/callbacks/ObjectClassAssignment.d.mts.map +1 -1
  67. package/dist/lib/parsers/callbacks/ObjectClassAssignment.mjs +20 -10
  68. package/dist/lib/parsers/callbacks/ObjectClassAssignment.mjs.map +1 -1
  69. package/dist/lib/parsers/generic/aliasFor.d.mts.map +1 -1
  70. package/dist/lib/parsers/generic/aliasFor.mjs +4 -1
  71. package/dist/lib/parsers/generic/aliasFor.mjs.map +1 -1
  72. package/dist/lib/parsers/generic/anythingUntil.d.mts.map +1 -1
  73. package/dist/lib/parsers/generic/anythingUntil.mjs +35 -13
  74. package/dist/lib/parsers/generic/anythingUntil.mjs.map +1 -1
  75. package/dist/lib/parsers/generic/assert.d.mts.map +1 -1
  76. package/dist/lib/parsers/generic/assert.mjs +3 -0
  77. package/dist/lib/parsers/generic/assert.mjs.map +1 -1
  78. package/dist/lib/parsers/generic/choiceOf.d.mts.map +1 -1
  79. package/dist/lib/parsers/generic/choiceOf.mjs +7 -4
  80. package/dist/lib/parsers/generic/choiceOf.mjs.map +1 -1
  81. package/dist/lib/parsers/generic/dispatchOnToken.d.mts +8 -0
  82. package/dist/lib/parsers/generic/dispatchOnToken.d.mts.map +1 -0
  83. package/dist/lib/parsers/generic/dispatchOnToken.mjs +43 -0
  84. package/dist/lib/parsers/generic/dispatchOnToken.mjs.map +1 -0
  85. package/dist/lib/parsers/generic/doif.mjs +1 -1
  86. package/dist/lib/parsers/generic/doif.mjs.map +1 -1
  87. package/dist/lib/parsers/generic/index.d.mts +5 -0
  88. package/dist/lib/parsers/generic/index.d.mts.map +1 -1
  89. package/dist/lib/parsers/generic/index.mjs +5 -0
  90. package/dist/lib/parsers/generic/index.mjs.map +1 -1
  91. package/dist/lib/parsers/generic/limitConstructedNesting.d.mts +5 -0
  92. package/dist/lib/parsers/generic/limitConstructedNesting.d.mts.map +1 -0
  93. package/dist/lib/parsers/generic/limitConstructedNesting.mjs +30 -0
  94. package/dist/lib/parsers/generic/limitConstructedNesting.mjs.map +1 -0
  95. package/dist/lib/parsers/generic/literal.d.mts.map +1 -1
  96. package/dist/lib/parsers/generic/literal.mjs +37 -13
  97. package/dist/lib/parsers/generic/literal.mjs.map +1 -1
  98. package/dist/lib/parsers/generic/recursiveParser.d.mts.map +1 -1
  99. package/dist/lib/parsers/generic/recursiveParser.mjs +3 -1
  100. package/dist/lib/parsers/generic/recursiveParser.mjs.map +1 -1
  101. package/dist/lib/parsers/generic/recyclingSequenceOf.d.mts.map +1 -1
  102. package/dist/lib/parsers/generic/recyclingSequenceOf.mjs +10 -10
  103. package/dist/lib/parsers/generic/recyclingSequenceOf.mjs.map +1 -1
  104. package/dist/lib/parsers/generic/repeatable.d.mts.map +1 -1
  105. package/dist/lib/parsers/generic/repeatable.mjs +4 -0
  106. package/dist/lib/parsers/generic/repeatable.mjs.map +1 -1
  107. package/dist/lib/parsers/generic/tokenPeek.d.mts +12 -0
  108. package/dist/lib/parsers/generic/tokenPeek.d.mts.map +1 -0
  109. package/dist/lib/parsers/generic/tokenPeek.mjs +167 -0
  110. package/dist/lib/parsers/generic/tokenPeek.mjs.map +1 -0
  111. package/dist/lib/parsers/generic/when.d.mts +5 -0
  112. package/dist/lib/parsers/generic/when.d.mts.map +1 -0
  113. package/dist/lib/parsers/generic/when.mjs +12 -0
  114. package/dist/lib/parsers/generic/when.mjs.map +1 -0
  115. package/dist/lib/parsers/generic/whitespace.d.mts.map +1 -1
  116. package/dist/lib/parsers/generic/whitespace.mjs +1 -1
  117. package/dist/lib/parsers/generic/whitespace.mjs.map +1 -1
  118. package/dist/lib/parsers/generic/whitespaceIntolerantList.d.mts.map +1 -1
  119. package/dist/lib/parsers/generic/whitespaceIntolerantList.mjs +12 -5
  120. package/dist/lib/parsers/generic/whitespaceIntolerantList.mjs.map +1 -1
  121. package/dist/lib/parsers/generic/whitespaceTolerantSequenceOf.d.mts.map +1 -1
  122. package/dist/lib/parsers/generic/whitespaceTolerantSequenceOf.mjs +11 -1
  123. package/dist/lib/parsers/generic/whitespaceTolerantSequenceOf.mjs.map +1 -1
  124. package/dist/lib/parsers/optimized/ComponentType_NamedType.d.mts.map +1 -1
  125. package/dist/lib/parsers/optimized/ComponentType_NamedType.mjs +4 -2
  126. package/dist/lib/parsers/optimized/ComponentType_NamedType.mjs.map +1 -1
  127. package/dist/lib/parsers/optimized/FieldName_LowercasedFinalPrimitiveFieldName.mjs +2 -5
  128. package/dist/lib/parsers/optimized/FieldName_LowercasedFinalPrimitiveFieldName.mjs.map +1 -1
  129. package/dist/lib/parsers/optimized/FieldName_UppercasedFinalPrimitiveFieldName.mjs +2 -5
  130. package/dist/lib/parsers/optimized/FieldName_UppercasedFinalPrimitiveFieldName.mjs.map +1 -1
  131. package/dist/lib/parsers/optimized/Literal.d.mts.map +1 -1
  132. package/dist/lib/parsers/optimized/Literal.mjs +13 -6
  133. package/dist/lib/parsers/optimized/Literal.mjs.map +1 -1
  134. package/dist/lib/parsers/optimized/ParamGovernor.d.mts.map +1 -1
  135. package/dist/lib/parsers/optimized/ParamGovernor.mjs +9 -4
  136. package/dist/lib/parsers/optimized/ParamGovernor.mjs.map +1 -1
  137. package/dist/lib/parsers/optimized/Setting.d.mts.map +1 -1
  138. package/dist/lib/parsers/optimized/Setting.mjs +1 -1
  139. package/dist/lib/parsers/optimized/Setting.mjs.map +1 -1
  140. package/dist/lib/parsers/optimized/Type.d.mts.map +1 -1
  141. package/dist/lib/parsers/optimized/Type.mjs +13 -8
  142. package/dist/lib/parsers/optimized/Type.mjs.map +1 -1
  143. package/dist/lib/parsers/optimized/Value_listens_to_currentType.d.mts.map +1 -1
  144. package/dist/lib/parsers/optimized/Value_listens_to_currentType.mjs +40 -110
  145. package/dist/lib/parsers/optimized/Value_listens_to_currentType.mjs.map +1 -1
  146. package/dist/lib/parsers/specific/BuiltinType.d.mts +1 -1
  147. package/dist/lib/parsers/specific/BuiltinType.d.mts.map +1 -1
  148. package/dist/lib/parsers/specific/BuiltinType.mjs +59 -31
  149. package/dist/lib/parsers/specific/BuiltinType.mjs.map +1 -1
  150. package/dist/lib/parsers/specific/BuiltinValue.d.mts +1 -1
  151. package/dist/lib/parsers/specific/BuiltinValue.d.mts.map +1 -1
  152. package/dist/lib/parsers/specific/BuiltinValue.mjs +67 -18
  153. package/dist/lib/parsers/specific/BuiltinValue.mjs.map +1 -1
  154. package/dist/lib/parsers/specific/CharacterStringType.d.mts.map +1 -1
  155. package/dist/lib/parsers/specific/CharacterStringType.mjs +11 -5
  156. package/dist/lib/parsers/specific/CharacterStringType.mjs.map +1 -1
  157. package/dist/lib/parsers/specific/ChoiceType.mjs +2 -2
  158. package/dist/lib/parsers/specific/ChoiceType.mjs.map +1 -1
  159. package/dist/lib/parsers/specific/ChoiceValue.mjs +2 -2
  160. package/dist/lib/parsers/specific/ChoiceValue.mjs.map +1 -1
  161. package/dist/lib/parsers/specific/EncodingInstruction.d.mts.map +1 -1
  162. package/dist/lib/parsers/specific/EncodingInstruction.mjs.map +1 -1
  163. package/dist/lib/parsers/specific/EncodingInstructionAssignmentList.d.mts.map +1 -1
  164. package/dist/lib/parsers/specific/EncodingInstructionAssignmentList.mjs.map +1 -1
  165. package/dist/lib/parsers/specific/OpenTypeFieldVal.d.mts.map +1 -1
  166. package/dist/lib/parsers/specific/OpenTypeFieldVal.mjs +3 -3
  167. package/dist/lib/parsers/specific/OpenTypeFieldVal.mjs.map +1 -1
  168. package/dist/lib/parsers/specific/ParameterizedValueSetTypeAssignment.mjs +1 -1
  169. package/dist/lib/parsers/specific/ParameterizedValueSetTypeAssignment.mjs.map +1 -1
  170. package/dist/lib/parsers/specific/ReferencedType.d.mts +1 -1
  171. package/dist/lib/parsers/specific/ReferencedType.d.mts.map +1 -1
  172. package/dist/lib/parsers/specific/ReferencedType.mjs +38 -8
  173. package/dist/lib/parsers/specific/ReferencedType.mjs.map +1 -1
  174. package/dist/lib/parsers/specific/ReferencedValue.d.mts.map +1 -1
  175. package/dist/lib/parsers/specific/ReferencedValue.mjs +6 -2
  176. package/dist/lib/parsers/specific/ReferencedValue.mjs.map +1 -1
  177. package/dist/lib/parsers/specific/RestrictedCharacterStringType.d.mts.map +1 -1
  178. package/dist/lib/parsers/specific/RestrictedCharacterStringType.mjs +6 -16
  179. package/dist/lib/parsers/specific/RestrictedCharacterStringType.mjs.map +1 -1
  180. package/dist/lib/parsers/specific/SequenceOfType.mjs +2 -2
  181. package/dist/lib/parsers/specific/SequenceOfType.mjs.map +1 -1
  182. package/dist/lib/parsers/specific/SequenceOfValue.mjs +2 -2
  183. package/dist/lib/parsers/specific/SequenceOfValue.mjs.map +1 -1
  184. package/dist/lib/parsers/specific/SequenceType.mjs +2 -2
  185. package/dist/lib/parsers/specific/SequenceType.mjs.map +1 -1
  186. package/dist/lib/parsers/specific/SequenceValue.mjs +2 -2
  187. package/dist/lib/parsers/specific/SequenceValue.mjs.map +1 -1
  188. package/dist/lib/parsers/specific/SetOfType.mjs +2 -2
  189. package/dist/lib/parsers/specific/SetOfType.mjs.map +1 -1
  190. package/dist/lib/parsers/specific/SetOfValue.mjs +2 -2
  191. package/dist/lib/parsers/specific/SetOfValue.mjs.map +1 -1
  192. package/dist/lib/parsers/specific/SetType.mjs +2 -2
  193. package/dist/lib/parsers/specific/SetType.mjs.map +1 -1
  194. package/dist/lib/parsers/specific/SetValue.mjs +2 -2
  195. package/dist/lib/parsers/specific/SetValue.mjs.map +1 -1
  196. package/dist/lib/parsers/specific/TypeWithConstraint.mjs +2 -2
  197. package/dist/lib/parsers/specific/TypeWithConstraint.mjs.map +1 -1
  198. package/dist/lib/parsers/specific/UsefulType.d.mts.map +1 -1
  199. package/dist/lib/parsers/specific/UsefulType.mjs +16 -6
  200. package/dist/lib/parsers/specific/UsefulType.mjs.map +1 -1
  201. package/dist/lib/parsers/specific/UserDefinedConstraintParameter.d.mts.map +1 -1
  202. package/dist/lib/parsers/specific/UserDefinedConstraintParameter.mjs +1 -1
  203. package/dist/lib/parsers/specific/UserDefinedConstraintParameter.mjs.map +1 -1
  204. package/dist/lib/parsers/specific/Value.d.mts.map +1 -1
  205. package/dist/lib/parsers/specific/Value.mjs +2 -2
  206. package/dist/lib/parsers/specific/Value.mjs.map +1 -1
  207. package/dist/lib/parsers/specific/ValueSet.d.mts +4 -1
  208. package/dist/lib/parsers/specific/ValueSet.d.mts.map +1 -1
  209. package/dist/lib/parsers/specific/ValueSet.mjs +28 -1
  210. package/dist/lib/parsers/specific/ValueSet.mjs.map +1 -1
  211. package/dist/lib/parsers/specific/ValueSetOptionalitySpec.mjs +1 -1
  212. package/dist/lib/parsers/specific/ValueSetOptionalitySpec.mjs.map +1 -1
  213. package/dist/lib/parsers/specific/ValueSetTypeAssignment.d.mts.map +1 -1
  214. package/dist/lib/parsers/specific/ValueSetTypeAssignment.mjs +1 -1
  215. package/dist/lib/parsers/specific/ValueSetTypeAssignment.mjs.map +1 -1
  216. package/dist/lib/parsers/specific/_word.d.mts.map +1 -1
  217. package/dist/lib/parsers/specific/_word.mjs +6 -3
  218. package/dist/lib/parsers/specific/_word.mjs.map +1 -1
  219. package/dist/lib/parsers/specific/index.d.mts +1 -1
  220. package/dist/lib/parsers/specific/index.d.mts.map +1 -1
  221. package/dist/lib/parsers/specific/index.mjs +1 -1
  222. package/dist/lib/parsers/specific/index.mjs.map +1 -1
  223. package/dist/lib/updateCurrentType.d.mts.map +1 -1
  224. package/dist/lib/updateCurrentType.mjs +9 -2
  225. package/dist/lib/updateCurrentType.mjs.map +1 -1
  226. package/package.json +6 -1
@@ -1,12 +1,15 @@
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 whitespaceIntolerantList = function (containingType, listItemParser, delimiterParser) {
5
6
  return new Parser(() => `Delimited List ${containingType}`, (state) => {
6
7
  const startloc = state.tokens[state.index].location;
7
8
  let nextState = listItemParser.execute(state);
8
9
  if (nextState.error) {
9
- state.log.debug(`Could not read first ${nextState.cst.type} list item for ${containingType}.`);
10
+ if (state.log.level <= LogLevel.debug) {
11
+ state.log.debug(`Could not read first ${nextState.cst.type} list item for ${containingType}.`);
12
+ }
10
13
  return {
11
14
  ...state,
12
15
  error: true,
@@ -16,20 +19,24 @@ export const whitespaceIntolerantList = function (containingType, listItemParser
16
19
  }),
17
20
  };
18
21
  }
19
- let children = [nextState.cst];
22
+ const children = [nextState.cst];
20
23
  while (true) {
21
24
  const delimiter = delimiterParser.execute(nextState);
22
25
  if (delimiter.error) {
23
26
  break;
24
27
  }
25
- state.log.debug(`Read ${delimiter.cst.type} delimiter for ${containingType}.`);
28
+ if (state.log.level <= LogLevel.debug) {
29
+ state.log.debug(`Read ${delimiter.cst.type} delimiter for ${containingType}.`);
30
+ }
26
31
  const listItem = listItemParser.execute(delimiter);
27
32
  if (listItem.error) {
28
33
  break;
29
34
  }
30
- state.log.debug(`Read ${listItem.cst.type} list item for ${containingType}.`);
35
+ if (state.log.level <= LogLevel.debug) {
36
+ state.log.debug(`Read ${listItem.cst.type} list item for ${containingType}.`);
37
+ }
31
38
  nextState = listItem;
32
- children = children.concat([delimiter.cst, listItem.cst]);
39
+ children.push(delimiter.cst, listItem.cst);
33
40
  if (nextState.index >= nextState.tokens.length) {
34
41
  break;
35
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"whitespaceIntolerantList.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/whitespaceIntolerantList.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AA0B1D,MAAM,CAAC,MAAM,wBAAwB,GAAG,UACtC,cAA8B,EAC9B,cAAsB,EACtB,eAAuB;IAEvB,OAAO,IAAI,MAAM,CACf,GAAG,EAAE,CAAC,kBAAkB,cAAc,EAAE,EACxC,CAAC,KAAmB,EAAgB,EAAE;QACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;QACpD,IAAI,SAAS,GAAiB,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACpB,KAAK,CAAC,GAAG,CAAC,KAAK,CACb,wBAAwB,SAAS,CAAC,GAAG,CAAC,IAAI,kBAAkB,cAAc,GAAG,CAC9E,CAAC;YACF,OAAO;gBACL,GAAG,KAAK;gBACR,KAAK,EAAE,IAAI;gBACX,GAAG,EAAE,IAAI,UAAU,CAAC,cAAc,EAAE,EAAE,EAAE;oBACtC,GAAG,QAAQ;oBACX,QAAQ,EAAE,QAAQ,CAAC,UAAU;iBAC9B,CAAC;aACH,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,GAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAE7C,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrD,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBACpB,MAAM;YACR,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,KAAK,CACb,QAAQ,SAAS,CAAC,GAAG,CAAC,IAAI,kBAAkB,cAAc,GAAG,CAC9D,CAAC;YAEF,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM;YACR,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,KAAK,CACb,QAAQ,QAAQ,CAAC,GAAG,CAAC,IAAI,kBAAkB,cAAc,GAAG,CAC7D,CAAC;YAEF,SAAS,GAAG,QAAQ,CAAC;YACrB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1D,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC/C,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,GAAG,EAAE,IAAI,UAAU,CAAC,cAAc,EAAE,QAAQ,CAAC;SAC9C,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CACA;AACD,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"whitespaceIntolerantList.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/whitespaceIntolerantList.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;AA0B1C,MAAM,CAAC,MAAM,wBAAwB,GAAG,UACtC,cAA8B,EAC9B,cAAsB,EACtB,eAAuB;IAEvB,OAAO,IAAI,MAAM,CACf,GAAG,EAAE,CAAC,kBAAkB,cAAc,EAAE,EACxC,CAAC,KAAmB,EAAgB,EAAE;QACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;QACpD,IAAI,SAAS,GAAiB,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACtC,KAAK,CAAC,GAAG,CAAC,KAAK,CACb,wBAAwB,SAAS,CAAC,GAAG,CAAC,IAAI,kBAAkB,cAAc,GAAG,CAC9E,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,GAAG,KAAK;gBACR,KAAK,EAAE,IAAI;gBACX,GAAG,EAAE,IAAI,UAAU,CAAC,cAAc,EAAE,EAAE,EAAE;oBACtC,GAAG,QAAQ;oBACX,QAAQ,EAAE,QAAQ,CAAC,UAAU;iBAC9B,CAAC;aACH,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAE/C,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrD,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBACpB,MAAM;YACR,CAAC;YACD,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACtC,KAAK,CAAC,GAAG,CAAC,KAAK,CACb,QAAQ,SAAS,CAAC,GAAG,CAAC,IAAI,kBAAkB,cAAc,GAAG,CAC9D,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM;YACR,CAAC;YACD,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACtC,KAAK,CAAC,GAAG,CAAC,KAAK,CACb,QAAQ,QAAQ,CAAC,GAAG,CAAC,IAAI,kBAAkB,cAAc,GAAG,CAC7D,CAAC;YACJ,CAAC;YAED,SAAS,GAAG,QAAQ,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC/C,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,GAAG,EAAE,IAAI,UAAU,CAAC,cAAc,EAAE,QAAQ,CAAC;SAC9C,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"whitespaceTolerantSequenceOf.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/whitespaceTolerantSequenceOf.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAuB1D,eAAO,MAAM,4BAA4B,GACvC,gBAAgB,cAAc,EAC9B,SAAS,MAAM,EAAE,KAChB,MAKF,CACA;AACD,eAAe,4BAA4B,CAAC"}
1
+ {"version":3,"file":"whitespaceTolerantSequenceOf.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/whitespaceTolerantSequenceOf.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAiC1D,eAAO,MAAM,4BAA4B,GACvC,gBAAgB,cAAc,EAC9B,SAAS,MAAM,EAAE,KAChB,MAKF,CACA;AACD,eAAe,4BAA4B,CAAC"}
@@ -3,7 +3,17 @@ import whitespace from './whitespace.mjs';
3
3
  import { ProductionType } from '../../ProductionType.mjs';
4
4
  import whitespaceIntolerantSequenceOf from './whitespaceIntolerantSequenceOf.mjs';
5
5
  function spliceInWhitespace(parsers) {
6
- return parsers.flatMap((p) => [p, optional(whitespace)]).slice(0, -1);
6
+ if (parsers.length === 0) {
7
+ return [];
8
+ }
9
+ const spliced = new Array(parsers.length * 2 - 1);
10
+ for (let i = 0; i < parsers.length; i++) {
11
+ spliced[i * 2] = parsers[i];
12
+ if (i < parsers.length - 1) {
13
+ spliced[i * 2 + 1] = optional(whitespace);
14
+ }
15
+ }
16
+ return spliced;
7
17
  }
8
18
  export const whitespaceTolerantSequenceOf = function (containingType, parsers) {
9
19
  return whitespaceIntolerantSequenceOf(containingType, spliceInWhitespace(parsers));
@@ -1 +1 @@
1
- {"version":3,"file":"whitespaceTolerantSequenceOf.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/whitespaceTolerantSequenceOf.mts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,8BAA8B,MAAM,sCAAsC,CAAC;AAElF,SAAS,kBAAkB,CAAC,OAAiB;IAC3C,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAkBD,MAAM,CAAC,MAAM,4BAA4B,GAAG,UAC1C,cAA8B,EAC9B,OAAiB;IAEjB,OAAO,8BAA8B,CACnC,cAAc,EACd,kBAAkB,CAAC,OAAO,CAAC,CAC5B,CAAC;AACJ,CAAC,CACA;AACD,eAAe,4BAA4B,CAAC"}
1
+ {"version":3,"file":"whitespaceTolerantSequenceOf.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/generic/whitespaceTolerantSequenceOf.mts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,8BAA8B,MAAM,sCAAsC,CAAC;AAElF,SAAS,kBAAkB,CAAC,OAAiB;IAC3C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAa,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAkBD,MAAM,CAAC,MAAM,4BAA4B,GAAG,UAC1C,cAA8B,EAC9B,OAAiB;IAEjB,OAAO,8BAA8B,CACnC,cAAc,EACd,kBAAkB,CAAC,OAAO,CAAC,CAC5B,CAAC;AACJ,CAAC,CACA;AACD,eAAe,4BAA4B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentType_NamedType.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/ComponentType_NamedType.mts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AA0BtC,eAAO,MAAM,uBAAuB,EAAE,MA6ErC,CAAC;AACF,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"ComponentType_NamedType.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/ComponentType_NamedType.mts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AA6BtC,eAAO,MAAM,uBAAuB,EAAE,MA0ErC,CAAC;AACF,eAAe,uBAAuB,CAAC"}
@@ -5,6 +5,8 @@ import Production from '../../Production.mjs';
5
5
  import { ProductionType } from '../../ProductionType.mjs';
6
6
  import ASN1SyntaxError from '../../errors/ASN1SyntaxError.mjs';
7
7
  import Value from './Value_listens_to_currentType.mjs';
8
+ const optionalLiteralParser = literal(ProductionType._OPTIONAL);
9
+ const defaultLiteralParser = literal(ProductionType._DEFAULT);
8
10
  export const ComponentType_NamedType = new Parser(() => 'ComponentType starting with a NamedType', (state) => {
9
11
  const results = [];
10
12
  const nt = parserFor.NamedType.execute(state);
@@ -19,7 +21,7 @@ export const ComponentType_NamedType = new Parser(() => 'ComponentType starting
19
21
  cst: new Production(ProductionType.ComponentType, [nt.cst]),
20
22
  };
21
23
  }
22
- const optionalLiteral = literal(ProductionType._OPTIONAL).execute(ws1);
24
+ const optionalLiteral = optionalLiteralParser.execute(ws1);
23
25
  if (!optionalLiteral.error) {
24
26
  results.push(ws1);
25
27
  results.push(optionalLiteral);
@@ -28,7 +30,7 @@ export const ComponentType_NamedType = new Parser(() => 'ComponentType starting
28
30
  cst: new Production(ProductionType.ComponentType, results.map((r) => r.cst)),
29
31
  };
30
32
  }
31
- const defaultLiteral = literal(ProductionType._DEFAULT).execute(ws1);
33
+ const defaultLiteral = defaultLiteralParser.execute(ws1);
32
34
  if (defaultLiteral.error) {
33
35
  return {
34
36
  ...nt,
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentType_NamedType.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/ComponentType_NamedType.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ComponentType_NamedType.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/ComponentType_NamedType.mts"],"names":[],"mappings":"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"}
@@ -7,11 +7,8 @@ export const FieldName_LowercasedFinalPrimitiveFieldName = new Parser(() => 'Fie
7
7
  }
8
8
  const loc = fn.cst.location;
9
9
  const fieldNameText = state.text.slice(loc.startIndex, loc.endIndex);
10
- const primitiveFieldNames = fieldNameText
11
- .split('.')
12
- .map((c) => c.replace('&', ''));
13
- const finalPrimitiveFieldName = primitiveFieldNames[primitiveFieldNames.length - 1];
14
- const firstChar = finalPrimitiveFieldName.slice(0, 1);
10
+ const finalStart = fieldNameText.lastIndexOf('.') + 1;
11
+ const firstChar = fieldNameText.charAt(fieldNameText.charAt(finalStart) === '&' ? finalStart + 1 : finalStart);
15
12
  if (firstChar.toUpperCase() === firstChar) {
16
13
  return {
17
14
  ...fn,
@@ -1 +1 @@
1
- {"version":3,"file":"FieldName_LowercasedFinalPrimitiveFieldName.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/FieldName_LowercasedFinalPrimitiveFieldName.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAgBtC,MAAM,CAAC,MAAM,2CAA2C,GAAW,IAAI,MAAM,CAC3E,GAAG,EAAE,CAAC,oDAAoD,EAC1D,CAAC,KAAmB,EAAgB,EAAE;IACpC,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC5B,MAAM,aAAa,GAAW,KAAK,CAAC,IAAI,CAAC,KAAK,CAC5C,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,QAAQ,CACb,CAAC;IACF,MAAM,mBAAmB,GAAa,aAAa;SAChD,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,uBAAuB,GAC3B,mBAAmB,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtD,MAAM,SAAS,GAAW,uBAAuB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO;YACL,GAAG,EAAE;YACL,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CACF,CAAC;AACF,eAAe,2CAA2C,CAAC"}
1
+ {"version":3,"file":"FieldName_LowercasedFinalPrimitiveFieldName.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/FieldName_LowercasedFinalPrimitiveFieldName.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAgBtC,MAAM,CAAC,MAAM,2CAA2C,GAAW,IAAI,MAAM,CAC3E,GAAG,EAAE,CAAC,oDAAoD,EAC1D,CAAC,KAAmB,EAAgB,EAAE;IACpC,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC5B,MAAM,aAAa,GAAW,KAAK,CAAC,IAAI,CAAC,KAAK,CAC5C,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,QAAQ,CACb,CAAC;IAGF,MAAM,UAAU,GAAW,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAW,aAAa,CAAC,MAAM,CAC5C,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CACvE,CAAC;IACF,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO;YACL,GAAG,EAAE;YACL,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CACF,CAAC;AACF,eAAe,2CAA2C,CAAC"}
@@ -7,11 +7,8 @@ export const FieldName_UppercasedFinalPrimitiveFieldName = new Parser(() => 'Fie
7
7
  }
8
8
  const loc = fn.cst.location;
9
9
  const fieldNameText = state.text.slice(loc.startIndex, loc.endIndex);
10
- const primitiveFieldNames = fieldNameText
11
- .split('.')
12
- .map((c) => c.replace('&', ''));
13
- const finalPrimitiveFieldName = primitiveFieldNames[primitiveFieldNames.length - 1];
14
- const firstChar = finalPrimitiveFieldName.slice(0, 1);
10
+ const finalStart = fieldNameText.lastIndexOf('.') + 1;
11
+ const firstChar = fieldNameText.charAt(fieldNameText.charAt(finalStart) === '&' ? finalStart + 1 : finalStart);
15
12
  if (firstChar.toUpperCase() === firstChar) {
16
13
  return fn;
17
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FieldName_UppercasedFinalPrimitiveFieldName.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/FieldName_UppercasedFinalPrimitiveFieldName.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAgBtC,MAAM,CAAC,MAAM,2CAA2C,GAAW,IAAI,MAAM,CAC3E,GAAG,EAAE,CAAC,oDAAoD,EAC1D,CAAC,KAAmB,EAAgB,EAAE;IACpC,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC5B,MAAM,aAAa,GAAW,KAAK,CAAC,IAAI,CAAC,KAAK,CAC5C,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,QAAQ,CACb,CAAC;IACF,MAAM,mBAAmB,GAAa,aAAa;SAChD,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,uBAAuB,GAC3B,mBAAmB,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtD,MAAM,SAAS,GAAW,uBAAuB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;SAAM,CAAC;QACN,OAAO;YACL,GAAG,EAAE;YACL,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AACF,eAAe,2CAA2C,CAAC"}
1
+ {"version":3,"file":"FieldName_UppercasedFinalPrimitiveFieldName.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/FieldName_UppercasedFinalPrimitiveFieldName.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAgBtC,MAAM,CAAC,MAAM,2CAA2C,GAAW,IAAI,MAAM,CAC3E,GAAG,EAAE,CAAC,oDAAoD,EAC1D,CAAC,KAAmB,EAAgB,EAAE;IACpC,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC5B,MAAM,aAAa,GAAW,KAAK,CAAC,IAAI,CAAC,KAAK,CAC5C,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,QAAQ,CACb,CAAC;IAGF,MAAM,UAAU,GAAW,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAW,aAAa,CAAC,MAAM,CAC5C,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CACvE,CAAC;IACF,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;SAAM,CAAC;QACN,OAAO;YACL,GAAG,EAAE;YACL,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AACF,eAAe,2CAA2C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Literal.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/Literal.mts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAwBtC,eAAO,MAAM,OAAO,EAAE,MAoErB,CAAC;AACF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Literal.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/Literal.mts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AA6BtC,eAAO,MAAM,OAAO,EAAE,MAiErB,CAAC;AACF,eAAe,OAAO,CAAC"}
@@ -5,21 +5,28 @@ import { ProductionType } from '../../ProductionType.mjs';
5
5
  const literalShibboleths = new Set([
6
6
  ProductionType.period,
7
7
  ]);
8
+ const literalCommaParser = literal(ProductionType.comma, ProductionType.Literal);
9
+ const literalWordParser = aliasFor(ProductionType.Literal, parserFor.word);
8
10
  export const Literal = new Parser(() => 'Literal', (state) => {
9
- const literalComma = literal(ProductionType.comma, ProductionType.Literal).execute(state);
11
+ const literalComma = literalCommaParser.execute(state);
10
12
  if (!literalComma.error) {
11
13
  return literalComma;
12
14
  }
13
- const literalWord = aliasFor(ProductionType.Literal, parserFor.word).execute(state);
15
+ const literalWord = literalWordParser.execute(state);
14
16
  if (literalWord.error) {
15
17
  return literalWord;
16
18
  }
17
19
  const currentToken = state.tokens[state.index];
18
20
  const currentTokenText = state.text.slice(currentToken.location.startIndex, currentToken.location.endIndex);
19
- const nextNonWhitespace = state.tokens
20
- .slice(state.index + 1)
21
- .find((token) => token.type !== ProductionType.newlineWhitespace &&
22
- token.type !== ProductionType.nonNewlineWhitespace);
21
+ let nextNonWhitespace;
22
+ for (let i = state.index + 1; i < state.tokens.length; i++) {
23
+ const token = state.tokens[i];
24
+ if (token.type !== ProductionType.newlineWhitespace &&
25
+ token.type !== ProductionType.nonNewlineWhitespace) {
26
+ nextNonWhitespace = token;
27
+ break;
28
+ }
29
+ }
23
30
  if (!nextNonWhitespace) {
24
31
  return {
25
32
  ...state,
@@ -1 +1 @@
1
- {"version":3,"file":"Literal.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/Literal.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI1D,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAiB;IACtE,cAAc,CAAC,MAAM;CACtB,CAAC,CAAC;AAiBH,MAAM,CAAC,MAAM,OAAO,GAAW,IAAI,MAAM,CACvC,GAAW,EAAE,CAAC,SAAS,EACvB,CAAC,KAAmB,EAAgB,EAAE;IACpC,MAAM,YAAY,GAAiB,OAAO,CACxC,cAAc,CAAC,KAAK,EACpB,cAAc,CAAC,OAAO,CACvB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,WAAW,GAAiB,QAAQ,CACxC,cAAc,CAAC,OAAO,EACtB,SAAS,CAAC,IAAI,CACf,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAW,KAAK,CAAC,IAAI,CAAC,KAAK,CAC/C,YAAY,CAAC,QAAQ,CAAC,UAAU,EAChC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAC/B,CAAC;IAEF,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM;SACnC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;SACtB,IAAI,CACH,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB;QAC/C,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,oBAAoB,CACrD,CAAC;IAEJ,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IAMD,IAAI,kBAAkB,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IAOD,IACE,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAChD,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EACjD,CAAC;QACD,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CACF,CAAC;AACF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Literal.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/Literal.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAiB;IACtE,cAAc,CAAC,MAAM;CACtB,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,OAAO,CAChC,cAAc,CAAC,KAAK,EACpB,cAAc,CAAC,OAAO,CACvB,CAAC;AACF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;AAiB3E,MAAM,CAAC,MAAM,OAAO,GAAW,IAAI,MAAM,CACvC,GAAW,EAAE,CAAC,SAAS,EACvB,CAAC,KAAmB,EAAgB,EAAE;IACpC,MAAM,YAAY,GAAiB,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,WAAW,GAAiB,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnE,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAW,KAAK,CAAC,IAAI,CAAC,KAAK,CAC/C,YAAY,CAAC,QAAQ,CAAC,UAAU,EAChC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAC/B,CAAC;IACF,IAAI,iBAAiB,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9B,IACE,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB;YAC/C,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,oBAAoB,EAClD,CAAC;YACD,iBAAiB,GAAG,KAAK,CAAC;YAC1B,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IAMD,IAAI,kBAAkB,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IAOD,IACE,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAChD,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EACjD,CAAC;QACD,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CACF,CAAC;AACF,eAAe,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ParamGovernor.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/ParamGovernor.mts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AA2BtC,eAAO,MAAM,aAAa,EAAE,MA8E3B,CAAC;AACF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ParamGovernor.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/ParamGovernor.mts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AA4BtC,eAAO,MAAM,aAAa,EAAE,MAkF3B,CAAC;AACF,eAAe,aAAa,CAAC"}
@@ -14,10 +14,15 @@ export const ParamGovernor = recursiveParser(() => choiceOf([
14
14
  if (ocr.error) {
15
15
  return ocr;
16
16
  }
17
- const nextNonWhitespace = state.tokens
18
- .slice(state.index + 1)
19
- .find((token) => token.type !== ProductionType.newlineWhitespace &&
20
- token.type !== ProductionType.nonNewlineWhitespace);
17
+ let nextNonWhitespace = undefined;
18
+ for (let i = state.index + 1; i < state.tokens.length; i++) {
19
+ const token = state.tokens[i];
20
+ if (token.type !== ProductionType.newlineWhitespace &&
21
+ token.type !== ProductionType.nonNewlineWhitespace) {
22
+ nextNonWhitespace = token;
23
+ break;
24
+ }
25
+ }
21
26
  if (!nextNonWhitespace) {
22
27
  return {
23
28
  ...state,
@@ -1 +1 @@
1
- {"version":3,"file":"ParamGovernor.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/ParamGovernor.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,cAAc,MAAM,qCAAqC,CAAC;AAEjE,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAiB;IAC/D,cAAc,CAAC,YAAY;IAC3B,cAAc,CAAC,KAAK;IACpB,cAAc,CAAC,KAAK;CACrB,CAAC,CAAC;AAkBH,MAAM,CAAC,MAAM,aAAa,GAAW,eAAe,CAClD,GAAW,EAAE,CACX,QAAQ,CACN;IAQE,IAAI,MAAM,CACR,GAAG,EAAE,CAAC,6CAA6C,EACnD,CAAC,KAAmB,EAAgB,EAAE;QACpC,MAAM,GAAG,GAAG,QAAQ,CAClB,cAAc,CAAC,aAAa,EAC5B,QAAQ,CACN,cAAc,CAAC,cAAc,EAC7B,QAAQ,CACN,cAAc,CAAC,SAAS,EACxB,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAC7C,CACF,CACF,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,GAAG,CAAC;QACb,CAAC;QAED,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM;aACnC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;aACtB,IAAI,CACH,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB;YAC/C,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,oBAAoB,CACrD,CAAC;QAEJ,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO;gBACL,GAAG,KAAK;gBACR,KAAK,EAAE,IAAI;aACZ,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,OAAO;gBACL,GAAG,KAAK;gBACR,KAAK,EAAE,IAAI;aACZ,CAAC;QACJ,CAAC;QAGD,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAC/B,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAC3B,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAC1B,CAAC;QACF,MAAM,cAAc,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnE,QAAQ,cAAc,EAAE,CAAC;YACvB,KAAK,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAC1C,OAAO,GAAG,CAAC;YACb,CAAC;YACD,KAAK,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;gBACnC,OAAO;oBACL,GAAG,KAAK;oBACR,KAAK,EAAE,IAAI;iBACZ,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,OAAO,GAAG,CAAC;YACb,CAAC;QACH,CAAC;IACH,CAAC,CACF;IAED,SAAS,CAAC,QAAQ;IAClB,SAAS,CAAC,aAAa;CACxB,EACD,cAAc,CAAC,aAAa,CAC7B,CACJ,CAAC;AACF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ParamGovernor.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/ParamGovernor.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,cAAc,MAAM,qCAAqC,CAAC;AAEjE,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAiB;IAC/D,cAAc,CAAC,YAAY;IAC3B,cAAc,CAAC,KAAK;IACpB,cAAc,CAAC,KAAK;CACrB,CAAC,CAAC;AAkBH,MAAM,CAAC,MAAM,aAAa,GAAW,eAAe,CAClD,GAAW,EAAE,CACX,QAAQ,CACN;IAQE,IAAI,MAAM,CACR,GAAG,EAAE,CAAC,6CAA6C,EACnD,CAAC,KAAmB,EAAgB,EAAE;QACpC,MAAM,GAAG,GAAG,QAAQ,CAClB,cAAc,CAAC,aAAa,EAC5B,QAAQ,CACN,cAAc,CAAC,cAAc,EAC7B,QAAQ,CACN,cAAc,CAAC,SAAS,EACxB,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAC7C,CACF,CACF,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,GAAG,CAAC;QACb,CAAC;QAED,IAAI,iBAAiB,GAA2B,SAAS,CAAC;QAC1D,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,IACE,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB;gBAC/C,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,oBAAoB,EAClD,CAAC;gBACD,iBAAiB,GAAG,KAAK,CAAC;gBAC1B,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO;gBACL,GAAG,KAAK;gBACR,KAAK,EAAE,IAAI;aACZ,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,OAAO;gBACL,GAAG,KAAK;gBACR,KAAK,EAAE,IAAI;aACZ,CAAC;QACJ,CAAC;QAGD,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAC/B,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAC3B,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAC1B,CAAC;QACF,MAAM,cAAc,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnE,QAAQ,cAAc,EAAE,CAAC;YACvB,KAAK,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAC1C,OAAO,GAAG,CAAC;YACb,CAAC;YACD,KAAK,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;gBACnC,OAAO;oBACL,GAAG,KAAK;oBACR,KAAK,EAAE,IAAI;iBACZ,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,OAAO,GAAG,CAAC;YACb,CAAC;QACH,CAAC;IACH,CAAC,CACF;IAED,SAAS,CAAC,QAAQ;IAClB,SAAS,CAAC,aAAa;CACxB,EACD,cAAc,CAAC,aAAa,CAC7B,CACJ,CAAC;AACF,eAAe,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Setting.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/Setting.mts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAsCtC,eAAO,MAAM,OAAO,EAAE,MAMrB,CAAC;AACF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Setting.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/Setting.mts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAsCtC,eAAO,MAAM,OAAO,EAAE,MAOrB,CAAC;AACF,eAAe,OAAO,CAAC"}
@@ -18,6 +18,6 @@ const PluralSettingParser = recursiveParser(() => choiceOf([
18
18
  ], ProductionType.Setting));
19
19
  export const Setting = new Parser(() => 'Setting', (state) => state.justParsedPluralLiteral
20
20
  ? PluralSettingParser.execute(state)
21
- : SingularSettingParser.execute(state));
21
+ : SingularSettingParser.execute(state), true);
22
22
  export default Setting;
23
23
  //# sourceMappingURL=Setting.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Setting.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/Setting.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAM1D,MAAM,qBAAqB,GAAG,eAAe,CAC3C,GAAW,EAAE,CACX,QAAQ,CACN;IACE,SAAS,CAAC,IAAI;IACd,SAAS,CAAC,KAAK;IACf,SAAS,CAAC,QAAQ;IAClB,SAAS,CAAC,MAAM;IAChB,SAAS,CAAC,SAAS;CACpB,EACD,cAAc,CAAC,OAAO,CACvB,CACJ,CAAC;AAKF,MAAM,mBAAmB,GAAG,eAAe,CACzC,GAAW,EAAE,CACX,QAAQ,CACN;IACE,SAAS,CAAC,SAAS;IACnB,SAAS,CAAC,IAAI;IACd,SAAS,CAAC,KAAK;IACf,SAAS,CAAC,QAAQ;IAClB,SAAS,CAAC,MAAM;CACjB,EACD,cAAc,CAAC,OAAO,CACvB,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAW,IAAI,MAAM,CACvC,GAAW,EAAE,CAAC,SAAS,EACvB,CAAC,KAAmB,EAAgB,EAAE,CACpC,KAAK,CAAC,uBAAuB;IAC3B,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC;IACpC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAC3C,CAAC;AACF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Setting.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/Setting.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAM1D,MAAM,qBAAqB,GAAG,eAAe,CAC3C,GAAW,EAAE,CACX,QAAQ,CACN;IACE,SAAS,CAAC,IAAI;IACd,SAAS,CAAC,KAAK;IACf,SAAS,CAAC,QAAQ;IAClB,SAAS,CAAC,MAAM;IAChB,SAAS,CAAC,SAAS;CACpB,EACD,cAAc,CAAC,OAAO,CACvB,CACJ,CAAC;AAKF,MAAM,mBAAmB,GAAG,eAAe,CACzC,GAAW,EAAE,CACX,QAAQ,CACN;IACE,SAAS,CAAC,SAAS;IACnB,SAAS,CAAC,IAAI;IACd,SAAS,CAAC,KAAK;IACf,SAAS,CAAC,QAAQ;IAClB,SAAS,CAAC,MAAM;CACjB,EACD,cAAc,CAAC,OAAO,CACvB,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAW,IAAI,MAAM,CACvC,GAAW,EAAE,CAAC,SAAS,EACvB,CAAC,KAAmB,EAAgB,EAAE,CACpC,KAAK,CAAC,uBAAuB;IAC3B,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC;IACpC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,EAC1C,IAAI,CACL,CAAC;AACF,eAAe,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Type.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/Type.mts"],"names":[],"mappings":"AASA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAwBtC,eAAO,MAAM,IAAI,EAAE,MAwClB,CAAC;AACF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Type.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/Type.mts"],"names":[],"mappings":"AAWA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAkCtC,eAAO,MAAM,IAAI,EAAE,MA6CjB,CAAC;AACH,eAAe,IAAI,CAAC"}
@@ -1,18 +1,19 @@
1
- import { choiceOf, optional, recursiveParser, whitespace, aliasFor, whitespaceOptionalDelimitedList, } from '../generic/index.mjs';
1
+ import { aliasFor, choiceOf, isTypeWithConstraintStart, optional, recursiveParser, whitespace, whitespaceOptionalDelimitedList, when, } from '../generic/index.mjs';
2
2
  import * as parserFor from '../specific/index.mjs';
3
3
  import Parser from '../../Parser.mjs';
4
4
  import { ProductionType } from '../../ProductionType.mjs';
5
5
  import Production from '../../Production.mjs';
6
6
  const UnconstrainedType = recursiveParser(() => choiceOf([parserFor.BuiltinType, parserFor.ReferencedType]));
7
- export const Type = recursiveParser(() => choiceOf([
8
- aliasFor(ProductionType.ConstrainedType, parserFor.TypeWithConstraint),
9
- new Parser(() => 'Type', (state) => {
7
+ export const Type = recursiveParser(() => {
8
+ const optionalWhitespace = optional(whitespace);
9
+ const constraintsList = whitespaceOptionalDelimitedList(ProductionType.Constraints, parserFor.Constraint);
10
+ const unconstrainedThenOptionalConstraints = new Parser(() => 'Type', (state) => {
10
11
  const type_ = UnconstrainedType.execute(state);
11
12
  if (type_.error) {
12
13
  return type_;
13
14
  }
14
- const ws1 = optional(whitespace).execute(type_);
15
- const constraints = whitespaceOptionalDelimitedList(ProductionType.Constraints, parserFor.Constraint).execute(ws1);
15
+ const ws1 = optionalWhitespace.execute(type_);
16
+ const constraints = constraintsList.execute(ws1);
16
17
  if (constraints.error) {
17
18
  return type_;
18
19
  }
@@ -27,7 +28,11 @@ export const Type = recursiveParser(() => choiceOf([
27
28
  constraints,
28
29
  ].map((c) => c.cst)),
29
30
  };
30
- }),
31
- ], ProductionType.Type));
31
+ });
32
+ return choiceOf([
33
+ when(isTypeWithConstraintStart, aliasFor(ProductionType.ConstrainedType, parserFor.TypeWithConstraint)),
34
+ unconstrainedThenOptionalConstraints,
35
+ ], ProductionType.Type);
36
+ });
32
37
  export default Type;
33
38
  //# sourceMappingURL=Type.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Type.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/Type.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,UAAU,EACV,QAAQ,EACR,+BAA+B,GAChC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAE9C,MAAM,iBAAiB,GAAG,eAAe,CACvC,GAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC,CAC1E,CAAC;AAiBF,MAAM,CAAC,MAAM,IAAI,GAAW,eAAe,CACzC,GAAW,EAAE,CACX,QAAQ,CACN;IACE,QAAQ,CAAC,cAAc,CAAC,eAAe,EAAE,SAAS,CAAC,kBAAkB,CAAC;IACtE,IAAI,MAAM,CACR,GAAG,EAAE,CAAC,MAAM,EACZ,CAAC,KAAmB,EAAgB,EAAE;QACpC,MAAM,KAAK,GAAiB,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7D,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,+BAA+B,CACjD,cAAc,CAAC,WAAW,EAC1B,SAAS,CAAC,UAAU,CACrB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO;YACL,GAAG,WAAW;YACd,GAAG,EAAE,IAAI,UAAU,CACjB,cAAc,CAAC,eAAe,EAC9B;gBACE;oBAEE,GAAG,KAAK;oBACR,GAAG,EAAE,IAAI,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACtD;gBACD,GAAG;gBACH,WAAW;aACZ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CACpB;SACF,CAAC;IACJ,CAAC,CACF;CACF,EACD,cAAc,CAAC,IAAI,CACpB,CACJ,CAAC;AACF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Type.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/Type.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,yBAAyB,EACzB,QAAQ,EACR,eAAe,EACf,UAAU,EACV,+BAA+B,EAC/B,IAAI,GACL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAE9C,MAAM,iBAAiB,GAAG,eAAe,CACvC,GAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC,CAC1E,CAAC;AA2BF,MAAM,CAAC,MAAM,IAAI,GAAW,eAAe,CAAC,GAAW,EAAE;IACvD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,+BAA+B,CACrD,cAAc,CAAC,WAAW,EAC1B,SAAS,CAAC,UAAU,CACrB,CAAC;IACF,MAAM,oCAAoC,GAAG,IAAI,MAAM,CACrD,GAAG,EAAE,CAAC,MAAM,EACZ,CAAC,KAAmB,EAAgB,EAAE;QACpC,MAAM,KAAK,GAAiB,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7D,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO;YACL,GAAG,WAAW;YACd,GAAG,EAAE,IAAI,UAAU,CACjB,cAAc,CAAC,eAAe,EAC9B;gBACE;oBAEE,GAAG,KAAK;oBACR,GAAG,EAAE,IAAI,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACtD;gBACD,GAAG;gBACH,WAAW;aACZ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CACpB;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IACF,OAAO,QAAQ,CACb;QACE,IAAI,CACF,yBAAyB,EACzB,QAAQ,CAAC,cAAc,CAAC,eAAe,EAAE,SAAS,CAAC,kBAAkB,CAAC,CACvE;QACD,oCAAoC;KACrC,EACD,cAAc,CAAC,IAAI,CACpB,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,eAAe,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Value_listens_to_currentType.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/Value_listens_to_currentType.mts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAgDtC,eAAO,MAAM,4BAA4B,EAAE,MA0M1C,CAAC;AACF,eAAe,4BAA4B,CAAC"}
1
+ {"version":3,"file":"Value_listens_to_currentType.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/Value_listens_to_currentType.mts"],"names":[],"mappings":"AAQA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AA8CtC,eAAO,MAAM,4BAA4B,EAAE,MA0C1C,CAAC;AACF,eAAe,4BAA4B,CAAC"}
@@ -1,117 +1,47 @@
1
- import { choiceOf, recursiveParser, aliasFor } from '../generic/index.mjs';
1
+ import { aliasFor, canStartOpenTypeFieldVal, choiceOf, recursiveParser, when, } from '../generic/index.mjs';
2
2
  import * as parserFor from '../specific/index.mjs';
3
3
  import Parser from '../../Parser.mjs';
4
4
  import { ProductionType } from '../../ProductionType.mjs';
5
5
  import TypeType from '../../constructs/TypeType.mjs';
6
- export const Value_listens_to_currentType = recursiveParser(() => choiceOf([
7
- parserFor.ObjectClassFieldValue,
8
- new Parser(() => 'BuiltinValue (that listens to currentType)', (state) => {
9
- let valueParser = parserFor.BuiltinValue;
10
- switch (state.currentType) {
11
- case TypeType.BitStringType: {
12
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.BitStringValue);
13
- break;
14
- }
15
- case TypeType.BooleanType: {
16
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.BooleanValue);
17
- break;
18
- }
19
- case TypeType.ChoiceType: {
20
- state.currentType = undefined;
21
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.ChoiceValue);
22
- break;
23
- }
24
- case TypeType.DateType: {
25
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.TimeValue);
26
- break;
27
- }
28
- case TypeType.DateTimeType: {
29
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.TimeValue);
30
- break;
31
- }
32
- case TypeType.DurationType: {
33
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.TimeValue);
34
- break;
35
- }
36
- case TypeType.EmbeddedPDVType: {
37
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.EmbeddedPDVValue);
38
- break;
39
- }
40
- case TypeType.EnumeratedType: {
41
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.EnumeratedValue);
42
- break;
43
- }
44
- case TypeType.ExternalType: {
45
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.ExternalValue);
46
- break;
47
- }
48
- case TypeType.IntegerType: {
49
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.IntegerValue);
50
- break;
51
- }
52
- case TypeType.IRIType: {
53
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.IRIValue);
54
- break;
55
- }
56
- case TypeType.NullType: {
57
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.NullValue);
58
- break;
59
- }
60
- case TypeType.ObjectIdentifierType: {
61
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.ObjectIdentifierValue);
62
- break;
63
- }
64
- case TypeType.OctetStringType: {
65
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.OctetStringValue);
66
- break;
67
- }
68
- case TypeType.RealType: {
69
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.RealValue);
70
- break;
71
- }
72
- case TypeType.RelativeIRIType: {
73
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.RelativeIRIValue);
74
- break;
75
- }
76
- case TypeType.RelativeOIDType: {
77
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.RelativeOIDValue);
78
- break;
79
- }
80
- case TypeType.SequenceType: {
81
- state.currentType = undefined;
82
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.SequenceValue);
83
- break;
84
- }
85
- case TypeType.SequenceOfType: {
86
- state.currentType = undefined;
87
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.SequenceOfValue);
88
- break;
89
- }
90
- case TypeType.SetType: {
91
- state.currentType = undefined;
92
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.SetValue);
93
- break;
94
- }
95
- case TypeType.SetOfType: {
96
- state.currentType = undefined;
97
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.SetOfValue);
98
- break;
99
- }
100
- case TypeType.TimeType: {
101
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.TimeValue);
102
- break;
103
- }
104
- case TypeType.TimeOfDayType: {
105
- valueParser = aliasFor(ProductionType.BuiltinValue, parserFor.TimeValue);
106
- break;
107
- }
108
- default: {
109
- return parserFor.BuiltinValue.execute(state);
110
- }
6
+ import typeTypeToValueParserMap from '../../maps/typeTypeToValueParserMap.mjs';
7
+ const CLEAR_CURRENT_TYPE = new Set([
8
+ TypeType.ChoiceType,
9
+ TypeType.SequenceType,
10
+ TypeType.SequenceOfType,
11
+ TypeType.SetType,
12
+ TypeType.SetOfType,
13
+ ]);
14
+ const SKIP_TYPE_SPECIFIC_BUILTIN_VALUE = new Set([
15
+ TypeType.InstanceOfType,
16
+ TypeType.ObjectClassFieldType,
17
+ ]);
18
+ export const Value_listens_to_currentType = recursiveParser(() => {
19
+ const builtinValueByType = new Map();
20
+ for (const [typeType, valueParser] of typeTypeToValueParserMap) {
21
+ if (SKIP_TYPE_SPECIFIC_BUILTIN_VALUE.has(typeType)) {
22
+ continue;
111
23
  }
112
- return valueParser.execute(state);
113
- }),
114
- parserFor.ReferencedValue,
115
- ], ProductionType.Value));
24
+ builtinValueByType.set(typeType, aliasFor(ProductionType.BuiltinValue, valueParser));
25
+ }
26
+ const specializedBuiltin = new Parser(() => 'BuiltinValue (that listens to currentType)', (state) => {
27
+ const currentType = state.currentType;
28
+ if (currentType === undefined) {
29
+ return parserFor.BuiltinValue.execute(state);
30
+ }
31
+ const specialized = builtinValueByType.get(currentType);
32
+ if (!specialized) {
33
+ return parserFor.BuiltinValue.execute(state);
34
+ }
35
+ if (CLEAR_CURRENT_TYPE.has(currentType)) {
36
+ state.currentType = undefined;
37
+ }
38
+ return specialized.execute(state);
39
+ });
40
+ return choiceOf([
41
+ when(canStartOpenTypeFieldVal, parserFor.ObjectClassFieldValue),
42
+ specializedBuiltin,
43
+ parserFor.ReferencedValue,
44
+ ], ProductionType.Value);
45
+ });
116
46
  export default Value_listens_to_currentType;
117
47
  //# sourceMappingURL=Value_listens_to_currentType.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Value_listens_to_currentType.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/Value_listens_to_currentType.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Value_listens_to_currentType.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/optimized/Value_listens_to_currentType.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,QAAQ,EACR,eAAe,EACf,IAAI,GACL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,QAAQ,MAAM,+BAA+B,CAAC;AACrD,OAAO,wBAAwB,MAAM,yCAAyC,CAAC;AAQ/E,MAAM,kBAAkB,GAA0B,IAAI,GAAG,CAAC;IACxD,QAAQ,CAAC,UAAU;IACnB,QAAQ,CAAC,YAAY;IACrB,QAAQ,CAAC,cAAc;IACvB,QAAQ,CAAC,OAAO;IAChB,QAAQ,CAAC,SAAS;CACnB,CAAC,CAAC;AAMH,MAAM,gCAAgC,GAA0B,IAAI,GAAG,CAAC;IACtE,QAAQ,CAAC,cAAc;IACvB,QAAQ,CAAC,oBAAoB;CAC9B,CAAC,CAAC;AAmBH,MAAM,CAAC,MAAM,4BAA4B,GAAW,eAAe,CACjE,GAAW,EAAE;IACX,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACvD,KAAK,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,wBAAwB,EAAE,CAAC;QAC/D,IAAI,gCAAgC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnD,SAAS;QACX,CAAC;QACD,kBAAkB,CAAC,GAAG,CACpB,QAAQ,EACR,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,WAAW,CAAC,CACnD,CAAC;IACJ,CAAC;IACD,MAAM,kBAAkB,GAAG,IAAI,MAAM,CACnC,GAAG,EAAE,CAAC,4CAA4C,EAClD,CAAC,KAAmB,EAAgB,EAAE;QACpC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACtC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QAKD,IAAI,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACxC,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC;QAChC,CAAC;QACD,OAAO,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CACF,CAAC;IACF,OAAO,QAAQ,CACb;QACE,IAAI,CAAC,wBAAwB,EAAE,SAAS,CAAC,qBAAqB,CAAC;QAC/D,kBAAkB;QAClB,SAAS,CAAC,eAAe;KAC1B,EACD,cAAc,CAAC,KAAK,CACrB,CAAC;AACJ,CAAC,CACF,CAAC;AACF,eAAe,4BAA4B,CAAC"}
@@ -1,4 +1,4 @@
1
- import type Parser from '../../Parser.mjs';
1
+ import Parser from '../../Parser.mjs';
2
2
  export declare const BuiltinType: Parser;
3
3
  export default BuiltinType;
4
4
  //# sourceMappingURL=BuiltinType.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BuiltinType.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/specific/BuiltinType.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAkC3C,eAAO,MAAM,WAAW,EAAE,MAqCzB,CAAC;AACF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"BuiltinType.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/specific/BuiltinType.mts"],"names":[],"mappings":"AAWA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAsDtC,eAAO,MAAM,WAAW,EAAE,MA+CxB,CAAC;AACH,eAAe,WAAW,CAAC"}