@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.
- package/README.md +64 -13
- package/dist/cli.d.mts +3 -0
- package/dist/cli.d.mts.map +1 -0
- package/dist/cli.mjs +291 -0
- package/dist/cli.mjs.map +1 -0
- package/dist/index.d.mts +1 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -0
- package/dist/index.mjs.map +1 -1
- package/dist/lib/OptionalParser.d.mts.map +1 -1
- package/dist/lib/OptionalParser.mjs +1 -9
- package/dist/lib/OptionalParser.mjs.map +1 -1
- package/dist/lib/Parser.d.mts +3 -1
- package/dist/lib/Parser.d.mts.map +1 -1
- package/dist/lib/Parser.mjs +41 -10
- package/dist/lib/Parser.mjs.map +1 -1
- package/dist/lib/Production.d.mts +2 -0
- package/dist/lib/Production.d.mts.map +1 -1
- package/dist/lib/Production.mjs +13 -0
- package/dist/lib/Production.mjs.map +1 -1
- package/dist/lib/ProductionType.d.mts +2 -1
- package/dist/lib/ProductionType.d.mts.map +1 -1
- package/dist/lib/ProductionType.mjs +1 -0
- package/dist/lib/ProductionType.mjs.map +1 -1
- package/dist/lib/constructs/Assignment.d.mts.map +1 -1
- package/dist/lib/constructs/AssignmentTypes/ObjectAssignment.d.mts +2 -0
- package/dist/lib/constructs/AssignmentTypes/ObjectAssignment.d.mts.map +1 -1
- package/dist/lib/correct.d.mts.map +1 -1
- package/dist/lib/correct.mjs +120 -115
- package/dist/lib/correct.mjs.map +1 -1
- package/dist/lib/grokers/ConstraintSpecs/GeneralConstraint.d.mts.map +1 -1
- package/dist/lib/grokers/ConstraintSpecs/GeneralConstraint.mjs +22 -5
- package/dist/lib/grokers/ConstraintSpecs/GeneralConstraint.mjs.map +1 -1
- package/dist/lib/grokers/DefinitiveOID.mjs +1 -1
- package/dist/lib/grokers/DefinitiveOID.mjs.map +1 -1
- package/dist/lib/grokers/Module.d.mts.map +1 -1
- package/dist/lib/grokers/Module.mjs +2 -1
- package/dist/lib/grokers/Module.mjs.map +1 -1
- package/dist/lib/grokers/Types/SetOrSequenceType.d.mts.map +1 -1
- package/dist/lib/grokers/Types/SetOrSequenceType.mjs +30 -30
- package/dist/lib/grokers/Types/SetOrSequenceType.mjs.map +1 -1
- package/dist/lib/grokers/ValueSet.d.mts.map +1 -1
- package/dist/lib/grokers/ValueSet.mjs +6 -1
- package/dist/lib/grokers/ValueSet.mjs.map +1 -1
- package/dist/lib/interfaces/ParserState.d.mts +2 -0
- package/dist/lib/interfaces/ParserState.d.mts.map +1 -1
- package/dist/lib/interfaces/ParserState.mjs.map +1 -1
- package/dist/lib/lex.d.mts.map +1 -1
- package/dist/lib/lex.mjs +121 -95
- package/dist/lib/lex.mjs.map +1 -1
- package/dist/lib/maps/productionTypeToTypeTypeMap.d.mts.map +1 -1
- package/dist/lib/maps/productionTypeToTypeTypeMap.mjs +17 -0
- package/dist/lib/maps/productionTypeToTypeTypeMap.mjs.map +1 -1
- package/dist/lib/normalizers/Assignment/ObjectAssignment.mjs +1 -1
- package/dist/lib/normalizers/Assignment/ObjectAssignment.mjs.map +1 -1
- package/dist/lib/parse.d.mts.map +1 -1
- package/dist/lib/parse.mjs +20 -2
- package/dist/lib/parse.mjs.map +1 -1
- package/dist/lib/parseMemo.d.mts +18 -0
- package/dist/lib/parseMemo.d.mts.map +1 -0
- package/dist/lib/parseMemo.mjs +77 -0
- package/dist/lib/parseMemo.mjs.map +1 -0
- package/dist/lib/parsers/callbacks/Assignment.d.mts.map +1 -1
- package/dist/lib/parsers/callbacks/Assignment.mjs +6 -1
- package/dist/lib/parsers/callbacks/Assignment.mjs.map +1 -1
- package/dist/lib/parsers/callbacks/ObjectClassAssignment.d.mts.map +1 -1
- package/dist/lib/parsers/callbacks/ObjectClassAssignment.mjs +20 -10
- package/dist/lib/parsers/callbacks/ObjectClassAssignment.mjs.map +1 -1
- package/dist/lib/parsers/generic/aliasFor.d.mts.map +1 -1
- package/dist/lib/parsers/generic/aliasFor.mjs +4 -1
- package/dist/lib/parsers/generic/aliasFor.mjs.map +1 -1
- package/dist/lib/parsers/generic/anythingUntil.d.mts.map +1 -1
- package/dist/lib/parsers/generic/anythingUntil.mjs +35 -13
- package/dist/lib/parsers/generic/anythingUntil.mjs.map +1 -1
- package/dist/lib/parsers/generic/assert.d.mts.map +1 -1
- package/dist/lib/parsers/generic/assert.mjs +3 -0
- package/dist/lib/parsers/generic/assert.mjs.map +1 -1
- package/dist/lib/parsers/generic/choiceOf.d.mts.map +1 -1
- package/dist/lib/parsers/generic/choiceOf.mjs +7 -4
- package/dist/lib/parsers/generic/choiceOf.mjs.map +1 -1
- package/dist/lib/parsers/generic/dispatchOnToken.d.mts +8 -0
- package/dist/lib/parsers/generic/dispatchOnToken.d.mts.map +1 -0
- package/dist/lib/parsers/generic/dispatchOnToken.mjs +43 -0
- package/dist/lib/parsers/generic/dispatchOnToken.mjs.map +1 -0
- package/dist/lib/parsers/generic/doif.mjs +1 -1
- package/dist/lib/parsers/generic/doif.mjs.map +1 -1
- package/dist/lib/parsers/generic/index.d.mts +5 -0
- package/dist/lib/parsers/generic/index.d.mts.map +1 -1
- package/dist/lib/parsers/generic/index.mjs +5 -0
- package/dist/lib/parsers/generic/index.mjs.map +1 -1
- package/dist/lib/parsers/generic/limitConstructedNesting.d.mts +5 -0
- package/dist/lib/parsers/generic/limitConstructedNesting.d.mts.map +1 -0
- package/dist/lib/parsers/generic/limitConstructedNesting.mjs +30 -0
- package/dist/lib/parsers/generic/limitConstructedNesting.mjs.map +1 -0
- package/dist/lib/parsers/generic/literal.d.mts.map +1 -1
- package/dist/lib/parsers/generic/literal.mjs +37 -13
- package/dist/lib/parsers/generic/literal.mjs.map +1 -1
- package/dist/lib/parsers/generic/recursiveParser.d.mts.map +1 -1
- package/dist/lib/parsers/generic/recursiveParser.mjs +3 -1
- package/dist/lib/parsers/generic/recursiveParser.mjs.map +1 -1
- package/dist/lib/parsers/generic/recyclingSequenceOf.d.mts.map +1 -1
- package/dist/lib/parsers/generic/recyclingSequenceOf.mjs +10 -10
- package/dist/lib/parsers/generic/recyclingSequenceOf.mjs.map +1 -1
- package/dist/lib/parsers/generic/repeatable.d.mts.map +1 -1
- package/dist/lib/parsers/generic/repeatable.mjs +4 -0
- package/dist/lib/parsers/generic/repeatable.mjs.map +1 -1
- package/dist/lib/parsers/generic/tokenPeek.d.mts +12 -0
- package/dist/lib/parsers/generic/tokenPeek.d.mts.map +1 -0
- package/dist/lib/parsers/generic/tokenPeek.mjs +167 -0
- package/dist/lib/parsers/generic/tokenPeek.mjs.map +1 -0
- package/dist/lib/parsers/generic/when.d.mts +5 -0
- package/dist/lib/parsers/generic/when.d.mts.map +1 -0
- package/dist/lib/parsers/generic/when.mjs +12 -0
- package/dist/lib/parsers/generic/when.mjs.map +1 -0
- package/dist/lib/parsers/generic/whitespace.d.mts.map +1 -1
- package/dist/lib/parsers/generic/whitespace.mjs +1 -1
- package/dist/lib/parsers/generic/whitespace.mjs.map +1 -1
- package/dist/lib/parsers/generic/whitespaceIntolerantList.d.mts.map +1 -1
- package/dist/lib/parsers/generic/whitespaceIntolerantList.mjs +12 -5
- package/dist/lib/parsers/generic/whitespaceIntolerantList.mjs.map +1 -1
- package/dist/lib/parsers/generic/whitespaceTolerantSequenceOf.d.mts.map +1 -1
- package/dist/lib/parsers/generic/whitespaceTolerantSequenceOf.mjs +11 -1
- package/dist/lib/parsers/generic/whitespaceTolerantSequenceOf.mjs.map +1 -1
- package/dist/lib/parsers/optimized/ComponentType_NamedType.d.mts.map +1 -1
- package/dist/lib/parsers/optimized/ComponentType_NamedType.mjs +4 -2
- package/dist/lib/parsers/optimized/ComponentType_NamedType.mjs.map +1 -1
- package/dist/lib/parsers/optimized/FieldName_LowercasedFinalPrimitiveFieldName.mjs +2 -5
- package/dist/lib/parsers/optimized/FieldName_LowercasedFinalPrimitiveFieldName.mjs.map +1 -1
- package/dist/lib/parsers/optimized/FieldName_UppercasedFinalPrimitiveFieldName.mjs +2 -5
- package/dist/lib/parsers/optimized/FieldName_UppercasedFinalPrimitiveFieldName.mjs.map +1 -1
- package/dist/lib/parsers/optimized/Literal.d.mts.map +1 -1
- package/dist/lib/parsers/optimized/Literal.mjs +13 -6
- package/dist/lib/parsers/optimized/Literal.mjs.map +1 -1
- package/dist/lib/parsers/optimized/ParamGovernor.d.mts.map +1 -1
- package/dist/lib/parsers/optimized/ParamGovernor.mjs +9 -4
- package/dist/lib/parsers/optimized/ParamGovernor.mjs.map +1 -1
- package/dist/lib/parsers/optimized/Setting.d.mts.map +1 -1
- package/dist/lib/parsers/optimized/Setting.mjs +1 -1
- package/dist/lib/parsers/optimized/Setting.mjs.map +1 -1
- package/dist/lib/parsers/optimized/Type.d.mts.map +1 -1
- package/dist/lib/parsers/optimized/Type.mjs +13 -8
- package/dist/lib/parsers/optimized/Type.mjs.map +1 -1
- package/dist/lib/parsers/optimized/Value_listens_to_currentType.d.mts.map +1 -1
- package/dist/lib/parsers/optimized/Value_listens_to_currentType.mjs +40 -110
- package/dist/lib/parsers/optimized/Value_listens_to_currentType.mjs.map +1 -1
- package/dist/lib/parsers/specific/BuiltinType.d.mts +1 -1
- package/dist/lib/parsers/specific/BuiltinType.d.mts.map +1 -1
- package/dist/lib/parsers/specific/BuiltinType.mjs +59 -31
- package/dist/lib/parsers/specific/BuiltinType.mjs.map +1 -1
- package/dist/lib/parsers/specific/BuiltinValue.d.mts +1 -1
- package/dist/lib/parsers/specific/BuiltinValue.d.mts.map +1 -1
- package/dist/lib/parsers/specific/BuiltinValue.mjs +67 -18
- package/dist/lib/parsers/specific/BuiltinValue.mjs.map +1 -1
- package/dist/lib/parsers/specific/CharacterStringType.d.mts.map +1 -1
- package/dist/lib/parsers/specific/CharacterStringType.mjs +11 -5
- package/dist/lib/parsers/specific/CharacterStringType.mjs.map +1 -1
- package/dist/lib/parsers/specific/ChoiceType.mjs +2 -2
- package/dist/lib/parsers/specific/ChoiceType.mjs.map +1 -1
- package/dist/lib/parsers/specific/ChoiceValue.mjs +2 -2
- package/dist/lib/parsers/specific/ChoiceValue.mjs.map +1 -1
- package/dist/lib/parsers/specific/EncodingInstruction.d.mts.map +1 -1
- package/dist/lib/parsers/specific/EncodingInstruction.mjs.map +1 -1
- package/dist/lib/parsers/specific/EncodingInstructionAssignmentList.d.mts.map +1 -1
- package/dist/lib/parsers/specific/EncodingInstructionAssignmentList.mjs.map +1 -1
- package/dist/lib/parsers/specific/OpenTypeFieldVal.d.mts.map +1 -1
- package/dist/lib/parsers/specific/OpenTypeFieldVal.mjs +3 -3
- package/dist/lib/parsers/specific/OpenTypeFieldVal.mjs.map +1 -1
- package/dist/lib/parsers/specific/ParameterizedValueSetTypeAssignment.mjs +1 -1
- package/dist/lib/parsers/specific/ParameterizedValueSetTypeAssignment.mjs.map +1 -1
- package/dist/lib/parsers/specific/ReferencedType.d.mts +1 -1
- package/dist/lib/parsers/specific/ReferencedType.d.mts.map +1 -1
- package/dist/lib/parsers/specific/ReferencedType.mjs +38 -8
- package/dist/lib/parsers/specific/ReferencedType.mjs.map +1 -1
- package/dist/lib/parsers/specific/ReferencedValue.d.mts.map +1 -1
- package/dist/lib/parsers/specific/ReferencedValue.mjs +6 -2
- package/dist/lib/parsers/specific/ReferencedValue.mjs.map +1 -1
- package/dist/lib/parsers/specific/RestrictedCharacterStringType.d.mts.map +1 -1
- package/dist/lib/parsers/specific/RestrictedCharacterStringType.mjs +6 -16
- package/dist/lib/parsers/specific/RestrictedCharacterStringType.mjs.map +1 -1
- package/dist/lib/parsers/specific/SequenceOfType.mjs +2 -2
- package/dist/lib/parsers/specific/SequenceOfType.mjs.map +1 -1
- package/dist/lib/parsers/specific/SequenceOfValue.mjs +2 -2
- package/dist/lib/parsers/specific/SequenceOfValue.mjs.map +1 -1
- package/dist/lib/parsers/specific/SequenceType.mjs +2 -2
- package/dist/lib/parsers/specific/SequenceType.mjs.map +1 -1
- package/dist/lib/parsers/specific/SequenceValue.mjs +2 -2
- package/dist/lib/parsers/specific/SequenceValue.mjs.map +1 -1
- package/dist/lib/parsers/specific/SetOfType.mjs +2 -2
- package/dist/lib/parsers/specific/SetOfType.mjs.map +1 -1
- package/dist/lib/parsers/specific/SetOfValue.mjs +2 -2
- package/dist/lib/parsers/specific/SetOfValue.mjs.map +1 -1
- package/dist/lib/parsers/specific/SetType.mjs +2 -2
- package/dist/lib/parsers/specific/SetType.mjs.map +1 -1
- package/dist/lib/parsers/specific/SetValue.mjs +2 -2
- package/dist/lib/parsers/specific/SetValue.mjs.map +1 -1
- package/dist/lib/parsers/specific/TypeWithConstraint.mjs +2 -2
- package/dist/lib/parsers/specific/TypeWithConstraint.mjs.map +1 -1
- package/dist/lib/parsers/specific/UsefulType.d.mts.map +1 -1
- package/dist/lib/parsers/specific/UsefulType.mjs +16 -6
- package/dist/lib/parsers/specific/UsefulType.mjs.map +1 -1
- package/dist/lib/parsers/specific/UserDefinedConstraintParameter.d.mts.map +1 -1
- package/dist/lib/parsers/specific/UserDefinedConstraintParameter.mjs +1 -1
- package/dist/lib/parsers/specific/UserDefinedConstraintParameter.mjs.map +1 -1
- package/dist/lib/parsers/specific/Value.d.mts.map +1 -1
- package/dist/lib/parsers/specific/Value.mjs +2 -2
- package/dist/lib/parsers/specific/Value.mjs.map +1 -1
- package/dist/lib/parsers/specific/ValueSet.d.mts +4 -1
- package/dist/lib/parsers/specific/ValueSet.d.mts.map +1 -1
- package/dist/lib/parsers/specific/ValueSet.mjs +28 -1
- package/dist/lib/parsers/specific/ValueSet.mjs.map +1 -1
- package/dist/lib/parsers/specific/ValueSetOptionalitySpec.mjs +1 -1
- package/dist/lib/parsers/specific/ValueSetOptionalitySpec.mjs.map +1 -1
- package/dist/lib/parsers/specific/ValueSetTypeAssignment.d.mts.map +1 -1
- package/dist/lib/parsers/specific/ValueSetTypeAssignment.mjs +1 -1
- package/dist/lib/parsers/specific/ValueSetTypeAssignment.mjs.map +1 -1
- package/dist/lib/parsers/specific/_word.d.mts.map +1 -1
- package/dist/lib/parsers/specific/_word.mjs +6 -3
- package/dist/lib/parsers/specific/_word.mjs.map +1 -1
- package/dist/lib/parsers/specific/index.d.mts +1 -1
- package/dist/lib/parsers/specific/index.d.mts.map +1 -1
- package/dist/lib/parsers/specific/index.mjs +1 -1
- package/dist/lib/parsers/specific/index.mjs.map +1 -1
- package/dist/lib/updateCurrentType.d.mts.map +1 -1
- package/dist/lib/updateCurrentType.mjs +9 -2
- package/dist/lib/updateCurrentType.mjs.map +1 -1
- package/package.json +6 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefinitiveOID.mjs","sourceRoot":"","sources":["../../../src/lib/grokers/DefinitiveOID.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAwB,MAAM,mCAAmC,CAAC;AACzE,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAE5D,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,GAAe,EACf,GAAgB;IAEhB,MAAM,IAAI,GAAW,GAAG,CAAC,IAAI,CAAC;IAC9B,MAAM,IAAI,GAAW,GAAG,CAAC,kBAAkB,IAAI,CAAC,CAAC;IACjD,OAAO,GAAG,CAAC,QAAQ;SAChB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACZ,MAAM,CACL,CAAC,KAAiB,EAAW,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,CACzE,CAAC,CAAC,CAAC;SACH,QAAQ;SACR,MAAM,CACL,CAAC,KAAiB,EAAW,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,CACzE;SACA,GAAG,CAAC,CAAC,KAAiB,EAAc,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACzD,GAAG,CAAC,CAAC,UAAsB,EAAmB,EAAE;QAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAC9B,UAAU,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,EACrC,UAAU,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CACpC,CAAC;QACF,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;YACxB,KAAK,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC7B,OAAO;oBACL,IAAI,EAAE,aAAa;oBACnB,UAAU,EAAE,UAAU;oBACtB,cAAc,EAAE,UAAU,CAAC,IAAI;iBAChC,CAAC;YACJ,CAAC;YACD,KAAK,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBACzC,OAAO;oBACL,MAAM,EAAE,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC;oBACnC,UAAU,EAAE,UAAU;oBACtB,cAAc,EAAE,UAAU,CAAC,IAAI;iBAChC,CAAC;YACJ,CAAC;YACD,KAAK,cAAc,CAAC,2BAA2B,CAAC,CAAC,CAAC;gBAChD,MAAM,aAAa,GAAW,aAAa,CAAC;gBAC5C,MAAM,uBAAuB,GAAW,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACnE,OAAO;oBACL,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"DefinitiveOID.mjs","sourceRoot":"","sources":["../../../src/lib/grokers/DefinitiveOID.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAwB,MAAM,mCAAmC,CAAC;AACzE,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAE5D,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,GAAe,EACf,GAAgB;IAEhB,MAAM,IAAI,GAAW,GAAG,CAAC,IAAI,CAAC;IAC9B,MAAM,IAAI,GAAW,GAAG,CAAC,kBAAkB,IAAI,CAAC,CAAC;IACjD,OAAO,GAAG,CAAC,QAAQ;SAChB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACZ,MAAM,CACL,CAAC,KAAiB,EAAW,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,CACzE,CAAC,CAAC,CAAC;SACH,QAAQ;SACR,MAAM,CACL,CAAC,KAAiB,EAAW,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,CACzE;SACA,GAAG,CAAC,CAAC,KAAiB,EAAc,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACzD,GAAG,CAAC,CAAC,UAAsB,EAAmB,EAAE;QAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAC9B,UAAU,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,EACrC,UAAU,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CACpC,CAAC;QACF,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;YACxB,KAAK,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC7B,OAAO;oBACL,IAAI,EAAE,aAAa;oBACnB,UAAU,EAAE,UAAU;oBACtB,cAAc,EAAE,UAAU,CAAC,IAAI;iBAChC,CAAC;YACJ,CAAC;YACD,KAAK,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBACzC,OAAO;oBACL,MAAM,EAAE,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC;oBACnC,UAAU,EAAE,UAAU;oBACtB,cAAc,EAAE,UAAU,CAAC,IAAI;iBAChC,CAAC;YACJ,CAAC;YACD,KAAK,cAAc,CAAC,2BAA2B,CAAC,CAAC,CAAC;gBAChD,MAAM,aAAa,GAAW,aAAa,CAAC;gBAC5C,MAAM,uBAAuB,GAAW,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACnE,OAAO;oBACL,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,OAAO,EAAE;oBAC/D,MAAM,EAAE,QAAQ,CACd,aAAa,CAAC,KAAK,CAAC,uBAAuB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EACpD,EAAE,CACH;oBACD,UAAU,EAAE,UAAU;oBACtB,cAAc,EAAE,UAAU,CAAC,IAAI;iBAChC,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,IAAI,eAAe,CACvB,UAAU,EACV,qDAAqD,UAAU,CAAC,IAAI,GAAG,EACvE,GAAG,CAAC,aAAa,CAAC,IAAI,CACvB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Module.d.mts","sourceRoot":"","sources":["../../../src/lib/grokers/Module.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAEhD,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAwB9C,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"Module.d.mts","sourceRoot":"","sources":["../../../src/lib/grokers/Module.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAEhD,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAwB9C,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAyJ5E"}
|
|
@@ -95,7 +95,7 @@ export default function grokModule(cst, ctx) {
|
|
|
95
95
|
};
|
|
96
96
|
child.children
|
|
97
97
|
.filter((grandchild) => grandchild.type === ProductionType.Assignment)
|
|
98
|
-
.forEach((assignment) => {
|
|
98
|
+
.forEach((assignment, i) => {
|
|
99
99
|
const a = grokAssignment(assignment, ctx);
|
|
100
100
|
if (a.identifier in assignments) {
|
|
101
101
|
a.production && duplicateAssignments.push(a.production);
|
|
@@ -103,6 +103,7 @@ export default function grokModule(cst, ctx) {
|
|
|
103
103
|
else {
|
|
104
104
|
assignments[a.identifier] = a;
|
|
105
105
|
}
|
|
106
|
+
a.originalIndex = i;
|
|
106
107
|
});
|
|
107
108
|
break;
|
|
108
109
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Module.mjs","sourceRoot":"","sources":["../../../src/lib/grokers/Module.mts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Module.mjs","sourceRoot":"","sources":["../../../src/lib/grokers/Module.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetOrSequenceType.d.mts","sourceRoot":"","sources":["../../../../src/lib/grokers/Types/SetOrSequenceType.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,kCAAkC,CAAC;AAChE,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AAOnD,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,2BAA2B,CAAC;AA6DtD,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"SetOrSequenceType.d.mts","sourceRoot":"","sources":["../../../../src/lib/grokers/Types/SetOrSequenceType.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,kCAAkC,CAAC;AAChE,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AAOnD,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,2BAA2B,CAAC;AA6DtD,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAwMpE"}
|
|
@@ -39,32 +39,28 @@ export default function grok(cst, ctx) {
|
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
const ComponentTypeListsComponents = components[2].children.filter((child) => child.type !== ProductionType.whitespace);
|
|
42
|
+
const rootComponentTypeLists = ComponentTypeListsComponents.filter((child) => child.type === ProductionType.RootComponentTypeList);
|
|
43
|
+
const startsWithExtensionAndException = ComponentTypeListsComponents[0]?.type ===
|
|
44
|
+
ProductionType.ExtensionAndException;
|
|
42
45
|
let RootComponentTypeList1 = undefined;
|
|
43
46
|
let RootComponentTypeList2 = undefined;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
let exception = undefined;
|
|
47
|
-
const extensible = ComponentTypeListsComponents.length > 1;
|
|
48
|
-
if (ComponentTypeListsComponents[0].type ===
|
|
49
|
-
ProductionType.ExtensionAndException) {
|
|
50
|
-
ExtensionAndException = ComponentTypeListsComponents[0];
|
|
51
|
-
ExtensionAdditions = ComponentTypeListsComponents[1];
|
|
52
|
-
if (ComponentTypeListsComponents[2].type === ProductionType.ExtensionEndMarker) {
|
|
53
|
-
RootComponentTypeList2 =
|
|
54
|
-
ComponentTypeListsComponents[ComponentTypeListsComponents.length - 1];
|
|
55
|
-
}
|
|
56
|
-
if (ExtensionAndException.children.length > 1) {
|
|
57
|
-
const ExceptionSpec = ExtensionAndException.children[ExtensionAndException.children.length - 1];
|
|
58
|
-
if (ExceptionSpec.children.length > 0) {
|
|
59
|
-
exception = grokExceptionSpec(ExceptionSpec, ctx);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
47
|
+
if (startsWithExtensionAndException) {
|
|
48
|
+
RootComponentTypeList2 = rootComponentTypeLists[0];
|
|
62
49
|
}
|
|
63
50
|
else {
|
|
64
|
-
RootComponentTypeList1 =
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
51
|
+
RootComponentTypeList1 = rootComponentTypeLists[0];
|
|
52
|
+
RootComponentTypeList2 = rootComponentTypeLists[1];
|
|
53
|
+
}
|
|
54
|
+
const ExtensionAndException = ComponentTypeListsComponents.find((child) => child.type === ProductionType.ExtensionAndException);
|
|
55
|
+
const ExtensionAdditions = ComponentTypeListsComponents.find((child) => child.type === ProductionType.ExtensionAdditions);
|
|
56
|
+
let exception = undefined;
|
|
57
|
+
const extensible = ExtensionAndException !== undefined;
|
|
58
|
+
if (ExtensionAndException && ExtensionAndException.children.length > 1) {
|
|
59
|
+
const ExceptionSpec = ExtensionAndException.children[ExtensionAndException.children.length - 1];
|
|
60
|
+
if (ExceptionSpec.type === ProductionType.ExceptionSpec &&
|
|
61
|
+
ExceptionSpec.children.length > 0) {
|
|
62
|
+
exception = grokExceptionSpec(ExceptionSpec, ctx);
|
|
63
|
+
}
|
|
68
64
|
}
|
|
69
65
|
const rootComponentTypes1 = RootComponentTypeList1
|
|
70
66
|
? RootComponentTypeList1.children[0].children
|
|
@@ -76,22 +72,26 @@ export default function grok(cst, ctx) {
|
|
|
76
72
|
.filter((child) => child.type === ProductionType.ComponentType)
|
|
77
73
|
.map((ct) => grokComponentType(ct, ctx))
|
|
78
74
|
: undefined;
|
|
79
|
-
const
|
|
80
|
-
|
|
75
|
+
const ExtensionAdditionList = ExtensionAdditions?.children.find((child) => child.type === ProductionType.ExtensionAdditionList);
|
|
76
|
+
const extensionAdditions = ExtensionAdditionList
|
|
77
|
+
? ExtensionAdditionList.children
|
|
81
78
|
.filter((child) => child.type === ProductionType.ExtensionAddition)
|
|
82
79
|
.map((ea) => {
|
|
83
80
|
if (ea.children[0].type === ProductionType.ComponentType) {
|
|
84
81
|
return grokComponentType(ea.children[0], ctx);
|
|
85
82
|
}
|
|
86
83
|
else {
|
|
87
|
-
const
|
|
88
|
-
const
|
|
89
|
-
const
|
|
84
|
+
const groupComponents = ea.children[0].children.filter((child) => child.type !== ProductionType.whitespace);
|
|
85
|
+
const VersionNumber = groupComponents.find((child) => child.type === ProductionType.VersionNumber);
|
|
86
|
+
const ComponentTypeList = groupComponents.find((child) => child.type === ProductionType.ComponentTypeList);
|
|
87
|
+
const versionNumber = VersionNumber && VersionNumber.children.length > 0
|
|
90
88
|
? Number.parseInt(text.slice(VersionNumber.children[0].location.startIndex, VersionNumber.children[0].location.endIndex), 10)
|
|
91
89
|
: undefined;
|
|
92
|
-
const componentTypeList = ComponentTypeList
|
|
93
|
-
|
|
94
|
-
|
|
90
|
+
const componentTypeList = ComponentTypeList
|
|
91
|
+
? ComponentTypeList.children
|
|
92
|
+
.filter((child) => child.type === ProductionType.ComponentType)
|
|
93
|
+
.map((ct) => grokComponentType(ct, ctx))
|
|
94
|
+
: [];
|
|
95
95
|
return {
|
|
96
96
|
versionNumber,
|
|
97
97
|
componentTypeList,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetOrSequenceType.mjs","sourceRoot":"","sources":["../../../../src/lib/grokers/Types/SetOrSequenceType.mts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,QAAQ,MAAM,+BAA+B,CAAC;AACrD,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAgC,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAsB,MAAM,oCAAoC,CAAC;AACxE,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAa,MAAM,2BAA2B,CAAC;AA6DtD,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,GAAe,EAAE,GAAgB;IAC5D,MAAM,IAAI,GAAW,GAAG,CAAC,IAAI,CAAC;IAC9B,MAAM,QAAQ,GACZ,GAAG,CAAC,IAAI,KAAK,cAAc,CAAC,YAAY;QACtC,CAAC,CAAC,QAAQ,CAAC,YAAY;QACvB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;IACvB,MAAM,UAAU,GAAiB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAClD,CAAC,KAAiB,EAAW,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,CACzE,CAAC;IAEF,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAChE,QAAQ;YACR,IAAI,EAAE;gBACJ,oBAAoB,EAAE,KAAK;gBAC3B,qCAAqC,EAAE,IAAI;gBAC3C,6BAA6B,EAAE,KAAK;aACrC;SACF,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,qBAAqB,EAAE,CAAC;QAChE,MAAM,qBAAqB,GAAe,UAAU,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,aAAa,GACjB,qBAAqB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5E,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAChE,QAAQ;YACR,IAAI,EAAE;gBACJ,oBAAoB,EAAE,IAAI;gBAC1B,SAAS,EAAE,aAAa;oBACtB,CAAC,CAAC,iBAAiB,CAAC,aAAa,EAAE,GAAG,CAAC;oBACvC,CAAC,CAAC,SAAS;gBACb,qCAAqC,EAAE,IAAI;gBAC3C,6BAA6B,EAAE,KAAK;aACrC;SACF,CAAC;IACJ,CAAC;IAED,MAAM,4BAA4B,GAChC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAC3B,CAAC,KAAiB,EAAW,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,CACzE,CAAC;
|
|
1
|
+
{"version":3,"file":"SetOrSequenceType.mjs","sourceRoot":"","sources":["../../../../src/lib/grokers/Types/SetOrSequenceType.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValueSet.d.mts","sourceRoot":"","sources":["../../../src/lib/grokers/ValueSet.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAE7D,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ValueSet.d.mts","sourceRoot":"","sources":["../../../src/lib/grokers/ValueSet.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAE7D,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAK3D,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,GAAG,QAAQ,CAWxE"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import grokElementSetSpecs from './ElementSetSpecs.mjs';
|
|
2
2
|
import { ProductionType } from '../ProductionType.mjs';
|
|
3
3
|
import {} from '../constructs/ValueSet.mjs';
|
|
4
|
+
import ASN1SyntaxError from '../errors/ASN1SyntaxError.mjs';
|
|
4
5
|
export default function grok(cst, ctx) {
|
|
5
|
-
|
|
6
|
+
const ess = cst.children.find((c) => c.type === ProductionType.ElementSetSpecs);
|
|
7
|
+
if (!ess) {
|
|
8
|
+
throw new ASN1SyntaxError(cst, "Missing ElementSetSpecs CST node immediately under a ValueSet CST node");
|
|
9
|
+
}
|
|
10
|
+
return grokElementSetSpecs(ess, ctx);
|
|
6
11
|
}
|
|
7
12
|
//# sourceMappingURL=ValueSet.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValueSet.mjs","sourceRoot":"","sources":["../../../src/lib/grokers/ValueSet.mts"],"names":[],"mappings":"AACA,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAiB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ValueSet.mjs","sourceRoot":"","sources":["../../../src/lib/grokers/ValueSet.mts"],"names":[],"mappings":"AACA,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAiB,MAAM,4BAA4B,CAAC;AAC3D,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAI5D,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,GAAe,EAAE,GAAgB;IAC5D,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAC3B,CAAC,CAAa,EAAW,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe,CACtE,CAAC;IACF,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,eAAe,CACvB,GAAG,EACH,wEAAwE,CACzE,CAAC;IACJ,CAAC;IACD,OAAO,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type Production from '../Production.mjs';
|
|
2
2
|
import type ASN1SyntaxError from '../errors/ASN1SyntaxError.mjs';
|
|
3
3
|
import type ParseContext from './ParseContext.mjs';
|
|
4
|
+
import type { ParseMemo } from '../parseMemo.mjs';
|
|
4
5
|
import AssignmentType from '../constructs/AssignmentType.mjs';
|
|
5
6
|
import TypeType from '../constructs/TypeType.mjs';
|
|
6
7
|
export default interface ParserState {
|
|
@@ -16,5 +17,6 @@ export default interface ParserState {
|
|
|
16
17
|
readonly definedEnumItems: Set<string>;
|
|
17
18
|
currentType?: TypeType;
|
|
18
19
|
justParsedPluralLiteral?: boolean;
|
|
20
|
+
memo?: ParseMemo;
|
|
19
21
|
}
|
|
20
22
|
//# sourceMappingURL=ParserState.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParserState.d.mts","sourceRoot":"","sources":["../../../src/lib/interfaces/ParserState.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,eAAe,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAKlD,MAAM,CAAC,OAAO,WAAW,WAAW;IAMlC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAOtB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;IAiB9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAMhB,GAAG,EAAE,UAAU,CAAC;IAMhB,KAAK,EAAE,MAAM,CAAC;IAcd,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAOvD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC;IAOnE,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC,CAAC;IAW/D,QAAQ,CAAC,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAU1C,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAcvC,WAAW,CAAC,EAAE,QAAQ,CAAC;IAYvB,uBAAuB,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ParserState.d.mts","sourceRoot":"","sources":["../../../src/lib/interfaces/ParserState.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,eAAe,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAKlD,MAAM,CAAC,OAAO,WAAW,WAAW;IAMlC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAOtB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;IAiB9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAMhB,GAAG,EAAE,UAAU,CAAC;IAMhB,KAAK,EAAE,MAAM,CAAC;IAcd,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAOvD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC;IAOnE,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC,CAAC;IAW/D,QAAQ,CAAC,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAU1C,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAcvC,WAAW,CAAC,EAAE,QAAQ,CAAC;IAYvB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAWlC,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParserState.mjs","sourceRoot":"","sources":["../../../src/lib/interfaces/ParserState.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ParserState.mjs","sourceRoot":"","sources":["../../../src/lib/interfaces/ParserState.mts"],"names":[],"mappings":"AAIA,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,QAAQ,MAAM,4BAA4B,CAAC"}
|
package/dist/lib/lex.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lex.d.mts","sourceRoot":"","sources":["../../src/lib/lex.mts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAkB,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAK9E,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"lex.d.mts","sourceRoot":"","sources":["../../src/lib/lex.mts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAkB,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAK9E,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAC;AA+EtD,MAAM,CAAC,OAAO,UAAW,GAAG,CAC1B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,QAAQ,GAClB,gBAAgB,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,CAia5D"}
|
package/dist/lib/lex.mjs
CHANGED
|
@@ -7,12 +7,16 @@ import nonNewlineWhitespaceCharacters from './nonNewlineWhitespaceCharacters.mjs
|
|
|
7
7
|
import ASN1SyntaxError from './errors/ASN1SyntaxError.mjs';
|
|
8
8
|
import ASN1ParserExpectationError from './errors/ASN1ParserExpectationError.mjs';
|
|
9
9
|
const CR = '\r'.charCodeAt(0);
|
|
10
|
+
const REALNUMBER = /(0|[1-9]\d*)(?:\.\d*(?:[eE]-?\d+)?|[eE]-?\d+)/y;
|
|
10
11
|
function isIdentifierCharacter(characterCode) {
|
|
11
12
|
return ((characterCode >= 0x30 && characterCode <= 0x39) ||
|
|
12
13
|
(characterCode >= 0x41 && characterCode <= 0x5a) ||
|
|
13
14
|
(characterCode >= 0x61 && characterCode <= 0x7a) ||
|
|
14
15
|
characterCode === 0x2d);
|
|
15
16
|
}
|
|
17
|
+
function columnNumberAt(index, lineStartIndex, columnOfLineStart) {
|
|
18
|
+
return columnOfLineStart + (index - lineStartIndex);
|
|
19
|
+
}
|
|
16
20
|
export default function* lex(str, startloc) {
|
|
17
21
|
if (!str || str.length === 0) {
|
|
18
22
|
return;
|
|
@@ -22,13 +26,14 @@ export default function* lex(str, startloc) {
|
|
|
22
26
|
let tokenEndIndex = 0;
|
|
23
27
|
let i = 0;
|
|
24
28
|
let loops = 0;
|
|
29
|
+
const base = startloc?.startIndex ?? 0;
|
|
25
30
|
let lineNumber = startloc?.lineNumber ?? 1;
|
|
26
|
-
let lineStartIndex =
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
let lineStartIndex = 0;
|
|
32
|
+
let columnOfLineStart = startloc?.columnNumber ?? 1;
|
|
33
|
+
let tokenStartLineNumber = lineNumber;
|
|
34
|
+
let tokenStartColumnNumber = columnOfLineStart;
|
|
35
|
+
let blockCommentDepth = 0;
|
|
36
|
+
let blockCommentResumeAt = 0;
|
|
32
37
|
function isAtStartOfNewlineSequence() {
|
|
33
38
|
return (newlineWhitespaceCharacters.has(str.charCodeAt(i)) &&
|
|
34
39
|
str.charCodeAt(i - 1) !== CR);
|
|
@@ -36,6 +41,37 @@ export default function* lex(str, startloc) {
|
|
|
36
41
|
function theEndOfTheCurrentTokenIsKnown() {
|
|
37
42
|
return tokenEndIndex > tokenStartIndex;
|
|
38
43
|
}
|
|
44
|
+
function finishIdentifierLikeToken() {
|
|
45
|
+
const atTheEnd = i === str.length;
|
|
46
|
+
const characterCode = str.charCodeAt(i);
|
|
47
|
+
const ended = atTheEnd ||
|
|
48
|
+
!isIdentifierCharacter(characterCode) ||
|
|
49
|
+
(!atTheEnd &&
|
|
50
|
+
characterCode === 0x2d &&
|
|
51
|
+
str.charCodeAt(i + 1) === 0x2d);
|
|
52
|
+
if (!ended) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
tokenEndIndex = i;
|
|
56
|
+
if (str.charCodeAt(tokenEndIndex - 1) === 0x2d) {
|
|
57
|
+
const ident = str.slice(tokenStartIndex, tokenEndIndex);
|
|
58
|
+
throw new ASN1SyntaxError(new Production(ProductionType.SYNTAX_ERROR, [], {
|
|
59
|
+
startIndex: tokenStartIndex + base,
|
|
60
|
+
endIndex: tokenEndIndex + base,
|
|
61
|
+
lineNumber: tokenStartLineNumber,
|
|
62
|
+
columnNumber: tokenStartColumnNumber,
|
|
63
|
+
}), `Identifier '${ident}' may not end with a hyphen.`);
|
|
64
|
+
}
|
|
65
|
+
const token = str.slice(tokenStartIndex, tokenEndIndex);
|
|
66
|
+
const keywordType = keywordToTokenMap.get(token);
|
|
67
|
+
if (keywordType) {
|
|
68
|
+
tokenType = keywordType;
|
|
69
|
+
}
|
|
70
|
+
else if (tokenType === ProductionType.typereference &&
|
|
71
|
+
token.toUpperCase() === token) {
|
|
72
|
+
tokenType = ProductionType.objectclassreference;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
39
75
|
while (tokenStartIndex < str.length) {
|
|
40
76
|
const atTheEnd = i === str.length;
|
|
41
77
|
if (!theEndOfTheCurrentTokenIsKnown()) {
|
|
@@ -43,7 +79,7 @@ export default function* lex(str, startloc) {
|
|
|
43
79
|
case ProductionType.empty: {
|
|
44
80
|
switch (str[i]) {
|
|
45
81
|
case '-': {
|
|
46
|
-
if (str.
|
|
82
|
+
if (str.startsWith('--', i)) {
|
|
47
83
|
tokenType = ProductionType.comment;
|
|
48
84
|
}
|
|
49
85
|
else {
|
|
@@ -53,8 +89,10 @@ export default function* lex(str, startloc) {
|
|
|
53
89
|
break;
|
|
54
90
|
}
|
|
55
91
|
case '/': {
|
|
56
|
-
if (str.
|
|
92
|
+
if (str.startsWith('/*', i)) {
|
|
57
93
|
tokenType = ProductionType.comment;
|
|
94
|
+
blockCommentDepth = 1;
|
|
95
|
+
blockCommentResumeAt = i + 2;
|
|
58
96
|
}
|
|
59
97
|
else {
|
|
60
98
|
tokenType = ProductionType.forwardSlash;
|
|
@@ -65,20 +103,28 @@ export default function* lex(str, startloc) {
|
|
|
65
103
|
case '"': {
|
|
66
104
|
tokenType = ProductionType.cstring;
|
|
67
105
|
let indexOfNextDoubleQuote = str.indexOf('"', i + 1);
|
|
68
|
-
while (
|
|
106
|
+
while (indexOfNextDoubleQuote !== -1 &&
|
|
107
|
+
str[indexOfNextDoubleQuote + 1] === '"') {
|
|
69
108
|
indexOfNextDoubleQuote = str.indexOf('"', indexOfNextDoubleQuote + 2);
|
|
70
109
|
}
|
|
110
|
+
if (indexOfNextDoubleQuote === -1) {
|
|
111
|
+
throw new ASN1SyntaxError(new Production(ProductionType.SYNTAX_ERROR, [], {
|
|
112
|
+
startIndex: tokenStartIndex + base,
|
|
113
|
+
endIndex: str.length + base,
|
|
114
|
+
lineNumber: tokenStartLineNumber,
|
|
115
|
+
columnNumber: tokenStartColumnNumber,
|
|
116
|
+
}), `Unterminated cstring at index ${i}.`);
|
|
117
|
+
}
|
|
71
118
|
tokenEndIndex = indexOfNextDoubleQuote + 1;
|
|
72
119
|
break;
|
|
73
120
|
}
|
|
74
121
|
case "'": {
|
|
75
122
|
const indexOfNextSingleQuote = str.indexOf("'", i + 1);
|
|
76
|
-
const base = startloc?.startIndex ?? 0;
|
|
77
123
|
let errloc = {
|
|
78
124
|
startIndex: tokenStartIndex + base,
|
|
79
125
|
endIndex: str.length + base,
|
|
80
|
-
lineNumber,
|
|
81
|
-
columnNumber:
|
|
126
|
+
lineNumber: tokenStartLineNumber,
|
|
127
|
+
columnNumber: tokenStartColumnNumber,
|
|
82
128
|
};
|
|
83
129
|
if (indexOfNextSingleQuote === -1 ||
|
|
84
130
|
indexOfNextSingleQuote === str.length - 1) {
|
|
@@ -93,7 +139,7 @@ export default function* lex(str, startloc) {
|
|
|
93
139
|
tokenType = ProductionType.bstring;
|
|
94
140
|
tokenEndIndex = indexOfNextSingleQuote + 2;
|
|
95
141
|
const innards = str.slice(tokenStartIndex + 1, indexOfNextSingleQuote);
|
|
96
|
-
if (!/^[01 \t\r\n\f\v]
|
|
142
|
+
if (!/^[01 \t\r\n\f\v\u00A0]*$/.test(innards)) {
|
|
97
143
|
throw new ASN1SyntaxError(new Production(ProductionType.SYNTAX_ERROR, [], errloc), `Invalid bstring: '${innards}'B.`);
|
|
98
144
|
}
|
|
99
145
|
break;
|
|
@@ -102,7 +148,7 @@ export default function* lex(str, startloc) {
|
|
|
102
148
|
tokenType = ProductionType.hstring;
|
|
103
149
|
tokenEndIndex = indexOfNextSingleQuote + 2;
|
|
104
150
|
const innards = str.slice(tokenStartIndex + 1, indexOfNextSingleQuote);
|
|
105
|
-
if (!/^[0-9A-F \t\r\n\f\v]
|
|
151
|
+
if (!/^[0-9A-F \t\r\n\f\v\u00A0]*$/.test(innards)) {
|
|
106
152
|
throw new ASN1SyntaxError(new Production(ProductionType.SYNTAX_ERROR, [], errloc), `Invalid hstring: '${innards}'H.`);
|
|
107
153
|
}
|
|
108
154
|
break;
|
|
@@ -114,7 +160,7 @@ export default function* lex(str, startloc) {
|
|
|
114
160
|
break;
|
|
115
161
|
}
|
|
116
162
|
case ':': {
|
|
117
|
-
if (str.
|
|
163
|
+
if (str.startsWith('::=', i)) {
|
|
118
164
|
tokenType = ProductionType.assignment;
|
|
119
165
|
tokenEndIndex = i + 3;
|
|
120
166
|
}
|
|
@@ -132,18 +178,29 @@ export default function* lex(str, startloc) {
|
|
|
132
178
|
}
|
|
133
179
|
const characterCode = str.charCodeAt(i);
|
|
134
180
|
if (characterCode >= 0x30 && characterCode <= 0x39) {
|
|
135
|
-
|
|
136
|
-
const
|
|
137
|
-
const match = fractionalRealMatch || exponentialRealMatch || null;
|
|
181
|
+
REALNUMBER.lastIndex = i;
|
|
182
|
+
const match = REALNUMBER.exec(str);
|
|
138
183
|
if (match) {
|
|
139
|
-
if (str.
|
|
140
|
-
i + match[0].length - 1) {
|
|
184
|
+
if (str.startsWith('..', i + match[0].length - 1)) {
|
|
141
185
|
tokenType = ProductionType.number;
|
|
142
186
|
break;
|
|
143
187
|
}
|
|
144
188
|
tokenType = ProductionType.realnumber;
|
|
145
189
|
tokenEndIndex = i + match[0].length;
|
|
146
190
|
}
|
|
191
|
+
else if (characterCode === 0x30 &&
|
|
192
|
+
i + 1 < str.length &&
|
|
193
|
+
str.charCodeAt(i + 1) >= 0x30 &&
|
|
194
|
+
str.charCodeAt(i + 1) <= 0x39) {
|
|
195
|
+
tokenType = ProductionType.SYNTAX_ERROR;
|
|
196
|
+
let end = i + 2;
|
|
197
|
+
while (end < str.length &&
|
|
198
|
+
str.charCodeAt(end) >= 0x30 &&
|
|
199
|
+
str.charCodeAt(end) <= 0x39) {
|
|
200
|
+
end++;
|
|
201
|
+
}
|
|
202
|
+
tokenEndIndex = end;
|
|
203
|
+
}
|
|
147
204
|
else {
|
|
148
205
|
tokenType = ProductionType.number;
|
|
149
206
|
}
|
|
@@ -156,7 +213,7 @@ export default function* lex(str, startloc) {
|
|
|
156
213
|
}
|
|
157
214
|
if (isAtStartOfNewlineSequence()) {
|
|
158
215
|
tokenType = ProductionType.newlineWhitespace;
|
|
159
|
-
if (str.
|
|
216
|
+
if (str.startsWith('\r\n', i)) {
|
|
160
217
|
tokenEndIndex = i + 2;
|
|
161
218
|
}
|
|
162
219
|
else {
|
|
@@ -166,6 +223,10 @@ export default function* lex(str, startloc) {
|
|
|
166
223
|
if (nonNewlineWhitespaceCharacters.has(characterCode)) {
|
|
167
224
|
tokenType = ProductionType.nonNewlineWhitespace;
|
|
168
225
|
}
|
|
226
|
+
if (tokenType === ProductionType.empty && i < str.length) {
|
|
227
|
+
tokenType = ProductionType.SYNTAX_ERROR;
|
|
228
|
+
tokenEndIndex = i + 1;
|
|
229
|
+
}
|
|
169
230
|
}
|
|
170
231
|
}
|
|
171
232
|
break;
|
|
@@ -175,25 +236,38 @@ export default function* lex(str, startloc) {
|
|
|
175
236
|
if (atTheEnd) {
|
|
176
237
|
tokenEndIndex = i;
|
|
177
238
|
}
|
|
178
|
-
else if (
|
|
239
|
+
else if (i >= tokenStartIndex + 2 &&
|
|
240
|
+
str.startsWith('--', i)) {
|
|
179
241
|
tokenEndIndex = i + 2;
|
|
180
242
|
}
|
|
181
243
|
else if (isAtStartOfNewlineSequence()) {
|
|
182
244
|
tokenEndIndex = i;
|
|
183
245
|
}
|
|
184
246
|
}
|
|
185
|
-
else if (str[tokenStartIndex] === '/'
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
247
|
+
else if (str[tokenStartIndex] === '/') {
|
|
248
|
+
if (atTheEnd) {
|
|
249
|
+
throw new ASN1SyntaxError(new Production(ProductionType.SYNTAX_ERROR, [], {
|
|
250
|
+
startIndex: tokenStartIndex + base,
|
|
251
|
+
endIndex: str.length + base,
|
|
252
|
+
lineNumber: tokenStartLineNumber,
|
|
253
|
+
columnNumber: tokenStartColumnNumber,
|
|
254
|
+
}), 'Unterminated comment.');
|
|
255
|
+
}
|
|
256
|
+
if (i >= blockCommentResumeAt) {
|
|
257
|
+
if (str.startsWith('/*', i)) {
|
|
258
|
+
blockCommentDepth++;
|
|
259
|
+
blockCommentResumeAt = i + 2;
|
|
260
|
+
}
|
|
261
|
+
else if (str.startsWith('*/', i)) {
|
|
262
|
+
blockCommentDepth--;
|
|
263
|
+
if (blockCommentDepth === 0) {
|
|
264
|
+
tokenEndIndex = i + 2;
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
blockCommentResumeAt = i + 2;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
197
271
|
}
|
|
198
272
|
break;
|
|
199
273
|
}
|
|
@@ -208,58 +282,9 @@ export default function* lex(str, startloc) {
|
|
|
208
282
|
}
|
|
209
283
|
break;
|
|
210
284
|
}
|
|
211
|
-
case ProductionType.identifier:
|
|
212
|
-
const characterCode = str.charCodeAt(i);
|
|
213
|
-
if (atTheEnd ||
|
|
214
|
-
!isIdentifierCharacter(characterCode) ||
|
|
215
|
-
(!atTheEnd &&
|
|
216
|
-
characterCode === 0x2d &&
|
|
217
|
-
str.charCodeAt(i + 1) === 0x2d)) {
|
|
218
|
-
tokenEndIndex = i;
|
|
219
|
-
if (str.charCodeAt(tokenEndIndex - 1) === 0x2d) {
|
|
220
|
-
const ident = str.slice(tokenStartIndex, tokenEndIndex);
|
|
221
|
-
const base = startloc?.startIndex ?? 0;
|
|
222
|
-
throw new ASN1SyntaxError(new Production(ProductionType.SYNTAX_ERROR, [], {
|
|
223
|
-
startIndex: tokenStartIndex + base,
|
|
224
|
-
endIndex: tokenEndIndex + base,
|
|
225
|
-
lineNumber,
|
|
226
|
-
columnNumber: (tokenStartIndex - lineStartIndex) + 1,
|
|
227
|
-
}), `Identifier '${ident}' may not end with a hyphen.`);
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
break;
|
|
231
|
-
}
|
|
285
|
+
case ProductionType.identifier:
|
|
232
286
|
case ProductionType.typereference: {
|
|
233
|
-
|
|
234
|
-
if (atTheEnd ||
|
|
235
|
-
!isIdentifierCharacter(characterCode) ||
|
|
236
|
-
(!atTheEnd &&
|
|
237
|
-
characterCode === 0x2d &&
|
|
238
|
-
str.charCodeAt(i + 1) === 0x2d)) {
|
|
239
|
-
tokenEndIndex = i;
|
|
240
|
-
if (str.charCodeAt(tokenEndIndex - 1) === 0x2d) {
|
|
241
|
-
const ident = str.slice(tokenStartIndex, tokenEndIndex);
|
|
242
|
-
const base = startloc?.startIndex ?? 0;
|
|
243
|
-
throw new ASN1SyntaxError(new Production(ProductionType.SYNTAX_ERROR, [], {
|
|
244
|
-
startIndex: tokenStartIndex + base,
|
|
245
|
-
endIndex: tokenEndIndex + base,
|
|
246
|
-
lineNumber,
|
|
247
|
-
columnNumber: (tokenStartIndex - lineStartIndex) + 1,
|
|
248
|
-
}), `Identifier '${ident}' may not end with a hyphen.`);
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
if (tokenEndIndex > tokenStartIndex) {
|
|
252
|
-
const token = str.slice(tokenStartIndex, tokenEndIndex);
|
|
253
|
-
const keywordType = keywordToTokenMap.get(token);
|
|
254
|
-
if (keywordType) {
|
|
255
|
-
tokenType = keywordType;
|
|
256
|
-
break;
|
|
257
|
-
}
|
|
258
|
-
if (token.toUpperCase() === token) {
|
|
259
|
-
tokenType = ProductionType.objectclassreference;
|
|
260
|
-
break;
|
|
261
|
-
}
|
|
262
|
-
}
|
|
287
|
+
finishIdentifierLikeToken();
|
|
263
288
|
break;
|
|
264
289
|
}
|
|
265
290
|
case ProductionType.nonNewlineWhitespace: {
|
|
@@ -278,30 +303,31 @@ export default function* lex(str, startloc) {
|
|
|
278
303
|
}
|
|
279
304
|
}
|
|
280
305
|
if (i === tokenEndIndex && tokenEndIndex > tokenStartIndex) {
|
|
281
|
-
const base = startloc?.startIndex ?? 0;
|
|
282
306
|
yield new Production(tokenType, [], {
|
|
283
307
|
startIndex: tokenStartIndex + base,
|
|
284
308
|
endIndex: tokenEndIndex + base,
|
|
285
|
-
lineNumber,
|
|
286
|
-
columnNumber:
|
|
309
|
+
lineNumber: tokenStartLineNumber,
|
|
310
|
+
columnNumber: tokenStartColumnNumber,
|
|
287
311
|
});
|
|
288
|
-
if (tokenType === ProductionType.newlineWhitespace) {
|
|
289
|
-
lineNumber++;
|
|
290
|
-
lineStartIndex = i;
|
|
291
|
-
}
|
|
292
312
|
tokenStartIndex = tokenEndIndex;
|
|
293
313
|
tokenType = ProductionType.empty;
|
|
314
|
+
tokenStartLineNumber = lineNumber;
|
|
315
|
+
tokenStartColumnNumber = columnNumberAt(tokenStartIndex, lineStartIndex, columnOfLineStart);
|
|
294
316
|
}
|
|
295
317
|
else {
|
|
318
|
+
if (isAtStartOfNewlineSequence()) {
|
|
319
|
+
lineNumber++;
|
|
320
|
+
lineStartIndex = i + (str.startsWith('\r\n', i) ? 2 : 1);
|
|
321
|
+
columnOfLineStart = 1;
|
|
322
|
+
}
|
|
296
323
|
i++;
|
|
297
324
|
}
|
|
298
325
|
if (loops > str.length * 4) {
|
|
299
|
-
const base = startloc?.startIndex ?? 0;
|
|
300
326
|
throw new ASN1ParserExpectationError('Lexer caught in infinite loop.', new Production(ProductionType.SYNTAX_ERROR, [], {
|
|
301
327
|
startIndex: tokenStartIndex + base,
|
|
302
328
|
endIndex: tokenEndIndex + base,
|
|
303
|
-
lineNumber,
|
|
304
|
-
columnNumber:
|
|
329
|
+
lineNumber: tokenStartLineNumber,
|
|
330
|
+
columnNumber: tokenStartColumnNumber,
|
|
305
331
|
}));
|
|
306
332
|
}
|
|
307
333
|
loops++;
|