asn1-ts 8.0.2 → 8.0.4

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 (615) hide show
  1. package/LICENSE.txt +1 -1
  2. package/README.md +29 -80
  3. package/dist/node/ConstructedElementSpecification.d.ts +0 -1
  4. package/dist/node/ConstructedElementSpecification.js +0 -1
  5. package/dist/node/asn1.d.ts +0 -2
  6. package/dist/node/asn1.js +39 -5
  7. package/dist/node/classes/ABSTRACT-SYNTAX.d.ts +0 -1
  8. package/dist/node/classes/ABSTRACT-SYNTAX.js +0 -1
  9. package/dist/node/classes/TYPE-IDENTIFIER.d.ts +0 -1
  10. package/dist/node/classes/TYPE-IDENTIFIER.js +0 -1
  11. package/dist/node/classes/index.d.ts +0 -1
  12. package/dist/node/classes/index.js +0 -1
  13. package/dist/node/codecs/ber/decoders/decodeBitString.d.ts +0 -1
  14. package/dist/node/codecs/ber/decoders/decodeBitString.js +35 -4
  15. package/dist/node/codecs/ber/decoders/decodeBoolean.d.ts +0 -1
  16. package/dist/node/codecs/ber/decoders/decodeBoolean.js +35 -4
  17. package/dist/node/codecs/ber/decoders/decodeDuration.d.ts +0 -1
  18. package/dist/node/codecs/ber/decoders/decodeDuration.js +39 -5
  19. package/dist/node/codecs/ber/decoders/decodeGeneralizedTime.d.ts +0 -1
  20. package/dist/node/codecs/ber/decoders/decodeGeneralizedTime.js +147 -16
  21. package/dist/node/codecs/ber/decoders/decodeReal.d.ts +0 -1
  22. package/dist/node/codecs/ber/decoders/decodeReal.js +41 -7
  23. package/dist/node/codecs/ber/decoders/decodeSequence.d.ts +0 -1
  24. package/dist/node/codecs/ber/decoders/decodeSequence.js +5 -4
  25. package/dist/node/codecs/ber/decoders/decodeUTCTime.d.ts +0 -1
  26. package/dist/node/codecs/ber/decoders/decodeUTCTime.js +76 -19
  27. package/dist/node/codecs/ber/encoders/encodeGeneralString.d.ts +0 -1
  28. package/dist/node/codecs/ber/encoders/encodeGeneralString.js +6 -5
  29. package/dist/node/codecs/ber/encoders/encodeGraphicString.d.ts +0 -1
  30. package/dist/node/codecs/ber/encoders/encodeGraphicString.js +6 -5
  31. package/dist/node/codecs/ber/encoders/encodeNumericString.d.ts +0 -1
  32. package/dist/node/codecs/ber/encoders/encodeNumericString.js +6 -5
  33. package/dist/node/codecs/ber/encoders/encodeObjectDescriptor.d.ts +0 -1
  34. package/dist/node/codecs/ber/encoders/encodeObjectDescriptor.js +6 -5
  35. package/dist/node/codecs/ber/encoders/encodePrintableString.d.ts +0 -1
  36. package/dist/node/codecs/ber/encoders/encodePrintableString.js +6 -5
  37. package/dist/node/codecs/ber/encoders/encodeVisibleString.d.ts +0 -1
  38. package/dist/node/codecs/ber/encoders/encodeVisibleString.js +6 -5
  39. package/dist/node/codecs/ber.d.ts +0 -1
  40. package/dist/node/codecs/ber.js +75 -47
  41. package/dist/node/codecs/cer/decoders/decodeSequence.d.ts +0 -1
  42. package/dist/node/codecs/cer/decoders/decodeSequence.js +5 -4
  43. package/dist/node/codecs/cer.d.ts +0 -1
  44. package/dist/node/codecs/cer.js +76 -42
  45. package/dist/node/codecs/coer/decoders/decodeBoolean.d.ts +0 -1
  46. package/dist/node/codecs/coer/decoders/decodeBoolean.js +35 -4
  47. package/dist/node/codecs/der/decoders/decodeBitString.d.ts +0 -1
  48. package/dist/node/codecs/der/decoders/decodeBitString.js +35 -4
  49. package/dist/node/codecs/der/decoders/decodeBoolean.d.ts +0 -1
  50. package/dist/node/codecs/der/decoders/decodeBoolean.js +35 -4
  51. package/dist/node/codecs/der/decoders/decodeDuration.d.ts +0 -1
  52. package/dist/node/codecs/der/decoders/decodeDuration.js +39 -5
  53. package/dist/node/codecs/der/decoders/decodeGeneralizedTime.d.ts +0 -1
  54. package/dist/node/codecs/der/decoders/decodeGeneralizedTime.js +73 -16
  55. package/dist/node/codecs/der/decoders/decodeReal.d.ts +0 -1
  56. package/dist/node/codecs/der/decoders/decodeReal.js +41 -7
  57. package/dist/node/codecs/der/decoders/decodeSequence.d.ts +0 -1
  58. package/dist/node/codecs/der/decoders/decodeSequence.js +5 -4
  59. package/dist/node/codecs/der/decoders/decodeUTCTime.d.ts +0 -1
  60. package/dist/node/codecs/der/decoders/decodeUTCTime.js +52 -16
  61. package/dist/node/codecs/der.d.ts +0 -1
  62. package/dist/node/codecs/der.js +75 -41
  63. package/dist/node/codecs/oer/decoders/decodeBoolean.d.ts +0 -1
  64. package/dist/node/codecs/oer/decoders/decodeBoolean.js +35 -4
  65. package/dist/node/codecs/x690/decoders/decodeCharacterString.d.ts +0 -1
  66. package/dist/node/codecs/x690/decoders/decodeCharacterString.js +6 -5
  67. package/dist/node/codecs/x690/decoders/decodeDate.d.ts +0 -1
  68. package/dist/node/codecs/x690/decoders/decodeDate.js +6 -5
  69. package/dist/node/codecs/x690/decoders/decodeDateTime.d.ts +0 -1
  70. package/dist/node/codecs/x690/decoders/decodeDateTime.js +6 -5
  71. package/dist/node/codecs/x690/decoders/decodeEmbeddedPDV.d.ts +0 -1
  72. package/dist/node/codecs/x690/decoders/decodeEmbeddedPDV.js +6 -5
  73. package/dist/node/codecs/x690/decoders/decodeExternal.d.ts +0 -1
  74. package/dist/node/codecs/x690/decoders/decodeExternal.js +40 -6
  75. package/dist/node/codecs/x690/decoders/decodeGeneralString.d.ts +0 -1
  76. package/dist/node/codecs/x690/decoders/decodeGeneralString.js +6 -5
  77. package/dist/node/codecs/x690/decoders/decodeGraphicString.d.ts +0 -1
  78. package/dist/node/codecs/x690/decoders/decodeGraphicString.js +6 -5
  79. package/dist/node/codecs/x690/decoders/decodeInteger.d.ts +0 -1
  80. package/dist/node/codecs/x690/decoders/decodeInteger.js +35 -4
  81. package/dist/node/codecs/x690/decoders/decodeNumericString.d.ts +0 -1
  82. package/dist/node/codecs/x690/decoders/decodeNumericString.js +6 -5
  83. package/dist/node/codecs/x690/decoders/decodeOIDIRI.d.ts +0 -1
  84. package/dist/node/codecs/x690/decoders/decodeOIDIRI.js +5 -4
  85. package/dist/node/codecs/x690/decoders/decodeObjectDescriptor.d.ts +0 -1
  86. package/dist/node/codecs/x690/decoders/decodeObjectDescriptor.js +6 -5
  87. package/dist/node/codecs/x690/decoders/decodeObjectIdentifier.d.ts +0 -1
  88. package/dist/node/codecs/x690/decoders/decodeObjectIdentifier.js +50 -10
  89. package/dist/node/codecs/x690/decoders/decodePrintableString.d.ts +0 -1
  90. package/dist/node/codecs/x690/decoders/decodePrintableString.js +6 -5
  91. package/dist/node/codecs/x690/decoders/decodeRelativeOIDIRI.d.ts +0 -1
  92. package/dist/node/codecs/x690/decoders/decodeRelativeOIDIRI.js +5 -4
  93. package/dist/node/codecs/x690/decoders/decodeRelativeObjectIdentifier.d.ts +0 -1
  94. package/dist/node/codecs/x690/decoders/decodeRelativeObjectIdentifier.js +35 -4
  95. package/dist/node/codecs/x690/decoders/decodeTime.d.ts +0 -1
  96. package/dist/node/codecs/x690/decoders/decodeTime.js +5 -4
  97. package/dist/node/codecs/x690/decoders/decodeTimeOfDay.d.ts +0 -1
  98. package/dist/node/codecs/x690/decoders/decodeTimeOfDay.js +6 -5
  99. package/dist/node/codecs/x690/decoders/decodeVisibleString.d.ts +0 -1
  100. package/dist/node/codecs/x690/decoders/decodeVisibleString.js +6 -5
  101. package/dist/node/codecs/x690/encoders/encodeBitString.d.ts +0 -1
  102. package/dist/node/codecs/x690/encoders/encodeBitString.js +5 -4
  103. package/dist/node/codecs/x690/encoders/encodeBoolean.d.ts +0 -1
  104. package/dist/node/codecs/x690/encoders/encodeBoolean.js +1 -2
  105. package/dist/node/codecs/x690/encoders/encodeCharacterString.d.ts +0 -1
  106. package/dist/node/codecs/x690/encoders/encodeCharacterString.js +6 -5
  107. package/dist/node/codecs/x690/encoders/encodeDate.d.ts +0 -1
  108. package/dist/node/codecs/x690/encoders/encodeDate.js +39 -5
  109. package/dist/node/codecs/x690/encoders/encodeDateTime.d.ts +0 -1
  110. package/dist/node/codecs/x690/encoders/encodeDateTime.js +39 -5
  111. package/dist/node/codecs/x690/encoders/encodeDuration.d.ts +0 -1
  112. package/dist/node/codecs/x690/encoders/encodeDuration.js +5 -4
  113. package/dist/node/codecs/x690/encoders/encodeEmbeddedPDV.d.ts +0 -1
  114. package/dist/node/codecs/x690/encoders/encodeEmbeddedPDV.js +6 -5
  115. package/dist/node/codecs/x690/encoders/encodeExternal.d.ts +0 -1
  116. package/dist/node/codecs/x690/encoders/encodeExternal.js +6 -5
  117. package/dist/node/codecs/x690/encoders/encodeGeneralizedTime.d.ts +0 -1
  118. package/dist/node/codecs/x690/encoders/encodeGeneralizedTime.js +5 -4
  119. package/dist/node/codecs/x690/encoders/encodeInteger.d.ts +0 -1
  120. package/dist/node/codecs/x690/encoders/encodeInteger.js +1 -2
  121. package/dist/node/codecs/x690/encoders/encodeOIDIRI.d.ts +0 -1
  122. package/dist/node/codecs/x690/encoders/encodeOIDIRI.js +5 -4
  123. package/dist/node/codecs/x690/encoders/encodeObjectIdentifier.d.ts +0 -2
  124. package/dist/node/codecs/x690/encoders/encodeObjectIdentifier.js +2 -3
  125. package/dist/node/codecs/x690/encoders/encodeReal.d.ts +0 -1
  126. package/dist/node/codecs/x690/encoders/encodeReal.js +5 -4
  127. package/dist/node/codecs/x690/encoders/encodeRelativeOIDIRI.d.ts +0 -1
  128. package/dist/node/codecs/x690/encoders/encodeRelativeOIDIRI.js +5 -4
  129. package/dist/node/codecs/x690/encoders/encodeRelativeObjectIdentifier.d.ts +0 -1
  130. package/dist/node/codecs/x690/encoders/encodeRelativeObjectIdentifier.js +1 -2
  131. package/dist/node/codecs/x690/encoders/encodeSequence.d.ts +0 -1
  132. package/dist/node/codecs/x690/encoders/encodeSequence.js +1 -2
  133. package/dist/node/codecs/x690/encoders/encodeTime.d.ts +0 -1
  134. package/dist/node/codecs/x690/encoders/encodeTime.js +5 -4
  135. package/dist/node/codecs/x690/encoders/encodeTimeOfDay.d.ts +0 -1
  136. package/dist/node/codecs/x690/encoders/encodeTimeOfDay.js +5 -4
  137. package/dist/node/codecs/x690/encoders/encodeUTCTime.d.ts +0 -1
  138. package/dist/node/codecs/x690/encoders/encodeUTCTime.js +5 -4
  139. package/dist/node/codecs/x696/encoders/encodeBoolean.d.ts +0 -1
  140. package/dist/node/codecs/x696/encoders/encodeBoolean.js +1 -2
  141. package/dist/node/errors.d.ts +0 -1
  142. package/dist/node/errors.js +0 -1
  143. package/dist/node/functional.d.ts +0 -1
  144. package/dist/node/functional.js +33 -35
  145. package/dist/node/index.d.ts +0 -1
  146. package/dist/node/index.js +32 -17
  147. package/dist/node/interfaces/Byteable.d.ts +0 -1
  148. package/dist/node/interfaces/Byteable.js +0 -1
  149. package/dist/node/interfaces/CharacterValidationFunction.d.ts +0 -1
  150. package/dist/node/interfaces/CharacterValidationFunction.js +0 -1
  151. package/dist/node/interfaces/Debyteable.d.ts +0 -1
  152. package/dist/node/interfaces/Debyteable.js +0 -1
  153. package/dist/node/interfaces/Deelementable.d.ts +0 -1
  154. package/dist/node/interfaces/Deelementable.js +0 -1
  155. package/dist/node/interfaces/Destringable.d.ts +0 -1
  156. package/dist/node/interfaces/Destringable.js +0 -1
  157. package/dist/node/interfaces/Elementable.d.ts +0 -1
  158. package/dist/node/interfaces/Elementable.js +0 -1
  159. package/dist/node/interfaces/Enbyteable.d.ts +0 -1
  160. package/dist/node/interfaces/Enbyteable.js +0 -1
  161. package/dist/node/interfaces/Enelementable.d.ts +0 -1
  162. package/dist/node/interfaces/Enelementable.js +0 -1
  163. package/dist/node/interfaces/Enstringable.d.ts +0 -1
  164. package/dist/node/interfaces/Enstringable.js +0 -1
  165. package/dist/node/interfaces/Identified.d.ts +0 -1
  166. package/dist/node/interfaces/Identified.js +0 -1
  167. package/dist/node/interfaces/Long.d.ts +0 -1
  168. package/dist/node/interfaces/Long.js +0 -1
  169. package/dist/node/interfaces/Named.d.ts +0 -1
  170. package/dist/node/interfaces/Named.js +0 -1
  171. package/dist/node/interfaces/Stringable.d.ts +0 -1
  172. package/dist/node/interfaces/Stringable.js +0 -1
  173. package/dist/node/interfaces/index.d.ts +0 -1
  174. package/dist/node/interfaces/index.js +0 -1
  175. package/dist/node/macros.d.ts +0 -1
  176. package/dist/node/macros.js +0 -1
  177. package/dist/node/types/CharacterString.d.ts +0 -1
  178. package/dist/node/types/CharacterString.js +0 -1
  179. package/dist/node/types/EmbeddedPDV.d.ts +0 -1
  180. package/dist/node/types/EmbeddedPDV.js +0 -1
  181. package/dist/node/types/External.d.ts +0 -1
  182. package/dist/node/types/External.js +4 -3
  183. package/dist/node/types/ObjectIdentifier.d.ts +1 -2
  184. package/dist/node/types/ObjectIdentifier.js +8 -4
  185. package/dist/node/types/TypeIdentifier.d.ts +0 -1
  186. package/dist/node/types/TypeIdentifier.js +0 -1
  187. package/dist/node/types/index.d.ts +0 -1
  188. package/dist/node/types/index.js +0 -1
  189. package/dist/node/types/time/DATE-ENCODING.d.ts +0 -1
  190. package/dist/node/types/time/DATE-ENCODING.js +4 -3
  191. package/dist/node/types/time/DURATION-EQUIVALENT.d.ts +0 -1
  192. package/dist/node/types/time/DURATION-EQUIVALENT.js +38 -4
  193. package/dist/node/types/time/DURATION-INTERVAL-ENCODING.d.ts +0 -1
  194. package/dist/node/types/time/DURATION-INTERVAL-ENCODING.js +38 -4
  195. package/dist/node/types/time/HOURS-DIFF-ENCODING.d.ts +0 -1
  196. package/dist/node/types/time/HOURS-DIFF-ENCODING.js +4 -3
  197. package/dist/node/types/time/HOURS-ENCODING.d.ts +0 -1
  198. package/dist/node/types/time/HOURS-ENCODING.js +4 -3
  199. package/dist/node/types/time/HOURS-MINUTES-DIFF-ENCODING.d.ts +0 -1
  200. package/dist/node/types/time/HOURS-MINUTES-DIFF-ENCODING.js +4 -3
  201. package/dist/node/types/time/HOURS-MINUTES-ENCODING.d.ts +0 -1
  202. package/dist/node/types/time/HOURS-MINUTES-ENCODING.js +4 -3
  203. package/dist/node/types/time/TIME-OF-DAY-DIFF-ENCODING.d.ts +0 -1
  204. package/dist/node/types/time/TIME-OF-DAY-DIFF-ENCODING.js +4 -3
  205. package/dist/node/types/time/TIME-OF-DAY-ENCODING.d.ts +0 -1
  206. package/dist/node/types/time/TIME-OF-DAY-ENCODING.js +4 -3
  207. package/dist/node/types/time/TIME-OF-DAY-FRACTION-DIFF-ENCODING.d.ts +0 -1
  208. package/dist/node/types/time/TIME-OF-DAY-FRACTION-DIFF-ENCODING.js +4 -3
  209. package/dist/node/types/time/TIME-OF-DAY-FRACTION-ENCODING.d.ts +0 -1
  210. package/dist/node/types/time/TIME-OF-DAY-FRACTION-ENCODING.js +4 -3
  211. package/dist/node/types/time/YEAR-ENCODING.d.ts +0 -1
  212. package/dist/node/types/time/YEAR-ENCODING.js +0 -1
  213. package/dist/node/types/time/YEAR-MONTH-ENCODING.d.ts +0 -1
  214. package/dist/node/types/time/YEAR-MONTH-ENCODING.js +4 -3
  215. package/dist/node/utils/base128Length.d.ts +0 -1
  216. package/dist/node/utils/base128Length.js +1 -2
  217. package/dist/node/utils/bigint.d.ts +0 -2
  218. package/dist/node/utils/bigint.js +2 -4
  219. package/dist/node/utils/compareSetOfElementsCanonically.d.ts +0 -1
  220. package/dist/node/utils/compareSetOfElementsCanonically.js +1 -2
  221. package/dist/node/utils/convertBytesToText.d.ts +0 -1
  222. package/dist/node/utils/convertBytesToText.js +1 -2
  223. package/dist/node/utils/convertTextToBytes.d.ts +0 -1
  224. package/dist/node/utils/convertTextToBytes.js +1 -2
  225. package/dist/node/utils/decodeIEEE754DoublePrecisionFloat.d.ts +0 -1
  226. package/dist/node/utils/decodeIEEE754DoublePrecisionFloat.js +1 -2
  227. package/dist/node/utils/decodeIEEE754SinglePrecisionFloat.d.ts +0 -1
  228. package/dist/node/utils/decodeIEEE754SinglePrecisionFloat.js +1 -2
  229. package/dist/node/utils/decodeSignedBigEndianInteger.d.ts +0 -1
  230. package/dist/node/utils/decodeSignedBigEndianInteger.js +35 -4
  231. package/dist/node/utils/decodeUnsignedBigEndianInteger.d.ts +0 -1
  232. package/dist/node/utils/decodeUnsignedBigEndianInteger.js +35 -4
  233. package/dist/node/utils/decodeX690RealNumber.d.ts +0 -1
  234. package/dist/node/utils/decodeX690RealNumber.js +41 -7
  235. package/dist/node/utils/dissectFloat.d.ts +0 -1
  236. package/dist/node/utils/dissectFloat.js +1 -2
  237. package/dist/node/utils/encodeIEEE754DoublePrecisionFloat.d.ts +0 -1
  238. package/dist/node/utils/encodeIEEE754DoublePrecisionFloat.js +1 -2
  239. package/dist/node/utils/encodeIEEE754SinglePrecisionFloat.d.ts +0 -1
  240. package/dist/node/utils/encodeIEEE754SinglePrecisionFloat.js +1 -2
  241. package/dist/node/utils/encodeSignedBigEndianInteger.d.ts +0 -1
  242. package/dist/node/utils/encodeSignedBigEndianInteger.js +35 -4
  243. package/dist/node/utils/encodeUnsignedBigEndianInteger.d.ts +0 -1
  244. package/dist/node/utils/encodeUnsignedBigEndianInteger.js +35 -4
  245. package/dist/node/utils/encodeX690Base10RealNumber.d.ts +0 -1
  246. package/dist/node/utils/encodeX690Base10RealNumber.js +5 -4
  247. package/dist/node/utils/encodeX690BinaryRealNumber.d.ts +0 -1
  248. package/dist/node/utils/encodeX690BinaryRealNumber.js +41 -7
  249. package/dist/node/utils/getBitFromBase128.d.ts +0 -1
  250. package/dist/node/utils/getBitFromBase128.js +1 -2
  251. package/dist/node/utils/getBitFromBase256.d.ts +0 -1
  252. package/dist/node/utils/getBitFromBase256.js +1 -2
  253. package/dist/node/utils/index.d.ts +0 -1
  254. package/dist/node/utils/index.js +0 -1
  255. package/dist/node/utils/isInCanonicalOrder.d.ts +0 -1
  256. package/dist/node/utils/isInCanonicalOrder.js +1 -2
  257. package/dist/node/utils/isUniquelyTagged.d.ts +0 -1
  258. package/dist/node/utils/isUniquelyTagged.js +1 -2
  259. package/dist/node/utils/packBits.d.ts +0 -1
  260. package/dist/node/utils/packBits.js +1 -2
  261. package/dist/node/utils/setBitInBase128.d.ts +0 -1
  262. package/dist/node/utils/setBitInBase128.js +1 -2
  263. package/dist/node/utils/setBitInBase256.d.ts +0 -1
  264. package/dist/node/utils/setBitInBase256.js +1 -2
  265. package/dist/node/utils/sortCanonically.d.ts +0 -1
  266. package/dist/node/utils/sortCanonically.js +1 -2
  267. package/dist/node/utils/splitOctetsCanonically.d.ts +0 -1
  268. package/dist/node/utils/splitOctetsCanonically.js +1 -2
  269. package/dist/node/utils/trimLeadingPaddingBytes.d.ts +0 -1
  270. package/dist/node/utils/trimLeadingPaddingBytes.js +1 -2
  271. package/dist/node/utils/unpackBits.d.ts +0 -1
  272. package/dist/node/utils/unpackBits.js +1 -2
  273. package/dist/node/validators/datetimeComponentValidator.d.ts +0 -1
  274. package/dist/node/validators/datetimeComponentValidator.js +35 -4
  275. package/dist/node/validators/index.d.ts +0 -1
  276. package/dist/node/validators/index.js +0 -1
  277. package/dist/node/validators/isGeneralCharacter.d.ts +0 -1
  278. package/dist/node/validators/isGeneralCharacter.js +1 -2
  279. package/dist/node/validators/isGraphicCharacter.d.ts +0 -1
  280. package/dist/node/validators/isGraphicCharacter.js +1 -2
  281. package/dist/node/validators/isNumericCharacter.d.ts +0 -1
  282. package/dist/node/validators/isNumericCharacter.js +1 -2
  283. package/dist/node/validators/isObjectDescriptorCharacter.d.ts +0 -1
  284. package/dist/node/validators/isObjectDescriptorCharacter.js +5 -4
  285. package/dist/node/validators/isPrintableCharacter.d.ts +0 -1
  286. package/dist/node/validators/isPrintableCharacter.js +1 -2
  287. package/dist/node/validators/isVisibleCharacter.d.ts +0 -1
  288. package/dist/node/validators/isVisibleCharacter.js +5 -4
  289. package/dist/node/validators/validateConstruction.d.ts +0 -1
  290. package/dist/node/validators/validateConstruction.js +35 -4
  291. package/dist/node/validators/validateDate.d.ts +0 -1
  292. package/dist/node/validators/validateDate.js +45 -5
  293. package/dist/node/validators/validateDateTime.d.ts +0 -1
  294. package/dist/node/validators/validateDateTime.js +6 -5
  295. package/dist/node/validators/validateTime.d.ts +0 -1
  296. package/dist/node/validators/validateTime.js +44 -4
  297. package/dist/node/values.d.ts +0 -1
  298. package/dist/node/values.js +7 -8
  299. package/dist/node/x690.d.ts +0 -1
  300. package/dist/node/x690.js +56 -22
  301. package/package.json +7 -23
  302. package/dist/node/ConstructedElementSpecification.d.ts.map +0 -1
  303. package/dist/node/ConstructedElementSpecification.js.map +0 -1
  304. package/dist/node/asn1.d.ts.map +0 -1
  305. package/dist/node/asn1.js.map +0 -1
  306. package/dist/node/classes/ABSTRACT-SYNTAX.d.ts.map +0 -1
  307. package/dist/node/classes/ABSTRACT-SYNTAX.js.map +0 -1
  308. package/dist/node/classes/TYPE-IDENTIFIER.d.ts.map +0 -1
  309. package/dist/node/classes/TYPE-IDENTIFIER.js.map +0 -1
  310. package/dist/node/classes/index.d.ts.map +0 -1
  311. package/dist/node/classes/index.js.map +0 -1
  312. package/dist/node/codecs/ber/decoders/decodeBitString.d.ts.map +0 -1
  313. package/dist/node/codecs/ber/decoders/decodeBitString.js.map +0 -1
  314. package/dist/node/codecs/ber/decoders/decodeBoolean.d.ts.map +0 -1
  315. package/dist/node/codecs/ber/decoders/decodeBoolean.js.map +0 -1
  316. package/dist/node/codecs/ber/decoders/decodeDuration.d.ts.map +0 -1
  317. package/dist/node/codecs/ber/decoders/decodeDuration.js.map +0 -1
  318. package/dist/node/codecs/ber/decoders/decodeGeneralizedTime.d.ts.map +0 -1
  319. package/dist/node/codecs/ber/decoders/decodeGeneralizedTime.js.map +0 -1
  320. package/dist/node/codecs/ber/decoders/decodeReal.d.ts.map +0 -1
  321. package/dist/node/codecs/ber/decoders/decodeReal.js.map +0 -1
  322. package/dist/node/codecs/ber/decoders/decodeSequence.d.ts.map +0 -1
  323. package/dist/node/codecs/ber/decoders/decodeSequence.js.map +0 -1
  324. package/dist/node/codecs/ber/decoders/decodeUTCTime.d.ts.map +0 -1
  325. package/dist/node/codecs/ber/decoders/decodeUTCTime.js.map +0 -1
  326. package/dist/node/codecs/ber/encoders/encodeGeneralString.d.ts.map +0 -1
  327. package/dist/node/codecs/ber/encoders/encodeGeneralString.js.map +0 -1
  328. package/dist/node/codecs/ber/encoders/encodeGraphicString.d.ts.map +0 -1
  329. package/dist/node/codecs/ber/encoders/encodeGraphicString.js.map +0 -1
  330. package/dist/node/codecs/ber/encoders/encodeNumericString.d.ts.map +0 -1
  331. package/dist/node/codecs/ber/encoders/encodeNumericString.js.map +0 -1
  332. package/dist/node/codecs/ber/encoders/encodeObjectDescriptor.d.ts.map +0 -1
  333. package/dist/node/codecs/ber/encoders/encodeObjectDescriptor.js.map +0 -1
  334. package/dist/node/codecs/ber/encoders/encodePrintableString.d.ts.map +0 -1
  335. package/dist/node/codecs/ber/encoders/encodePrintableString.js.map +0 -1
  336. package/dist/node/codecs/ber/encoders/encodeVisibleString.d.ts.map +0 -1
  337. package/dist/node/codecs/ber/encoders/encodeVisibleString.js.map +0 -1
  338. package/dist/node/codecs/ber.d.ts.map +0 -1
  339. package/dist/node/codecs/ber.js.map +0 -1
  340. package/dist/node/codecs/cer/decoders/decodeSequence.d.ts.map +0 -1
  341. package/dist/node/codecs/cer/decoders/decodeSequence.js.map +0 -1
  342. package/dist/node/codecs/cer.d.ts.map +0 -1
  343. package/dist/node/codecs/cer.js.map +0 -1
  344. package/dist/node/codecs/coer/decoders/decodeBoolean.d.ts.map +0 -1
  345. package/dist/node/codecs/coer/decoders/decodeBoolean.js.map +0 -1
  346. package/dist/node/codecs/der/decoders/decodeBitString.d.ts.map +0 -1
  347. package/dist/node/codecs/der/decoders/decodeBitString.js.map +0 -1
  348. package/dist/node/codecs/der/decoders/decodeBoolean.d.ts.map +0 -1
  349. package/dist/node/codecs/der/decoders/decodeBoolean.js.map +0 -1
  350. package/dist/node/codecs/der/decoders/decodeDuration.d.ts.map +0 -1
  351. package/dist/node/codecs/der/decoders/decodeDuration.js.map +0 -1
  352. package/dist/node/codecs/der/decoders/decodeGeneralizedTime.d.ts.map +0 -1
  353. package/dist/node/codecs/der/decoders/decodeGeneralizedTime.js.map +0 -1
  354. package/dist/node/codecs/der/decoders/decodeReal.d.ts.map +0 -1
  355. package/dist/node/codecs/der/decoders/decodeReal.js.map +0 -1
  356. package/dist/node/codecs/der/decoders/decodeSequence.d.ts.map +0 -1
  357. package/dist/node/codecs/der/decoders/decodeSequence.js.map +0 -1
  358. package/dist/node/codecs/der/decoders/decodeUTCTime.d.ts.map +0 -1
  359. package/dist/node/codecs/der/decoders/decodeUTCTime.js.map +0 -1
  360. package/dist/node/codecs/der.d.ts.map +0 -1
  361. package/dist/node/codecs/der.js.map +0 -1
  362. package/dist/node/codecs/oer/decoders/decodeBoolean.d.ts.map +0 -1
  363. package/dist/node/codecs/oer/decoders/decodeBoolean.js.map +0 -1
  364. package/dist/node/codecs/x690/decoders/decodeCharacterString.d.ts.map +0 -1
  365. package/dist/node/codecs/x690/decoders/decodeCharacterString.js.map +0 -1
  366. package/dist/node/codecs/x690/decoders/decodeDate.d.ts.map +0 -1
  367. package/dist/node/codecs/x690/decoders/decodeDate.js.map +0 -1
  368. package/dist/node/codecs/x690/decoders/decodeDateTime.d.ts.map +0 -1
  369. package/dist/node/codecs/x690/decoders/decodeDateTime.js.map +0 -1
  370. package/dist/node/codecs/x690/decoders/decodeEmbeddedPDV.d.ts.map +0 -1
  371. package/dist/node/codecs/x690/decoders/decodeEmbeddedPDV.js.map +0 -1
  372. package/dist/node/codecs/x690/decoders/decodeExternal.d.ts.map +0 -1
  373. package/dist/node/codecs/x690/decoders/decodeExternal.js.map +0 -1
  374. package/dist/node/codecs/x690/decoders/decodeGeneralString.d.ts.map +0 -1
  375. package/dist/node/codecs/x690/decoders/decodeGeneralString.js.map +0 -1
  376. package/dist/node/codecs/x690/decoders/decodeGraphicString.d.ts.map +0 -1
  377. package/dist/node/codecs/x690/decoders/decodeGraphicString.js.map +0 -1
  378. package/dist/node/codecs/x690/decoders/decodeInteger.d.ts.map +0 -1
  379. package/dist/node/codecs/x690/decoders/decodeInteger.js.map +0 -1
  380. package/dist/node/codecs/x690/decoders/decodeNumericString.d.ts.map +0 -1
  381. package/dist/node/codecs/x690/decoders/decodeNumericString.js.map +0 -1
  382. package/dist/node/codecs/x690/decoders/decodeOIDIRI.d.ts.map +0 -1
  383. package/dist/node/codecs/x690/decoders/decodeOIDIRI.js.map +0 -1
  384. package/dist/node/codecs/x690/decoders/decodeObjectDescriptor.d.ts.map +0 -1
  385. package/dist/node/codecs/x690/decoders/decodeObjectDescriptor.js.map +0 -1
  386. package/dist/node/codecs/x690/decoders/decodeObjectIdentifier.d.ts.map +0 -1
  387. package/dist/node/codecs/x690/decoders/decodeObjectIdentifier.js.map +0 -1
  388. package/dist/node/codecs/x690/decoders/decodePrintableString.d.ts.map +0 -1
  389. package/dist/node/codecs/x690/decoders/decodePrintableString.js.map +0 -1
  390. package/dist/node/codecs/x690/decoders/decodeRelativeOIDIRI.d.ts.map +0 -1
  391. package/dist/node/codecs/x690/decoders/decodeRelativeOIDIRI.js.map +0 -1
  392. package/dist/node/codecs/x690/decoders/decodeRelativeObjectIdentifier.d.ts.map +0 -1
  393. package/dist/node/codecs/x690/decoders/decodeRelativeObjectIdentifier.js.map +0 -1
  394. package/dist/node/codecs/x690/decoders/decodeTime.d.ts.map +0 -1
  395. package/dist/node/codecs/x690/decoders/decodeTime.js.map +0 -1
  396. package/dist/node/codecs/x690/decoders/decodeTimeOfDay.d.ts.map +0 -1
  397. package/dist/node/codecs/x690/decoders/decodeTimeOfDay.js.map +0 -1
  398. package/dist/node/codecs/x690/decoders/decodeVisibleString.d.ts.map +0 -1
  399. package/dist/node/codecs/x690/decoders/decodeVisibleString.js.map +0 -1
  400. package/dist/node/codecs/x690/encoders/encodeBitString.d.ts.map +0 -1
  401. package/dist/node/codecs/x690/encoders/encodeBitString.js.map +0 -1
  402. package/dist/node/codecs/x690/encoders/encodeBoolean.d.ts.map +0 -1
  403. package/dist/node/codecs/x690/encoders/encodeBoolean.js.map +0 -1
  404. package/dist/node/codecs/x690/encoders/encodeCharacterString.d.ts.map +0 -1
  405. package/dist/node/codecs/x690/encoders/encodeCharacterString.js.map +0 -1
  406. package/dist/node/codecs/x690/encoders/encodeDate.d.ts.map +0 -1
  407. package/dist/node/codecs/x690/encoders/encodeDate.js.map +0 -1
  408. package/dist/node/codecs/x690/encoders/encodeDateTime.d.ts.map +0 -1
  409. package/dist/node/codecs/x690/encoders/encodeDateTime.js.map +0 -1
  410. package/dist/node/codecs/x690/encoders/encodeDuration.d.ts.map +0 -1
  411. package/dist/node/codecs/x690/encoders/encodeDuration.js.map +0 -1
  412. package/dist/node/codecs/x690/encoders/encodeEmbeddedPDV.d.ts.map +0 -1
  413. package/dist/node/codecs/x690/encoders/encodeEmbeddedPDV.js.map +0 -1
  414. package/dist/node/codecs/x690/encoders/encodeExternal.d.ts.map +0 -1
  415. package/dist/node/codecs/x690/encoders/encodeExternal.js.map +0 -1
  416. package/dist/node/codecs/x690/encoders/encodeGeneralizedTime.d.ts.map +0 -1
  417. package/dist/node/codecs/x690/encoders/encodeGeneralizedTime.js.map +0 -1
  418. package/dist/node/codecs/x690/encoders/encodeInteger.d.ts.map +0 -1
  419. package/dist/node/codecs/x690/encoders/encodeInteger.js.map +0 -1
  420. package/dist/node/codecs/x690/encoders/encodeOIDIRI.d.ts.map +0 -1
  421. package/dist/node/codecs/x690/encoders/encodeOIDIRI.js.map +0 -1
  422. package/dist/node/codecs/x690/encoders/encodeObjectIdentifier.d.ts.map +0 -1
  423. package/dist/node/codecs/x690/encoders/encodeObjectIdentifier.js.map +0 -1
  424. package/dist/node/codecs/x690/encoders/encodeReal.d.ts.map +0 -1
  425. package/dist/node/codecs/x690/encoders/encodeReal.js.map +0 -1
  426. package/dist/node/codecs/x690/encoders/encodeRelativeOIDIRI.d.ts.map +0 -1
  427. package/dist/node/codecs/x690/encoders/encodeRelativeOIDIRI.js.map +0 -1
  428. package/dist/node/codecs/x690/encoders/encodeRelativeObjectIdentifier.d.ts.map +0 -1
  429. package/dist/node/codecs/x690/encoders/encodeRelativeObjectIdentifier.js.map +0 -1
  430. package/dist/node/codecs/x690/encoders/encodeSequence.d.ts.map +0 -1
  431. package/dist/node/codecs/x690/encoders/encodeSequence.js.map +0 -1
  432. package/dist/node/codecs/x690/encoders/encodeTime.d.ts.map +0 -1
  433. package/dist/node/codecs/x690/encoders/encodeTime.js.map +0 -1
  434. package/dist/node/codecs/x690/encoders/encodeTimeOfDay.d.ts.map +0 -1
  435. package/dist/node/codecs/x690/encoders/encodeTimeOfDay.js.map +0 -1
  436. package/dist/node/codecs/x690/encoders/encodeUTCTime.d.ts.map +0 -1
  437. package/dist/node/codecs/x690/encoders/encodeUTCTime.js.map +0 -1
  438. package/dist/node/codecs/x696/encoders/encodeBoolean.d.ts.map +0 -1
  439. package/dist/node/codecs/x696/encoders/encodeBoolean.js.map +0 -1
  440. package/dist/node/errors.d.ts.map +0 -1
  441. package/dist/node/errors.js.map +0 -1
  442. package/dist/node/functional.d.ts.map +0 -1
  443. package/dist/node/functional.js.map +0 -1
  444. package/dist/node/index.d.ts.map +0 -1
  445. package/dist/node/index.js.map +0 -1
  446. package/dist/node/interfaces/Byteable.d.ts.map +0 -1
  447. package/dist/node/interfaces/Byteable.js.map +0 -1
  448. package/dist/node/interfaces/CharacterValidationFunction.d.ts.map +0 -1
  449. package/dist/node/interfaces/CharacterValidationFunction.js.map +0 -1
  450. package/dist/node/interfaces/Debyteable.d.ts.map +0 -1
  451. package/dist/node/interfaces/Debyteable.js.map +0 -1
  452. package/dist/node/interfaces/Deelementable.d.ts.map +0 -1
  453. package/dist/node/interfaces/Deelementable.js.map +0 -1
  454. package/dist/node/interfaces/Destringable.d.ts.map +0 -1
  455. package/dist/node/interfaces/Destringable.js.map +0 -1
  456. package/dist/node/interfaces/Elementable.d.ts.map +0 -1
  457. package/dist/node/interfaces/Elementable.js.map +0 -1
  458. package/dist/node/interfaces/Enbyteable.d.ts.map +0 -1
  459. package/dist/node/interfaces/Enbyteable.js.map +0 -1
  460. package/dist/node/interfaces/Enelementable.d.ts.map +0 -1
  461. package/dist/node/interfaces/Enelementable.js.map +0 -1
  462. package/dist/node/interfaces/Enstringable.d.ts.map +0 -1
  463. package/dist/node/interfaces/Enstringable.js.map +0 -1
  464. package/dist/node/interfaces/Identified.d.ts.map +0 -1
  465. package/dist/node/interfaces/Identified.js.map +0 -1
  466. package/dist/node/interfaces/Long.d.ts.map +0 -1
  467. package/dist/node/interfaces/Long.js.map +0 -1
  468. package/dist/node/interfaces/Named.d.ts.map +0 -1
  469. package/dist/node/interfaces/Named.js.map +0 -1
  470. package/dist/node/interfaces/Stringable.d.ts.map +0 -1
  471. package/dist/node/interfaces/Stringable.js.map +0 -1
  472. package/dist/node/interfaces/index.d.ts.map +0 -1
  473. package/dist/node/interfaces/index.js.map +0 -1
  474. package/dist/node/macros.d.ts.map +0 -1
  475. package/dist/node/macros.js.map +0 -1
  476. package/dist/node/types/CharacterString.d.ts.map +0 -1
  477. package/dist/node/types/CharacterString.js.map +0 -1
  478. package/dist/node/types/EmbeddedPDV.d.ts.map +0 -1
  479. package/dist/node/types/EmbeddedPDV.js.map +0 -1
  480. package/dist/node/types/External.d.ts.map +0 -1
  481. package/dist/node/types/External.js.map +0 -1
  482. package/dist/node/types/ObjectIdentifier.d.ts.map +0 -1
  483. package/dist/node/types/ObjectIdentifier.js.map +0 -1
  484. package/dist/node/types/TypeIdentifier.d.ts.map +0 -1
  485. package/dist/node/types/TypeIdentifier.js.map +0 -1
  486. package/dist/node/types/index.d.ts.map +0 -1
  487. package/dist/node/types/index.js.map +0 -1
  488. package/dist/node/types/time/DATE-ENCODING.d.ts.map +0 -1
  489. package/dist/node/types/time/DATE-ENCODING.js.map +0 -1
  490. package/dist/node/types/time/DURATION-EQUIVALENT.d.ts.map +0 -1
  491. package/dist/node/types/time/DURATION-EQUIVALENT.js.map +0 -1
  492. package/dist/node/types/time/DURATION-INTERVAL-ENCODING.d.ts.map +0 -1
  493. package/dist/node/types/time/DURATION-INTERVAL-ENCODING.js.map +0 -1
  494. package/dist/node/types/time/HOURS-DIFF-ENCODING.d.ts.map +0 -1
  495. package/dist/node/types/time/HOURS-DIFF-ENCODING.js.map +0 -1
  496. package/dist/node/types/time/HOURS-ENCODING.d.ts.map +0 -1
  497. package/dist/node/types/time/HOURS-ENCODING.js.map +0 -1
  498. package/dist/node/types/time/HOURS-MINUTES-DIFF-ENCODING.d.ts.map +0 -1
  499. package/dist/node/types/time/HOURS-MINUTES-DIFF-ENCODING.js.map +0 -1
  500. package/dist/node/types/time/HOURS-MINUTES-ENCODING.d.ts.map +0 -1
  501. package/dist/node/types/time/HOURS-MINUTES-ENCODING.js.map +0 -1
  502. package/dist/node/types/time/TIME-OF-DAY-DIFF-ENCODING.d.ts.map +0 -1
  503. package/dist/node/types/time/TIME-OF-DAY-DIFF-ENCODING.js.map +0 -1
  504. package/dist/node/types/time/TIME-OF-DAY-ENCODING.d.ts.map +0 -1
  505. package/dist/node/types/time/TIME-OF-DAY-ENCODING.js.map +0 -1
  506. package/dist/node/types/time/TIME-OF-DAY-FRACTION-DIFF-ENCODING.d.ts.map +0 -1
  507. package/dist/node/types/time/TIME-OF-DAY-FRACTION-DIFF-ENCODING.js.map +0 -1
  508. package/dist/node/types/time/TIME-OF-DAY-FRACTION-ENCODING.d.ts.map +0 -1
  509. package/dist/node/types/time/TIME-OF-DAY-FRACTION-ENCODING.js.map +0 -1
  510. package/dist/node/types/time/YEAR-ENCODING.d.ts.map +0 -1
  511. package/dist/node/types/time/YEAR-ENCODING.js.map +0 -1
  512. package/dist/node/types/time/YEAR-MONTH-ENCODING.d.ts.map +0 -1
  513. package/dist/node/types/time/YEAR-MONTH-ENCODING.js.map +0 -1
  514. package/dist/node/utils/base128Length.d.ts.map +0 -1
  515. package/dist/node/utils/base128Length.js.map +0 -1
  516. package/dist/node/utils/base256Length.d.ts +0 -2
  517. package/dist/node/utils/base256Length.d.ts.map +0 -1
  518. package/dist/node/utils/base256Length.js +0 -7
  519. package/dist/node/utils/base256Length.js.map +0 -1
  520. package/dist/node/utils/bigint.d.ts.map +0 -1
  521. package/dist/node/utils/bigint.js.map +0 -1
  522. package/dist/node/utils/compareSetOfElementsCanonically.d.ts.map +0 -1
  523. package/dist/node/utils/compareSetOfElementsCanonically.js.map +0 -1
  524. package/dist/node/utils/convertBytesToText.d.ts.map +0 -1
  525. package/dist/node/utils/convertBytesToText.js.map +0 -1
  526. package/dist/node/utils/convertTextToBytes.d.ts.map +0 -1
  527. package/dist/node/utils/convertTextToBytes.js.map +0 -1
  528. package/dist/node/utils/decodeBase128.d.ts +0 -3
  529. package/dist/node/utils/decodeBase128.d.ts.map +0 -1
  530. package/dist/node/utils/decodeBase128.js +0 -43
  531. package/dist/node/utils/decodeBase128.js.map +0 -1
  532. package/dist/node/utils/decodeIEEE754DoublePrecisionFloat.d.ts.map +0 -1
  533. package/dist/node/utils/decodeIEEE754DoublePrecisionFloat.js.map +0 -1
  534. package/dist/node/utils/decodeIEEE754SinglePrecisionFloat.d.ts.map +0 -1
  535. package/dist/node/utils/decodeIEEE754SinglePrecisionFloat.js.map +0 -1
  536. package/dist/node/utils/decodeSignedBigEndianInteger.d.ts.map +0 -1
  537. package/dist/node/utils/decodeSignedBigEndianInteger.js.map +0 -1
  538. package/dist/node/utils/decodeUnsignedBigEndianInteger.d.ts.map +0 -1
  539. package/dist/node/utils/decodeUnsignedBigEndianInteger.js.map +0 -1
  540. package/dist/node/utils/decodeX690RealNumber.d.ts.map +0 -1
  541. package/dist/node/utils/decodeX690RealNumber.js.map +0 -1
  542. package/dist/node/utils/dissectFloat.d.ts.map +0 -1
  543. package/dist/node/utils/dissectFloat.js.map +0 -1
  544. package/dist/node/utils/encodeBase128.d.ts +0 -2
  545. package/dist/node/utils/encodeBase128.d.ts.map +0 -1
  546. package/dist/node/utils/encodeBase128.js +0 -27
  547. package/dist/node/utils/encodeBase128.js.map +0 -1
  548. package/dist/node/utils/encodeIEEE754DoublePrecisionFloat.d.ts.map +0 -1
  549. package/dist/node/utils/encodeIEEE754DoublePrecisionFloat.js.map +0 -1
  550. package/dist/node/utils/encodeIEEE754SinglePrecisionFloat.d.ts.map +0 -1
  551. package/dist/node/utils/encodeIEEE754SinglePrecisionFloat.js.map +0 -1
  552. package/dist/node/utils/encodeSignedBigEndianInteger.d.ts.map +0 -1
  553. package/dist/node/utils/encodeSignedBigEndianInteger.js.map +0 -1
  554. package/dist/node/utils/encodeUnsignedBigEndianInteger.d.ts.map +0 -1
  555. package/dist/node/utils/encodeUnsignedBigEndianInteger.js.map +0 -1
  556. package/dist/node/utils/encodeX690Base10RealNumber.d.ts.map +0 -1
  557. package/dist/node/utils/encodeX690Base10RealNumber.js.map +0 -1
  558. package/dist/node/utils/encodeX690BinaryRealNumber.d.ts.map +0 -1
  559. package/dist/node/utils/encodeX690BinaryRealNumber.js.map +0 -1
  560. package/dist/node/utils/getBitFromBase128.d.ts.map +0 -1
  561. package/dist/node/utils/getBitFromBase128.js.map +0 -1
  562. package/dist/node/utils/getBitFromBase256.d.ts.map +0 -1
  563. package/dist/node/utils/getBitFromBase256.js.map +0 -1
  564. package/dist/node/utils/index.d.ts.map +0 -1
  565. package/dist/node/utils/index.js.map +0 -1
  566. package/dist/node/utils/isInCanonicalOrder.d.ts.map +0 -1
  567. package/dist/node/utils/isInCanonicalOrder.js.map +0 -1
  568. package/dist/node/utils/isUniquelyTagged.d.ts.map +0 -1
  569. package/dist/node/utils/isUniquelyTagged.js.map +0 -1
  570. package/dist/node/utils/packBits.d.ts.map +0 -1
  571. package/dist/node/utils/packBits.js.map +0 -1
  572. package/dist/node/utils/setBitInBase128.d.ts.map +0 -1
  573. package/dist/node/utils/setBitInBase128.js.map +0 -1
  574. package/dist/node/utils/setBitInBase256.d.ts.map +0 -1
  575. package/dist/node/utils/setBitInBase256.js.map +0 -1
  576. package/dist/node/utils/sortCanonically.d.ts.map +0 -1
  577. package/dist/node/utils/sortCanonically.js.map +0 -1
  578. package/dist/node/utils/splitBytesByContinuationBit.d.ts +0 -3
  579. package/dist/node/utils/splitBytesByContinuationBit.d.ts.map +0 -1
  580. package/dist/node/utils/splitBytesByContinuationBit.js +0 -15
  581. package/dist/node/utils/splitBytesByContinuationBit.js.map +0 -1
  582. package/dist/node/utils/splitOctetsCanonically.d.ts.map +0 -1
  583. package/dist/node/utils/splitOctetsCanonically.js.map +0 -1
  584. package/dist/node/utils/trimLeadingPaddingBytes.d.ts.map +0 -1
  585. package/dist/node/utils/trimLeadingPaddingBytes.js.map +0 -1
  586. package/dist/node/utils/unpackBits.d.ts.map +0 -1
  587. package/dist/node/utils/unpackBits.js.map +0 -1
  588. package/dist/node/validators/datetimeComponentValidator.d.ts.map +0 -1
  589. package/dist/node/validators/datetimeComponentValidator.js.map +0 -1
  590. package/dist/node/validators/index.d.ts.map +0 -1
  591. package/dist/node/validators/index.js.map +0 -1
  592. package/dist/node/validators/isGeneralCharacter.d.ts.map +0 -1
  593. package/dist/node/validators/isGeneralCharacter.js.map +0 -1
  594. package/dist/node/validators/isGraphicCharacter.d.ts.map +0 -1
  595. package/dist/node/validators/isGraphicCharacter.js.map +0 -1
  596. package/dist/node/validators/isNumericCharacter.d.ts.map +0 -1
  597. package/dist/node/validators/isNumericCharacter.js.map +0 -1
  598. package/dist/node/validators/isObjectDescriptorCharacter.d.ts.map +0 -1
  599. package/dist/node/validators/isObjectDescriptorCharacter.js.map +0 -1
  600. package/dist/node/validators/isPrintableCharacter.d.ts.map +0 -1
  601. package/dist/node/validators/isPrintableCharacter.js.map +0 -1
  602. package/dist/node/validators/isVisibleCharacter.d.ts.map +0 -1
  603. package/dist/node/validators/isVisibleCharacter.js.map +0 -1
  604. package/dist/node/validators/validateConstruction.d.ts.map +0 -1
  605. package/dist/node/validators/validateConstruction.js.map +0 -1
  606. package/dist/node/validators/validateDate.d.ts.map +0 -1
  607. package/dist/node/validators/validateDate.js.map +0 -1
  608. package/dist/node/validators/validateDateTime.d.ts.map +0 -1
  609. package/dist/node/validators/validateDateTime.js.map +0 -1
  610. package/dist/node/validators/validateTime.d.ts.map +0 -1
  611. package/dist/node/validators/validateTime.js.map +0 -1
  612. package/dist/node/values.d.ts.map +0 -1
  613. package/dist/node/values.js.map +0 -1
  614. package/dist/node/x690.d.ts.map +0 -1
  615. package/dist/node/x690.js.map +0 -1
package/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2020 Jonathan M. Wilbur <jonathan@wilbur.space>
3
+ Copyright (c) 2020-2025 Jonathan M. Wilbur <jonathan@wilbur.space>
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,53 +1,21 @@
1
1
  # ASN.1 TypeScript Library
2
2
 
3
- * Author: [Jonathan M. Wilbur](https://github.com/JonathanWilbur) <[jonathan@wilbur.space](mailto:jonathan@wilbur.space)>
4
- * Copyright Year: 2020
5
- * License: [MIT License](https://mit-license.org/)
3
+ Feature-complete, specification-compliant TypeScript library for encoding and
4
+ decoding ASN.1 data structures using the Basic Encoding Rules (BER),
5
+ Canonical Encoding Rules (CER), and Distinguished Encoding Rules (DER).
6
6
 
7
- This library was based off of my [D ASN.1 Library](https://github.com/JonathanWilbur/asn1-d).
7
+ Install via `npm install asn1-ts`.
8
8
 
9
- ## What is ASN.1?
9
+ **Table of Contents**
10
10
 
11
- ASN.1 stands for *Abstract Syntax Notation*. ASN.1 was first specified in
12
- [X.680 - Abstract Syntax Notation One (ASN.1)](https://www.itu.int/rec/T-REC-X.680/en),
13
- by the [International Telecommunications Union](https://www.itu.int/en/pages/default.aspx).
14
- ASN.1 messages can be encoded in one of several encoding/decoding standards.
15
- It provides a system of types that are extensible, and can presumably describe
16
- every protocol. You can think of it as a protocol for describing other protocols
17
- as well as a family of standards for encoding and decoding said protocols.
18
- It is similar to Google's [Protocol Buffers](https://developers.google.com/protocol-buffers/),
19
- or Sun Microsystems' [External Data Representation (XDR)](https://tools.ietf.org/html/rfc1014).
20
-
21
- For more information on what ASN.1 is, see `documentation/asn1.md`.
22
-
23
- ## Why Use This Library?
24
-
25
- I believe this library is the first **complete** implementation of ASN.1,
26
- meaning that it implements **all** data types defined in the specification,
27
- and encodes and decodes **exactly** as specified.
28
-
29
- I have never seen any implementation of ASN.1 elsewhere that supports all
30
- data types; in fact, most just implement the ten or so most common types.
31
- Several implementations I have seen do not support things that
32
- are supported by the specification, such as constructed strings.
33
-
34
- This library is **fully compliant to the specification**. If I am wrong,
35
- please write up an issue and I will correct it.
36
-
37
- ## Why Not Use This Library?
38
-
39
- This library is meant to be **fully compliant to the specification**, not
40
- lightweight. If you need a web application that encodes and decodes very simple
41
- ASN.1 data and loads lightning-fast, this may not be the library for you.
42
-
43
- ## Building
44
-
45
- You can build this library by running `npm run build`.
46
- The outputs will all be in `dist`.
47
-
48
- - `dist/index.js` is the root for usage in NodeJS.
49
- - `dist/asn1.min.js` is the entire ASN.1 library for the web browser, which is
50
- minified, and accessible under the variable `asn1`.
11
+ - [Library Usage](#library-usage)
12
+ - [Data Types](#data-types)
13
+ - [Encoding and Decoding](#encoding-and-decoding)
14
+ - [Error Handling](#error-handling)
15
+ - [BIT STRING](#bit-string)
16
+ - [OBJECT IDENTIFIER](#object-identifier)
17
+ - [Building](#building)
18
+ - [See Also](#see-also)
51
19
 
52
20
  ## Library Usage
53
21
 
@@ -127,7 +95,7 @@ Here is a TypeScript example of encoding with Basic Encoding Rules, using the
127
95
  ```typescript
128
96
  let el: BERElement = new BERElement();
129
97
  el.tagClass = ASN1TagClass.universal; // Not technically necessary.
130
- el.construction = ASN1Construction.construction; // Not technically necessary.
98
+ el.construction = ASN1Construction.primitive; // Not technically necessary.
131
99
  el.tagNumber = ASN1UniversalType.integer;
132
100
  el.integer = 1433; // Now the data is encoded.
133
101
  console.log(el.integer); // Logs '1433'
@@ -136,8 +104,8 @@ console.log(el.integer); // Logs '1433'
136
104
  ... and here is how you would decode that same element:
137
105
 
138
106
  ```typescript
139
- let encodedData: Uint8Array = el.toBytes();
140
- let el2: BERElement = new BERElement();
107
+ const encodedData: Uint8Array = el.toBytes();
108
+ const el2: BERElement = new BERElement();
141
109
  el2.fromBytes(encodedData);
142
110
  console.log(el2.integer); // Logs 1433
143
111
  ```
@@ -156,14 +124,11 @@ of the element can be read and written via the `construction` property using the
156
124
  property. For your convenience, the `ASN1UniveralType` enum contains the tag
157
125
  numbers of the `UNIVERSAL` tags by the data type.
158
126
 
159
- Generic "bytes" are represented with the `Uint8Array` class. Note that `Buffer`
160
- is a subtype of `Uint8Array`, so you can use a `Buffer` anywhere you use a
161
- `Uint8Array` (but not the reverse). You can interact with the value bytes of the
162
- ASN.1 element through the `value` property. You can convert ASN.1 elements to
163
- and from bytes using `toBytes()` and `fromBytes()`. `fromBytes()` returns an
164
- integer indicating the number of bytes read from the `Uint8Array`. Here is an
165
- example of how you would decode multiple back-to-back encoded ASN.1 elements
166
- from a buffer:
127
+ Generic "bytes" are represented with the `Buffer` class. You can convert ASN.1
128
+ elements to and from bytes using `toBytes()` and `fromBytes()`. `fromBytes()`
129
+ returns an integer indicating the number of bytes read from the `Uint8Array`.
130
+ Here is an example of how you would decode multiple back-to-back encoded ASN.1
131
+ elements from a buffer:
167
132
 
168
133
  ```typescript
169
134
  const encodedElements: BERElement[] = [];
@@ -319,33 +284,17 @@ You can encode and decode object identifiers to and from their dot-delimited
319
284
  string representations (e.g. `2.5.4.3`) using `toString()` and
320
285
  `ObjectIdentifier.fromString()` (the latter is a static method.)
321
286
 
322
- ## Future Development
323
-
324
- - [x] Implement a function for ITU X.690, Section 11.6.
325
- - [ ] Implement these codecs:
326
- - [ ] Octet Encoding Rules (This is used by Simple Transportation Management Protocol (STMP) and DATEX-ASN.)
327
- - [ ] Canonical Octet Encoding Rules
328
- - [ ] NTCIP Encoding Rules (This is used by Simple Transportation Management Protocol (STMP) and DATEX-ASN.)
329
- - [ ] JSON Encoding Rules (May require changes to ASN1Element, or a separate element.)
330
- - [x] ~~Lightweight Encoding Rules~~ (I cannot find a standard anywhere for this.)
331
- - [ ] BACNet Encoding Rules
332
- - [ ] Packed Encoding Rules
333
- - [ ] Basic Aligned Packed Encoding Rules (PER) (This is used by MCS / T.125, which is used by RDP. I believe it is also used by J2735 / DSRC.)
334
- - [ ] Make a separate RDPER (Remoted Desktop Protocol Encoding Rules)
335
- - [ ] Basic Unaligned Packed Encoding Rules (UPER) (May require changes to ASN1Element) (Used by 3GPP RRC)
336
- - [ ] Canonical Aligned Packed Encoding Rules (CPER)
337
- - [ ] Canonical Unaligned Packed Encoding Rules (CUPER) (May require changes to ASN1Element)
338
- - [ ] Internationalized strings
339
- - [x] ~~Serverless Functions~~ (May be done in a different repo.)
287
+ ## Building
288
+
289
+ You can build this library by running `npm run build`.
290
+ The outputs will all be in `dist`. `dist/node/index.js` is the root for usage in
291
+ NodeJS.
340
292
 
341
293
  ## See Also
342
294
 
295
+ - [Libraries that use `asn1-ts`](https://github.com/Wildboar-Software/asn1-typescript-libraries)
296
+ - [Meerkat DSA](https://wildboar-software.github.io/directory/), an application
297
+ that uses `asn1-ts`.
343
298
  * [X.680 - Abstract Syntax Notation One (ASN.1)](https://www.itu.int/rec/T-REC-X.680/en)
344
299
  * [X.690 - BER, CER, and DER](https://www.itu.int/rec/T-REC-X.690/en)
345
- * [X.691 - Packed Encoding Rules](https://www.itu.int/rec/T-REC-X.691-201508-I/en)
346
- * [X.693 - XML Encoding Rules](https://www.itu.int/rec/T-REC-X.693/en)
347
- * [X.696 - Octet Encoding Rules](https://www.itu.int/rec/T-REC-X.696-201508-I/en)
348
- * [X.697 - JSON Encoding Rules](https://www.itu.int/rec/T-REC-X.697-201710-I/en)
349
- * [ISO 16484-5:2017 - BACNet Encoding Rules](https://www.iso.org/standard/71935.html)
350
- * [NTCIP 1102:2004 - Octet Encoding Rules (OER) Base Protocol](https://www.nema.org/Standards/Pages/Octet-Encoding-Rules-Base-Protocol.aspx)
351
300
  * [ASN.1: Communication Between Heterogeneous Systems](https://www.oss.com/asn1/resources/books-whitepapers-pubs/dubuisson-asn1-book.PDF) by Olivier Dubuisson
@@ -9,4 +9,3 @@ export default interface ConstructedElementSpecification {
9
9
  choice?: ConstructedElementSpecification[];
10
10
  callback?: (el: ASN1Element) => void;
11
11
  }
12
- //# sourceMappingURL=ConstructedElementSpecification.d.ts.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=ConstructedElementSpecification.js.map
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { ASN1Construction, ASN1TagClass } from "./values";
3
2
  import type Byteable from "./interfaces/Byteable";
4
3
  import type Named from "./interfaces/Named";
@@ -128,4 +127,3 @@ export default abstract class ASN1Element implements Byteable, Elementable, Name
128
127
  toString(): string;
129
128
  toJSON(recurse?: boolean): unknown;
130
129
  }
131
- //# sourceMappingURL=asn1.d.ts.map
package/dist/node/asn1.js CHANGED
@@ -1,9 +1,44 @@
1
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
+ };
2
38
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const errors = tslib_1.__importStar(require("./errors"));
39
+ const errors = __importStar(require("./errors"));
5
40
  const values_1 = require("./values");
6
- const packBits_1 = tslib_1.__importDefault(require("./utils/packBits"));
41
+ const packBits_1 = __importDefault(require("./utils/packBits"));
7
42
  class ASN1Element {
8
43
  constructor() {
9
44
  this.recursionCount = 0;
@@ -350,6 +385,5 @@ class ASN1Element {
350
385
  }
351
386
  }
352
387
  }
353
- exports.default = ASN1Element;
354
388
  ASN1Element.nestingRecursionLimit = 5;
355
- //# sourceMappingURL=asn1.js.map
389
+ exports.default = ASN1Element;
@@ -12,4 +12,3 @@ export default interface ABSTRACT_SYNTAX<Type = any> {
12
12
  "&Type": Type;
13
13
  "&property": BIT_STRING;
14
14
  }
15
- //# sourceMappingURL=ABSTRACT-SYNTAX.d.ts.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=ABSTRACT-SYNTAX.js.map
@@ -11,4 +11,3 @@ export default interface TYPE_IDENTIFIER<Type = any> {
11
11
  "&id": OBJECT_IDENTIFIER;
12
12
  "&Type": Type;
13
13
  }
14
- //# sourceMappingURL=TYPE-IDENTIFIER.d.ts.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=TYPE-IDENTIFIER.js.map
@@ -1,3 +1,2 @@
1
1
  export { default as ABSTRACT_SYNTAX } from "./ABSTRACT-SYNTAX";
2
2
  export { default as TYPE_IDENTIFIER } from "./TYPE-IDENTIFIER";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=index.js.map
@@ -1,3 +1,2 @@
1
1
  import { BIT_STRING } from "../../../macros";
2
2
  export default function decodeBitString(value: Uint8Array): BIT_STRING;
3
- //# sourceMappingURL=decodeBitString.d.ts.map
@@ -1,7 +1,40 @@
1
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
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const errors = tslib_1.__importStar(require("../../../errors"));
36
+ exports.default = decodeBitString;
37
+ const errors = __importStar(require("../../../errors"));
5
38
  const macros_1 = require("../../../macros");
6
39
  function decodeBitString(value) {
7
40
  if (value.length === 0) {
@@ -20,5 +53,3 @@ function decodeBitString(value) {
20
53
  ret.length -= value[0];
21
54
  return new Uint8ClampedArray(ret);
22
55
  }
23
- exports.default = decodeBitString;
24
- //# sourceMappingURL=decodeBitString.js.map
@@ -1,3 +1,2 @@
1
1
  import { BOOLEAN } from "../../../macros";
2
2
  export default function decodeBoolean(value: Uint8Array): BOOLEAN;
3
- //# sourceMappingURL=decodeBoolean.d.ts.map
@@ -1,12 +1,43 @@
1
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
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const errors = tslib_1.__importStar(require("../../../errors"));
36
+ exports.default = decodeBoolean;
37
+ const errors = __importStar(require("../../../errors"));
5
38
  function decodeBoolean(value) {
6
39
  if (value.length !== 1) {
7
40
  throw new errors.ASN1SizeError("BOOLEAN not one byte");
8
41
  }
9
42
  return (value[0] !== 0);
10
43
  }
11
- exports.default = decodeBoolean;
12
- //# sourceMappingURL=decodeBoolean.js.map
@@ -1,3 +1,2 @@
1
1
  import { DURATION } from "../../../macros";
2
2
  export default function decodeDuration(bytes: Uint8Array): DURATION;
3
- //# sourceMappingURL=decodeDuration.d.ts.map
@@ -1,8 +1,44 @@
1
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
+ };
2
38
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const convertBytesToText_1 = tslib_1.__importDefault(require("../../../utils/convertBytesToText"));
5
- const errors = tslib_1.__importStar(require("../../../errors"));
39
+ exports.default = decodeDuration;
40
+ const convertBytesToText_1 = __importDefault(require("../../../utils/convertBytesToText"));
41
+ const errors = __importStar(require("../../../errors"));
6
42
  const types_1 = require("../../../types");
7
43
  const values_1 = require("../../../values");
8
44
  function decodeDuration(bytes) {
@@ -65,5 +101,3 @@ function decodeDuration(bytes) {
65
101
  const seconds = match[6] ? Number.parseInt(match[6], 10) : undefined;
66
102
  return new types_1.DURATION_EQUIVALENT(years, months, undefined, days, hours, minutes, seconds, fractional_part);
67
103
  }
68
- exports.default = decodeDuration;
69
- //# sourceMappingURL=decodeDuration.js.map
@@ -1,3 +1,2 @@
1
1
  import { GeneralizedTime } from "../../../macros";
2
2
  export default function decodeGeneralizedTime(value: Uint8Array): GeneralizedTime;
3
- //# sourceMappingURL=decodeGeneralizedTime.d.ts.map
@@ -1,24 +1,155 @@
1
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
+ };
2
38
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const errors = tslib_1.__importStar(require("../../../errors"));
5
- const convertBytesToText_1 = tslib_1.__importDefault(require("../../../utils/convertBytesToText"));
6
- const values_1 = require("../../../values");
7
- const validateDateTime_1 = tslib_1.__importDefault(require("../../../validators/validateDateTime"));
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"));
43
+ const SMALLEST_CORRECT_GENERALIZED_TIME = "2000120123".length;
44
+ const PERIOD = ".".charCodeAt(0);
45
+ const COMMA = ",".charCodeAt(0);
46
+ const Z = "Z".charCodeAt(0);
47
+ const PLUS = "+".charCodeAt(0);
48
+ const MINUS = "-".charCodeAt(0);
49
+ ;
50
+ function isStop(s, i) {
51
+ const char = s.charCodeAt(i);
52
+ return (char === PERIOD) || (char === COMMA);
53
+ }
8
54
  function decodeGeneralizedTime(value) {
55
+ if (value.length < SMALLEST_CORRECT_GENERALIZED_TIME) {
56
+ throw new errors.ASN1Error("Malformed GeneralizedTime string.");
57
+ }
58
+ if (value.length > 32) {
59
+ throw new errors.ASN1Error("Outrageously large GeneralizedTime string.");
60
+ }
9
61
  const dateString = (0, convertBytesToText_1.default)(value);
10
- const match = values_1.generalizedTimeRegex.exec(dateString);
11
- if (match === null) {
62
+ const year = Number(dateString.slice(0, 4));
63
+ const month = (Number(dateString.slice(4, 6)) - 1);
64
+ const date = Number(dateString.slice(6, 8));
65
+ const hours = Number(dateString.slice(8, 10));
66
+ if (value.length === 10) {
67
+ (0, validateDateTime_1.default)("GeneralizedTime", year, month, date, hours, 0, 0);
68
+ return new Date(year, month, date, hours, 0, 0);
69
+ }
70
+ let i = 10;
71
+ while (value[i] && value[i] >= 0x30 && value[i] <= 0x39)
72
+ i++;
73
+ let minutes = 0;
74
+ let seconds = 0;
75
+ let milliseconds = 0;
76
+ let fractionUnits = 0;
77
+ if (i == 14) {
78
+ minutes = Number.parseInt(dateString.slice(10, 12), 10);
79
+ seconds = Number.parseInt(dateString.slice(12, 14), 10);
80
+ fractionUnits = 2;
81
+ }
82
+ else if (i == 12) {
83
+ minutes = Number.parseInt(dateString.slice(10, 12), 10);
84
+ fractionUnits = 1;
85
+ }
86
+ else if (i != 10) {
87
+ throw new errors.ASN1Error("Malformed GeneralizedTime string.");
88
+ }
89
+ if (value[i] === undefined) {
90
+ (0, validateDateTime_1.default)("GeneralizedTime", year, month, date, hours, minutes, seconds);
91
+ return new Date(year, month, date, hours, minutes, seconds);
92
+ }
93
+ if (isStop(dateString, i)) {
94
+ i++;
95
+ let j = i;
96
+ while (value[j] && value[j] >= 0x30 && value[j] <= 0x39)
97
+ j++;
98
+ const fractionString = `0.${dateString.slice(i, j)}`;
99
+ i = j;
100
+ const fraction = Number.parseFloat(fractionString);
101
+ if (fractionUnits === 0) {
102
+ minutes = Math.floor(60 * fraction);
103
+ seconds = Math.floor((60 * 60 * fraction) % 60);
104
+ }
105
+ else if (fractionUnits === 1) {
106
+ seconds = Math.floor(60 * fraction);
107
+ }
108
+ else if (fractionUnits === 2) {
109
+ milliseconds = Math.floor(1000 * fraction);
110
+ }
111
+ else {
112
+ throw new Error("internal asn1-ts error: invalid FractionalUnits");
113
+ }
114
+ }
115
+ if (value[i] === undefined) {
116
+ (0, validateDateTime_1.default)("GeneralizedTime", year, month, date, hours, minutes, seconds);
117
+ return new Date(year, month, date, hours, minutes, seconds, milliseconds);
118
+ }
119
+ if (value[i] === Z) {
120
+ (0, validateDateTime_1.default)("GeneralizedTime", year, month, date, hours, minutes, seconds);
121
+ return new Date(Date.UTC(year, month, date, hours, minutes, seconds, milliseconds));
122
+ }
123
+ if (value[i] === PLUS || value[i] === MINUS) {
124
+ const isPositive = value[i] === PLUS;
125
+ i++;
126
+ let j = i;
127
+ while (value[j] && value[j] >= 0x30 && value[j] <= 0x39)
128
+ j++;
129
+ const offsetSize = j - i;
130
+ if (value[j] !== undefined) {
131
+ throw new errors.ASN1Error("Malformed GeneralizedTime string.");
132
+ }
133
+ let offsetHour = 0;
134
+ let offsetMinute = 0;
135
+ if (offsetSize === 4) {
136
+ offsetHour = Number.parseInt(dateString.slice(j - 4, j - 2), 10);
137
+ offsetMinute = Number.parseInt(dateString.slice(j - 2, j), 10);
138
+ }
139
+ else if (offsetSize === 2) {
140
+ offsetHour = Number.parseInt(dateString.slice(j - 2, j));
141
+ }
142
+ else {
143
+ throw new errors.ASN1Error("Malformed GeneralizedTime string.");
144
+ }
145
+ let epochTimeInMS = Date.UTC(year, month, date, hours, minutes, seconds, milliseconds);
146
+ const sign = isPositive ? -1 : 1;
147
+ epochTimeInMS += sign * ((offsetHour * 60 * 60 * 1000) + (offsetMinute * 60 * 1000));
148
+ return new Date(epochTimeInMS);
149
+ }
150
+ if (value[i] !== undefined) {
12
151
  throw new errors.ASN1Error("Malformed GeneralizedTime string.");
13
152
  }
14
- const year = Number(match[1]);
15
- const month = (Number(match[2]) - 1);
16
- const date = Number(match[3]);
17
- const hours = Number(match[4]);
18
- const minutes = Number(match[5]);
19
- const seconds = Number(match[6]);
20
153
  (0, validateDateTime_1.default)("GeneralizedTime", year, month, date, hours, minutes, seconds);
21
- return new Date(Date.UTC(year, month, date, hours, minutes, seconds));
154
+ return new Date(Date.UTC(year, month, date, hours, minutes, seconds, milliseconds));
22
155
  }
23
- exports.default = decodeGeneralizedTime;
24
- //# sourceMappingURL=decodeGeneralizedTime.js.map
@@ -1,3 +1,2 @@
1
1
  import { REAL } from "../../../macros";
2
2
  export default function decodeReal(value: Uint8Array): REAL;
3
- //# sourceMappingURL=decodeReal.d.ts.map