asn1-ts 8.0.4 → 9.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 (429) hide show
  1. package/README.md +2 -1
  2. package/dist/{node/ConstructedElementSpecification.d.ts → ConstructedElementSpecification.d.mts} +2 -2
  3. package/dist/ConstructedElementSpecification.mjs +1 -0
  4. package/dist/{node/asn1.d.ts → asn1.d.mts} +8 -7
  5. package/dist/{node/asn1.js → asn1.mjs} +90 -130
  6. package/dist/{node/classes/ABSTRACT-SYNTAX.d.ts → classes/ABSTRACT-SYNTAX.d.mts} +2 -2
  7. package/dist/classes/ABSTRACT-SYNTAX.mjs +1 -0
  8. package/dist/{node/classes/TYPE-IDENTIFIER.d.ts → classes/TYPE-IDENTIFIER.d.mts} +2 -2
  9. package/dist/classes/TYPE-IDENTIFIER.mjs +1 -0
  10. package/dist/classes/index.d.mts +2 -0
  11. package/dist/classes/index.mjs +1 -0
  12. package/dist/{node/codecs/ber/decoders/decodeBitString.d.ts → codecs/ber/decoders/decodeBitString.d.mts} +1 -1
  13. package/dist/codecs/ber/decoders/decodeBitString.mjs +19 -0
  14. package/dist/{node/codecs/ber/decoders/decodeBoolean.d.ts → codecs/ber/decoders/decodeBoolean.d.mts} +1 -1
  15. package/dist/codecs/ber/decoders/decodeBoolean.mjs +7 -0
  16. package/dist/{node/codecs/ber/decoders/decodeDuration.d.ts → codecs/ber/decoders/decodeDuration.d.mts} +1 -1
  17. package/dist/{node/codecs/ber/decoders/decodeDuration.js → codecs/ber/decoders/decodeDuration.mjs} +9 -48
  18. package/dist/{node/codecs/ber/decoders/decodeGeneralizedTime.d.ts → codecs/ber/decoders/decodeGeneralizedTime.d.mts} +1 -1
  19. package/dist/{node/codecs/ber/decoders/decodeGeneralizedTime.js → codecs/ber/decoders/decodeGeneralizedTime.mjs} +10 -49
  20. package/dist/{node/codecs/ber/decoders/decodeReal.d.ts → codecs/ber/decoders/decodeReal.d.mts} +1 -1
  21. package/dist/codecs/ber/decoders/decodeReal.mjs +108 -0
  22. package/dist/codecs/ber/decoders/decodeSequence.d.mts +3 -0
  23. package/dist/codecs/ber/decoders/decodeSequence.mjs +11 -0
  24. package/dist/{node/codecs/ber/decoders/decodeUTCTime.d.ts → codecs/ber/decoders/decodeUTCTime.d.mts} +1 -1
  25. package/dist/codecs/ber/decoders/decodeUTCTime.mjs +45 -0
  26. package/dist/{node/codecs/ber/encoders/encodeGeneralString.d.ts → codecs/ber/encoders/encodeGeneralString.d.mts} +1 -1
  27. package/dist/codecs/ber/encoders/encodeGeneralString.mjs +13 -0
  28. package/dist/{node/codecs/ber/encoders/encodeGraphicString.d.ts → codecs/ber/encoders/encodeGraphicString.d.mts} +1 -1
  29. package/dist/codecs/ber/encoders/encodeGraphicString.mjs +13 -0
  30. package/dist/{node/codecs/ber/encoders/encodeNumericString.d.ts → codecs/ber/encoders/encodeNumericString.d.mts} +1 -1
  31. package/dist/codecs/ber/encoders/encodeNumericString.mjs +13 -0
  32. package/dist/{node/codecs/ber/encoders/encodeObjectDescriptor.d.ts → codecs/ber/encoders/encodeObjectDescriptor.d.mts} +1 -1
  33. package/dist/codecs/ber/encoders/encodeObjectDescriptor.mjs +13 -0
  34. package/dist/{node/codecs/ber/encoders/encodePrintableString.d.ts → codecs/ber/encoders/encodePrintableString.d.mts} +1 -1
  35. package/dist/codecs/ber/encoders/encodePrintableString.mjs +14 -0
  36. package/dist/{node/codecs/ber/encoders/encodeVisibleString.d.ts → codecs/ber/encoders/encodeVisibleString.d.mts} +1 -1
  37. package/dist/codecs/ber/encoders/encodeVisibleString.mjs +13 -0
  38. package/dist/{node/codecs/ber.d.ts → codecs/ber.d.mts} +5 -5
  39. package/dist/{node/codecs/ber.js → codecs/ber.mjs} +139 -176
  40. package/dist/codecs/cer/decoders/decodeSequence.d.mts +3 -0
  41. package/dist/codecs/cer/decoders/decodeSequence.mjs +14 -0
  42. package/dist/{node/codecs/cer.d.ts → codecs/cer.d.mts} +5 -5
  43. package/dist/{node/codecs/cer.js → codecs/cer.mjs} +143 -180
  44. package/dist/{node/codecs/coer/decoders/decodeBoolean.d.ts → codecs/coer/decoders/decodeBoolean.d.mts} +1 -1
  45. package/dist/codecs/coer/decoders/decodeBoolean.mjs +10 -0
  46. package/dist/{node/codecs/der/decoders/decodeBitString.d.ts → codecs/der/decoders/decodeBitString.d.mts} +1 -1
  47. package/dist/codecs/der/decoders/decodeBitString.mjs +23 -0
  48. package/dist/{node/codecs/der/decoders/decodeBoolean.d.ts → codecs/der/decoders/decodeBoolean.d.mts} +1 -1
  49. package/dist/codecs/der/decoders/decodeBoolean.mjs +10 -0
  50. package/dist/{node/codecs/der/decoders/decodeDuration.d.ts → codecs/der/decoders/decodeDuration.d.mts} +1 -1
  51. package/dist/{node/codecs/der/decoders/decodeDuration.js → codecs/der/decoders/decodeDuration.mjs} +9 -48
  52. package/dist/{node/codecs/der/decoders/decodeGeneralizedTime.d.ts → codecs/der/decoders/decodeGeneralizedTime.d.mts} +1 -1
  53. package/dist/codecs/der/decoders/decodeGeneralizedTime.mjs +42 -0
  54. package/dist/{node/codecs/der/decoders/decodeReal.d.ts → codecs/der/decoders/decodeReal.d.mts} +1 -1
  55. package/dist/codecs/der/decoders/decodeReal.mjs +95 -0
  56. package/dist/codecs/der/decoders/decodeSequence.d.mts +3 -0
  57. package/dist/codecs/der/decoders/decodeSequence.mjs +14 -0
  58. package/dist/{node/codecs/der/decoders/decodeUTCTime.d.ts → codecs/der/decoders/decodeUTCTime.d.mts} +1 -1
  59. package/dist/codecs/der/decoders/decodeUTCTime.mjs +24 -0
  60. package/dist/{node/codecs/der.d.ts → codecs/der.d.mts} +5 -5
  61. package/dist/{node/codecs/der.js → codecs/der.mjs} +136 -173
  62. package/dist/{node/codecs/x690/decoders/decodeCharacterString.d.ts → codecs/x690/decoders/decodeCharacterString.d.mts} +1 -1
  63. package/dist/codecs/x690/decoders/decodeCharacterString.mjs +12 -0
  64. package/dist/{node/codecs/x690/decoders/decodeDate.d.ts → codecs/x690/decoders/decodeDate.d.mts} +1 -1
  65. package/dist/codecs/x690/decoders/decodeDate.mjs +10 -0
  66. package/dist/{node/codecs/x690/decoders/decodeDateTime.d.ts → codecs/x690/decoders/decodeDateTime.d.mts} +1 -1
  67. package/dist/codecs/x690/decoders/decodeDateTime.mjs +13 -0
  68. package/dist/{node/codecs/x690/decoders/decodeEmbeddedPDV.d.ts → codecs/x690/decoders/decodeEmbeddedPDV.d.mts} +1 -1
  69. package/dist/codecs/x690/decoders/decodeEmbeddedPDV.mjs +8 -0
  70. package/dist/{node/codecs/x690/decoders/decodeExternal.d.ts → codecs/x690/decoders/decodeExternal.d.mts} +1 -1
  71. package/dist/codecs/x690/decoders/decodeExternal.mjs +39 -0
  72. package/dist/{node/codecs/x690/decoders/decodeGeneralString.d.ts → codecs/x690/decoders/decodeGeneralString.d.mts} +1 -1
  73. package/dist/codecs/x690/decoders/decodeGeneralString.mjs +12 -0
  74. package/dist/{node/codecs/x690/decoders/decodeGraphicString.d.ts → codecs/x690/decoders/decodeGraphicString.d.mts} +1 -1
  75. package/dist/codecs/x690/decoders/decodeGraphicString.mjs +12 -0
  76. package/dist/{node/codecs/x690/decoders/decodeInteger.d.ts → codecs/x690/decoders/decodeInteger.d.mts} +1 -1
  77. package/dist/codecs/x690/decoders/decodeInteger.mjs +16 -0
  78. package/dist/{node/codecs/x690/decoders/decodeNumericString.d.ts → codecs/x690/decoders/decodeNumericString.d.mts} +1 -1
  79. package/dist/codecs/x690/decoders/decodeNumericString.mjs +12 -0
  80. package/dist/{node/codecs/x690/decoders/decodeOIDIRI.d.ts → codecs/x690/decoders/decodeOIDIRI.d.mts} +1 -1
  81. package/dist/codecs/x690/decoders/decodeOIDIRI.mjs +4 -0
  82. package/dist/{node/codecs/x690/decoders/decodeObjectDescriptor.d.ts → codecs/x690/decoders/decodeObjectDescriptor.d.mts} +1 -1
  83. package/dist/codecs/x690/decoders/decodeObjectDescriptor.mjs +12 -0
  84. package/dist/{node/codecs/x690/decoders/decodeObjectIdentifier.d.ts → codecs/x690/decoders/decodeObjectIdentifier.d.mts} +1 -1
  85. package/dist/codecs/x690/decoders/decodeObjectIdentifier.mjs +46 -0
  86. package/dist/{node/codecs/x690/decoders/decodePrintableString.d.ts → codecs/x690/decoders/decodePrintableString.d.mts} +1 -1
  87. package/dist/codecs/x690/decoders/decodePrintableString.mjs +13 -0
  88. package/dist/{node/codecs/x690/decoders/decodeRelativeOIDIRI.d.ts → codecs/x690/decoders/decodeRelativeOIDIRI.d.mts} +1 -1
  89. package/dist/codecs/x690/decoders/decodeRelativeOIDIRI.mjs +4 -0
  90. package/dist/{node/codecs/x690/decoders/decodeRelativeObjectIdentifier.d.ts → codecs/x690/decoders/decodeRelativeObjectIdentifier.d.mts} +1 -1
  91. package/dist/codecs/x690/decoders/decodeRelativeObjectIdentifier.mjs +24 -0
  92. package/dist/{node/codecs/x690/decoders/decodeTime.d.ts → codecs/x690/decoders/decodeTime.d.mts} +1 -1
  93. package/dist/codecs/x690/decoders/decodeTime.mjs +4 -0
  94. package/dist/{node/codecs/x690/decoders/decodeTimeOfDay.d.ts → codecs/x690/decoders/decodeTimeOfDay.d.mts} +1 -1
  95. package/dist/codecs/x690/decoders/decodeTimeOfDay.mjs +14 -0
  96. package/dist/{node/codecs/x690/decoders/decodeVisibleString.d.ts → codecs/x690/decoders/decodeVisibleString.d.mts} +1 -1
  97. package/dist/codecs/x690/decoders/decodeVisibleString.mjs +12 -0
  98. package/dist/{node/codecs/x690/encoders/encodeBitString.d.ts → codecs/x690/encoders/encodeBitString.d.mts} +1 -1
  99. package/dist/codecs/x690/encoders/encodeBitString.mjs +13 -0
  100. package/dist/{node/codecs/x690/encoders/encodeBoolean.d.ts → codecs/x690/encoders/encodeBoolean.d.mts} +1 -1
  101. package/dist/codecs/x690/encoders/encodeBoolean.mjs +3 -0
  102. package/dist/{node/codecs/x690/encoders/encodeCharacterString.d.ts → codecs/x690/encoders/encodeCharacterString.d.mts} +1 -1
  103. package/dist/codecs/x690/encoders/encodeCharacterString.mjs +9 -0
  104. package/dist/{node/codecs/x690/encoders/encodeDate.d.ts → codecs/x690/encoders/encodeDate.d.mts} +1 -1
  105. package/dist/codecs/x690/encoders/encodeDate.mjs +11 -0
  106. package/dist/{node/codecs/x690/encoders/encodeDateTime.d.ts → codecs/x690/encoders/encodeDateTime.d.mts} +1 -1
  107. package/dist/codecs/x690/encoders/encodeDateTime.mjs +14 -0
  108. package/dist/{node/codecs/x690/encoders/encodeDuration.d.ts → codecs/x690/encoders/encodeDuration.d.mts} +1 -1
  109. package/dist/{node/codecs/x690/encoders/encodeDuration.js → codecs/x690/encoders/encodeDuration.mjs} +5 -11
  110. package/dist/{node/codecs/x690/encoders/encodeEmbeddedPDV.d.ts → codecs/x690/encoders/encodeEmbeddedPDV.d.mts} +1 -1
  111. package/dist/codecs/x690/encoders/encodeEmbeddedPDV.mjs +9 -0
  112. package/dist/{node/codecs/x690/encoders/encodeExternal.d.ts → codecs/x690/encoders/encodeExternal.d.mts} +1 -1
  113. package/dist/codecs/x690/encoders/encodeExternal.mjs +36 -0
  114. package/dist/{node/codecs/x690/encoders/encodeGeneralizedTime.d.ts → codecs/x690/encoders/encodeGeneralizedTime.d.mts} +1 -1
  115. package/dist/{node/codecs/x690/encoders/encodeGeneralizedTime.js → codecs/x690/encoders/encodeGeneralizedTime.mjs} +3 -9
  116. package/dist/{node/codecs/x690/encoders/encodeInteger.d.ts → codecs/x690/encoders/encodeInteger.d.mts} +1 -1
  117. package/dist/codecs/x690/encoders/encodeInteger.mjs +4 -0
  118. package/dist/{node/codecs/x690/encoders/encodeOIDIRI.d.ts → codecs/x690/encoders/encodeOIDIRI.d.mts} +1 -1
  119. package/dist/codecs/x690/encoders/encodeOIDIRI.mjs +4 -0
  120. package/dist/codecs/x690/encoders/encodeObjectIdentifier.d.mts +3 -0
  121. package/dist/{node/codecs/x690/encoders/encodeObjectIdentifier.js → codecs/x690/encoders/encodeObjectIdentifier.mjs} +2 -4
  122. package/dist/{node/codecs/x690/encoders/encodeReal.d.ts → codecs/x690/encoders/encodeReal.d.mts} +1 -1
  123. package/dist/codecs/x690/encoders/encodeReal.mjs +4 -0
  124. package/dist/{node/codecs/x690/encoders/encodeRelativeOIDIRI.d.ts → codecs/x690/encoders/encodeRelativeOIDIRI.d.mts} +1 -1
  125. package/dist/codecs/x690/encoders/encodeRelativeOIDIRI.mjs +4 -0
  126. package/dist/{node/codecs/x690/encoders/encodeRelativeObjectIdentifier.d.ts → codecs/x690/encoders/encodeRelativeObjectIdentifier.d.mts} +1 -1
  127. package/dist/{node/codecs/x690/encoders/encodeRelativeObjectIdentifier.js → codecs/x690/encoders/encodeRelativeObjectIdentifier.mjs} +2 -4
  128. package/dist/codecs/x690/encoders/encodeSequence.d.mts +3 -0
  129. package/dist/codecs/x690/encoders/encodeSequence.mjs +4 -0
  130. package/dist/{node/codecs/x690/encoders/encodeTime.d.ts → codecs/x690/encoders/encodeTime.d.mts} +1 -1
  131. package/dist/codecs/x690/encoders/encodeTime.mjs +4 -0
  132. package/dist/{node/codecs/x690/encoders/encodeTimeOfDay.d.ts → codecs/x690/encoders/encodeTimeOfDay.d.mts} +1 -1
  133. package/dist/codecs/x690/encoders/encodeTimeOfDay.mjs +4 -0
  134. package/dist/{node/codecs/x690/encoders/encodeUTCTime.d.ts → codecs/x690/encoders/encodeUTCTime.d.mts} +1 -1
  135. package/dist/{node/codecs/x690/encoders/encodeUTCTime.js → codecs/x690/encoders/encodeUTCTime.mjs} +3 -9
  136. package/dist/{node/errors.d.ts → errors.d.mts} +1 -1
  137. package/dist/{node/errors.js → errors.mjs} +26 -23
  138. package/dist/{node/functional.d.ts → functional.d.mts} +2 -2
  139. package/dist/functional.mjs +766 -0
  140. package/dist/index.d.mts +16 -0
  141. package/dist/index.mjs +15 -0
  142. package/dist/interfaces/Byteable.d.mts +4 -0
  143. package/dist/interfaces/Byteable.mjs +1 -0
  144. package/dist/interfaces/CharacterValidationFunction.mjs +1 -0
  145. package/dist/interfaces/Debyteable.mjs +1 -0
  146. package/dist/{node/interfaces/Deelementable.d.ts → interfaces/Deelementable.d.mts} +1 -1
  147. package/dist/interfaces/Deelementable.mjs +1 -0
  148. package/dist/interfaces/Destringable.mjs +1 -0
  149. package/dist/interfaces/Elementable.d.mts +4 -0
  150. package/dist/interfaces/Elementable.mjs +1 -0
  151. package/dist/interfaces/Enbyteable.mjs +1 -0
  152. package/dist/{node/interfaces/Enelementable.d.ts → interfaces/Enelementable.d.mts} +1 -1
  153. package/dist/interfaces/Enelementable.mjs +1 -0
  154. package/dist/interfaces/Enstringable.mjs +1 -0
  155. package/dist/{node/interfaces/Identified.d.ts → interfaces/Identified.d.mts} +1 -1
  156. package/dist/interfaces/Identified.mjs +1 -0
  157. package/dist/interfaces/Long.mjs +1 -0
  158. package/dist/interfaces/Named.mjs +1 -0
  159. package/dist/interfaces/Stringable.d.mts +4 -0
  160. package/dist/interfaces/Stringable.mjs +1 -0
  161. package/dist/interfaces/index.d.mts +12 -0
  162. package/dist/interfaces/index.mjs +1 -0
  163. package/dist/{node/macros.d.ts → macros.d.mts} +5 -5
  164. package/dist/macros.mjs +14 -0
  165. package/dist/{node/types/CharacterString.d.ts → types/CharacterString.d.mts} +1 -1
  166. package/dist/{node/types/CharacterString.js → types/CharacterString.mjs} +3 -4
  167. package/dist/{node/types/EmbeddedPDV.d.ts → types/EmbeddedPDV.d.mts} +1 -1
  168. package/dist/{node/types/EmbeddedPDV.js → types/EmbeddedPDV.mjs} +3 -4
  169. package/dist/{node/types/External.d.ts → types/External.d.mts} +2 -2
  170. package/dist/{node/types/External.js → types/External.mjs} +7 -9
  171. package/dist/{node/types/ObjectIdentifier.d.ts → types/ObjectIdentifier.d.mts} +1 -0
  172. package/dist/{node/types/ObjectIdentifier.js → types/ObjectIdentifier.mjs} +6 -11
  173. package/dist/{node/types/TypeIdentifier.d.ts → types/TypeIdentifier.d.mts} +2 -2
  174. package/dist/types/TypeIdentifier.mjs +8 -0
  175. package/dist/types/index.d.mts +18 -0
  176. package/dist/types/index.mjs +18 -0
  177. package/dist/{node/types/time/DATE-ENCODING.d.ts → types/time/DATE-ENCODING.d.mts} +1 -1
  178. package/dist/types/time/DATE-ENCODING.mjs +13 -0
  179. package/dist/{node/types/time/DURATION-EQUIVALENT.d.ts → types/time/DURATION-EQUIVALENT.d.mts} +1 -1
  180. package/dist/types/time/DURATION-EQUIVALENT.mjs +93 -0
  181. package/dist/{node/types/time/DURATION-INTERVAL-ENCODING.d.ts → types/time/DURATION-INTERVAL-ENCODING.d.mts} +1 -1
  182. package/dist/types/time/DURATION-INTERVAL-ENCODING.mjs +50 -0
  183. package/dist/{node/types/time/HOURS-DIFF-ENCODING.d.ts → types/time/HOURS-DIFF-ENCODING.d.mts} +1 -1
  184. package/dist/types/time/HOURS-DIFF-ENCODING.mjs +11 -0
  185. package/dist/{node/types/time/HOURS-ENCODING.d.ts → types/time/HOURS-ENCODING.d.mts} +1 -1
  186. package/dist/types/time/HOURS-ENCODING.mjs +8 -0
  187. package/dist/{node/types/time/HOURS-MINUTES-DIFF-ENCODING.d.ts → types/time/HOURS-MINUTES-DIFF-ENCODING.d.mts} +1 -1
  188. package/dist/types/time/HOURS-MINUTES-DIFF-ENCODING.mjs +14 -0
  189. package/dist/{node/types/time/HOURS-MINUTES-ENCODING.d.ts → types/time/HOURS-MINUTES-ENCODING.d.mts} +1 -1
  190. package/dist/types/time/HOURS-MINUTES-ENCODING.mjs +11 -0
  191. package/dist/{node/types/time/TIME-OF-DAY-DIFF-ENCODING.d.ts → types/time/TIME-OF-DAY-DIFF-ENCODING.d.mts} +1 -1
  192. package/dist/types/time/TIME-OF-DAY-DIFF-ENCODING.mjs +17 -0
  193. package/dist/{node/types/time/TIME-OF-DAY-ENCODING.d.ts → types/time/TIME-OF-DAY-ENCODING.d.mts} +1 -1
  194. package/dist/types/time/TIME-OF-DAY-ENCODING.mjs +14 -0
  195. package/dist/{node/types/time/TIME-OF-DAY-FRACTION-DIFF-ENCODING.d.ts → types/time/TIME-OF-DAY-FRACTION-DIFF-ENCODING.d.mts} +1 -1
  196. package/dist/types/time/TIME-OF-DAY-FRACTION-DIFF-ENCODING.mjs +20 -0
  197. package/dist/{node/types/time/TIME-OF-DAY-FRACTION-ENCODING.d.ts → types/time/TIME-OF-DAY-FRACTION-ENCODING.d.mts} +1 -1
  198. package/dist/types/time/TIME-OF-DAY-FRACTION-ENCODING.mjs +17 -0
  199. package/dist/{node/types/time/YEAR-ENCODING.d.ts → types/time/YEAR-ENCODING.d.mts} +1 -1
  200. package/dist/types/time/YEAR-ENCODING.mjs +6 -0
  201. package/dist/{node/types/time/YEAR-MONTH-ENCODING.d.ts → types/time/YEAR-MONTH-ENCODING.d.mts} +1 -1
  202. package/dist/types/time/YEAR-MONTH-ENCODING.mjs +10 -0
  203. package/dist/utils/base128Length.mjs +3 -0
  204. package/dist/{node/utils/bigint.d.ts → utils/bigint.d.mts} +2 -1
  205. package/dist/{node/utils/bigint.js → utils/bigint.mjs} +7 -10
  206. package/dist/{node/utils/compareSetOfElementsCanonically.d.ts → utils/compareSetOfElementsCanonically.d.mts} +1 -1
  207. package/dist/{node/utils/compareSetOfElementsCanonically.js → utils/compareSetOfElementsCanonically.mjs} +1 -4
  208. package/dist/{node/utils/convertBytesToText.js → utils/convertBytesToText.mjs} +4 -6
  209. package/dist/utils/convertTextToBytes.mjs +11 -0
  210. package/dist/utils/decodeIEEE754DoublePrecisionFloat.mjs +3 -0
  211. package/dist/utils/decodeIEEE754SinglePrecisionFloat.mjs +3 -0
  212. package/dist/utils/decodeSignedBigEndianInteger.mjs +13 -0
  213. package/dist/utils/decodeUnsignedBigEndianInteger.mjs +13 -0
  214. package/dist/utils/decodeX690RealNumber.mjs +108 -0
  215. package/dist/utils/dissectFloat.mjs +13 -0
  216. package/dist/utils/encodeIEEE754DoublePrecisionFloat.mjs +3 -0
  217. package/dist/utils/encodeIEEE754SinglePrecisionFloat.mjs +3 -0
  218. package/dist/utils/encodeSignedBigEndianInteger.mjs +36 -0
  219. package/dist/utils/encodeUnsignedBigEndianInteger.mjs +23 -0
  220. package/dist/utils/encodeX690Base10RealNumber.mjs +21 -0
  221. package/dist/utils/encodeX690BinaryRealNumber.mjs +43 -0
  222. package/dist/utils/getBitFromBase128.mjs +4 -0
  223. package/dist/utils/getBitFromBase256.mjs +3 -0
  224. package/dist/{node/utils/index.d.ts → utils/index.d.mts} +22 -22
  225. package/dist/utils/index.mjs +22 -0
  226. package/dist/{node/utils/isInCanonicalOrder.d.ts → utils/isInCanonicalOrder.d.mts} +1 -1
  227. package/dist/{node/utils/isInCanonicalOrder.js → utils/isInCanonicalOrder.mjs} +4 -7
  228. package/dist/{node/utils/isUniquelyTagged.d.ts → utils/isUniquelyTagged.d.mts} +1 -1
  229. package/dist/{node/utils/isUniquelyTagged.js → utils/isUniquelyTagged.mjs} +1 -4
  230. package/dist/{node/utils/packBits.d.ts → utils/packBits.d.mts} +1 -1
  231. package/dist/{node/utils/packBits.js → utils/packBits.mjs} +3 -6
  232. package/dist/{node/utils/setBitInBase128.js → utils/setBitInBase128.mjs} +1 -4
  233. package/dist/{node/utils/setBitInBase256.js → utils/setBitInBase256.mjs} +1 -4
  234. package/dist/{node/utils/sortCanonically.d.ts → utils/sortCanonically.d.mts} +1 -1
  235. package/dist/{node/utils/sortCanonically.js → utils/sortCanonically.mjs} +2 -4
  236. package/dist/utils/splitOctetsCanonically.mjs +5 -0
  237. package/dist/{node/utils/trimLeadingPaddingBytes.js → utils/trimLeadingPaddingBytes.mjs} +1 -4
  238. package/dist/{node/utils/unpackBits.d.ts → utils/unpackBits.d.mts} +1 -1
  239. package/dist/{node/utils/unpackBits.js → utils/unpackBits.mjs} +3 -6
  240. package/dist/{node/validators/datetimeComponentValidator.d.ts → validators/datetimeComponentValidator.d.mts} +1 -1
  241. package/dist/validators/datetimeComponentValidator.mjs +14 -0
  242. package/dist/{node/validators/index.d.ts → validators/index.d.mts} +6 -6
  243. package/dist/validators/index.mjs +6 -0
  244. package/dist/validators/isGeneralCharacter.mjs +3 -0
  245. package/dist/validators/isGraphicCharacter.mjs +3 -0
  246. package/dist/validators/isNumericCharacter.mjs +3 -0
  247. package/dist/validators/isObjectDescriptorCharacter.mjs +4 -0
  248. package/dist/{node/validators/isPrintableCharacter.js → validators/isPrintableCharacter.mjs} +1 -4
  249. package/dist/validators/isVisibleCharacter.mjs +4 -0
  250. package/dist/{node/validators/validateConstruction.d.ts → validators/validateConstruction.d.mts} +2 -2
  251. package/dist/validators/validateConstruction.mjs +37 -0
  252. package/dist/validators/validateDate.mjs +49 -0
  253. package/dist/validators/validateDateTime.mjs +6 -0
  254. package/dist/validators/validateTime.mjs +21 -0
  255. package/dist/{node/values.js → values.mjs} +36 -39
  256. package/dist/{node/x690.d.ts → x690.d.mts} +2 -2
  257. package/dist/x690.mjs +95 -0
  258. package/package.json +8 -7
  259. package/dist/node/ConstructedElementSpecification.js +0 -2
  260. package/dist/node/classes/ABSTRACT-SYNTAX.js +0 -2
  261. package/dist/node/classes/TYPE-IDENTIFIER.js +0 -2
  262. package/dist/node/classes/index.d.ts +0 -2
  263. package/dist/node/classes/index.js +0 -2
  264. package/dist/node/codecs/ber/decoders/decodeBitString.js +0 -55
  265. package/dist/node/codecs/ber/decoders/decodeBoolean.js +0 -43
  266. package/dist/node/codecs/ber/decoders/decodeReal.js +0 -147
  267. package/dist/node/codecs/ber/decoders/decodeSequence.d.ts +0 -3
  268. package/dist/node/codecs/ber/decoders/decodeSequence.js +0 -17
  269. package/dist/node/codecs/ber/decoders/decodeUTCTime.js +0 -84
  270. package/dist/node/codecs/ber/encoders/encodeGeneralString.js +0 -19
  271. package/dist/node/codecs/ber/encoders/encodeGraphicString.js +0 -19
  272. package/dist/node/codecs/ber/encoders/encodeNumericString.js +0 -19
  273. package/dist/node/codecs/ber/encoders/encodeObjectDescriptor.js +0 -19
  274. package/dist/node/codecs/ber/encoders/encodePrintableString.js +0 -20
  275. package/dist/node/codecs/ber/encoders/encodeVisibleString.js +0 -19
  276. package/dist/node/codecs/cer/decoders/decodeSequence.d.ts +0 -3
  277. package/dist/node/codecs/cer/decoders/decodeSequence.js +0 -20
  278. package/dist/node/codecs/coer/decoders/decodeBoolean.js +0 -46
  279. package/dist/node/codecs/der/decoders/decodeBitString.js +0 -59
  280. package/dist/node/codecs/der/decoders/decodeBoolean.js +0 -46
  281. package/dist/node/codecs/der/decoders/decodeGeneralizedTime.js +0 -81
  282. package/dist/node/codecs/der/decoders/decodeReal.js +0 -134
  283. package/dist/node/codecs/der/decoders/decodeSequence.d.ts +0 -3
  284. package/dist/node/codecs/der/decoders/decodeSequence.js +0 -20
  285. package/dist/node/codecs/der/decoders/decodeUTCTime.js +0 -63
  286. package/dist/node/codecs/oer/decoders/decodeBoolean.d.ts +0 -2
  287. package/dist/node/codecs/oer/decoders/decodeBoolean.js +0 -43
  288. package/dist/node/codecs/x690/decoders/decodeCharacterString.js +0 -18
  289. package/dist/node/codecs/x690/decoders/decodeDate.js +0 -16
  290. package/dist/node/codecs/x690/decoders/decodeDateTime.js +0 -19
  291. package/dist/node/codecs/x690/decoders/decodeEmbeddedPDV.js +0 -14
  292. package/dist/node/codecs/x690/decoders/decodeExternal.js +0 -78
  293. package/dist/node/codecs/x690/decoders/decodeGeneralString.js +0 -18
  294. package/dist/node/codecs/x690/decoders/decodeGraphicString.js +0 -18
  295. package/dist/node/codecs/x690/decoders/decodeInteger.js +0 -51
  296. package/dist/node/codecs/x690/decoders/decodeNumericString.js +0 -18
  297. package/dist/node/codecs/x690/decoders/decodeOIDIRI.js +0 -10
  298. package/dist/node/codecs/x690/decoders/decodeObjectDescriptor.js +0 -18
  299. package/dist/node/codecs/x690/decoders/decodeObjectIdentifier.js +0 -85
  300. package/dist/node/codecs/x690/decoders/decodePrintableString.js +0 -19
  301. package/dist/node/codecs/x690/decoders/decodeRelativeOIDIRI.js +0 -10
  302. package/dist/node/codecs/x690/decoders/decodeRelativeObjectIdentifier.js +0 -60
  303. package/dist/node/codecs/x690/decoders/decodeTime.js +0 -10
  304. package/dist/node/codecs/x690/decoders/decodeTimeOfDay.js +0 -20
  305. package/dist/node/codecs/x690/decoders/decodeVisibleString.js +0 -18
  306. package/dist/node/codecs/x690/encoders/encodeBitString.js +0 -19
  307. package/dist/node/codecs/x690/encoders/encodeBoolean.js +0 -6
  308. package/dist/node/codecs/x690/encoders/encodeCharacterString.js +0 -15
  309. package/dist/node/codecs/x690/encoders/encodeDate.js +0 -50
  310. package/dist/node/codecs/x690/encoders/encodeDateTime.js +0 -53
  311. package/dist/node/codecs/x690/encoders/encodeEmbeddedPDV.js +0 -15
  312. package/dist/node/codecs/x690/encoders/encodeExternal.js +0 -42
  313. package/dist/node/codecs/x690/encoders/encodeInteger.js +0 -7
  314. package/dist/node/codecs/x690/encoders/encodeOIDIRI.js +0 -10
  315. package/dist/node/codecs/x690/encoders/encodeObjectIdentifier.d.ts +0 -2
  316. package/dist/node/codecs/x690/encoders/encodeReal.js +0 -10
  317. package/dist/node/codecs/x690/encoders/encodeRelativeOIDIRI.js +0 -10
  318. package/dist/node/codecs/x690/encoders/encodeSequence.d.ts +0 -3
  319. package/dist/node/codecs/x690/encoders/encodeSequence.js +0 -6
  320. package/dist/node/codecs/x690/encoders/encodeTime.js +0 -10
  321. package/dist/node/codecs/x690/encoders/encodeTimeOfDay.js +0 -10
  322. package/dist/node/codecs/x696/encoders/encodeBoolean.d.ts +0 -2
  323. package/dist/node/codecs/x696/encoders/encodeBoolean.js +0 -6
  324. package/dist/node/functional.js +0 -880
  325. package/dist/node/index.d.ts +0 -16
  326. package/dist/node/index.js +0 -42
  327. package/dist/node/interfaces/Byteable.d.ts +0 -4
  328. package/dist/node/interfaces/Byteable.js +0 -2
  329. package/dist/node/interfaces/CharacterValidationFunction.js +0 -2
  330. package/dist/node/interfaces/Debyteable.js +0 -2
  331. package/dist/node/interfaces/Deelementable.js +0 -2
  332. package/dist/node/interfaces/Destringable.js +0 -2
  333. package/dist/node/interfaces/Elementable.d.ts +0 -4
  334. package/dist/node/interfaces/Elementable.js +0 -2
  335. package/dist/node/interfaces/Enbyteable.js +0 -2
  336. package/dist/node/interfaces/Enelementable.js +0 -2
  337. package/dist/node/interfaces/Enstringable.js +0 -2
  338. package/dist/node/interfaces/Identified.js +0 -2
  339. package/dist/node/interfaces/Long.js +0 -2
  340. package/dist/node/interfaces/Named.js +0 -2
  341. package/dist/node/interfaces/Stringable.d.ts +0 -4
  342. package/dist/node/interfaces/Stringable.js +0 -2
  343. package/dist/node/interfaces/index.d.ts +0 -12
  344. package/dist/node/interfaces/index.js +0 -2
  345. package/dist/node/macros.js +0 -21
  346. package/dist/node/types/TypeIdentifier.js +0 -9
  347. package/dist/node/types/index.d.ts +0 -18
  348. package/dist/node/types/index.js +0 -42
  349. package/dist/node/types/time/DATE-ENCODING.js +0 -16
  350. package/dist/node/types/time/DURATION-EQUIVALENT.js +0 -124
  351. package/dist/node/types/time/DURATION-INTERVAL-ENCODING.js +0 -81
  352. package/dist/node/types/time/HOURS-DIFF-ENCODING.js +0 -15
  353. package/dist/node/types/time/HOURS-ENCODING.js +0 -13
  354. package/dist/node/types/time/HOURS-MINUTES-DIFF-ENCODING.js +0 -17
  355. package/dist/node/types/time/HOURS-MINUTES-ENCODING.js +0 -15
  356. package/dist/node/types/time/TIME-OF-DAY-DIFF-ENCODING.js +0 -19
  357. package/dist/node/types/time/TIME-OF-DAY-ENCODING.js +0 -17
  358. package/dist/node/types/time/TIME-OF-DAY-FRACTION-DIFF-ENCODING.js +0 -21
  359. package/dist/node/types/time/TIME-OF-DAY-FRACTION-ENCODING.js +0 -19
  360. package/dist/node/types/time/YEAR-ENCODING.js +0 -8
  361. package/dist/node/types/time/YEAR-MONTH-ENCODING.js +0 -14
  362. package/dist/node/utils/base128Length.js +0 -6
  363. package/dist/node/utils/convertTextToBytes.js +0 -13
  364. package/dist/node/utils/decodeIEEE754DoublePrecisionFloat.js +0 -6
  365. package/dist/node/utils/decodeIEEE754SinglePrecisionFloat.js +0 -6
  366. package/dist/node/utils/decodeSignedBigEndianInteger.js +0 -48
  367. package/dist/node/utils/decodeUnsignedBigEndianInteger.js +0 -48
  368. package/dist/node/utils/decodeX690RealNumber.js +0 -147
  369. package/dist/node/utils/dissectFloat.js +0 -16
  370. package/dist/node/utils/encodeIEEE754DoublePrecisionFloat.js +0 -6
  371. package/dist/node/utils/encodeIEEE754SinglePrecisionFloat.js +0 -6
  372. package/dist/node/utils/encodeSignedBigEndianInteger.js +0 -72
  373. package/dist/node/utils/encodeUnsignedBigEndianInteger.js +0 -58
  374. package/dist/node/utils/encodeX690Base10RealNumber.js +0 -27
  375. package/dist/node/utils/encodeX690BinaryRealNumber.js +0 -82
  376. package/dist/node/utils/getBitFromBase128.js +0 -7
  377. package/dist/node/utils/getBitFromBase256.js +0 -6
  378. package/dist/node/utils/index.js +0 -50
  379. package/dist/node/utils/splitOctetsCanonically.js +0 -8
  380. package/dist/node/validators/datetimeComponentValidator.js +0 -50
  381. package/dist/node/validators/index.js +0 -18
  382. package/dist/node/validators/isGeneralCharacter.js +0 -6
  383. package/dist/node/validators/isGraphicCharacter.js +0 -6
  384. package/dist/node/validators/isNumericCharacter.js +0 -6
  385. package/dist/node/validators/isObjectDescriptorCharacter.js +0 -10
  386. package/dist/node/validators/isVisibleCharacter.js +0 -10
  387. package/dist/node/validators/validateConstruction.js +0 -73
  388. package/dist/node/validators/validateDate.js +0 -85
  389. package/dist/node/validators/validateDateTime.js +0 -12
  390. package/dist/node/validators/validateTime.js +0 -57
  391. package/dist/node/x690.js +0 -134
  392. /package/dist/{node/interfaces/CharacterValidationFunction.d.ts → interfaces/CharacterValidationFunction.d.mts} +0 -0
  393. /package/dist/{node/interfaces/Debyteable.d.ts → interfaces/Debyteable.d.mts} +0 -0
  394. /package/dist/{node/interfaces/Destringable.d.ts → interfaces/Destringable.d.mts} +0 -0
  395. /package/dist/{node/interfaces/Enbyteable.d.ts → interfaces/Enbyteable.d.mts} +0 -0
  396. /package/dist/{node/interfaces/Enstringable.d.ts → interfaces/Enstringable.d.mts} +0 -0
  397. /package/dist/{node/interfaces/Long.d.ts → interfaces/Long.d.mts} +0 -0
  398. /package/dist/{node/interfaces/Named.d.ts → interfaces/Named.d.mts} +0 -0
  399. /package/dist/{node/utils/base128Length.d.ts → utils/base128Length.d.mts} +0 -0
  400. /package/dist/{node/utils/convertBytesToText.d.ts → utils/convertBytesToText.d.mts} +0 -0
  401. /package/dist/{node/utils/convertTextToBytes.d.ts → utils/convertTextToBytes.d.mts} +0 -0
  402. /package/dist/{node/utils/decodeIEEE754DoublePrecisionFloat.d.ts → utils/decodeIEEE754DoublePrecisionFloat.d.mts} +0 -0
  403. /package/dist/{node/utils/decodeIEEE754SinglePrecisionFloat.d.ts → utils/decodeIEEE754SinglePrecisionFloat.d.mts} +0 -0
  404. /package/dist/{node/utils/decodeSignedBigEndianInteger.d.ts → utils/decodeSignedBigEndianInteger.d.mts} +0 -0
  405. /package/dist/{node/utils/decodeUnsignedBigEndianInteger.d.ts → utils/decodeUnsignedBigEndianInteger.d.mts} +0 -0
  406. /package/dist/{node/utils/decodeX690RealNumber.d.ts → utils/decodeX690RealNumber.d.mts} +0 -0
  407. /package/dist/{node/utils/dissectFloat.d.ts → utils/dissectFloat.d.mts} +0 -0
  408. /package/dist/{node/utils/encodeIEEE754DoublePrecisionFloat.d.ts → utils/encodeIEEE754DoublePrecisionFloat.d.mts} +0 -0
  409. /package/dist/{node/utils/encodeIEEE754SinglePrecisionFloat.d.ts → utils/encodeIEEE754SinglePrecisionFloat.d.mts} +0 -0
  410. /package/dist/{node/utils/encodeSignedBigEndianInteger.d.ts → utils/encodeSignedBigEndianInteger.d.mts} +0 -0
  411. /package/dist/{node/utils/encodeUnsignedBigEndianInteger.d.ts → utils/encodeUnsignedBigEndianInteger.d.mts} +0 -0
  412. /package/dist/{node/utils/encodeX690Base10RealNumber.d.ts → utils/encodeX690Base10RealNumber.d.mts} +0 -0
  413. /package/dist/{node/utils/encodeX690BinaryRealNumber.d.ts → utils/encodeX690BinaryRealNumber.d.mts} +0 -0
  414. /package/dist/{node/utils/getBitFromBase128.d.ts → utils/getBitFromBase128.d.mts} +0 -0
  415. /package/dist/{node/utils/getBitFromBase256.d.ts → utils/getBitFromBase256.d.mts} +0 -0
  416. /package/dist/{node/utils/setBitInBase128.d.ts → utils/setBitInBase128.d.mts} +0 -0
  417. /package/dist/{node/utils/setBitInBase256.d.ts → utils/setBitInBase256.d.mts} +0 -0
  418. /package/dist/{node/utils/splitOctetsCanonically.d.ts → utils/splitOctetsCanonically.d.mts} +0 -0
  419. /package/dist/{node/utils/trimLeadingPaddingBytes.d.ts → utils/trimLeadingPaddingBytes.d.mts} +0 -0
  420. /package/dist/{node/validators/isGeneralCharacter.d.ts → validators/isGeneralCharacter.d.mts} +0 -0
  421. /package/dist/{node/validators/isGraphicCharacter.d.ts → validators/isGraphicCharacter.d.mts} +0 -0
  422. /package/dist/{node/validators/isNumericCharacter.d.ts → validators/isNumericCharacter.d.mts} +0 -0
  423. /package/dist/{node/validators/isObjectDescriptorCharacter.d.ts → validators/isObjectDescriptorCharacter.d.mts} +0 -0
  424. /package/dist/{node/validators/isPrintableCharacter.d.ts → validators/isPrintableCharacter.d.mts} +0 -0
  425. /package/dist/{node/validators/isVisibleCharacter.d.ts → validators/isVisibleCharacter.d.mts} +0 -0
  426. /package/dist/{node/validators/validateDate.d.ts → validators/validateDate.d.mts} +0 -0
  427. /package/dist/{node/validators/validateDateTime.d.ts → validators/validateDateTime.d.mts} +0 -0
  428. /package/dist/{node/validators/validateTime.d.ts → validators/validateTime.d.mts} +0 -0
  429. /package/dist/{node/values.d.ts → values.d.mts} +0 -0
@@ -1,88 +1,53 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- const asn1_1 = __importDefault(require("../asn1"));
40
- const errors = __importStar(require("../errors"));
41
- const values_1 = require("../values");
42
- const convertBytesToText_1 = __importDefault(require("../utils/convertBytesToText"));
43
- const convertTextToBytes_1 = __importDefault(require("../utils/convertTextToBytes"));
44
- const sortCanonically_1 = __importDefault(require("../utils/sortCanonically"));
45
- const ObjectIdentifier_1 = __importDefault(require("../types/ObjectIdentifier"));
46
- const encodeBoolean_1 = __importDefault(require("./x690/encoders/encodeBoolean"));
47
- const decodeBoolean_1 = __importDefault(require("./der/decoders/decodeBoolean"));
48
- const encodeBitString_1 = __importDefault(require("./x690/encoders/encodeBitString"));
49
- const decodeBitString_1 = __importDefault(require("./der/decoders/decodeBitString"));
50
- const encodeReal_1 = __importDefault(require("./x690/encoders/encodeReal"));
51
- const decodeReal_1 = __importDefault(require("./der/decoders/decodeReal"));
52
- const encodeSequence_1 = __importDefault(require("./x690/encoders/encodeSequence"));
53
- const decodeSequence_1 = __importDefault(require("./der/decoders/decodeSequence"));
54
- const encodeUTCTime_1 = __importDefault(require("./x690/encoders/encodeUTCTime"));
55
- const decodeUTCTime_1 = __importDefault(require("./der/decoders/decodeUTCTime"));
56
- const encodeGeneralizedTime_1 = __importDefault(require("./x690/encoders/encodeGeneralizedTime"));
57
- const decodeGeneralizedTime_1 = __importDefault(require("./der/decoders/decodeGeneralizedTime"));
58
- const encodeExternal_1 = __importDefault(require("../codecs/x690/encoders/encodeExternal"));
59
- const encodeEmbeddedPDV_1 = __importDefault(require("../codecs/x690/encoders/encodeEmbeddedPDV"));
60
- const encodeCharacterString_1 = __importDefault(require("../codecs/x690/encoders/encodeCharacterString"));
61
- const decodeExternal_1 = __importDefault(require("../codecs/x690/decoders/decodeExternal"));
62
- const decodeEmbeddedPDV_1 = __importDefault(require("../codecs/x690/decoders/decodeEmbeddedPDV"));
63
- const decodeCharacterString_1 = __importDefault(require("../codecs/x690/decoders/decodeCharacterString"));
64
- const encodeGraphicString_1 = __importDefault(require("../codecs/ber/encoders/encodeGraphicString"));
65
- const encodeNumericString_1 = __importDefault(require("../codecs/ber/encoders/encodeNumericString"));
66
- const encodeObjectDescriptor_1 = __importDefault(require("../codecs/ber/encoders/encodeObjectDescriptor"));
67
- const encodePrintableString_1 = __importDefault(require("../codecs/ber/encoders/encodePrintableString"));
68
- const encodeVisibleString_1 = __importDefault(require("../codecs/ber/encoders/encodeVisibleString"));
69
- const encodeGeneralString_1 = __importDefault(require("../codecs/ber/encoders/encodeGeneralString"));
70
- const decodeGraphicString_1 = __importDefault(require("../codecs/x690/decoders/decodeGraphicString"));
71
- const decodeNumericString_1 = __importDefault(require("../codecs/x690/decoders/decodeNumericString"));
72
- const decodeObjectDescriptor_1 = __importDefault(require("../codecs/x690/decoders/decodeObjectDescriptor"));
73
- const decodePrintableString_1 = __importDefault(require("../codecs/x690/decoders/decodePrintableString"));
74
- const decodeVisibleString_1 = __importDefault(require("../codecs/x690/decoders/decodeVisibleString"));
75
- const decodeGeneralString_1 = __importDefault(require("../codecs/x690/decoders/decodeGeneralString"));
76
- const encodeDuration_1 = __importDefault(require("../codecs/x690/encoders/encodeDuration"));
77
- const decodeDuration_1 = __importDefault(require("../codecs/der/decoders/decodeDuration"));
78
- const x690_1 = __importDefault(require("../x690"));
79
- const utils_1 = require("../utils");
80
- class DERElement extends x690_1.default {
1
+ import ASN1Element from "../asn1.mjs";
2
+ import * as errors from "../errors.mjs";
3
+ import { ASN1Construction, ASN1TagClass, ASN1UniversalType, } from "../values.mjs";
4
+ import convertBytesToText from "../utils/convertBytesToText.mjs";
5
+ import convertTextToBytes from "../utils/convertTextToBytes.mjs";
6
+ import sortCanonically from "../utils/sortCanonically.mjs";
7
+ import ObjectIdentifier from "../types/ObjectIdentifier.mjs";
8
+ import encodeBoolean from "./x690/encoders/encodeBoolean.mjs";
9
+ import decodeBoolean from "./der/decoders/decodeBoolean.mjs";
10
+ import encodeBitString from "./x690/encoders/encodeBitString.mjs";
11
+ import decodeBitString from "./der/decoders/decodeBitString.mjs";
12
+ import encodeReal from "./x690/encoders/encodeReal.mjs";
13
+ import decodeReal from "./der/decoders/decodeReal.mjs";
14
+ import encodeSequence from "./x690/encoders/encodeSequence.mjs";
15
+ import decodeSequence from "./der/decoders/decodeSequence.mjs";
16
+ import encodeUTCTime from "./x690/encoders/encodeUTCTime.mjs";
17
+ import decodeUTCTime from "./der/decoders/decodeUTCTime.mjs";
18
+ import encodeGeneralizedTime from "./x690/encoders/encodeGeneralizedTime.mjs";
19
+ import decodeGeneralizedTime from "./der/decoders/decodeGeneralizedTime.mjs";
20
+ import encodeExternal from "../codecs/x690/encoders/encodeExternal.mjs";
21
+ import encodeEmbeddedPDV from "../codecs/x690/encoders/encodeEmbeddedPDV.mjs";
22
+ import encodeCharacterString from "../codecs/x690/encoders/encodeCharacterString.mjs";
23
+ import decodeExternal from "../codecs/x690/decoders/decodeExternal.mjs";
24
+ import decodeEmbeddedPDV from "../codecs/x690/decoders/decodeEmbeddedPDV.mjs";
25
+ import decodeCharacterString from "../codecs/x690/decoders/decodeCharacterString.mjs";
26
+ import encodeGraphicString from "../codecs/ber/encoders/encodeGraphicString.mjs";
27
+ import encodeNumericString from "../codecs/ber/encoders/encodeNumericString.mjs";
28
+ import encodeObjectDescriptor from "../codecs/ber/encoders/encodeObjectDescriptor.mjs";
29
+ import encodePrintableString from "../codecs/ber/encoders/encodePrintableString.mjs";
30
+ import encodeVisibleString from "../codecs/ber/encoders/encodeVisibleString.mjs";
31
+ import encodeGeneralString from "../codecs/ber/encoders/encodeGeneralString.mjs";
32
+ import decodeGraphicString from "../codecs/x690/decoders/decodeGraphicString.mjs";
33
+ import decodeNumericString from "../codecs/x690/decoders/decodeNumericString.mjs";
34
+ import decodeObjectDescriptor from "../codecs/x690/decoders/decodeObjectDescriptor.mjs";
35
+ import decodePrintableString from "../codecs/x690/decoders/decodePrintableString.mjs";
36
+ import decodeVisibleString from "../codecs/x690/decoders/decodeVisibleString.mjs";
37
+ import decodeGeneralString from "../codecs/x690/decoders/decodeGeneralString.mjs";
38
+ import encodeDuration from "../codecs/x690/encoders/encodeDuration.mjs";
39
+ import decodeDuration from "../codecs/der/decoders/decodeDuration.mjs";
40
+ import X690Element from "../x690.mjs";
41
+ import { isUniquelyTagged } from "../utils/index.mjs";
42
+ import { Buffer } from "node:buffer";
43
+ export default class DERElement extends X690Element {
44
+ _value = new Uint8Array(0);
45
+ _currentValueLength;
81
46
  get value() {
82
47
  if (this._value instanceof Uint8Array) {
83
48
  return this._value;
84
49
  }
85
- const bytes = (0, encodeSequence_1.default)(this._value);
50
+ const bytes = encodeSequence(this._value);
86
51
  this._value = bytes;
87
52
  return bytes;
88
53
  }
@@ -95,112 +60,112 @@ class DERElement extends x690_1.default {
95
60
  this._value = els;
96
61
  }
97
62
  set boolean(value) {
98
- this.value = (0, encodeBoolean_1.default)(value);
63
+ this.value = encodeBoolean(value);
99
64
  }
100
65
  get boolean() {
101
- if (this.construction !== values_1.ASN1Construction.primitive) {
66
+ if (this.construction !== ASN1Construction.primitive) {
102
67
  throw new errors.ASN1ConstructionError("BOOLEAN cannot be constructed.", this);
103
68
  }
104
- return (0, decodeBoolean_1.default)(this.value);
69
+ return decodeBoolean(this.value);
105
70
  }
106
71
  set bitString(value) {
107
- this.value = (0, encodeBitString_1.default)(value);
72
+ this.value = encodeBitString(value);
108
73
  }
109
74
  get bitString() {
110
- if (this.construction !== values_1.ASN1Construction.primitive) {
75
+ if (this.construction !== ASN1Construction.primitive) {
111
76
  throw new errors.ASN1ConstructionError("BIT STRING cannot be constructed.", this);
112
77
  }
113
- return (0, decodeBitString_1.default)(this.value);
78
+ return decodeBitString(this.value);
114
79
  }
115
80
  set octetString(value) {
116
81
  this.value = new Uint8Array(value);
117
82
  }
118
83
  get octetString() {
119
- if (this.construction !== values_1.ASN1Construction.primitive) {
84
+ if (this.construction !== ASN1Construction.primitive) {
120
85
  throw new errors.ASN1ConstructionError("OCTET STRING cannot be constructed.", this);
121
86
  }
122
87
  return new Uint8Array(this.value);
123
88
  }
124
89
  set objectDescriptor(value) {
125
- this.value = (0, encodeObjectDescriptor_1.default)(value);
90
+ this.value = encodeObjectDescriptor(value);
126
91
  }
127
92
  get objectDescriptor() {
128
- return (0, decodeObjectDescriptor_1.default)(this.value);
93
+ return decodeObjectDescriptor(this.value);
129
94
  }
130
95
  set external(value) {
131
- this.value = (0, encodeExternal_1.default)(value);
132
- this.construction = values_1.ASN1Construction.constructed;
96
+ this.value = encodeExternal(value);
97
+ this.construction = ASN1Construction.constructed;
133
98
  }
134
99
  get external() {
135
- if (this.construction !== values_1.ASN1Construction.constructed) {
100
+ if (this.construction !== ASN1Construction.constructed) {
136
101
  throw new errors.ASN1ConstructionError("EXTERNAL cannot be primitively-constructed.", this);
137
102
  }
138
- return (0, decodeExternal_1.default)(this.value);
103
+ return decodeExternal(this.value);
139
104
  }
140
105
  set real(value) {
141
- this.value = (0, encodeReal_1.default)(value);
106
+ this.value = encodeReal(value);
142
107
  }
143
108
  get real() {
144
- if (this.construction !== values_1.ASN1Construction.primitive) {
109
+ if (this.construction !== ASN1Construction.primitive) {
145
110
  throw new errors.ASN1ConstructionError("REAL cannot be constructed.", this);
146
111
  }
147
- return (0, decodeReal_1.default)(this.value);
112
+ return decodeReal(this.value);
148
113
  }
149
114
  set embeddedPDV(value) {
150
- this.value = (0, encodeEmbeddedPDV_1.default)(value);
151
- this.construction = values_1.ASN1Construction.constructed;
115
+ this.value = encodeEmbeddedPDV(value);
116
+ this.construction = ASN1Construction.constructed;
152
117
  }
153
118
  get embeddedPDV() {
154
- if (this.construction !== values_1.ASN1Construction.constructed) {
119
+ if (this.construction !== ASN1Construction.constructed) {
155
120
  throw new errors.ASN1ConstructionError("EMBEDDED PDV cannot be primitively-constructed.", this);
156
121
  }
157
- return (0, decodeEmbeddedPDV_1.default)(this.value);
122
+ return decodeEmbeddedPDV(this.value);
158
123
  }
159
124
  set utf8String(value) {
160
- this.value = (0, convertTextToBytes_1.default)(value);
125
+ this.value = convertTextToBytes(value);
161
126
  }
162
127
  get utf8String() {
163
- if (this.construction !== values_1.ASN1Construction.primitive) {
128
+ if (this.construction !== ASN1Construction.primitive) {
164
129
  throw new errors.ASN1ConstructionError("UTF8String cannot be constructed.", this);
165
130
  }
166
- return (0, convertBytesToText_1.default)(this.value);
131
+ return convertBytesToText(this.value);
167
132
  }
168
133
  set sequence(value) {
169
134
  this.construct(value);
170
- this.construction = values_1.ASN1Construction.constructed;
135
+ this.construction = ASN1Construction.constructed;
171
136
  }
172
137
  get sequence() {
173
- if (this.construction !== values_1.ASN1Construction.constructed) {
138
+ if (this.construction !== ASN1Construction.constructed) {
174
139
  throw new errors.ASN1ConstructionError("SET or SEQUENCE cannot be primitively constructed.", this);
175
140
  }
176
141
  if (Array.isArray(this._value)) {
177
142
  return this._value;
178
143
  }
179
- return (0, decodeSequence_1.default)(this.value);
144
+ return decodeSequence(this.value);
180
145
  }
181
146
  set set(value) {
182
- (0, sortCanonically_1.default)(value);
147
+ sortCanonically(value);
183
148
  this.sequence = value;
184
149
  }
185
150
  get set() {
186
151
  const ret = this.sequence;
187
- if (!(0, utils_1.isUniquelyTagged)(ret)) {
152
+ if (!isUniquelyTagged(ret)) {
188
153
  throw new errors.ASN1ConstructionError("Duplicate tag in SET.", this);
189
154
  }
190
155
  return ret;
191
156
  }
192
157
  set sequenceOf(value) {
193
158
  this.construct(value);
194
- this.construction = values_1.ASN1Construction.constructed;
159
+ this.construction = ASN1Construction.constructed;
195
160
  }
196
161
  get sequenceOf() {
197
- if (this.construction !== values_1.ASN1Construction.constructed) {
162
+ if (this.construction !== ASN1Construction.constructed) {
198
163
  throw new errors.ASN1ConstructionError("SET or SEQUENCE cannot be primitively constructed.", this);
199
164
  }
200
165
  if (Array.isArray(this._value)) {
201
166
  return this._value;
202
167
  }
203
- return (0, decodeSequence_1.default)(this.value);
168
+ return decodeSequence(this.value);
204
169
  }
205
170
  set setOf(value) {
206
171
  this.sequence = value;
@@ -209,22 +174,22 @@ class DERElement extends x690_1.default {
209
174
  return this.sequence;
210
175
  }
211
176
  set numericString(value) {
212
- this.value = (0, encodeNumericString_1.default)(value);
177
+ this.value = encodeNumericString(value);
213
178
  }
214
179
  get numericString() {
215
- if (this.construction !== values_1.ASN1Construction.primitive) {
180
+ if (this.construction !== ASN1Construction.primitive) {
216
181
  throw new errors.ASN1ConstructionError("NumericString cannot be constructed.", this);
217
182
  }
218
- return (0, decodeNumericString_1.default)(this.value);
183
+ return decodeNumericString(this.value);
219
184
  }
220
185
  set printableString(value) {
221
- this.value = (0, encodePrintableString_1.default)(value);
186
+ this.value = encodePrintableString(value);
222
187
  }
223
188
  get printableString() {
224
- if (this.construction !== values_1.ASN1Construction.primitive) {
189
+ if (this.construction !== ASN1Construction.primitive) {
225
190
  throw new errors.ASN1ConstructionError("PrintableString cannot be constructed.", this);
226
191
  }
227
- return (0, decodePrintableString_1.default)(this.value);
192
+ return decodePrintableString(this.value);
228
193
  }
229
194
  set teletexString(value) {
230
195
  this.value = new Uint8Array(value);
@@ -239,65 +204,65 @@ class DERElement extends x690_1.default {
239
204
  return this.octetString;
240
205
  }
241
206
  set ia5String(value) {
242
- this.value = (0, convertTextToBytes_1.default)(value);
207
+ this.value = convertTextToBytes(value);
243
208
  }
244
209
  get ia5String() {
245
- if (this.construction !== values_1.ASN1Construction.primitive) {
210
+ if (this.construction !== ASN1Construction.primitive) {
246
211
  throw new errors.ASN1ConstructionError("IA5String cannot be constructed.", this);
247
212
  }
248
- return (0, convertBytesToText_1.default)(this.value);
213
+ return convertBytesToText(this.value);
249
214
  }
250
215
  set utcTime(value) {
251
- this.value = (0, encodeUTCTime_1.default)(value);
216
+ this.value = encodeUTCTime(value);
252
217
  }
253
218
  get utcTime() {
254
- if (this.construction !== values_1.ASN1Construction.primitive) {
219
+ if (this.construction !== ASN1Construction.primitive) {
255
220
  throw new errors.ASN1ConstructionError("UTCTime cannot be constructed.", this);
256
221
  }
257
- return (0, decodeUTCTime_1.default)(this.value);
222
+ return decodeUTCTime(this.value);
258
223
  }
259
224
  set generalizedTime(value) {
260
- this.value = (0, encodeGeneralizedTime_1.default)(value);
225
+ this.value = encodeGeneralizedTime(value);
261
226
  }
262
227
  get generalizedTime() {
263
- if (this.construction !== values_1.ASN1Construction.primitive) {
228
+ if (this.construction !== ASN1Construction.primitive) {
264
229
  throw new errors.ASN1ConstructionError("GeneralizedTime cannot be constructed.", this);
265
230
  }
266
- return (0, decodeGeneralizedTime_1.default)(this.value);
231
+ return decodeGeneralizedTime(this.value);
267
232
  }
268
233
  set graphicString(value) {
269
- this.value = (0, encodeGraphicString_1.default)(value);
234
+ this.value = encodeGraphicString(value);
270
235
  }
271
236
  get graphicString() {
272
- if (this.construction !== values_1.ASN1Construction.primitive) {
237
+ if (this.construction !== ASN1Construction.primitive) {
273
238
  throw new errors.ASN1ConstructionError("GraphicString cannot be constructed.", this);
274
239
  }
275
- return (0, decodeGraphicString_1.default)(this.value);
240
+ return decodeGraphicString(this.value);
276
241
  }
277
242
  set visibleString(value) {
278
- this.value = (0, encodeVisibleString_1.default)(value);
243
+ this.value = encodeVisibleString(value);
279
244
  }
280
245
  get visibleString() {
281
- return (0, decodeVisibleString_1.default)(this.value);
246
+ return decodeVisibleString(this.value);
282
247
  }
283
248
  set generalString(value) {
284
- this.value = (0, encodeGeneralString_1.default)(value);
249
+ this.value = encodeGeneralString(value);
285
250
  }
286
251
  get generalString() {
287
- if (this.construction !== values_1.ASN1Construction.primitive) {
252
+ if (this.construction !== ASN1Construction.primitive) {
288
253
  throw new errors.ASN1ConstructionError("GeneralString cannot be constructed.", this);
289
254
  }
290
- return (0, decodeGeneralString_1.default)(this.value);
255
+ return decodeGeneralString(this.value);
291
256
  }
292
257
  set characterString(value) {
293
- this.value = (0, encodeCharacterString_1.default)(value);
294
- this.construction = values_1.ASN1Construction.constructed;
258
+ this.value = encodeCharacterString(value);
259
+ this.construction = ASN1Construction.constructed;
295
260
  }
296
261
  get characterString() {
297
- if (this.construction !== values_1.ASN1Construction.constructed) {
262
+ if (this.construction !== ASN1Construction.constructed) {
298
263
  throw new errors.ASN1ConstructionError("CHARACTER STRING cannot be primitively-constructed.", this);
299
264
  }
300
- return (0, decodeCharacterString_1.default)(this.value);
265
+ return decodeCharacterString(this.value);
301
266
  }
302
267
  set universalString(value) {
303
268
  const buf = new Uint8Array(value.length << 2);
@@ -310,7 +275,7 @@ class DERElement extends x690_1.default {
310
275
  this.value = buf;
311
276
  }
312
277
  get universalString() {
313
- if (this.construction !== values_1.ASN1Construction.primitive) {
278
+ if (this.construction !== ASN1Construction.primitive) {
314
279
  throw new errors.ASN1ConstructionError("UniversalString cannot be constructed.", this);
315
280
  }
316
281
  if (this.value.length % 4) {
@@ -334,7 +299,7 @@ class DERElement extends x690_1.default {
334
299
  this.value = buf;
335
300
  }
336
301
  get bmpString() {
337
- if (this.construction !== values_1.ASN1Construction.primitive) {
302
+ if (this.construction !== ASN1Construction.primitive) {
338
303
  throw new errors.ASN1ConstructionError("BMPString cannot be constructed.", this);
339
304
  }
340
305
  if (this.value.length % 2)
@@ -355,10 +320,10 @@ class DERElement extends x690_1.default {
355
320
  }
356
321
  }
357
322
  set duration(value) {
358
- this.value = (0, encodeDuration_1.default)(value);
323
+ this.value = encodeDuration(value);
359
324
  }
360
325
  get duration() {
361
- return (0, decodeDuration_1.default)(this.value);
326
+ return decodeDuration(this.value);
362
327
  }
363
328
  encode(value) {
364
329
  switch (typeof value) {
@@ -367,52 +332,52 @@ class DERElement extends x690_1.default {
367
332
  break;
368
333
  }
369
334
  case ("boolean"): {
370
- this.tagNumber = values_1.ASN1UniversalType.boolean;
335
+ this.tagNumber = ASN1UniversalType.boolean;
371
336
  this.boolean = value;
372
337
  break;
373
338
  }
374
339
  case ("number"): {
375
340
  if (Number.isInteger(value)) {
376
- this.tagNumber = values_1.ASN1UniversalType.integer;
341
+ this.tagNumber = ASN1UniversalType.integer;
377
342
  this.integer = value;
378
343
  }
379
344
  else {
380
- this.tagNumber = values_1.ASN1UniversalType.realNumber;
345
+ this.tagNumber = ASN1UniversalType.realNumber;
381
346
  this.real = value;
382
347
  }
383
348
  break;
384
349
  }
385
350
  case ("bigint"): {
386
- this.tagNumber = values_1.ASN1UniversalType.integer;
351
+ this.tagNumber = ASN1UniversalType.integer;
387
352
  this.integer = value;
388
353
  break;
389
354
  }
390
355
  case ("string"): {
391
- this.tagNumber = values_1.ASN1UniversalType.utf8String;
356
+ this.tagNumber = ASN1UniversalType.utf8String;
392
357
  this.utf8String = value;
393
358
  break;
394
359
  }
395
360
  case ("object"): {
396
361
  if (!value) {
397
- this.tagNumber = values_1.ASN1UniversalType.nill;
362
+ this.tagNumber = ASN1UniversalType.nill;
398
363
  this.value = new Uint8Array(0);
399
364
  }
400
365
  else if (value instanceof Uint8Array) {
401
- this.tagNumber = values_1.ASN1UniversalType.octetString;
366
+ this.tagNumber = ASN1UniversalType.octetString;
402
367
  this.octetString = value;
403
368
  }
404
369
  else if (value instanceof Uint8ClampedArray) {
405
- this.tagNumber = values_1.ASN1UniversalType.bitString;
370
+ this.tagNumber = ASN1UniversalType.bitString;
406
371
  this.bitString = value;
407
372
  }
408
- else if (value instanceof asn1_1.default) {
409
- this.construction = values_1.ASN1Construction.constructed;
373
+ else if (value instanceof ASN1Element) {
374
+ this.construction = ASN1Construction.constructed;
410
375
  this.sequence = [value];
411
376
  }
412
377
  else if (value instanceof Set) {
413
- this.construction = values_1.ASN1Construction.constructed;
378
+ this.construction = ASN1Construction.constructed;
414
379
  this.set = Array.from(value).map((v) => {
415
- if (typeof v === "object" && v instanceof asn1_1.default) {
380
+ if (typeof v === "object" && v instanceof ASN1Element) {
416
381
  return v;
417
382
  }
418
383
  else {
@@ -422,13 +387,13 @@ class DERElement extends x690_1.default {
422
387
  }
423
388
  });
424
389
  }
425
- else if ((value instanceof ObjectIdentifier_1.default) || (value.constructor?.name === "ObjectIdentifier")) {
426
- this.tagNumber = values_1.ASN1UniversalType.objectIdentifier;
390
+ else if ((value instanceof ObjectIdentifier) || (value.constructor?.name === "ObjectIdentifier")) {
391
+ this.tagNumber = ASN1UniversalType.objectIdentifier;
427
392
  this.objectIdentifier = value;
428
393
  }
429
394
  else if (Array.isArray(value)) {
430
- this.construction = values_1.ASN1Construction.constructed;
431
- this.tagNumber = values_1.ASN1UniversalType.sequence;
395
+ this.construction = ASN1Construction.constructed;
396
+ this.tagNumber = ASN1UniversalType.sequence;
432
397
  this.sequence = value.map((sub) => {
433
398
  const ret = new DERElement();
434
399
  ret.encode(sub);
@@ -449,22 +414,22 @@ class DERElement extends x690_1.default {
449
414
  }
450
415
  }
451
416
  static fromSequence(sequence) {
452
- const ret = new DERElement(values_1.ASN1TagClass.universal, values_1.ASN1Construction.constructed, values_1.ASN1UniversalType.sequence);
417
+ const ret = new DERElement(ASN1TagClass.universal, ASN1Construction.constructed, ASN1UniversalType.sequence);
453
418
  ret.sequence = sequence.filter((element) => Boolean(element));
454
419
  return ret;
455
420
  }
456
421
  static fromSet(set) {
457
- const ret = new DERElement(values_1.ASN1TagClass.universal, values_1.ASN1Construction.constructed, values_1.ASN1UniversalType.set);
422
+ const ret = new DERElement(ASN1TagClass.universal, ASN1Construction.constructed, ASN1UniversalType.set);
458
423
  ret.set = set.filter((element) => Boolean(element));
459
424
  return ret;
460
425
  }
461
426
  static fromSetOf(set) {
462
- const ret = new DERElement(values_1.ASN1TagClass.universal, values_1.ASN1Construction.constructed, values_1.ASN1UniversalType.set);
427
+ const ret = new DERElement(ASN1TagClass.universal, ASN1Construction.constructed, ASN1UniversalType.set);
463
428
  ret.setOf = set.filter((element) => Boolean(element));
464
429
  return ret;
465
430
  }
466
431
  get inner() {
467
- if (this.construction !== values_1.ASN1Construction.constructed) {
432
+ if (this.construction !== ASN1Construction.constructed) {
468
433
  throw new errors.ASN1ConstructionError("An explicitly-encoded element cannot be encoded using "
469
434
  + "primitive construction.", this);
470
435
  }
@@ -485,12 +450,11 @@ class DERElement extends x690_1.default {
485
450
  return ret;
486
451
  }
487
452
  set inner(value) {
488
- this.construction = values_1.ASN1Construction.constructed;
453
+ this.construction = ASN1Construction.constructed;
489
454
  this._value = [value];
490
455
  }
491
- constructor(tagClass = values_1.ASN1TagClass.universal, construction = values_1.ASN1Construction.primitive, tagNumber = values_1.ASN1UniversalType.endOfContent, value = undefined) {
456
+ constructor(tagClass = ASN1TagClass.universal, construction = ASN1Construction.primitive, tagNumber = ASN1UniversalType.endOfContent, value = undefined) {
492
457
  super();
493
- this._value = new Uint8Array(0);
494
458
  this.encode(value);
495
459
  this.tagClass = tagClass;
496
460
  this.construction = construction;
@@ -503,21 +467,21 @@ class DERElement extends x690_1.default {
503
467
  let cursor = 0;
504
468
  switch (bytes[cursor] & 0b11000000) {
505
469
  case (0b00000000):
506
- this.tagClass = values_1.ASN1TagClass.universal;
470
+ this.tagClass = ASN1TagClass.universal;
507
471
  break;
508
472
  case (0b01000000):
509
- this.tagClass = values_1.ASN1TagClass.application;
473
+ this.tagClass = ASN1TagClass.application;
510
474
  break;
511
475
  case (0b10000000):
512
- this.tagClass = values_1.ASN1TagClass.context;
476
+ this.tagClass = ASN1TagClass.context;
513
477
  break;
514
478
  case (0b11000000):
515
- this.tagClass = values_1.ASN1TagClass.private;
479
+ this.tagClass = ASN1TagClass.private;
516
480
  break;
517
- default: this.tagClass = values_1.ASN1TagClass.universal;
481
+ default: this.tagClass = ASN1TagClass.universal;
518
482
  }
519
483
  this.construction = ((bytes[cursor] & 0b00100000)
520
- ? values_1.ASN1Construction.constructed : values_1.ASN1Construction.primitive);
484
+ ? ASN1Construction.constructed : ASN1Construction.primitive);
521
485
  this.tagNumber = (bytes[cursor] & 0b00011111);
522
486
  cursor++;
523
487
  if (this.tagNumber >= 31) {
@@ -694,4 +658,3 @@ class DERElement extends x690_1.default {
694
658
  + value_len);
695
659
  }
696
660
  }
697
- exports.default = DERElement;
@@ -1,2 +1,2 @@
1
- import CharacterString from "../../../types/CharacterString";
1
+ import CharacterString from "../../../types/CharacterString.mjs";
2
2
  export default function decodeCharacterString(value: Uint8Array): CharacterString;
@@ -0,0 +1,12 @@
1
+ import CharacterString from "../../../types/CharacterString.mjs";
2
+ import decodeSequence from "../../der/decoders/decodeSequence.mjs";
3
+ import { ASN1ConstructionError } from "../../../errors.mjs";
4
+ export default function decodeCharacterString(value) {
5
+ const components = decodeSequence(value);
6
+ if (components.length !== 2) {
7
+ throw new ASN1ConstructionError(`CharacterString must contain 2 components, not ${components.length}.`);
8
+ }
9
+ const identification = components[0];
10
+ const stringValue = components[1].octetString;
11
+ return new CharacterString(identification, stringValue);
12
+ }
@@ -1,2 +1,2 @@
1
- import { DATE } from "../../../macros";
1
+ import { DATE } from "../../../macros.mjs";
2
2
  export default function decodeDate(bytes: Uint8Array): DATE;
@@ -0,0 +1,10 @@
1
+ import convertBytesToText from "../../../utils/convertBytesToText.mjs";
2
+ import validateDate from "../../../validators/validateDate.mjs";
3
+ export default function decodeDate(bytes) {
4
+ const str = convertBytesToText(bytes);
5
+ const year = parseInt(str.slice(0, 4), 10);
6
+ const month = parseInt(str.slice(4, 6), 10) - 1;
7
+ const day = parseInt(str.slice(6, 8), 10);
8
+ validateDate("DATE", year, month, day);
9
+ return new Date(year, month, day);
10
+ }
@@ -1,2 +1,2 @@
1
- import { DATE_TIME } from "../../../macros";
1
+ import { DATE_TIME } from "../../../macros.mjs";
2
2
  export default function decodeDateTime(bytes: Uint8Array): DATE_TIME;
@@ -0,0 +1,13 @@
1
+ import convertBytesToText from "../../../utils/convertBytesToText.mjs";
2
+ import validateDateTime from "../../../validators/validateDateTime.mjs";
3
+ export default function decodeDateTime(bytes) {
4
+ const str = convertBytesToText(bytes);
5
+ const year = parseInt(str.slice(0, 4), 10);
6
+ const month = parseInt(str.slice(4, 6), 10) - 1;
7
+ const day = parseInt(str.slice(6, 8), 10);
8
+ const hours = parseInt(str.slice(8, 10), 10);
9
+ const minutes = parseInt(str.slice(10, 12), 10);
10
+ const seconds = parseInt(str.slice(12, 14), 10);
11
+ validateDateTime("DATE-TIME", year, month, day, hours, minutes, seconds);
12
+ return new Date(year, month, day, hours, minutes, seconds);
13
+ }
@@ -1,2 +1,2 @@
1
- import { EMBEDDED_PDV } from "../../../macros";
1
+ import { EMBEDDED_PDV } from "../../../macros.mjs";
2
2
  export default function decodeEmbeddedPDV(value: Uint8Array): EMBEDDED_PDV;