asn1-ts 9.0.3 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/README.md +2 -0
  2. package/dist/classes/ABSTRACT-SYNTAX.d.mts +1 -1
  3. package/dist/classes/TYPE-IDENTIFIER.d.mts +1 -1
  4. package/dist/classes/index.d.mts +2 -2
  5. package/dist/codecs/ber/decoders/decodeBitString.d.mts +1 -1
  6. package/dist/codecs/ber/decoders/decodeBoolean.d.mts +1 -1
  7. package/dist/codecs/ber/decoders/decodeDuration.d.mts +1 -1
  8. package/dist/codecs/ber/decoders/decodeDuration.mjs +2 -2
  9. package/dist/codecs/ber/decoders/decodeGeneralizedTime.d.mts +1 -1
  10. package/dist/codecs/ber/decoders/decodeGeneralizedTime.mjs +10 -4
  11. package/dist/codecs/ber/decoders/decodeReal.d.mts +1 -1
  12. package/dist/codecs/ber/decoders/decodeSequence.d.mts +1 -1
  13. package/dist/codecs/ber/decoders/decodeUTCTime.d.mts +1 -1
  14. package/dist/codecs/ber/encoders/encodeGeneralString.d.mts +1 -1
  15. package/dist/codecs/ber/encoders/encodeGraphicString.d.mts +1 -1
  16. package/dist/codecs/ber/encoders/encodeNumericString.d.mts +1 -1
  17. package/dist/codecs/ber/encoders/encodeObjectDescriptor.d.mts +1 -1
  18. package/dist/codecs/ber/encoders/encodePrintableString.d.mts +1 -1
  19. package/dist/codecs/ber/encoders/encodeVisibleString.d.mts +1 -1
  20. package/dist/codecs/ber.d.mts +1 -1
  21. package/dist/codecs/ber.mjs +2 -1
  22. package/dist/codecs/cer/decoders/decodeSequence.d.mts +1 -1
  23. package/dist/codecs/cer.d.mts +1 -1
  24. package/dist/codecs/cer.mjs +2 -1
  25. package/dist/codecs/coer/decoders/decodeBoolean.d.mts +1 -1
  26. package/dist/codecs/der/decoders/decodeBitString.d.mts +1 -1
  27. package/dist/codecs/der/decoders/decodeBoolean.d.mts +1 -1
  28. package/dist/codecs/der/decoders/decodeDuration.d.mts +1 -1
  29. package/dist/codecs/der/decoders/decodeDuration.mjs +2 -2
  30. package/dist/codecs/der/decoders/decodeGeneralizedTime.d.mts +1 -1
  31. package/dist/codecs/der/decoders/decodeReal.d.mts +1 -1
  32. package/dist/codecs/der/decoders/decodeSequence.d.mts +1 -1
  33. package/dist/codecs/der/decoders/decodeUTCTime.d.mts +1 -1
  34. package/dist/codecs/der.d.mts +1 -1
  35. package/dist/codecs/der.mjs +1 -0
  36. package/dist/codecs/x690/decoders/decodeDate.d.mts +1 -1
  37. package/dist/codecs/x690/decoders/decodeDateTime.d.mts +1 -1
  38. package/dist/codecs/x690/decoders/decodeEmbeddedPDV.d.mts +1 -1
  39. package/dist/codecs/x690/decoders/decodeExternal.d.mts +1 -1
  40. package/dist/codecs/x690/decoders/decodeExternal.mjs +1 -0
  41. package/dist/codecs/x690/decoders/decodeGeneralString.d.mts +1 -1
  42. package/dist/codecs/x690/decoders/decodeGraphicString.d.mts +1 -1
  43. package/dist/codecs/x690/decoders/decodeInteger.d.mts +1 -1
  44. package/dist/codecs/x690/decoders/decodeNumericString.d.mts +1 -1
  45. package/dist/codecs/x690/decoders/decodeOIDIRI.d.mts +1 -1
  46. package/dist/codecs/x690/decoders/decodeObjectDescriptor.d.mts +1 -1
  47. package/dist/codecs/x690/decoders/decodeObjectIdentifier.d.mts +1 -1
  48. package/dist/codecs/x690/decoders/decodePrintableString.d.mts +1 -1
  49. package/dist/codecs/x690/decoders/decodeRelativeOIDIRI.d.mts +1 -1
  50. package/dist/codecs/x690/decoders/decodeRelativeObjectIdentifier.d.mts +1 -1
  51. package/dist/codecs/x690/decoders/decodeTime.d.mts +1 -1
  52. package/dist/codecs/x690/decoders/decodeTimeOfDay.d.mts +1 -1
  53. package/dist/codecs/x690/decoders/decodeVisibleString.d.mts +1 -1
  54. package/dist/codecs/x690/encoders/encodeBitString.d.mts +1 -1
  55. package/dist/codecs/x690/encoders/encodeBoolean.d.mts +1 -1
  56. package/dist/codecs/x690/encoders/encodeCharacterString.mjs +1 -0
  57. package/dist/codecs/x690/encoders/encodeDate.d.mts +1 -1
  58. package/dist/codecs/x690/encoders/encodeDateTime.d.mts +1 -1
  59. package/dist/codecs/x690/encoders/encodeDuration.d.mts +1 -1
  60. package/dist/codecs/x690/encoders/encodeEmbeddedPDV.d.mts +1 -1
  61. package/dist/codecs/x690/encoders/encodeExternal.d.mts +1 -1
  62. package/dist/codecs/x690/encoders/encodeGeneralizedTime.d.mts +1 -1
  63. package/dist/codecs/x690/encoders/encodeInteger.d.mts +1 -1
  64. package/dist/codecs/x690/encoders/encodeOIDIRI.d.mts +1 -1
  65. package/dist/codecs/x690/encoders/encodeObjectIdentifier.d.mts +1 -1
  66. package/dist/codecs/x690/encoders/encodeReal.d.mts +1 -1
  67. package/dist/codecs/x690/encoders/encodeRelativeOIDIRI.d.mts +1 -1
  68. package/dist/codecs/x690/encoders/encodeRelativeObjectIdentifier.d.mts +1 -1
  69. package/dist/codecs/x690/encoders/encodeSequence.d.mts +1 -1
  70. package/dist/codecs/x690/encoders/encodeSequence.mjs +1 -0
  71. package/dist/codecs/x690/encoders/encodeTime.d.mts +1 -1
  72. package/dist/codecs/x690/encoders/encodeTimeOfDay.d.mts +1 -1
  73. package/dist/codecs/x690/encoders/encodeUTCTime.d.mts +1 -1
  74. package/dist/functional.d.mts +40 -42
  75. package/dist/functional.mjs +118 -118
  76. package/dist/index.d.mts +0 -2
  77. package/dist/index.mjs +0 -1
  78. package/dist/interfaces/index.d.mts +12 -12
  79. package/dist/types/External.d.mts +1 -1
  80. package/dist/types/TypeIdentifier.mjs +1 -0
  81. package/dist/types/time/DATE-ENCODING.d.mts +1 -1
  82. package/dist/types/time/DURATION-EQUIVALENT.d.mts +1 -1
  83. package/dist/types/time/DURATION-INTERVAL-ENCODING.d.mts +1 -1
  84. package/dist/types/time/HOURS-DIFF-ENCODING.d.mts +1 -1
  85. package/dist/types/time/HOURS-ENCODING.d.mts +1 -1
  86. package/dist/types/time/HOURS-MINUTES-DIFF-ENCODING.d.mts +1 -1
  87. package/dist/types/time/HOURS-MINUTES-ENCODING.d.mts +1 -1
  88. package/dist/types/time/TIME-OF-DAY-DIFF-ENCODING.d.mts +1 -1
  89. package/dist/types/time/TIME-OF-DAY-ENCODING.d.mts +1 -1
  90. package/dist/types/time/TIME-OF-DAY-FRACTION-DIFF-ENCODING.d.mts +1 -1
  91. package/dist/types/time/TIME-OF-DAY-FRACTION-ENCODING.d.mts +1 -1
  92. package/dist/types/time/YEAR-ENCODING.d.mts +1 -1
  93. package/dist/types/time/YEAR-MONTH-ENCODING.d.mts +1 -1
  94. package/dist/utils/isInCanonicalOrder.mjs +1 -1
  95. package/dist/utils/packBits.d.mts +1 -1
  96. package/dist/utils/unpackBits.d.mts +1 -1
  97. package/dist/validators/datetimeComponentValidator.d.mts +1 -1
  98. package/dist/values.d.mts +1 -0
  99. package/dist/values.mjs +2 -1
  100. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
- import { ASN1Element, ASN1TagClass, ASN1Construction, BIT_STRING, INTEGER, OBJECT_IDENTIFIER, ObjectDescriptor, REAL, RELATIVE_OID, RELATIVE_OID_IRI, TIME, TIME_OF_DAY, DURATION, DATE, DATE_TIME, EXTERNAL, EMBEDDED_PDV, CharacterString, NULL, ENUMERATED, BOOLEAN, INSTANCE_OF, OID_IRI, OCTET_STRING, BMPString, VisibleString, VideotexString, TeletexString, T61String, UniversalString, GeneralString, GeneralizedTime, UTCTime, PrintableString, GraphicString, IA5String, ISO646String, NumericString, UTF8String, SEQUENCE, SEQUENCE_OF, SET, SET_OF } from "./index.mjs";
1
+ import { ASN1Element, ASN1TagClass, ASN1Construction, CharacterString } from "./index.mjs";
2
+ import type { BIT_STRING, INTEGER, OBJECT_IDENTIFIER, ObjectDescriptor, REAL, RELATIVE_OID, RELATIVE_OID_IRI, TIME, TIME_OF_DAY, DURATION, DATE, DATE_TIME, EXTERNAL, EMBEDDED_PDV, NULL, ENUMERATED, BOOLEAN, INSTANCE_OF, OID_IRI, OCTET_STRING, BMPString, VisibleString, VideotexString, TeletexString, T61String, UniversalString, GeneralString, GeneralizedTime, UTCTime, PrintableString, GraphicString, IA5String, ISO646String, NumericString, UTF8String, SEQUENCE, SEQUENCE_OF, SET, SET_OF } from "./index.mjs";
2
3
  export interface ASN1ElementGetter<T> {
3
4
  (value?: T): ASN1Element;
4
5
  }
@@ -39,82 +40,82 @@ export declare const BER: ASN1Encoder<any>;
39
40
  export declare const CER: ASN1Encoder<any>;
40
41
  export declare const DER: ASN1Encoder<any>;
41
42
  export declare const _encodeBitString: ASN1Encoder<BIT_STRING>;
43
+ export declare const _decodeBitString: ASN1Decoder<BIT_STRING>;
42
44
  export declare const _encodeBoolean: ASN1Encoder<BOOLEAN>;
45
+ export declare const _decodeBoolean: ASN1Decoder<BOOLEAN>;
43
46
  export declare const _encodeUnrestrictedCharacterString: ASN1Encoder<CharacterString>;
47
+ export declare const _decodeUnrestrictedCharacterString: ASN1Decoder<CharacterString>;
44
48
  export declare const _encodeDate: ASN1Encoder<DATE>;
49
+ export declare const _decodeDate: ASN1Decoder<DATE>;
45
50
  export declare const _encodeDateTime: ASN1Encoder<DATE_TIME>;
51
+ export declare const _decodeDateTime: ASN1Decoder<DATE_TIME>;
46
52
  export declare const _encodeDuration: ASN1Encoder<DURATION>;
53
+ export declare const _decodeDuration: ASN1Decoder<DURATION>;
47
54
  export declare const _encodeEmbeddedPDV: ASN1Encoder<EMBEDDED_PDV>;
55
+ export declare const _decodeEmbeddedPDV: ASN1Decoder<EMBEDDED_PDV>;
48
56
  export declare const _encodeEnumerated: ASN1Encoder<ENUMERATED>;
57
+ export declare const _decodeEnumerated: ASN1Decoder<ENUMERATED>;
49
58
  export declare const _encodeExternal: ASN1Encoder<EXTERNAL>;
59
+ export declare const _decodeExternal: ASN1Decoder<EXTERNAL>;
50
60
  export declare const _encodeInstanceOf: ASN1Encoder<INSTANCE_OF>;
61
+ export declare const _decodeInstanceOf: ASN1Decoder<INSTANCE_OF>;
51
62
  export declare const _encodeInteger: ASN1Encoder<INTEGER>;
63
+ export declare const _decodeInteger: ASN1Decoder<INTEGER>;
52
64
  export declare const _encodeIRI: ASN1Encoder<OID_IRI>;
65
+ export declare const _decodeIRI: ASN1Decoder<OID_IRI>;
53
66
  export declare const _encodeNull: ASN1Encoder<NULL>;
67
+ export declare const _decodeNull: ASN1Decoder<NULL>;
54
68
  export declare const _encodeObjectIdentifier: ASN1Encoder<OBJECT_IDENTIFIER>;
69
+ export declare const _decodeObjectIdentifier: ASN1Decoder<OBJECT_IDENTIFIER>;
55
70
  export declare const _encodeOctetString: ASN1Encoder<OCTET_STRING>;
71
+ export declare const _decodeOctetString: ASN1Decoder<OCTET_STRING>;
56
72
  export declare const _encodeReal: ASN1Encoder<REAL>;
73
+ export declare const _decodeReal: ASN1Decoder<REAL>;
57
74
  export declare const _encodeRelativeIRI: ASN1Encoder<RELATIVE_OID_IRI>;
75
+ export declare const _decodeRelativeIRI: ASN1Decoder<RELATIVE_OID_IRI>;
58
76
  export declare const _encodeRelativeOID: ASN1Encoder<RELATIVE_OID>;
77
+ export declare const _decodeRelativeOID: ASN1Decoder<RELATIVE_OID>;
59
78
  export declare const _encodeSequence: ASN1Encoder<SEQUENCE<ASN1Element>>;
79
+ export declare const _decodeSequence: ASN1Decoder<SEQUENCE<ASN1Element>>;
60
80
  export declare const _encodeSet: ASN1Encoder<SET<ASN1Element>>;
81
+ export declare const _decodeSet: ASN1Decoder<SET<ASN1Element>>;
61
82
  export declare const _encodeTime: ASN1Encoder<TIME>;
83
+ export declare const _decodeTime: ASN1Decoder<TIME>;
62
84
  export declare const _encodeTimeOfDay: ASN1Encoder<TIME_OF_DAY>;
85
+ export declare const _decodeTimeOfDay: ASN1Decoder<TIME_OF_DAY>;
63
86
  export declare const _encodeBMPString: ASN1Encoder<BMPString>;
87
+ export declare const _decodeBMPString: ASN1Decoder<BMPString>;
64
88
  export declare const _encodeGeneralString: ASN1Encoder<GeneralString>;
89
+ export declare const _decodeGeneralString: ASN1Decoder<GeneralString>;
65
90
  export declare const _encodeGraphicString: ASN1Encoder<GraphicString>;
91
+ export declare const _decodeGraphicString: ASN1Decoder<GraphicString>;
66
92
  export declare const _encodeIA5String: ASN1Encoder<IA5String>;
93
+ export declare const _decodeIA5String: ASN1Decoder<IA5String>;
67
94
  export declare const _encodeISO646String: ASN1Encoder<ISO646String>;
95
+ export declare const _decodeISO646String: ASN1Decoder<ISO646String>;
68
96
  export declare const _encodeNumericString: ASN1Encoder<NumericString>;
69
- export declare const _encodePrintableString: ASN1Encoder<PrintableString>;
70
- export declare const _encodeTeletexString: ASN1Encoder<TeletexString>;
71
- export declare const _encodeT61String: ASN1Encoder<T61String>;
72
- export declare const _encodeUniversalString: ASN1Encoder<UniversalString>;
73
- export declare const _encodeUTF8String: ASN1Encoder<UTF8String>;
74
- export declare const _encodeVideotexString: ASN1Encoder<VideotexString>;
75
- export declare const _encodeVisibleString: ASN1Encoder<VisibleString>;
76
- export declare const _encodeGeneralizedTime: ASN1Encoder<GeneralizedTime>;
77
- export declare const _encodeUTCTime: ASN1Encoder<UTCTime>;
78
- export declare const _encodeObjectDescriptor: ASN1Encoder<ObjectDescriptor>;
79
- export declare const _encodeAny: ASN1Encoder<ASN1Element>;
80
- export declare const _decodeBitString: ASN1Decoder<BIT_STRING>;
81
- export declare const _decodeBoolean: ASN1Decoder<BOOLEAN>;
82
- export declare const _decodeUnrestrictedCharacterString: ASN1Decoder<CharacterString>;
83
- export declare const _decodeDate: ASN1Decoder<DATE>;
84
- export declare const _decodeDateTime: ASN1Decoder<DATE_TIME>;
85
- export declare const _decodeDuration: ASN1Decoder<DURATION>;
86
- export declare const _decodeEmbeddedPDV: ASN1Decoder<EMBEDDED_PDV>;
87
- export declare const _decodeEnumerated: ASN1Decoder<ENUMERATED>;
88
- export declare const _decodeExternal: ASN1Decoder<EXTERNAL>;
89
- export declare const _decodeInstanceOf: ASN1Decoder<INSTANCE_OF>;
90
- export declare const _decodeInteger: ASN1Decoder<INTEGER>;
91
- export declare const _decodeIRI: ASN1Decoder<OID_IRI>;
92
- export declare const _decodeNull: ASN1Decoder<NULL>;
93
- export declare const _decodeObjectIdentifier: ASN1Decoder<OBJECT_IDENTIFIER>;
94
- export declare const _decodeOctetString: ASN1Decoder<OCTET_STRING>;
95
- export declare const _decodeReal: ASN1Decoder<REAL>;
96
- export declare const _decodeRelativeIRI: ASN1Decoder<RELATIVE_OID_IRI>;
97
- export declare const _decodeRelativeOID: ASN1Decoder<RELATIVE_OID>;
98
- export declare const _decodeSequence: ASN1Decoder<SEQUENCE<ASN1Element>>;
99
- export declare const _decodeSet: ASN1Decoder<SET<ASN1Element>>;
100
- export declare const _decodeTime: ASN1Decoder<TIME>;
101
- export declare const _decodeTimeOfDay: ASN1Decoder<TIME_OF_DAY>;
102
- export declare const _decodeBMPString: ASN1Decoder<BMPString>;
103
- export declare const _decodeGeneralString: ASN1Decoder<GeneralString>;
104
- export declare const _decodeGraphicString: ASN1Decoder<GraphicString>;
105
- export declare const _decodeIA5String: ASN1Decoder<IA5String>;
106
- export declare const _decodeISO646String: ASN1Decoder<IA5String>;
107
97
  export declare const _decodeNumericString: ASN1Decoder<NumericString>;
98
+ export declare const _encodePrintableString: ASN1Encoder<PrintableString>;
108
99
  export declare const _decodePrintableString: ASN1Decoder<PrintableString>;
100
+ export declare const _encodeTeletexString: ASN1Encoder<TeletexString>;
109
101
  export declare const _decodeTeletexString: ASN1Decoder<TeletexString>;
102
+ export declare const _encodeT61String: ASN1Encoder<T61String>;
110
103
  export declare const _decodeT61String: ASN1Decoder<T61String>;
104
+ export declare const _encodeUniversalString: ASN1Encoder<UniversalString>;
111
105
  export declare const _decodeUniversalString: ASN1Decoder<UniversalString>;
106
+ export declare const _encodeUTF8String: ASN1Encoder<UTF8String>;
112
107
  export declare const _decodeUTF8String: ASN1Decoder<UTF8String>;
108
+ export declare const _encodeVideotexString: ASN1Encoder<VideotexString>;
113
109
  export declare const _decodeVideotexString: ASN1Decoder<VideotexString>;
110
+ export declare const _encodeVisibleString: ASN1Encoder<VisibleString>;
114
111
  export declare const _decodeVisibleString: ASN1Decoder<VisibleString>;
112
+ export declare const _encodeGeneralizedTime: ASN1Encoder<GeneralizedTime>;
115
113
  export declare const _decodeGeneralizedTime: ASN1Decoder<GeneralizedTime>;
114
+ export declare const _encodeUTCTime: ASN1Encoder<UTCTime>;
116
115
  export declare const _decodeUTCTime: ASN1Decoder<UTCTime>;
116
+ export declare const _encodeObjectDescriptor: ASN1Encoder<ObjectDescriptor>;
117
117
  export declare const _decodeObjectDescriptor: ASN1Decoder<ObjectDescriptor>;
118
+ export declare const _encodeAny: ASN1Encoder<ASN1Element>;
118
119
  export declare const _decodeAny: ASN1Decoder<ASN1Element>;
119
120
  export declare class ComponentSpec {
120
121
  readonly name: string;
@@ -125,10 +126,7 @@ export declare class ComponentSpec {
125
126
  constructor(name: string, optional: boolean, selector: TagValidator, groupIndex?: number | undefined, versionNumber?: number | undefined);
126
127
  }
127
128
  export declare function _parse_set(set: ASN1Element, decodingCallbacks: DecodingMap, rootComponentTypeList1: ComponentSpec[], extensionAdditionsList: ComponentSpec[], rootComponentTypeList2: ComponentSpec[], unrecognizedExtensionHandler?: DecodingCallback, maximumElements?: number): void;
128
- export declare function _parse_component_type_list(componentTypeList: ComponentSpec[], decodingCallbacks: DecodingMap, elements: ASN1Element[], isExtensionAdditionsList: boolean): number;
129
129
  export declare function _get_possible_initial_components(componentTypeList: ComponentSpec[]): ComponentSpec[];
130
- export declare function _parse_sequence_with_trailing_rctl(seq: ASN1Element, decodingCallbacks: DecodingMap, rootComponentTypeList1: ComponentSpec[], extensionAdditionsList: ComponentSpec[], rootComponentTypeList2: ComponentSpec[], unrecognizedExtensionHandler?: DecodingCallback): void;
131
- export declare function _parse_sequence_without_trailing_rctl(seq: ASN1Element, decodingCallbacks: DecodingMap, rootComponentTypeList1: ComponentSpec[], extensionAdditionsList: ComponentSpec[], unrecognizedExtensionHandler?: DecodingCallback): void;
132
130
  export declare function _parse_sequence(seq: ASN1Element, decodingCallbacks: DecodingMap, rootComponentTypeList1: ComponentSpec[], extensionAdditionsList: ComponentSpec[], rootComponentTypeList2: ComponentSpec[], unrecognizedExtensionHandler?: DecodingCallback): void;
133
131
  export declare function _encode_choice<T extends object>(choices: Record<keyof T, ASN1Encoder<T[AllUnionMemberKeys<T>]>>, elGetter: ASN1Encoder<T>): ASN1Encoder<T>;
134
132
  export declare function _decode_inextensible_choice<T>(choices: Record<string, [
@@ -1,4 +1,4 @@
1
- import { ASN1Element, BERElement, CERElement, DERElement, ASN1TagClass, ASN1Construction, ASN1UniversalType, ASN1ConstructionError, } from "./index.mjs";
1
+ import { ASN1Element, BERElement, CERElement, DERElement, ASN1TagClass, ASN1Construction, ASN1UniversalType, ASN1ConstructionError, CharacterString, } from "./index.mjs";
2
2
  export function hasTag(tagClass, tagNumber) {
3
3
  return function (index, elements) {
4
4
  const el = elements[index];
@@ -124,6 +124,9 @@ export const _encodeBitString = (value, elGetter) => {
124
124
  el.tagNumber = ASN1UniversalType.bitString;
125
125
  return el;
126
126
  };
127
+ export const _decodeBitString = (el) => {
128
+ return el.bitString;
129
+ };
127
130
  export const _encodeBoolean = (value, elGetter) => {
128
131
  const el = elGetter(value, elGetter);
129
132
  el.boolean = value;
@@ -131,6 +134,9 @@ export const _encodeBoolean = (value, elGetter) => {
131
134
  el.tagNumber = ASN1UniversalType.boolean;
132
135
  return el;
133
136
  };
137
+ export const _decodeBoolean = (el) => {
138
+ return el.boolean;
139
+ };
134
140
  export const _encodeUnrestrictedCharacterString = (value, elGetter) => {
135
141
  const el = elGetter(value, elGetter);
136
142
  el.characterString = value;
@@ -138,6 +144,9 @@ export const _encodeUnrestrictedCharacterString = (value, elGetter) => {
138
144
  el.tagNumber = ASN1UniversalType.characterString;
139
145
  return el;
140
146
  };
147
+ export const _decodeUnrestrictedCharacterString = (el) => {
148
+ return el.characterString;
149
+ };
141
150
  export const _encodeDate = (value, elGetter) => {
142
151
  const el = elGetter(value, elGetter);
143
152
  el.date = value;
@@ -145,6 +154,9 @@ export const _encodeDate = (value, elGetter) => {
145
154
  el.tagNumber = ASN1UniversalType.date;
146
155
  return el;
147
156
  };
157
+ export const _decodeDate = (el) => {
158
+ return el.date;
159
+ };
148
160
  export const _encodeDateTime = (value, elGetter) => {
149
161
  const el = elGetter(value, elGetter);
150
162
  el.dateTime = value;
@@ -152,6 +164,9 @@ export const _encodeDateTime = (value, elGetter) => {
152
164
  el.tagNumber = ASN1UniversalType.dateTime;
153
165
  return el;
154
166
  };
167
+ export const _decodeDateTime = (el) => {
168
+ return el.dateTime;
169
+ };
155
170
  export const _encodeDuration = (value, elGetter) => {
156
171
  const el = elGetter(value, elGetter);
157
172
  el.duration = value;
@@ -159,6 +174,9 @@ export const _encodeDuration = (value, elGetter) => {
159
174
  el.tagNumber = ASN1UniversalType.duration;
160
175
  return el;
161
176
  };
177
+ export const _decodeDuration = (el) => {
178
+ return el.duration;
179
+ };
162
180
  export const _encodeEmbeddedPDV = (value, elGetter) => {
163
181
  const el = elGetter(value, elGetter);
164
182
  el.embeddedPDV = value;
@@ -166,6 +184,9 @@ export const _encodeEmbeddedPDV = (value, elGetter) => {
166
184
  el.tagNumber = ASN1UniversalType.embeddedPDV;
167
185
  return el;
168
186
  };
187
+ export const _decodeEmbeddedPDV = (el) => {
188
+ return el.embeddedPDV;
189
+ };
169
190
  export const _encodeEnumerated = (value, elGetter) => {
170
191
  const el = elGetter(value, elGetter);
171
192
  el.enumerated = value;
@@ -173,6 +194,9 @@ export const _encodeEnumerated = (value, elGetter) => {
173
194
  el.tagNumber = ASN1UniversalType.enumerated;
174
195
  return el;
175
196
  };
197
+ export const _decodeEnumerated = (el) => {
198
+ return el.enumerated;
199
+ };
176
200
  export const _encodeExternal = (value, elGetter) => {
177
201
  const el = elGetter(value, elGetter);
178
202
  el.external = value;
@@ -180,6 +204,9 @@ export const _encodeExternal = (value, elGetter) => {
180
204
  el.tagNumber = ASN1UniversalType.external;
181
205
  return el;
182
206
  };
207
+ export const _decodeExternal = (el) => {
208
+ return el.external;
209
+ };
183
210
  export const _encodeInstanceOf = (value, elGetter) => {
184
211
  const el = elGetter(value, elGetter);
185
212
  el.external = value;
@@ -187,6 +214,9 @@ export const _encodeInstanceOf = (value, elGetter) => {
187
214
  el.tagNumber = ASN1UniversalType.external;
188
215
  return el;
189
216
  };
217
+ export const _decodeInstanceOf = (el) => {
218
+ return el.external;
219
+ };
190
220
  export const _encodeInteger = (value, elGetter) => {
191
221
  const el = elGetter(value, elGetter);
192
222
  el.integer = value;
@@ -194,6 +224,9 @@ export const _encodeInteger = (value, elGetter) => {
194
224
  el.tagNumber = ASN1UniversalType.integer;
195
225
  return el;
196
226
  };
227
+ export const _decodeInteger = (el) => {
228
+ return el.integer;
229
+ };
197
230
  export const _encodeIRI = (value, elGetter) => {
198
231
  const el = elGetter(value, elGetter);
199
232
  el.oidIRI = value;
@@ -201,6 +234,9 @@ export const _encodeIRI = (value, elGetter) => {
201
234
  el.tagNumber = ASN1UniversalType.oidIRI;
202
235
  return el;
203
236
  };
237
+ export const _decodeIRI = (el) => {
238
+ return el.oidIRI;
239
+ };
204
240
  export const _encodeNull = (value, elGetter) => {
205
241
  const el = elGetter(value, elGetter);
206
242
  el.value = new Uint8Array(0);
@@ -208,6 +244,9 @@ export const _encodeNull = (value, elGetter) => {
208
244
  el.tagNumber = ASN1UniversalType.nill;
209
245
  return el;
210
246
  };
247
+ export const _decodeNull = () => {
248
+ return null;
249
+ };
211
250
  export const _encodeObjectIdentifier = (value, elGetter) => {
212
251
  const el = elGetter(value, elGetter);
213
252
  el.objectIdentifier = value;
@@ -215,6 +254,9 @@ export const _encodeObjectIdentifier = (value, elGetter) => {
215
254
  el.tagNumber = ASN1UniversalType.objectIdentifier;
216
255
  return el;
217
256
  };
257
+ export const _decodeObjectIdentifier = (el) => {
258
+ return el.objectIdentifier;
259
+ };
218
260
  export const _encodeOctetString = (value, elGetter) => {
219
261
  const el = elGetter(value, elGetter);
220
262
  el.octetString = value;
@@ -222,6 +264,9 @@ export const _encodeOctetString = (value, elGetter) => {
222
264
  el.tagNumber = ASN1UniversalType.octetString;
223
265
  return el;
224
266
  };
267
+ export const _decodeOctetString = (el) => {
268
+ return el.octetString;
269
+ };
225
270
  export const _encodeReal = (value, elGetter) => {
226
271
  const el = elGetter(value, elGetter);
227
272
  el.real = value;
@@ -229,6 +274,9 @@ export const _encodeReal = (value, elGetter) => {
229
274
  el.tagNumber = ASN1UniversalType.realNumber;
230
275
  return el;
231
276
  };
277
+ export const _decodeReal = (el) => {
278
+ return el.real;
279
+ };
232
280
  export const _encodeRelativeIRI = (value, elGetter) => {
233
281
  const el = elGetter(value, elGetter);
234
282
  el.relativeOIDIRI = value;
@@ -236,6 +284,9 @@ export const _encodeRelativeIRI = (value, elGetter) => {
236
284
  el.tagNumber = ASN1UniversalType.roidIRI;
237
285
  return el;
238
286
  };
287
+ export const _decodeRelativeIRI = (el) => {
288
+ return el.relativeOIDIRI;
289
+ };
239
290
  export const _encodeRelativeOID = (value, elGetter) => {
240
291
  const el = elGetter(value, elGetter);
241
292
  el.relativeObjectIdentifier = value;
@@ -243,6 +294,9 @@ export const _encodeRelativeOID = (value, elGetter) => {
243
294
  el.tagNumber = ASN1UniversalType.relativeOID;
244
295
  return el;
245
296
  };
297
+ export const _decodeRelativeOID = (el) => {
298
+ return el.relativeObjectIdentifier;
299
+ };
246
300
  export const _encodeSequence = (value, elGetter) => {
247
301
  const el = elGetter(value, elGetter);
248
302
  el.sequence = value;
@@ -250,6 +304,9 @@ export const _encodeSequence = (value, elGetter) => {
250
304
  el.tagNumber = ASN1UniversalType.sequence;
251
305
  return el;
252
306
  };
307
+ export const _decodeSequence = (el) => {
308
+ return el.sequence;
309
+ };
253
310
  export const _encodeSet = (value, elGetter) => {
254
311
  const el = elGetter(value, elGetter);
255
312
  el.set = value;
@@ -257,6 +314,9 @@ export const _encodeSet = (value, elGetter) => {
257
314
  el.tagNumber = ASN1UniversalType.set;
258
315
  return el;
259
316
  };
317
+ export const _decodeSet = (el) => {
318
+ return el.set;
319
+ };
260
320
  export const _encodeTime = (value, elGetter) => {
261
321
  const el = elGetter(value, elGetter);
262
322
  el.time = value;
@@ -264,6 +324,9 @@ export const _encodeTime = (value, elGetter) => {
264
324
  el.tagNumber = ASN1UniversalType.time;
265
325
  return el;
266
326
  };
327
+ export const _decodeTime = (el) => {
328
+ return el.time;
329
+ };
267
330
  export const _encodeTimeOfDay = (value, elGetter) => {
268
331
  const el = elGetter(value, elGetter);
269
332
  el.timeOfDay = value;
@@ -271,6 +334,9 @@ export const _encodeTimeOfDay = (value, elGetter) => {
271
334
  el.tagNumber = ASN1UniversalType.timeOfDay;
272
335
  return el;
273
336
  };
337
+ export const _decodeTimeOfDay = (el) => {
338
+ return el.timeOfDay;
339
+ };
274
340
  export const _encodeBMPString = (value, elGetter) => {
275
341
  const el = elGetter(value, elGetter);
276
342
  el.bmpString = value;
@@ -278,6 +344,9 @@ export const _encodeBMPString = (value, elGetter) => {
278
344
  el.tagNumber = ASN1UniversalType.bmpString;
279
345
  return el;
280
346
  };
347
+ export const _decodeBMPString = (el) => {
348
+ return el.bmpString;
349
+ };
281
350
  export const _encodeGeneralString = (value, elGetter) => {
282
351
  const el = elGetter(value, elGetter);
283
352
  el.generalString = value;
@@ -285,6 +354,9 @@ export const _encodeGeneralString = (value, elGetter) => {
285
354
  el.tagNumber = ASN1UniversalType.generalString;
286
355
  return el;
287
356
  };
357
+ export const _decodeGeneralString = (el) => {
358
+ return el.generalString;
359
+ };
288
360
  export const _encodeGraphicString = (value, elGetter) => {
289
361
  const el = elGetter(value, elGetter);
290
362
  el.graphicString = value;
@@ -292,6 +364,9 @@ export const _encodeGraphicString = (value, elGetter) => {
292
364
  el.tagNumber = ASN1UniversalType.graphicString;
293
365
  return el;
294
366
  };
367
+ export const _decodeGraphicString = (el) => {
368
+ return el.graphicString;
369
+ };
295
370
  export const _encodeIA5String = (value, elGetter) => {
296
371
  const el = elGetter(value, elGetter);
297
372
  el.ia5String = value;
@@ -299,6 +374,9 @@ export const _encodeIA5String = (value, elGetter) => {
299
374
  el.tagNumber = ASN1UniversalType.ia5String;
300
375
  return el;
301
376
  };
377
+ export const _decodeIA5String = (el) => {
378
+ return el.ia5String;
379
+ };
302
380
  export const _encodeISO646String = (value, elGetter) => {
303
381
  const el = elGetter(value, elGetter);
304
382
  el.ia5String = value;
@@ -306,6 +384,9 @@ export const _encodeISO646String = (value, elGetter) => {
306
384
  el.tagNumber = ASN1UniversalType.ia5String;
307
385
  return el;
308
386
  };
387
+ export const _decodeISO646String = (el) => {
388
+ return el.ia5String;
389
+ };
309
390
  export const _encodeNumericString = (value, elGetter) => {
310
391
  const el = elGetter(value, elGetter);
311
392
  el.numericString = value;
@@ -313,6 +394,9 @@ export const _encodeNumericString = (value, elGetter) => {
313
394
  el.tagNumber = ASN1UniversalType.numericString;
314
395
  return el;
315
396
  };
397
+ export const _decodeNumericString = (el) => {
398
+ return el.numericString;
399
+ };
316
400
  export const _encodePrintableString = (value, elGetter) => {
317
401
  const el = elGetter(value, elGetter);
318
402
  el.printableString = value;
@@ -320,6 +404,9 @@ export const _encodePrintableString = (value, elGetter) => {
320
404
  el.tagNumber = ASN1UniversalType.printableString;
321
405
  return el;
322
406
  };
407
+ export const _decodePrintableString = (el) => {
408
+ return el.printableString;
409
+ };
323
410
  export const _encodeTeletexString = (value, elGetter) => {
324
411
  const el = elGetter(value, elGetter);
325
412
  el.teletexString = value;
@@ -327,6 +414,9 @@ export const _encodeTeletexString = (value, elGetter) => {
327
414
  el.tagNumber = ASN1UniversalType.teletexString;
328
415
  return el;
329
416
  };
417
+ export const _decodeTeletexString = (el) => {
418
+ return el.teletexString;
419
+ };
330
420
  export const _encodeT61String = (value, elGetter) => {
331
421
  const el = elGetter(value, elGetter);
332
422
  el.teletexString = value;
@@ -334,6 +424,9 @@ export const _encodeT61String = (value, elGetter) => {
334
424
  el.tagNumber = ASN1UniversalType.teletexString;
335
425
  return el;
336
426
  };
427
+ export const _decodeT61String = (el) => {
428
+ return el.teletexString;
429
+ };
337
430
  export const _encodeUniversalString = (value, elGetter) => {
338
431
  const el = elGetter(value, elGetter);
339
432
  el.universalString = value;
@@ -341,6 +434,9 @@ export const _encodeUniversalString = (value, elGetter) => {
341
434
  el.tagNumber = ASN1UniversalType.universalString;
342
435
  return el;
343
436
  };
437
+ export const _decodeUniversalString = (el) => {
438
+ return el.universalString;
439
+ };
344
440
  export const _encodeUTF8String = (value, elGetter) => {
345
441
  const el = elGetter(value, elGetter);
346
442
  el.utf8String = value;
@@ -348,6 +444,9 @@ export const _encodeUTF8String = (value, elGetter) => {
348
444
  el.tagNumber = ASN1UniversalType.utf8String;
349
445
  return el;
350
446
  };
447
+ export const _decodeUTF8String = (el) => {
448
+ return el.utf8String;
449
+ };
351
450
  export const _encodeVideotexString = (value, elGetter) => {
352
451
  const el = elGetter(value, elGetter);
353
452
  el.videotexString = value;
@@ -355,6 +454,9 @@ export const _encodeVideotexString = (value, elGetter) => {
355
454
  el.tagNumber = ASN1UniversalType.videotexString;
356
455
  return el;
357
456
  };
457
+ export const _decodeVideotexString = (el) => {
458
+ return el.videotexString;
459
+ };
358
460
  export const _encodeVisibleString = (value, elGetter) => {
359
461
  const el = elGetter(value, elGetter);
360
462
  el.visibleString = value;
@@ -362,6 +464,9 @@ export const _encodeVisibleString = (value, elGetter) => {
362
464
  el.tagNumber = ASN1UniversalType.visibleString;
363
465
  return el;
364
466
  };
467
+ export const _decodeVisibleString = (el) => {
468
+ return el.visibleString;
469
+ };
365
470
  export const _encodeGeneralizedTime = (value, elGetter) => {
366
471
  const el = elGetter(value, elGetter);
367
472
  el.generalizedTime = value;
@@ -369,6 +474,9 @@ export const _encodeGeneralizedTime = (value, elGetter) => {
369
474
  el.tagNumber = ASN1UniversalType.generalizedTime;
370
475
  return el;
371
476
  };
477
+ export const _decodeGeneralizedTime = (el) => {
478
+ return el.generalizedTime;
479
+ };
372
480
  export const _encodeUTCTime = (value, elGetter) => {
373
481
  const el = elGetter(value, elGetter);
374
482
  el.utcTime = value;
@@ -376,6 +484,9 @@ export const _encodeUTCTime = (value, elGetter) => {
376
484
  el.tagNumber = ASN1UniversalType.utcTime;
377
485
  return el;
378
486
  };
487
+ export const _decodeUTCTime = (el) => {
488
+ return el.utcTime;
489
+ };
379
490
  export const _encodeObjectDescriptor = (value, elGetter) => {
380
491
  const el = elGetter(value, elGetter);
381
492
  el.objectDescriptor = value;
@@ -383,123 +494,12 @@ export const _encodeObjectDescriptor = (value, elGetter) => {
383
494
  el.tagNumber = ASN1UniversalType.objectDescriptor;
384
495
  return el;
385
496
  };
386
- export const _encodeAny = (value) => {
387
- return value;
388
- };
389
- export const _decodeBitString = (el) => {
390
- return el.bitString;
391
- };
392
- export const _decodeBoolean = (el) => {
393
- return el.boolean;
394
- };
395
- export const _decodeUnrestrictedCharacterString = (el) => {
396
- return el.characterString;
397
- };
398
- export const _decodeDate = (el) => {
399
- return el.date;
400
- };
401
- export const _decodeDateTime = (el) => {
402
- return el.dateTime;
403
- };
404
- export const _decodeDuration = (el) => {
405
- return el.duration;
406
- };
407
- export const _decodeEmbeddedPDV = (el) => {
408
- return el.embeddedPDV;
409
- };
410
- export const _decodeEnumerated = (el) => {
411
- return el.enumerated;
412
- };
413
- export const _decodeExternal = (el) => {
414
- return el.external;
415
- };
416
- export const _decodeInstanceOf = (el) => {
417
- return el.external;
418
- };
419
- export const _decodeInteger = (el) => {
420
- return el.integer;
421
- };
422
- export const _decodeIRI = (el) => {
423
- return el.oidIRI;
424
- };
425
- export const _decodeNull = () => {
426
- return null;
427
- };
428
- export const _decodeObjectIdentifier = (el) => {
429
- return el.objectIdentifier;
430
- };
431
- export const _decodeOctetString = (el) => {
432
- return el.octetString;
433
- };
434
- export const _decodeReal = (el) => {
435
- return el.real;
436
- };
437
- export const _decodeRelativeIRI = (el) => {
438
- return el.relativeOIDIRI;
439
- };
440
- export const _decodeRelativeOID = (el) => {
441
- return el.relativeObjectIdentifier;
442
- };
443
- export const _decodeSequence = (el) => {
444
- return el.sequence;
445
- };
446
- export const _decodeSet = (el) => {
447
- return el.set;
448
- };
449
- export const _decodeTime = (el) => {
450
- return el.time;
451
- };
452
- export const _decodeTimeOfDay = (el) => {
453
- return el.timeOfDay;
454
- };
455
- export const _decodeBMPString = (el) => {
456
- return el.bmpString;
457
- };
458
- export const _decodeGeneralString = (el) => {
459
- return el.generalString;
460
- };
461
- export const _decodeGraphicString = (el) => {
462
- return el.graphicString;
463
- };
464
- export const _decodeIA5String = (el) => {
465
- return el.ia5String;
466
- };
467
- export const _decodeISO646String = (el) => {
468
- return el.ia5String;
469
- };
470
- export const _decodeNumericString = (el) => {
471
- return el.numericString;
472
- };
473
- export const _decodePrintableString = (el) => {
474
- return el.printableString;
475
- };
476
- export const _decodeTeletexString = (el) => {
477
- return el.teletexString;
478
- };
479
- export const _decodeT61String = (el) => {
480
- return el.teletexString;
481
- };
482
- export const _decodeUniversalString = (el) => {
483
- return el.universalString;
484
- };
485
- export const _decodeUTF8String = (el) => {
486
- return el.utf8String;
487
- };
488
- export const _decodeVideotexString = (el) => {
489
- return el.videotexString;
490
- };
491
- export const _decodeVisibleString = (el) => {
492
- return el.visibleString;
493
- };
494
- export const _decodeGeneralizedTime = (el) => {
495
- return el.generalizedTime;
496
- };
497
- export const _decodeUTCTime = (el) => {
498
- return el.utcTime;
499
- };
500
497
  export const _decodeObjectDescriptor = (el) => {
501
498
  return el.objectDescriptor;
502
499
  };
500
+ export const _encodeAny = (value) => {
501
+ return value;
502
+ };
503
503
  export const _decodeAny = (el) => {
504
504
  return el;
505
505
  };
@@ -578,7 +578,7 @@ export function _parse_set(set, decodingCallbacks, rootComponentTypeList1, exten
578
578
  throw new Error(`SET '${set.name}' missing these required components: ${missingRequiredComponents.join(", ")}.`);
579
579
  }
580
580
  }
581
- export function _parse_component_type_list(componentTypeList, decodingCallbacks, elements, isExtensionAdditionsList) {
581
+ function _parse_component_type_list(componentTypeList, decodingCallbacks, elements, isExtensionAdditionsList) {
582
582
  let e = 0;
583
583
  let s = 0;
584
584
  let currentGroup = undefined;
@@ -629,7 +629,7 @@ export function _get_possible_initial_components(componentTypeList) {
629
629
  }
630
630
  return componentTypeList.slice(0, i);
631
631
  }
632
- export function _parse_sequence_with_trailing_rctl(seq, decodingCallbacks, rootComponentTypeList1, extensionAdditionsList, rootComponentTypeList2, unrecognizedExtensionHandler = () => { }) {
632
+ function _parse_sequence_with_trailing_rctl(seq, decodingCallbacks, rootComponentTypeList1, extensionAdditionsList, rootComponentTypeList2, unrecognizedExtensionHandler = () => { }) {
633
633
  const elements = seq.sequence;
634
634
  const startOfExtensions = _parse_component_type_list(rootComponentTypeList1, decodingCallbacks, elements, false);
635
635
  const possibleInitialRCTL2Components = _get_possible_initial_components(rootComponentTypeList2);
@@ -655,7 +655,7 @@ export function _parse_sequence_with_trailing_rctl(seq, decodingCallbacks, rootC
655
655
  throw new Error(`SEQUENCE '${seq.name}' had excess elements at the end.`);
656
656
  }
657
657
  }
658
- export function _parse_sequence_without_trailing_rctl(seq, decodingCallbacks, rootComponentTypeList1, extensionAdditionsList, unrecognizedExtensionHandler = () => { }) {
658
+ function _parse_sequence_without_trailing_rctl(seq, decodingCallbacks, rootComponentTypeList1, extensionAdditionsList, unrecognizedExtensionHandler = () => { }) {
659
659
  const elements = seq.sequence;
660
660
  const startOfExtensions = _parse_component_type_list(rootComponentTypeList1, decodingCallbacks, elements, false);
661
661
  const numberOfExtensionsRead = _parse_component_type_list(extensionAdditionsList, decodingCallbacks, elements.slice(startOfExtensions), true);
package/dist/index.d.mts CHANGED
@@ -4,13 +4,11 @@ export { default as CERElement } from "./codecs/cer.mjs";
4
4
  export { default as DERElement } from "./codecs/der.mjs";
5
5
  export { default as sortCanonically } from "./utils/sortCanonically.mjs";
6
6
  export { default as compareSetOfElementsCanonically } from "./utils/compareSetOfElementsCanonically.mjs";
7
- export { default as ConstructedElementSpecification } from "./ConstructedElementSpecification.mjs";
8
7
  export * from "./classes/index.mjs";
9
8
  export * from "./errors.mjs";
10
9
  export * from "./interfaces/index.mjs";
11
10
  export * from "./macros.mjs";
12
11
  export * from "./types/index.mjs";
13
- export { default as validateConstruction } from "./validators/validateConstruction.mjs";
14
12
  export * from "./validators/index.mjs";
15
13
  export * from "./values.mjs";
16
14
  export * from "./utils/index.mjs";
package/dist/index.mjs CHANGED
@@ -9,7 +9,6 @@ export * from "./errors.mjs";
9
9
  export * from "./interfaces/index.mjs";
10
10
  export * from "./macros.mjs";
11
11
  export * from "./types/index.mjs";
12
- export { default as validateConstruction } from "./validators/validateConstruction.mjs";
13
12
  export * from "./validators/index.mjs";
14
13
  export * from "./values.mjs";
15
14
  export * from "./utils/index.mjs";