@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":"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"}
@@ -1,36 +1,64 @@
1
- import { choiceOf, recursiveParser } from '../generic/index.mjs';
1
+ import { dispatchOnToken, failParse, peekNextNonWhitespaceType, recursiveParser, RESTRICTED_CHARACTER_STRING_TYPES, when, } from '../generic/index.mjs';
2
+ import { tokenParserTable } from '../generic/dispatchOnToken.mjs';
2
3
  import * as parserFor from '../specific/index.mjs';
4
+ import Parser from '../../Parser.mjs';
3
5
  import { ProductionType } from '../../ProductionType.mjs';
4
6
  import AnyType from '../deprecated/AnyType.mjs';
5
- export const BuiltinType = recursiveParser(() => choiceOf([
6
- parserFor.PrefixedType,
7
- parserFor.BitStringType,
8
- parserFor.BooleanType,
9
- parserFor.CharacterStringType,
10
- parserFor.ChoiceType,
11
- parserFor.DateType,
12
- parserFor.DateTimeType,
13
- parserFor.DurationType,
14
- parserFor.EmbeddedPDVType,
15
- parserFor.EnumeratedType,
16
- parserFor.ExternalType,
17
- parserFor.InstanceOfType,
18
- parserFor.IntegerType,
19
- parserFor.IRIType,
20
- parserFor.NullType,
21
- parserFor.ObjectClassFieldType,
22
- parserFor.ObjectIdentifierType,
23
- parserFor.OctetStringType,
24
- parserFor.RealType,
25
- parserFor.RelativeIRIType,
26
- parserFor.RelativeOIDType,
27
- parserFor.SequenceType,
28
- parserFor.SequenceOfType,
29
- parserFor.SetType,
30
- parserFor.SetOfType,
31
- parserFor.TimeType,
32
- parserFor.TimeOfDayType,
33
- AnyType,
34
- ], ProductionType.BuiltinType));
7
+ function sequenceOrSetBuiltin(ofParser, bracedParser) {
8
+ return new Parser(() => ofParser.name(), (state) => {
9
+ const next = peekNextNonWhitespaceType(state);
10
+ if (next === ProductionType._OF) {
11
+ return ofParser.execute(state);
12
+ }
13
+ if (next === ProductionType.curlyOpening) {
14
+ return bracedParser.execute(state);
15
+ }
16
+ return failParse(state);
17
+ });
18
+ }
19
+ export const BuiltinType = recursiveParser(() => {
20
+ const objectClassFieldType = when((state) => peekNextNonWhitespaceType(state) === ProductionType.period, parserFor.ObjectClassFieldType);
21
+ const table = tokenParserTable([
22
+ [ProductionType.squareOpening, parserFor.PrefixedType],
23
+ [ProductionType._BIT, parserFor.BitStringType],
24
+ [ProductionType._BOOLEAN, parserFor.BooleanType],
25
+ [ProductionType._CHARACTER, parserFor.CharacterStringType],
26
+ [ProductionType._CHOICE, parserFor.ChoiceType],
27
+ [ProductionType._DATE, parserFor.DateType],
28
+ [ProductionType._DATE_TIME, parserFor.DateTimeType],
29
+ [ProductionType._DURATION, parserFor.DurationType],
30
+ [ProductionType._EMBEDDED, parserFor.EmbeddedPDVType],
31
+ [ProductionType._ENUMERATED, parserFor.EnumeratedType],
32
+ [ProductionType._EXTERNAL, parserFor.ExternalType],
33
+ [ProductionType._INSTANCE, parserFor.InstanceOfType],
34
+ [ProductionType._INTEGER, parserFor.IntegerType],
35
+ [ProductionType._OID_IRI, parserFor.IRIType],
36
+ [ProductionType._NULL, parserFor.NullType],
37
+ [ProductionType.typereference, objectClassFieldType],
38
+ [ProductionType.objectclassreference, objectClassFieldType],
39
+ [ProductionType._TYPE_IDENTIFIER, objectClassFieldType],
40
+ [ProductionType._ABSTRACT_SYNTAX, objectClassFieldType],
41
+ [ProductionType._OBJECT, parserFor.ObjectIdentifierType],
42
+ [ProductionType._OCTET, parserFor.OctetStringType],
43
+ [ProductionType._REAL, parserFor.RealType],
44
+ [ProductionType._RELATIVE_OID_IRI, parserFor.RelativeIRIType],
45
+ [ProductionType._RELATIVE_OID, parserFor.RelativeOIDType],
46
+ [
47
+ ProductionType._SEQUENCE,
48
+ sequenceOrSetBuiltin(parserFor.SequenceOfType, parserFor.SequenceType),
49
+ ],
50
+ [
51
+ ProductionType._SET,
52
+ sequenceOrSetBuiltin(parserFor.SetOfType, parserFor.SetType),
53
+ ],
54
+ [ProductionType._TIME, parserFor.TimeType],
55
+ [ProductionType._TIME_OF_DAY, parserFor.TimeOfDayType],
56
+ [ProductionType._ANY, AnyType],
57
+ ]);
58
+ for (const type of RESTRICTED_CHARACTER_STRING_TYPES) {
59
+ table.set(type, parserFor.CharacterStringType);
60
+ }
61
+ return dispatchOnToken(table, ProductionType.BuiltinType);
62
+ });
35
63
  export default BuiltinType;
36
64
  //# sourceMappingURL=BuiltinType.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BuiltinType.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/specific/BuiltinType.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAgChD,MAAM,CAAC,MAAM,WAAW,GAAW,eAAe,CAChD,GAAW,EAAE,CACX,QAAQ,CACN;IACE,SAAS,CAAC,YAAY;IACtB,SAAS,CAAC,aAAa;IACvB,SAAS,CAAC,WAAW;IACrB,SAAS,CAAC,mBAAmB;IAC7B,SAAS,CAAC,UAAU;IACpB,SAAS,CAAC,QAAQ;IAClB,SAAS,CAAC,YAAY;IACtB,SAAS,CAAC,YAAY;IACtB,SAAS,CAAC,eAAe;IACzB,SAAS,CAAC,cAAc;IACxB,SAAS,CAAC,YAAY;IACtB,SAAS,CAAC,cAAc;IACxB,SAAS,CAAC,WAAW;IACrB,SAAS,CAAC,OAAO;IACjB,SAAS,CAAC,QAAQ;IAClB,SAAS,CAAC,oBAAoB;IAC9B,SAAS,CAAC,oBAAoB;IAC9B,SAAS,CAAC,eAAe;IACzB,SAAS,CAAC,QAAQ;IAClB,SAAS,CAAC,eAAe;IACzB,SAAS,CAAC,eAAe;IACzB,SAAS,CAAC,YAAY;IACtB,SAAS,CAAC,cAAc;IACxB,SAAS,CAAC,OAAO;IACjB,SAAS,CAAC,SAAS;IACnB,SAAS,CAAC,QAAQ;IAClB,SAAS,CAAC,aAAa;IAGvB,OAAO;CACR,EACD,cAAc,CAAC,WAAW,CAC3B,CACJ,CAAC;AACF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"BuiltinType.mjs","sourceRoot":"","sources":["../../../../src/lib/parsers/specific/BuiltinType.mts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type Parser from '../../Parser.mjs';
1
+ import Parser from '../../Parser.mjs';
2
2
  export declare const BuiltinValue: Parser;
3
3
  export default BuiltinValue;
4
4
  //# sourceMappingURL=BuiltinValue.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BuiltinValue.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/specific/BuiltinValue.mts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AA4B3C,eAAO,MAAM,YAAY,EAAE,MA4D1B,CAAC;AACF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"BuiltinValue.d.mts","sourceRoot":"","sources":["../../../../src/lib/parsers/specific/BuiltinValue.mts"],"names":[],"mappings":"AAWA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAkCtC,eAAO,MAAM,YAAY,EAAE,MAgGzB,CAAC;AACH,eAAe,YAAY,CAAC"}