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
package/README.md CHANGED
@@ -4,7 +4,8 @@ Feature-complete, specification-compliant TypeScript library for encoding and
4
4
  decoding ASN.1 data structures using the Basic Encoding Rules (BER),
5
5
  Canonical Encoding Rules (CER), and Distinguished Encoding Rules (DER).
6
6
 
7
- Install via `npm install asn1-ts`.
7
+ Install via `npm install asn1-ts`. As of version 9.0.0 and above, this library
8
+ is ESM only: no more CommonJS.
8
9
 
9
10
  **Table of Contents**
10
11
 
@@ -1,5 +1,5 @@
1
- import type ASN1Element from "./asn1";
2
- import { ASN1TagClass, ASN1Construction, ASN1UniversalType } from "./values";
1
+ import type ASN1Element from "./asn1.mjs";
2
+ import { ASN1TagClass, ASN1Construction, ASN1UniversalType } from "./values.mjs";
3
3
  export default interface ConstructedElementSpecification {
4
4
  name: string;
5
5
  optional?: boolean;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,10 +1,11 @@
1
- import { ASN1Construction, ASN1TagClass } from "./values";
2
- import type Byteable from "./interfaces/Byteable";
3
- import type Named from "./interfaces/Named";
4
- import type Long from "./interfaces/Long";
5
- import type CharacterString from "./types/CharacterString";
6
- import type Elementable from "./interfaces/Elementable";
7
- import type { BOOLEAN, INTEGER, BIT_STRING, OCTET_STRING, OBJECT_IDENTIFIER, ObjectDescriptor, EXTERNAL, REAL, ENUMERATED, EMBEDDED_PDV, UTF8String, RELATIVE_OID, SEQUENCE, SET, GraphicString, NumericString, VisibleString, PrintableString, TeletexString, GeneralString, UniversalString, VideotexString, BMPString, IA5String, UTCTime, GeneralizedTime, TIME, DATE, TIME_OF_DAY, DATE_TIME, DURATION, OID_IRI, RELATIVE_OID_IRI } from "./macros";
1
+ import { ASN1Construction, ASN1TagClass } from "./values.mjs";
2
+ import type Byteable from "./interfaces/Byteable.mjs";
3
+ import type Named from "./interfaces/Named.mjs";
4
+ import type Long from "./interfaces/Long.mjs";
5
+ import type CharacterString from "./types/CharacterString.mjs";
6
+ import type Elementable from "./interfaces/Elementable.mjs";
7
+ import type { BOOLEAN, INTEGER, BIT_STRING, OCTET_STRING, OBJECT_IDENTIFIER, ObjectDescriptor, EXTERNAL, REAL, ENUMERATED, EMBEDDED_PDV, UTF8String, RELATIVE_OID, SEQUENCE, SET, GraphicString, NumericString, VisibleString, PrintableString, TeletexString, GeneralString, UniversalString, VideotexString, BMPString, IA5String, UTCTime, GeneralizedTime, TIME, DATE, TIME_OF_DAY, DATE_TIME, DURATION, OID_IRI, RELATIVE_OID_IRI } from "./macros.mjs";
8
+ import { Buffer } from "node:buffer";
8
9
  export default abstract class ASN1Element implements Byteable, Elementable, Named, Long {
9
10
  recursionCount: number;
10
11
  protected static readonly nestingRecursionLimit: number;
@@ -1,52 +1,14 @@
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 errors = __importStar(require("./errors"));
40
- const values_1 = require("./values");
41
- const packBits_1 = __importDefault(require("./utils/packBits"));
42
- class ASN1Element {
43
- constructor() {
44
- this.recursionCount = 0;
45
- this.name = "";
46
- this.tagClass = values_1.ASN1TagClass.universal;
47
- this.construction = values_1.ASN1Construction.primitive;
48
- this._tagNumber = 0;
49
- }
1
+ import * as errors from "./errors.mjs";
2
+ import { ASN1Construction, ASN1TagClass, ASN1UniversalType } from "./values.mjs";
3
+ import packBits from "./utils/packBits.mjs";
4
+ import { Buffer } from "node:buffer";
5
+ export default class ASN1Element {
6
+ recursionCount = 0;
7
+ static nestingRecursionLimit = 5;
8
+ name = "";
9
+ tagClass = ASN1TagClass.universal;
10
+ construction = ASN1Construction.primitive;
11
+ _tagNumber = 0;
50
12
  get tagNumber() {
51
13
  return this._tagNumber;
52
14
  }
@@ -207,66 +169,66 @@ class ASN1Element {
207
169
  this.value = new Uint8Array(el.value);
208
170
  }
209
171
  toString() {
210
- if (this.tagClass === values_1.ASN1TagClass.universal) {
172
+ if (this.tagClass === ASN1TagClass.universal) {
211
173
  switch (this.tagNumber) {
212
- case (values_1.ASN1UniversalType.endOfContent): return "END-OF-CONTENT";
213
- case (values_1.ASN1UniversalType.boolean): return (this.boolean ? "TRUE" : "FALSE");
214
- case (values_1.ASN1UniversalType.integer): return this.integer.toString();
215
- case (values_1.ASN1UniversalType.bitString):
174
+ case (ASN1UniversalType.endOfContent): return "END-OF-CONTENT";
175
+ case (ASN1UniversalType.boolean): return (this.boolean ? "TRUE" : "FALSE");
176
+ case (ASN1UniversalType.integer): return this.integer.toString();
177
+ case (ASN1UniversalType.bitString):
216
178
  return `'${Array
217
179
  .from(this.bitString)
218
180
  .map((num) => num.toString())
219
181
  .join("")}'B`;
220
- case (values_1.ASN1UniversalType.octetString):
182
+ case (ASN1UniversalType.octetString):
221
183
  return `'${Array
222
184
  .from(this.octetString)
223
185
  .map((byte) => byte.toString(16).padStart(2, "0"))
224
186
  .join("")}'H`;
225
- case (values_1.ASN1UniversalType.nill): return "NULL";
226
- case (values_1.ASN1UniversalType.objectIdentifier): return this.objectIdentifier.asn1Notation;
227
- case (values_1.ASN1UniversalType.objectDescriptor): return `"${this.objectDescriptor}"`;
228
- case (values_1.ASN1UniversalType.external): return "EXTERNAL";
229
- case (values_1.ASN1UniversalType.realNumber): return this.real.toString();
230
- case (values_1.ASN1UniversalType.enumerated): return this.enumerated.toString();
231
- case (values_1.ASN1UniversalType.embeddedPDV): return "EMBEDDED PDV";
232
- case (values_1.ASN1UniversalType.utf8String): return `"${this.utf8String}"`;
233
- case (values_1.ASN1UniversalType.relativeOID): return "{ " + this.relativeObjectIdentifier
187
+ case (ASN1UniversalType.nill): return "NULL";
188
+ case (ASN1UniversalType.objectIdentifier): return this.objectIdentifier.asn1Notation;
189
+ case (ASN1UniversalType.objectDescriptor): return `"${this.objectDescriptor}"`;
190
+ case (ASN1UniversalType.external): return "EXTERNAL";
191
+ case (ASN1UniversalType.realNumber): return this.real.toString();
192
+ case (ASN1UniversalType.enumerated): return this.enumerated.toString();
193
+ case (ASN1UniversalType.embeddedPDV): return "EMBEDDED PDV";
194
+ case (ASN1UniversalType.utf8String): return `"${this.utf8String}"`;
195
+ case (ASN1UniversalType.relativeOID): return "{ " + this.relativeObjectIdentifier
234
196
  .map((arc) => arc.toString()).join(".") + " }";
235
- case (values_1.ASN1UniversalType.time): return `"${this.time}"`;
236
- case (values_1.ASN1UniversalType.sequence): return ("{ " + this.sequenceOf
197
+ case (ASN1UniversalType.time): return `"${this.time}"`;
198
+ case (ASN1UniversalType.sequence): return ("{ " + this.sequenceOf
237
199
  .map((el) => (el.name.length ? `${el.name} ${el.toString()}` : el.toString()))
238
200
  .join(" , ") + " }");
239
- case (values_1.ASN1UniversalType.set): return ("{ " + this.setOf
201
+ case (ASN1UniversalType.set): return ("{ " + this.setOf
240
202
  .map((el) => (el.name.length ? `${el.name} ${el.toString()}` : el.toString()))
241
203
  .join(" , ") + " }");
242
- case (values_1.ASN1UniversalType.numericString): return `"${this.numericString}"`;
243
- case (values_1.ASN1UniversalType.printableString): return `"${this.printableString}"`;
244
- case (values_1.ASN1UniversalType.teletexString): return "TeletexString";
245
- case (values_1.ASN1UniversalType.videotexString): return "VideotexString";
246
- case (values_1.ASN1UniversalType.ia5String): return `"${this.ia5String}"`;
247
- case (values_1.ASN1UniversalType.utcTime): return `"${this.utcTime.toISOString()}"`;
248
- case (values_1.ASN1UniversalType.generalizedTime): return `"${this.generalizedTime.toISOString()}"`;
249
- case (values_1.ASN1UniversalType.graphicString): return `"${this.graphicString}"`;
250
- case (values_1.ASN1UniversalType.visibleString): return `"${this.visibleString}"`;
251
- case (values_1.ASN1UniversalType.generalString): return `"${this.generalString}"`;
252
- case (values_1.ASN1UniversalType.universalString): return `"${this.universalString}"`;
253
- case (values_1.ASN1UniversalType.characterString): return "CHARACTER STRING";
254
- case (values_1.ASN1UniversalType.bmpString): return `"${this.bmpString}"`;
255
- case (values_1.ASN1UniversalType.date): return `"${this.date.toISOString()}"`;
256
- case (values_1.ASN1UniversalType.timeOfDay): {
204
+ case (ASN1UniversalType.numericString): return `"${this.numericString}"`;
205
+ case (ASN1UniversalType.printableString): return `"${this.printableString}"`;
206
+ case (ASN1UniversalType.teletexString): return "TeletexString";
207
+ case (ASN1UniversalType.videotexString): return "VideotexString";
208
+ case (ASN1UniversalType.ia5String): return `"${this.ia5String}"`;
209
+ case (ASN1UniversalType.utcTime): return `"${this.utcTime.toISOString()}"`;
210
+ case (ASN1UniversalType.generalizedTime): return `"${this.generalizedTime.toISOString()}"`;
211
+ case (ASN1UniversalType.graphicString): return `"${this.graphicString}"`;
212
+ case (ASN1UniversalType.visibleString): return `"${this.visibleString}"`;
213
+ case (ASN1UniversalType.generalString): return `"${this.generalString}"`;
214
+ case (ASN1UniversalType.universalString): return `"${this.universalString}"`;
215
+ case (ASN1UniversalType.characterString): return "CHARACTER STRING";
216
+ case (ASN1UniversalType.bmpString): return `"${this.bmpString}"`;
217
+ case (ASN1UniversalType.date): return `"${this.date.toISOString()}"`;
218
+ case (ASN1UniversalType.timeOfDay): {
257
219
  const tod = this.timeOfDay;
258
220
  return `"${tod.getUTCHours()}:${tod.getUTCMinutes()}:${tod.getUTCSeconds()}"`;
259
221
  }
260
- case (values_1.ASN1UniversalType.dateTime): return `"${this.dateTime.toISOString()}"`;
261
- case (values_1.ASN1UniversalType.duration): return this.duration.toString();
262
- case (values_1.ASN1UniversalType.oidIRI): return this.oidIRI;
263
- case (values_1.ASN1UniversalType.roidIRI): return this.relativeOIDIRI;
222
+ case (ASN1UniversalType.dateTime): return `"${this.dateTime.toISOString()}"`;
223
+ case (ASN1UniversalType.duration): return this.duration.toString();
224
+ case (ASN1UniversalType.oidIRI): return this.oidIRI;
225
+ case (ASN1UniversalType.roidIRI): return this.relativeOIDIRI;
264
226
  default: {
265
227
  return `[UNIV ${this.tagNumber}]: ${this.value.toString()}`;
266
228
  }
267
229
  }
268
230
  }
269
- else if (this.construction === values_1.ASN1Construction.constructed) {
231
+ else if (this.construction === ASN1Construction.constructed) {
270
232
  const inner = this.components;
271
233
  if (inner.length === 1) {
272
234
  return inner[0].toString();
@@ -275,10 +237,10 @@ class ASN1Element {
275
237
  return "{ " + inner.map((el) => el.toString()).join(", ") + " }";
276
238
  }
277
239
  }
278
- else if (this.tagClass === values_1.ASN1TagClass.context) {
240
+ else if (this.tagClass === ASN1TagClass.context) {
279
241
  return `[CTXT ${this.tagNumber}]: ${this.value.toString()}`;
280
242
  }
281
- else if (this.tagClass === values_1.ASN1TagClass.private) {
243
+ else if (this.tagClass === ASN1TagClass.private) {
282
244
  return `[PRIV ${this.tagNumber}]: ${this.value.toString()}`;
283
245
  }
284
246
  else {
@@ -286,31 +248,31 @@ class ASN1Element {
286
248
  }
287
249
  }
288
250
  toJSON(recurse = true) {
289
- if (this.tagClass === values_1.ASN1TagClass.universal) {
251
+ if (this.tagClass === ASN1TagClass.universal) {
290
252
  switch (this.tagNumber) {
291
- case (values_1.ASN1UniversalType.endOfContent): return undefined;
292
- case (values_1.ASN1UniversalType.boolean): return this.boolean;
293
- case (values_1.ASN1UniversalType.integer): {
253
+ case (ASN1UniversalType.endOfContent): return undefined;
254
+ case (ASN1UniversalType.boolean): return this.boolean;
255
+ case (ASN1UniversalType.integer): {
294
256
  const ret = this.integer;
295
257
  if (typeof ret === "bigint") {
296
258
  return ret.toString();
297
259
  }
298
260
  return ret;
299
261
  }
300
- case (values_1.ASN1UniversalType.bitString): {
262
+ case (ASN1UniversalType.bitString): {
301
263
  const bits = this.bitString;
302
264
  return {
303
265
  length: bits.length,
304
- value: Array.from((0, packBits_1.default)(bits)).map((byte) => byte.toString(16)).join(""),
266
+ value: Array.from(packBits(bits)).map((byte) => byte.toString(16)).join(""),
305
267
  };
306
268
  }
307
- case (values_1.ASN1UniversalType.octetString): return Array.from(this.octetString)
269
+ case (ASN1UniversalType.octetString): return Array.from(this.octetString)
308
270
  .map((byte) => byte.toString(16)).join("");
309
- case (values_1.ASN1UniversalType.nill): return null;
310
- case (values_1.ASN1UniversalType.objectIdentifier): return this.objectIdentifier.toJSON();
311
- case (values_1.ASN1UniversalType.objectDescriptor): return this.objectDescriptor;
312
- case (values_1.ASN1UniversalType.external): return this.external.toJSON();
313
- case (values_1.ASN1UniversalType.realNumber): {
271
+ case (ASN1UniversalType.nill): return null;
272
+ case (ASN1UniversalType.objectIdentifier): return this.objectIdentifier.toJSON();
273
+ case (ASN1UniversalType.objectDescriptor): return this.objectDescriptor;
274
+ case (ASN1UniversalType.external): return this.external.toJSON();
275
+ case (ASN1UniversalType.realNumber): {
314
276
  const r = this.real;
315
277
  if (Object.is(r, -0)) {
316
278
  return "-0";
@@ -326,52 +288,52 @@ class ASN1Element {
326
288
  }
327
289
  return r.toString();
328
290
  }
329
- case (values_1.ASN1UniversalType.enumerated): return this.enumerated.toString();
330
- case (values_1.ASN1UniversalType.embeddedPDV): return this.embeddedPDV.toJSON();
331
- case (values_1.ASN1UniversalType.utf8String): return this.utf8String;
332
- case (values_1.ASN1UniversalType.relativeOID): return this.relativeObjectIdentifier
291
+ case (ASN1UniversalType.enumerated): return this.enumerated.toString();
292
+ case (ASN1UniversalType.embeddedPDV): return this.embeddedPDV.toJSON();
293
+ case (ASN1UniversalType.utf8String): return this.utf8String;
294
+ case (ASN1UniversalType.relativeOID): return this.relativeObjectIdentifier
333
295
  .map((arc) => arc.toString()).join(".");
334
- case (values_1.ASN1UniversalType.time): return this.time;
335
- case (values_1.ASN1UniversalType.sequence): {
296
+ case (ASN1UniversalType.time): return this.time;
297
+ case (ASN1UniversalType.sequence): {
336
298
  if (!recurse) {
337
299
  return null;
338
300
  }
339
301
  return this.sequenceOf.map((el) => el.toJSON());
340
302
  }
341
- case (values_1.ASN1UniversalType.set): {
303
+ case (ASN1UniversalType.set): {
342
304
  if (!recurse) {
343
305
  return null;
344
306
  }
345
307
  return this.setOf.map((el) => el.toJSON());
346
308
  }
347
- case (values_1.ASN1UniversalType.numericString): return this.numericString;
348
- case (values_1.ASN1UniversalType.printableString): return this.printableString;
349
- case (values_1.ASN1UniversalType.teletexString): return String.fromCodePoint(...Array.from(this.teletexString));
350
- case (values_1.ASN1UniversalType.videotexString): return String.fromCodePoint(...Array.from(this.videotexString));
351
- case (values_1.ASN1UniversalType.ia5String): return this.ia5String;
352
- case (values_1.ASN1UniversalType.utcTime): return this.utcTime.toISOString();
353
- case (values_1.ASN1UniversalType.generalizedTime): return this.generalizedTime.toISOString();
354
- case (values_1.ASN1UniversalType.graphicString): return this.graphicString;
355
- case (values_1.ASN1UniversalType.visibleString): return this.visibleString;
356
- case (values_1.ASN1UniversalType.generalString): return this.generalString;
357
- case (values_1.ASN1UniversalType.universalString): return this.universalString;
358
- case (values_1.ASN1UniversalType.characterString): return this.characterString.toJSON();
359
- case (values_1.ASN1UniversalType.bmpString): return this.bmpString;
360
- case (values_1.ASN1UniversalType.date): return this.date.toISOString();
361
- case (values_1.ASN1UniversalType.timeOfDay): {
309
+ case (ASN1UniversalType.numericString): return this.numericString;
310
+ case (ASN1UniversalType.printableString): return this.printableString;
311
+ case (ASN1UniversalType.teletexString): return String.fromCodePoint(...Array.from(this.teletexString));
312
+ case (ASN1UniversalType.videotexString): return String.fromCodePoint(...Array.from(this.videotexString));
313
+ case (ASN1UniversalType.ia5String): return this.ia5String;
314
+ case (ASN1UniversalType.utcTime): return this.utcTime.toISOString();
315
+ case (ASN1UniversalType.generalizedTime): return this.generalizedTime.toISOString();
316
+ case (ASN1UniversalType.graphicString): return this.graphicString;
317
+ case (ASN1UniversalType.visibleString): return this.visibleString;
318
+ case (ASN1UniversalType.generalString): return this.generalString;
319
+ case (ASN1UniversalType.universalString): return this.universalString;
320
+ case (ASN1UniversalType.characterString): return this.characterString.toJSON();
321
+ case (ASN1UniversalType.bmpString): return this.bmpString;
322
+ case (ASN1UniversalType.date): return this.date.toISOString();
323
+ case (ASN1UniversalType.timeOfDay): {
362
324
  const tod = this.timeOfDay;
363
325
  return `${tod.getUTCHours()}:${tod.getUTCMinutes()}:${tod.getUTCSeconds()}`;
364
326
  }
365
- case (values_1.ASN1UniversalType.dateTime): return this.dateTime.toISOString();
366
- case (values_1.ASN1UniversalType.duration): return this.duration.toString();
367
- case (values_1.ASN1UniversalType.oidIRI): return this.oidIRI;
368
- case (values_1.ASN1UniversalType.roidIRI): return this.relativeOIDIRI;
327
+ case (ASN1UniversalType.dateTime): return this.dateTime.toISOString();
328
+ case (ASN1UniversalType.duration): return this.duration.toString();
329
+ case (ASN1UniversalType.oidIRI): return this.oidIRI;
330
+ case (ASN1UniversalType.roidIRI): return this.relativeOIDIRI;
369
331
  default: {
370
332
  return undefined;
371
333
  }
372
334
  }
373
335
  }
374
- else if ((this.construction === values_1.ASN1Construction.constructed) && recurse) {
336
+ else if ((this.construction === ASN1Construction.constructed) && recurse) {
375
337
  const inner = this.components;
376
338
  if (inner.length === 1) {
377
339
  return inner[0].toJSON();
@@ -385,5 +347,3 @@ class ASN1Element {
385
347
  }
386
348
  }
387
349
  }
388
- ASN1Element.nestingRecursionLimit = 5;
389
- exports.default = ASN1Element;
@@ -1,5 +1,5 @@
1
- import { ASN1Decoder, ASN1Encoder } from "../functional";
2
- import type { OBJECT_IDENTIFIER, BIT_STRING } from "../macros";
1
+ import { ASN1Decoder, ASN1Encoder } from "../functional.mjs";
2
+ import type { OBJECT_IDENTIFIER, BIT_STRING } from "../macros.mjs";
3
3
  export default interface ABSTRACT_SYNTAX<Type = any> {
4
4
  class: string;
5
5
  decoderFor: Partial<{
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,5 @@
1
- import { ASN1Decoder, ASN1Encoder } from "../functional";
2
- import type { OBJECT_IDENTIFIER } from "../macros";
1
+ import { ASN1Decoder, ASN1Encoder } from "../functional.mjs";
2
+ import type { OBJECT_IDENTIFIER } from "../macros.mjs";
3
3
  export default interface TYPE_IDENTIFIER<Type = any> {
4
4
  class: string;
5
5
  decoderFor: Partial<{
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export { default as ABSTRACT_SYNTAX } from "./ABSTRACT-SYNTAX.mjs";
2
+ export { default as TYPE_IDENTIFIER } from "./TYPE-IDENTIFIER.mjs";
@@ -0,0 +1 @@
1
+ export {};
@@ -1,2 +1,2 @@
1
- import { BIT_STRING } from "../../../macros";
1
+ import { BIT_STRING } from "../../../macros.mjs";
2
2
  export default function decodeBitString(value: Uint8Array): BIT_STRING;
@@ -0,0 +1,19 @@
1
+ import * as errors from "../../../errors.mjs";
2
+ import { TRUE_BIT, FALSE_BIT } from "../../../macros.mjs";
3
+ export default function decodeBitString(value) {
4
+ if (value.length === 0) {
5
+ throw new errors.ASN1Error("ASN.1 BIT STRING cannot be encoded on zero bytes!");
6
+ }
7
+ if (value.length === 1 && value[0] !== 0) {
8
+ throw new errors.ASN1Error("ASN.1 BIT STRING encoded with deceptive first byte!");
9
+ }
10
+ if (value[0] > 7) {
11
+ throw new errors.ASN1Error("First byte of an ASN.1 BIT STRING must be <= 7!");
12
+ }
13
+ const ret = [];
14
+ for (let i = 1; i < value.length; i++) {
15
+ ret.push(((value[i] & 0b10000000) ? TRUE_BIT : FALSE_BIT), ((value[i] & 0b01000000) ? TRUE_BIT : FALSE_BIT), ((value[i] & 0b00100000) ? TRUE_BIT : FALSE_BIT), ((value[i] & 0b00010000) ? TRUE_BIT : FALSE_BIT), ((value[i] & 0b00001000) ? TRUE_BIT : FALSE_BIT), ((value[i] & 0b00000100) ? TRUE_BIT : FALSE_BIT), ((value[i] & 0b00000010) ? TRUE_BIT : FALSE_BIT), ((value[i] & 0b00000001) ? TRUE_BIT : FALSE_BIT));
16
+ }
17
+ ret.length -= value[0];
18
+ return new Uint8ClampedArray(ret);
19
+ }
@@ -1,2 +1,2 @@
1
- import { BOOLEAN } from "../../../macros";
1
+ import { BOOLEAN } from "../../../macros.mjs";
2
2
  export default function decodeBoolean(value: Uint8Array): BOOLEAN;
@@ -0,0 +1,7 @@
1
+ import * as errors from "../../../errors.mjs";
2
+ export default function decodeBoolean(value) {
3
+ if (value.length !== 1) {
4
+ throw new errors.ASN1SizeError("BOOLEAN not one byte");
5
+ }
6
+ return (value[0] !== 0);
7
+ }
@@ -1,2 +1,2 @@
1
- import { DURATION } from "../../../macros";
1
+ import { DURATION } from "../../../macros.mjs";
2
2
  export default function decodeDuration(bytes: Uint8Array): DURATION;
@@ -1,48 +1,9 @@
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
- exports.default = decodeDuration;
40
- const convertBytesToText_1 = __importDefault(require("../../../utils/convertBytesToText"));
41
- const errors = __importStar(require("../../../errors"));
42
- const types_1 = require("../../../types");
43
- const values_1 = require("../../../values");
44
- function decodeDuration(bytes) {
45
- const str = (0, convertBytesToText_1.default)(bytes).replace(/,/g, ".");
1
+ import convertBytesToText from "../../../utils/convertBytesToText.mjs";
2
+ import * as errors from "../../../errors.mjs";
3
+ import { DURATION_EQUIVALENT } from "../../../types/index.mjs";
4
+ import { datetimeRegex } from "../../../values.mjs";
5
+ export default function decodeDuration(bytes) {
6
+ const str = convertBytesToText(bytes).replace(/,/g, ".");
46
7
  if (str.indexOf("W") === (str.length - 1)) {
47
8
  const weekString = str.slice(0, -1);
48
9
  const indexOfDecimalSeparator = weekString.indexOf(".");
@@ -64,9 +25,9 @@ function decodeDuration(bytes) {
64
25
  fractional_value: fractionValue,
65
26
  };
66
27
  }
67
- return new types_1.DURATION_EQUIVALENT(undefined, undefined, weeks, undefined, undefined, undefined, undefined, fractional_part);
28
+ return new DURATION_EQUIVALENT(undefined, undefined, weeks, undefined, undefined, undefined, undefined, fractional_part);
68
29
  }
69
- const match = values_1.datetimeRegex.exec(str);
30
+ const match = datetimeRegex.exec(str);
70
31
  if (!match) {
71
32
  throw new errors.ASN1Error(`Malformed DURATION ${str}.`);
72
33
  }
@@ -99,5 +60,5 @@ function decodeDuration(bytes) {
99
60
  const hours = match[4] ? Number.parseInt(match[4], 10) : undefined;
100
61
  const minutes = match[5] ? Number.parseInt(match[5], 10) : undefined;
101
62
  const seconds = match[6] ? Number.parseInt(match[6], 10) : undefined;
102
- return new types_1.DURATION_EQUIVALENT(years, months, undefined, days, hours, minutes, seconds, fractional_part);
63
+ return new DURATION_EQUIVALENT(years, months, undefined, days, hours, minutes, seconds, fractional_part);
103
64
  }
@@ -1,2 +1,2 @@
1
- import { GeneralizedTime } from "../../../macros";
1
+ import { GeneralizedTime } from "../../../macros.mjs";
2
2
  export default function decodeGeneralizedTime(value: Uint8Array): GeneralizedTime;
@@ -1,45 +1,6 @@
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
- exports.default = decodeGeneralizedTime;
40
- const errors = __importStar(require("../../../errors"));
41
- const convertBytesToText_1 = __importDefault(require("../../../utils/convertBytesToText"));
42
- const validateDateTime_1 = __importDefault(require("../../../validators/validateDateTime"));
1
+ import * as errors from "../../../errors.mjs";
2
+ import convertBytesToText from "../../../utils/convertBytesToText.mjs";
3
+ import validateDateTime from "../../../validators/validateDateTime.mjs";
43
4
  const SMALLEST_CORRECT_GENERALIZED_TIME = "2000120123".length;
44
5
  const PERIOD = ".".charCodeAt(0);
45
6
  const COMMA = ",".charCodeAt(0);
@@ -51,20 +12,20 @@ function isStop(s, i) {
51
12
  const char = s.charCodeAt(i);
52
13
  return (char === PERIOD) || (char === COMMA);
53
14
  }
54
- function decodeGeneralizedTime(value) {
15
+ export default function decodeGeneralizedTime(value) {
55
16
  if (value.length < SMALLEST_CORRECT_GENERALIZED_TIME) {
56
17
  throw new errors.ASN1Error("Malformed GeneralizedTime string.");
57
18
  }
58
19
  if (value.length > 32) {
59
20
  throw new errors.ASN1Error("Outrageously large GeneralizedTime string.");
60
21
  }
61
- const dateString = (0, convertBytesToText_1.default)(value);
22
+ const dateString = convertBytesToText(value);
62
23
  const year = Number(dateString.slice(0, 4));
63
24
  const month = (Number(dateString.slice(4, 6)) - 1);
64
25
  const date = Number(dateString.slice(6, 8));
65
26
  const hours = Number(dateString.slice(8, 10));
66
27
  if (value.length === 10) {
67
- (0, validateDateTime_1.default)("GeneralizedTime", year, month, date, hours, 0, 0);
28
+ validateDateTime("GeneralizedTime", year, month, date, hours, 0, 0);
68
29
  return new Date(year, month, date, hours, 0, 0);
69
30
  }
70
31
  let i = 10;
@@ -87,7 +48,7 @@ function decodeGeneralizedTime(value) {
87
48
  throw new errors.ASN1Error("Malformed GeneralizedTime string.");
88
49
  }
89
50
  if (value[i] === undefined) {
90
- (0, validateDateTime_1.default)("GeneralizedTime", year, month, date, hours, minutes, seconds);
51
+ validateDateTime("GeneralizedTime", year, month, date, hours, minutes, seconds);
91
52
  return new Date(year, month, date, hours, minutes, seconds);
92
53
  }
93
54
  if (isStop(dateString, i)) {
@@ -113,11 +74,11 @@ function decodeGeneralizedTime(value) {
113
74
  }
114
75
  }
115
76
  if (value[i] === undefined) {
116
- (0, validateDateTime_1.default)("GeneralizedTime", year, month, date, hours, minutes, seconds);
77
+ validateDateTime("GeneralizedTime", year, month, date, hours, minutes, seconds);
117
78
  return new Date(year, month, date, hours, minutes, seconds, milliseconds);
118
79
  }
119
80
  if (value[i] === Z) {
120
- (0, validateDateTime_1.default)("GeneralizedTime", year, month, date, hours, minutes, seconds);
81
+ validateDateTime("GeneralizedTime", year, month, date, hours, minutes, seconds);
121
82
  return new Date(Date.UTC(year, month, date, hours, minutes, seconds, milliseconds));
122
83
  }
123
84
  if (value[i] === PLUS || value[i] === MINUS) {
@@ -150,6 +111,6 @@ function decodeGeneralizedTime(value) {
150
111
  if (value[i] !== undefined) {
151
112
  throw new errors.ASN1Error("Malformed GeneralizedTime string.");
152
113
  }
153
- (0, validateDateTime_1.default)("GeneralizedTime", year, month, date, hours, minutes, seconds);
114
+ validateDateTime("GeneralizedTime", year, month, date, hours, minutes, seconds);
154
115
  return new Date(Date.UTC(year, month, date, hours, minutes, seconds, milliseconds));
155
116
  }
@@ -1,2 +1,2 @@
1
- import { REAL } from "../../../macros";
1
+ import { REAL } from "../../../macros.mjs";
2
2
  export default function decodeReal(value: Uint8Array): REAL;