asn1-ts 6.0.0 → 7.0.3

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 (351) hide show
  1. package/README.md +242 -5
  2. package/dist/node/ConstructedElementSpecification.d.ts +11 -11
  3. package/dist/node/ConstructedElementSpecification.js +2 -2
  4. package/dist/node/asn1.d.ts +155 -155
  5. package/dist/node/asn1.js +438 -438
  6. package/dist/node/classes/ABSTRACT-SYNTAX.d.ts +14 -14
  7. package/dist/node/classes/ABSTRACT-SYNTAX.js +2 -2
  8. package/dist/node/classes/TYPE-IDENTIFIER.d.ts +13 -13
  9. package/dist/node/classes/TYPE-IDENTIFIER.js +2 -2
  10. package/dist/node/classes/index.d.ts +2 -2
  11. package/dist/node/classes/index.js +2 -2
  12. package/dist/node/codecs/ber/decoders/decodeBitString.d.ts +2 -2
  13. package/dist/node/codecs/ber/decoders/decodeBitString.js +32 -32
  14. package/dist/node/codecs/ber/decoders/decodeBoolean.d.ts +2 -2
  15. package/dist/node/codecs/ber/decoders/decodeBoolean.js +11 -11
  16. package/dist/node/codecs/ber/decoders/decodeDuration.d.ts +2 -2
  17. package/dist/node/codecs/ber/decoders/decodeDuration.js +68 -68
  18. package/dist/node/codecs/ber/decoders/decodeGeneralizedTime.d.ts +2 -2
  19. package/dist/node/codecs/ber/decoders/decodeGeneralizedTime.js +30 -30
  20. package/dist/node/codecs/ber/decoders/decodeReal.d.ts +2 -2
  21. package/dist/node/codecs/ber/decoders/decodeReal.js +112 -112
  22. package/dist/node/codecs/ber/decoders/decodeSequence.d.ts +3 -3
  23. package/dist/node/codecs/ber/decoders/decodeSequence.js +18 -18
  24. package/dist/node/codecs/ber/decoders/decodeUTCTime.d.ts +2 -2
  25. package/dist/node/codecs/ber/decoders/decodeUTCTime.js +31 -31
  26. package/dist/node/codecs/ber/encoders/encodeGeneralString.d.ts +2 -2
  27. package/dist/node/codecs/ber/encoders/encodeGeneralString.js +17 -17
  28. package/dist/node/codecs/ber/encoders/encodeGeneralString.js.map +1 -1
  29. package/dist/node/codecs/ber/encoders/encodeGraphicString.d.ts +2 -2
  30. package/dist/node/codecs/ber/encoders/encodeGraphicString.js +17 -17
  31. package/dist/node/codecs/ber/encoders/encodeGraphicString.js.map +1 -1
  32. package/dist/node/codecs/ber/encoders/encodeNumericString.d.ts +2 -2
  33. package/dist/node/codecs/ber/encoders/encodeNumericString.js +17 -17
  34. package/dist/node/codecs/ber/encoders/encodeNumericString.js.map +1 -1
  35. package/dist/node/codecs/ber/encoders/encodeObjectDescriptor.d.ts +2 -2
  36. package/dist/node/codecs/ber/encoders/encodeObjectDescriptor.js +17 -17
  37. package/dist/node/codecs/ber/encoders/encodeObjectDescriptor.js.map +1 -1
  38. package/dist/node/codecs/ber/encoders/encodePrintableString.d.ts +2 -2
  39. package/dist/node/codecs/ber/encoders/encodePrintableString.js +18 -18
  40. package/dist/node/codecs/ber/encoders/encodePrintableString.js.map +1 -1
  41. package/dist/node/codecs/ber/encoders/encodeVisibleString.d.ts +2 -2
  42. package/dist/node/codecs/ber/encoders/encodeVisibleString.js +17 -17
  43. package/dist/node/codecs/ber/encoders/encodeVisibleString.js.map +1 -1
  44. package/dist/node/codecs/ber.d.ts +66 -66
  45. package/dist/node/codecs/ber.d.ts.map +1 -1
  46. package/dist/node/codecs/ber.js +593 -602
  47. package/dist/node/codecs/ber.js.map +1 -1
  48. package/dist/node/codecs/cer/decoders/decodeSequence.d.ts +3 -3
  49. package/dist/node/codecs/cer/decoders/decodeSequence.js +18 -18
  50. package/dist/node/codecs/cer.d.ts +67 -67
  51. package/dist/node/codecs/cer.d.ts.map +1 -1
  52. package/dist/node/codecs/cer.js +608 -617
  53. package/dist/node/codecs/cer.js.map +1 -1
  54. package/dist/node/codecs/coer/decoders/decodeBoolean.d.ts +2 -2
  55. package/dist/node/codecs/coer/decoders/decodeBoolean.js +14 -14
  56. package/dist/node/codecs/der/decoders/decodeBitString.d.ts +2 -2
  57. package/dist/node/codecs/der/decoders/decodeBitString.js +36 -36
  58. package/dist/node/codecs/der/decoders/decodeBoolean.d.ts +2 -2
  59. package/dist/node/codecs/der/decoders/decodeBoolean.js +14 -14
  60. package/dist/node/codecs/der/decoders/decodeDuration.d.ts +2 -2
  61. package/dist/node/codecs/der/decoders/decodeDuration.js +71 -71
  62. package/dist/node/codecs/der/decoders/decodeGeneralizedTime.d.ts +2 -2
  63. package/dist/node/codecs/der/decoders/decodeGeneralizedTime.js +30 -30
  64. package/dist/node/codecs/der/decoders/decodeReal.d.ts +2 -2
  65. package/dist/node/codecs/der/decoders/decodeReal.js +99 -99
  66. package/dist/node/codecs/der/decoders/decodeSequence.d.ts +3 -3
  67. package/dist/node/codecs/der/decoders/decodeSequence.js +18 -18
  68. package/dist/node/codecs/der/decoders/decodeUTCTime.d.ts +2 -2
  69. package/dist/node/codecs/der/decoders/decodeUTCTime.js +31 -31
  70. package/dist/node/codecs/der.d.ts +65 -65
  71. package/dist/node/codecs/der.js +561 -561
  72. package/dist/node/codecs/der.js.map +1 -1
  73. package/dist/node/codecs/oer/decoders/decodeBoolean.d.ts +2 -2
  74. package/dist/node/codecs/oer/decoders/decodeBoolean.js +11 -11
  75. package/dist/node/codecs/x690/decoders/decodeCharacterString.d.ts +2 -2
  76. package/dist/node/codecs/x690/decoders/decodeCharacterString.js +33 -33
  77. package/dist/node/codecs/x690/decoders/decodeDate.d.ts +2 -2
  78. package/dist/node/codecs/x690/decoders/decodeDate.js +14 -14
  79. package/dist/node/codecs/x690/decoders/decodeDateTime.d.ts +2 -2
  80. package/dist/node/codecs/x690/decoders/decodeDateTime.js +17 -17
  81. package/dist/node/codecs/x690/decoders/decodeEmbeddedPDV.d.ts +2 -2
  82. package/dist/node/codecs/x690/decoders/decodeEmbeddedPDV.js +33 -33
  83. package/dist/node/codecs/x690/decoders/decodeExternal.d.ts +2 -2
  84. package/dist/node/codecs/x690/decoders/decodeExternal.js +71 -71
  85. package/dist/node/codecs/x690/decoders/decodeGeneralString.d.ts +2 -2
  86. package/dist/node/codecs/x690/decoders/decodeGeneralString.js +16 -16
  87. package/dist/node/codecs/x690/decoders/decodeGeneralString.js.map +1 -1
  88. package/dist/node/codecs/x690/decoders/decodeGraphicString.d.ts +2 -2
  89. package/dist/node/codecs/x690/decoders/decodeGraphicString.js +16 -16
  90. package/dist/node/codecs/x690/decoders/decodeGraphicString.js.map +1 -1
  91. package/dist/node/codecs/x690/decoders/decodeInteger.d.ts +2 -2
  92. package/dist/node/codecs/x690/decoders/decodeInteger.js +17 -17
  93. package/dist/node/codecs/x690/decoders/decodeNumericString.d.ts +2 -2
  94. package/dist/node/codecs/x690/decoders/decodeNumericString.js +16 -16
  95. package/dist/node/codecs/x690/decoders/decodeNumericString.js.map +1 -1
  96. package/dist/node/codecs/x690/decoders/decodeOIDIRI.d.ts +2 -2
  97. package/dist/node/codecs/x690/decoders/decodeOIDIRI.js +8 -8
  98. package/dist/node/codecs/x690/decoders/decodeObjectDescriptor.d.ts +2 -2
  99. package/dist/node/codecs/x690/decoders/decodeObjectDescriptor.js +16 -16
  100. package/dist/node/codecs/x690/decoders/decodeObjectDescriptor.js.map +1 -1
  101. package/dist/node/codecs/x690/decoders/decodeObjectIdentifier.d.ts +2 -2
  102. package/dist/node/codecs/x690/decoders/decodeObjectIdentifier.d.ts.map +1 -1
  103. package/dist/node/codecs/x690/decoders/decodeObjectIdentifier.js +43 -44
  104. package/dist/node/codecs/x690/decoders/decodeObjectIdentifier.js.map +1 -1
  105. package/dist/node/codecs/x690/decoders/decodePrintableString.d.ts +2 -2
  106. package/dist/node/codecs/x690/decoders/decodePrintableString.js +17 -17
  107. package/dist/node/codecs/x690/decoders/decodePrintableString.js.map +1 -1
  108. package/dist/node/codecs/x690/decoders/decodeRelativeOIDIRI.d.ts +2 -2
  109. package/dist/node/codecs/x690/decoders/decodeRelativeOIDIRI.js +8 -8
  110. package/dist/node/codecs/x690/decoders/decodeRelativeObjectIdentifier.d.ts +2 -2
  111. package/dist/node/codecs/x690/decoders/decodeRelativeObjectIdentifier.d.ts.map +1 -1
  112. package/dist/node/codecs/x690/decoders/decodeRelativeObjectIdentifier.js +25 -26
  113. package/dist/node/codecs/x690/decoders/decodeRelativeObjectIdentifier.js.map +1 -1
  114. package/dist/node/codecs/x690/decoders/decodeTime.d.ts +2 -2
  115. package/dist/node/codecs/x690/decoders/decodeTime.js +8 -8
  116. package/dist/node/codecs/x690/decoders/decodeTimeOfDay.d.ts +2 -2
  117. package/dist/node/codecs/x690/decoders/decodeTimeOfDay.js +18 -18
  118. package/dist/node/codecs/x690/decoders/decodeVisibleString.d.ts +2 -2
  119. package/dist/node/codecs/x690/decoders/decodeVisibleString.js +16 -16
  120. package/dist/node/codecs/x690/decoders/decodeVisibleString.js.map +1 -1
  121. package/dist/node/codecs/x690/encoders/encodeBitString.d.ts +2 -2
  122. package/dist/node/codecs/x690/encoders/encodeBitString.js +17 -17
  123. package/dist/node/codecs/x690/encoders/encodeBoolean.d.ts +2 -2
  124. package/dist/node/codecs/x690/encoders/encodeBoolean.js +6 -6
  125. package/dist/node/codecs/x690/encoders/encodeCharacterString.d.ts +2 -2
  126. package/dist/node/codecs/x690/encoders/encodeCharacterString.js +13 -13
  127. package/dist/node/codecs/x690/encoders/encodeDate.d.ts +2 -2
  128. package/dist/node/codecs/x690/encoders/encodeDate.js +15 -15
  129. package/dist/node/codecs/x690/encoders/encodeDateTime.d.ts +2 -2
  130. package/dist/node/codecs/x690/encoders/encodeDateTime.js +18 -18
  131. package/dist/node/codecs/x690/encoders/encodeDuration.d.ts +2 -2
  132. package/dist/node/codecs/x690/encoders/encodeDuration.js +77 -77
  133. package/dist/node/codecs/x690/encoders/encodeEmbeddedPDV.d.ts +2 -2
  134. package/dist/node/codecs/x690/encoders/encodeEmbeddedPDV.js +13 -13
  135. package/dist/node/codecs/x690/encoders/encodeExternal.d.ts +2 -2
  136. package/dist/node/codecs/x690/encoders/encodeExternal.js +40 -40
  137. package/dist/node/codecs/x690/encoders/encodeGeneralizedTime.d.ts +2 -2
  138. package/dist/node/codecs/x690/encoders/encodeGeneralizedTime.js +15 -15
  139. package/dist/node/codecs/x690/encoders/encodeGeneralizedTime.js.map +1 -1
  140. package/dist/node/codecs/x690/encoders/encodeInteger.d.ts +2 -2
  141. package/dist/node/codecs/x690/encoders/encodeInteger.js +7 -7
  142. package/dist/node/codecs/x690/encoders/encodeOIDIRI.d.ts +2 -2
  143. package/dist/node/codecs/x690/encoders/encodeOIDIRI.js +8 -8
  144. package/dist/node/codecs/x690/encoders/encodeObjectIdentifier.d.ts +2 -2
  145. package/dist/node/codecs/x690/encoders/encodeObjectIdentifier.d.ts.map +1 -1
  146. package/dist/node/codecs/x690/encoders/encodeObjectIdentifier.js +16 -17
  147. package/dist/node/codecs/x690/encoders/encodeObjectIdentifier.js.map +1 -1
  148. package/dist/node/codecs/x690/encoders/encodeReal.d.ts +2 -2
  149. package/dist/node/codecs/x690/encoders/encodeReal.js +8 -8
  150. package/dist/node/codecs/x690/encoders/encodeRelativeOIDIRI.d.ts +2 -2
  151. package/dist/node/codecs/x690/encoders/encodeRelativeOIDIRI.js +8 -8
  152. package/dist/node/codecs/x690/encoders/encodeRelativeObjectIdentifier.d.ts +2 -2
  153. package/dist/node/codecs/x690/encoders/encodeRelativeObjectIdentifier.d.ts.map +1 -1
  154. package/dist/node/codecs/x690/encoders/encodeRelativeObjectIdentifier.js +12 -13
  155. package/dist/node/codecs/x690/encoders/encodeRelativeObjectIdentifier.js.map +1 -1
  156. package/dist/node/codecs/x690/encoders/encodeSequence.d.ts +3 -3
  157. package/dist/node/codecs/x690/encoders/encodeSequence.d.ts.map +1 -1
  158. package/dist/node/codecs/x690/encoders/encodeSequence.js +6 -8
  159. package/dist/node/codecs/x690/encoders/encodeSequence.js.map +1 -1
  160. package/dist/node/codecs/x690/encoders/encodeTime.d.ts +2 -2
  161. package/dist/node/codecs/x690/encoders/encodeTime.js +8 -8
  162. package/dist/node/codecs/x690/encoders/encodeTimeOfDay.d.ts +2 -2
  163. package/dist/node/codecs/x690/encoders/encodeTimeOfDay.js +8 -8
  164. package/dist/node/codecs/x690/encoders/encodeUTCTime.d.ts +2 -2
  165. package/dist/node/codecs/x690/encoders/encodeUTCTime.js +16 -16
  166. package/dist/node/codecs/x690/encoders/encodeUTCTime.js.map +1 -1
  167. package/dist/node/codecs/x696/encoders/encodeBoolean.d.ts +2 -2
  168. package/dist/node/codecs/x696/encoders/encodeBoolean.js +6 -6
  169. package/dist/node/errors.d.ts +47 -47
  170. package/dist/node/errors.js +89 -89
  171. package/dist/node/errors.js.map +1 -1
  172. package/dist/node/functional.d.ts +148 -148
  173. package/dist/node/functional.d.ts.map +1 -1
  174. package/dist/node/functional.js +880 -877
  175. package/dist/node/functional.js.map +1 -1
  176. package/dist/node/index.d.ts +16 -17
  177. package/dist/node/index.d.ts.map +1 -1
  178. package/dist/node/index.js +26 -28
  179. package/dist/node/index.js.map +1 -1
  180. package/dist/node/interfaces/Byteable.d.ts +4 -4
  181. package/dist/node/interfaces/Byteable.js +2 -2
  182. package/dist/node/interfaces/CharacterValidationFunction.d.ts +3 -3
  183. package/dist/node/interfaces/CharacterValidationFunction.js +2 -2
  184. package/dist/node/interfaces/Debyteable.d.ts +3 -3
  185. package/dist/node/interfaces/Debyteable.js +2 -2
  186. package/dist/node/interfaces/Deelementable.d.ts +4 -4
  187. package/dist/node/interfaces/Deelementable.js +2 -2
  188. package/dist/node/interfaces/Destringable.d.ts +3 -3
  189. package/dist/node/interfaces/Destringable.js +2 -2
  190. package/dist/node/interfaces/Elementable.d.ts +4 -4
  191. package/dist/node/interfaces/Elementable.js +2 -2
  192. package/dist/node/interfaces/Enbyteable.d.ts +3 -3
  193. package/dist/node/interfaces/Enbyteable.js +2 -2
  194. package/dist/node/interfaces/Enelementable.d.ts +4 -4
  195. package/dist/node/interfaces/Enelementable.js +2 -2
  196. package/dist/node/interfaces/Enstringable.d.ts +3 -3
  197. package/dist/node/interfaces/Enstringable.js +2 -2
  198. package/dist/node/interfaces/Identified.d.ts +4 -4
  199. package/dist/node/interfaces/Identified.js +2 -2
  200. package/dist/node/interfaces/Long.d.ts +3 -3
  201. package/dist/node/interfaces/Long.js +2 -2
  202. package/dist/node/interfaces/Named.d.ts +3 -3
  203. package/dist/node/interfaces/Named.js +2 -2
  204. package/dist/node/interfaces/Stringable.d.ts +4 -4
  205. package/dist/node/interfaces/Stringable.js +2 -2
  206. package/dist/node/interfaces/index.d.ts +12 -12
  207. package/dist/node/interfaces/index.js +2 -2
  208. package/dist/node/macros.d.ts +59 -59
  209. package/dist/node/macros.d.ts.map +1 -1
  210. package/dist/node/macros.js +21 -21
  211. package/dist/node/types/CharacterString.d.ts +8 -8
  212. package/dist/node/types/CharacterString.js +21 -21
  213. package/dist/node/types/EmbeddedPDV.d.ts +8 -8
  214. package/dist/node/types/EmbeddedPDV.js +21 -21
  215. package/dist/node/types/External.d.ts +11 -11
  216. package/dist/node/types/External.js +58 -58
  217. package/dist/node/types/ObjectIdentifier.d.ts +12 -12
  218. package/dist/node/types/ObjectIdentifier.js +70 -70
  219. package/dist/node/types/ObjectIdentifier.js.map +1 -1
  220. package/dist/node/types/TypeIdentifier.d.ts +7 -7
  221. package/dist/node/types/TypeIdentifier.js +9 -9
  222. package/dist/node/types/index.d.ts +18 -18
  223. package/dist/node/types/index.js +42 -42
  224. package/dist/node/types/time/DATE-ENCODING.d.ts +7 -7
  225. package/dist/node/types/time/DATE-ENCODING.js +14 -14
  226. package/dist/node/types/time/DURATION-EQUIVALENT.d.ts +20 -20
  227. package/dist/node/types/time/DURATION-EQUIVALENT.js +89 -89
  228. package/dist/node/types/time/DURATION-INTERVAL-ENCODING.d.ts +18 -18
  229. package/dist/node/types/time/DURATION-INTERVAL-ENCODING.js +46 -46
  230. package/dist/node/types/time/HOURS-DIFF-ENCODING.d.ts +6 -6
  231. package/dist/node/types/time/HOURS-DIFF-ENCODING.js +13 -13
  232. package/dist/node/types/time/HOURS-ENCODING.d.ts +5 -5
  233. package/dist/node/types/time/HOURS-ENCODING.js +11 -11
  234. package/dist/node/types/time/HOURS-MINUTES-DIFF-ENCODING.d.ts +7 -7
  235. package/dist/node/types/time/HOURS-MINUTES-DIFF-ENCODING.js +15 -15
  236. package/dist/node/types/time/HOURS-MINUTES-ENCODING.d.ts +6 -6
  237. package/dist/node/types/time/HOURS-MINUTES-ENCODING.js +13 -13
  238. package/dist/node/types/time/TIME-OF-DAY-DIFF-ENCODING.d.ts +8 -8
  239. package/dist/node/types/time/TIME-OF-DAY-DIFF-ENCODING.js +17 -17
  240. package/dist/node/types/time/TIME-OF-DAY-ENCODING.d.ts +7 -7
  241. package/dist/node/types/time/TIME-OF-DAY-ENCODING.js +15 -15
  242. package/dist/node/types/time/TIME-OF-DAY-FRACTION-DIFF-ENCODING.d.ts +9 -9
  243. package/dist/node/types/time/TIME-OF-DAY-FRACTION-DIFF-ENCODING.js +19 -19
  244. package/dist/node/types/time/TIME-OF-DAY-FRACTION-ENCODING.d.ts +8 -8
  245. package/dist/node/types/time/TIME-OF-DAY-FRACTION-ENCODING.js +17 -17
  246. package/dist/node/types/time/YEAR-ENCODING.d.ts +5 -5
  247. package/dist/node/types/time/YEAR-ENCODING.js +8 -8
  248. package/dist/node/types/time/YEAR-MONTH-ENCODING.d.ts +6 -6
  249. package/dist/node/types/time/YEAR-MONTH-ENCODING.js +12 -12
  250. package/dist/node/utils/base128Length.d.ts +1 -1
  251. package/dist/node/utils/base128Length.js +6 -6
  252. package/dist/node/utils/base256Length.d.ts +1 -1
  253. package/dist/node/utils/base256Length.js +6 -6
  254. package/dist/node/utils/bigint.d.ts +4 -4
  255. package/dist/node/utils/bigint.js +125 -125
  256. package/dist/node/utils/compareSetOfElementsCanonically.d.ts +2 -2
  257. package/dist/node/utils/compareSetOfElementsCanonically.js +16 -16
  258. package/dist/node/utils/convertBytesToText.d.ts +1 -1
  259. package/dist/node/utils/convertBytesToText.js +13 -13
  260. package/dist/node/utils/convertTextToBytes.d.ts +1 -1
  261. package/dist/node/utils/convertTextToBytes.js +13 -13
  262. package/dist/node/utils/decodeBase128.d.ts +1 -1
  263. package/dist/node/utils/decodeBase128.js +23 -23
  264. package/dist/node/utils/decodeIEEE754DoublePrecisionFloat.d.ts +1 -1
  265. package/dist/node/utils/decodeIEEE754DoublePrecisionFloat.js +6 -6
  266. package/dist/node/utils/decodeIEEE754SinglePrecisionFloat.d.ts +1 -1
  267. package/dist/node/utils/decodeIEEE754SinglePrecisionFloat.js +6 -6
  268. package/dist/node/utils/decodeSignedBigEndianInteger.d.ts +1 -1
  269. package/dist/node/utils/decodeSignedBigEndianInteger.js +19 -19
  270. package/dist/node/utils/decodeSignedBigEndianInteger.js.map +1 -1
  271. package/dist/node/utils/decodeUnsignedBigEndianInteger.d.ts +1 -1
  272. package/dist/node/utils/decodeUnsignedBigEndianInteger.js +16 -16
  273. package/dist/node/utils/decodeUnsignedBigEndianInteger.js.map +1 -1
  274. package/dist/node/utils/decodeX690RealNumber.d.ts +1 -1
  275. package/dist/node/utils/decodeX690RealNumber.js +112 -112
  276. package/dist/node/utils/dissectFloat.d.ts +5 -5
  277. package/dist/node/utils/dissectFloat.js +16 -16
  278. package/dist/node/utils/encodeBase128.d.ts +1 -1
  279. package/dist/node/utils/encodeBase128.js +26 -26
  280. package/dist/node/utils/encodeIEEE754DoublePrecisionFloat.d.ts +1 -1
  281. package/dist/node/utils/encodeIEEE754DoublePrecisionFloat.js +6 -6
  282. package/dist/node/utils/encodeIEEE754SinglePrecisionFloat.d.ts +1 -1
  283. package/dist/node/utils/encodeIEEE754SinglePrecisionFloat.js +6 -6
  284. package/dist/node/utils/encodeSignedBigEndianInteger.d.ts +1 -1
  285. package/dist/node/utils/encodeSignedBigEndianInteger.js +40 -40
  286. package/dist/node/utils/encodeUnsignedBigEndianInteger.d.ts +1 -1
  287. package/dist/node/utils/encodeUnsignedBigEndianInteger.js +25 -25
  288. package/dist/node/utils/encodeX690Base10RealNumber.d.ts +1 -1
  289. package/dist/node/utils/encodeX690Base10RealNumber.js +25 -25
  290. package/dist/node/utils/encodeX690BinaryRealNumber.d.ts +1 -1
  291. package/dist/node/utils/encodeX690BinaryRealNumber.js +47 -47
  292. package/dist/node/utils/getBitFromBase128.d.ts +1 -1
  293. package/dist/node/utils/getBitFromBase128.js +7 -7
  294. package/dist/node/utils/getBitFromBase256.d.ts +1 -1
  295. package/dist/node/utils/getBitFromBase256.js +6 -6
  296. package/dist/node/utils/index.d.ts +25 -25
  297. package/dist/node/utils/index.js +56 -56
  298. package/dist/node/utils/isInCanonicalOrder.d.ts +2 -2
  299. package/dist/node/utils/isInCanonicalOrder.js +22 -22
  300. package/dist/node/utils/isUniquelyTagged.d.ts +2 -2
  301. package/dist/node/utils/isUniquelyTagged.js +14 -14
  302. package/dist/node/utils/packBits.d.ts +2 -2
  303. package/dist/node/utils/packBits.js +15 -15
  304. package/dist/node/utils/setBitInBase128.d.ts +1 -1
  305. package/dist/node/utils/setBitInBase128.js +12 -12
  306. package/dist/node/utils/setBitInBase256.d.ts +1 -1
  307. package/dist/node/utils/setBitInBase256.js +12 -12
  308. package/dist/node/utils/sortCanonically.d.ts +2 -2
  309. package/dist/node/utils/sortCanonically.js +18 -18
  310. package/dist/node/utils/splitBytesByContinuationBit.d.ts +1 -1
  311. package/dist/node/utils/splitBytesByContinuationBit.js +13 -13
  312. package/dist/node/utils/splitOctetsCanonically.d.ts +1 -1
  313. package/dist/node/utils/splitOctetsCanonically.js +8 -8
  314. package/dist/node/utils/trimLeadingPaddingBytes.d.ts +1 -1
  315. package/dist/node/utils/trimLeadingPaddingBytes.js +18 -18
  316. package/dist/node/utils/unpackBits.d.ts +2 -2
  317. package/dist/node/utils/unpackBits.js +15 -15
  318. package/dist/node/validators/datetimeComponentValidator.d.ts +2 -2
  319. package/dist/node/validators/datetimeComponentValidator.js +18 -18
  320. package/dist/node/validators/index.d.ts +6 -6
  321. package/dist/node/validators/index.js +18 -18
  322. package/dist/node/validators/isGeneralCharacter.d.ts +1 -1
  323. package/dist/node/validators/isGeneralCharacter.js +6 -6
  324. package/dist/node/validators/isGraphicCharacter.d.ts +1 -1
  325. package/dist/node/validators/isGraphicCharacter.js +6 -6
  326. package/dist/node/validators/isNumericCharacter.d.ts +1 -1
  327. package/dist/node/validators/isNumericCharacter.js +6 -6
  328. package/dist/node/validators/isObjectDescriptorCharacter.d.ts +1 -1
  329. package/dist/node/validators/isObjectDescriptorCharacter.js +8 -8
  330. package/dist/node/validators/isPrintableCharacter.d.ts +1 -1
  331. package/dist/node/validators/isPrintableCharacter.js +12 -12
  332. package/dist/node/validators/isVisibleCharacter.d.ts +1 -1
  333. package/dist/node/validators/isVisibleCharacter.js +8 -8
  334. package/dist/node/validators/validateConstruction.d.ts +3 -3
  335. package/dist/node/validators/validateConstruction.js +41 -41
  336. package/dist/node/validators/validateDate.d.ts +1 -1
  337. package/dist/node/validators/validateDate.js +44 -44
  338. package/dist/node/validators/validateDateTime.d.ts +1 -1
  339. package/dist/node/validators/validateDateTime.js +10 -10
  340. package/dist/node/validators/validateTime.d.ts +1 -1
  341. package/dist/node/validators/validateTime.js +16 -16
  342. package/dist/node/values.d.ts +88 -88
  343. package/dist/node/values.js +110 -110
  344. package/dist/node/x690.d.ts +24 -24
  345. package/dist/node/x690.js +99 -99
  346. package/dist/node/x690.js.map +1 -1
  347. package/package.json +1 -1
  348. package/dist/node/utils/concatenateBytes.d.ts +0 -2
  349. package/dist/node/utils/concatenateBytes.d.ts.map +0 -1
  350. package/dist/node/utils/concatenateBytes.js +0 -19
  351. package/dist/node/utils/concatenateBytes.js.map +0 -1
@@ -1,113 +1,113 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const errors = (0, tslib_1.__importStar)(require("../errors"));
5
- const values_1 = require("../values");
6
- const convertBytesToText_1 = (0, tslib_1.__importDefault)(require("./convertBytesToText"));
7
- const decodeSignedBigEndianInteger_1 = (0, tslib_1.__importDefault)(require("../utils/decodeSignedBigEndianInteger"));
8
- const decodeUnsignedBigEndianInteger_1 = (0, tslib_1.__importDefault)(require("../utils/decodeUnsignedBigEndianInteger"));
9
- function decodeX690RealNumber(bytes) {
10
- if (bytes.length === 0)
11
- return 0.0;
12
- switch (bytes[0] & 0b11000000) {
13
- case (0b01000000): {
14
- if (bytes[0] === values_1.ASN1SpecialRealValue.notANumber)
15
- return NaN;
16
- if (bytes[0] === values_1.ASN1SpecialRealValue.minusZero)
17
- return -0.0;
18
- if (bytes[0] === values_1.ASN1SpecialRealValue.plusInfinity)
19
- return Infinity;
20
- if (bytes[0] === values_1.ASN1SpecialRealValue.minusInfinity)
21
- return -Infinity;
22
- throw new errors.ASN1UndefinedError("Unrecognized special REAL value!");
23
- }
24
- case (0b00000000): {
25
- const realString = (0, convertBytesToText_1.default)(bytes.slice(1));
26
- switch (bytes[0] & 0b00111111) {
27
- case 1: {
28
- if (!values_1.nr1Regex.test(realString))
29
- throw new errors.ASN1Error("Malformed NR1 Base-10 REAL");
30
- return Number.parseFloat(realString);
31
- }
32
- case 2: {
33
- if (!values_1.nr2Regex.test(realString))
34
- throw new errors.ASN1Error("Malformed NR2 Base-10 REAL");
35
- return Number.parseFloat(realString.replace(",", "."));
36
- }
37
- case 3: {
38
- if (!values_1.nr3Regex.test(realString))
39
- throw new errors.ASN1Error("Malformed NR3 Base-10 REAL");
40
- return Number.parseFloat(realString.replace(",", "."));
41
- }
42
- default:
43
- throw new errors.ASN1UndefinedError("Undefined Base-10 REAL encoding.");
44
- }
45
- }
46
- case (0b10000000):
47
- case (0b11000000): {
48
- const sign = ((bytes[0] & 0b01000000) ? -1 : 1);
49
- const base = ((flag) => {
50
- switch (flag) {
51
- case (values_1.ASN1RealEncodingBase.base2): return 2;
52
- case (values_1.ASN1RealEncodingBase.base8): return 8;
53
- case (values_1.ASN1RealEncodingBase.base16): return 16;
54
- default:
55
- throw new errors.ASN1Error("Impossible REAL encoding base encountered.");
56
- }
57
- })(bytes[0] & 0b00110000);
58
- const scale = ((flag) => {
59
- switch (flag) {
60
- case (values_1.ASN1RealEncodingScale.scale0): return 0;
61
- case (values_1.ASN1RealEncodingScale.scale1): return 1;
62
- case (values_1.ASN1RealEncodingScale.scale2): return 2;
63
- case (values_1.ASN1RealEncodingScale.scale3): return 3;
64
- default:
65
- throw new errors.ASN1Error("Impossible REAL encoding scale encountered.");
66
- }
67
- })(bytes[0] & 0b00001100);
68
- let exponent;
69
- let mantissa;
70
- switch (bytes[0] & 0b00000011) {
71
- case (0b00000000): {
72
- if (bytes.length < 3)
73
- throw new errors.ASN1TruncationError("Binary-encoded REAL truncated.");
74
- exponent = (0, decodeSignedBigEndianInteger_1.default)(bytes.subarray(1, 2));
75
- mantissa = (0, decodeUnsignedBigEndianInteger_1.default)(bytes.subarray(2));
76
- break;
77
- }
78
- case (0b00000001): {
79
- if (bytes.length < 4)
80
- throw new errors.ASN1TruncationError("Binary-encoded REAL truncated.");
81
- exponent = (0, decodeSignedBigEndianInteger_1.default)(bytes.subarray(1, 3));
82
- mantissa = (0, decodeUnsignedBigEndianInteger_1.default)(bytes.subarray(3));
83
- break;
84
- }
85
- case (0b00000010): {
86
- if (bytes.length < 5)
87
- throw new errors.ASN1TruncationError("Binary-encoded REAL truncated.");
88
- exponent = (0, decodeSignedBigEndianInteger_1.default)(bytes.subarray(1, 4));
89
- mantissa = (0, decodeUnsignedBigEndianInteger_1.default)(bytes.subarray(4));
90
- break;
91
- }
92
- case (0b00000011): {
93
- if (bytes.length < 3)
94
- throw new errors.ASN1TruncationError("Binary-encoded REAL truncated.");
95
- const exponentLength = bytes[1];
96
- if (bytes.length < (3 + exponentLength)) {
97
- throw new errors.ASN1TruncationError("Binary-encoded REAL truncated.");
98
- }
99
- exponent = (0, decodeSignedBigEndianInteger_1.default)(bytes.subarray(2, (2 + exponentLength)));
100
- mantissa = (0, decodeUnsignedBigEndianInteger_1.default)(bytes.subarray((2 + exponentLength)));
101
- break;
102
- }
103
- default:
104
- throw new errors.ASN1Error("Impossible binary REAL exponent encoding encountered.");
105
- }
106
- return (sign * mantissa * Math.pow(2, scale) * Math.pow(base, exponent));
107
- }
108
- default:
109
- throw new errors.ASN1Error("Impossible REAL format encountered.");
110
- }
111
- }
112
- exports.default = decodeX690RealNumber;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const errors = (0, tslib_1.__importStar)(require("../errors"));
5
+ const values_1 = require("../values");
6
+ const convertBytesToText_1 = (0, tslib_1.__importDefault)(require("./convertBytesToText"));
7
+ const decodeSignedBigEndianInteger_1 = (0, tslib_1.__importDefault)(require("../utils/decodeSignedBigEndianInteger"));
8
+ const decodeUnsignedBigEndianInteger_1 = (0, tslib_1.__importDefault)(require("../utils/decodeUnsignedBigEndianInteger"));
9
+ function decodeX690RealNumber(bytes) {
10
+ if (bytes.length === 0)
11
+ return 0.0;
12
+ switch (bytes[0] & 0b11000000) {
13
+ case (0b01000000): {
14
+ if (bytes[0] === values_1.ASN1SpecialRealValue.notANumber)
15
+ return NaN;
16
+ if (bytes[0] === values_1.ASN1SpecialRealValue.minusZero)
17
+ return -0.0;
18
+ if (bytes[0] === values_1.ASN1SpecialRealValue.plusInfinity)
19
+ return Infinity;
20
+ if (bytes[0] === values_1.ASN1SpecialRealValue.minusInfinity)
21
+ return -Infinity;
22
+ throw new errors.ASN1UndefinedError("Unrecognized special REAL value!");
23
+ }
24
+ case (0b00000000): {
25
+ const realString = (0, convertBytesToText_1.default)(bytes.slice(1));
26
+ switch (bytes[0] & 0b00111111) {
27
+ case 1: {
28
+ if (!values_1.nr1Regex.test(realString))
29
+ throw new errors.ASN1Error("Malformed NR1 Base-10 REAL");
30
+ return Number.parseFloat(realString);
31
+ }
32
+ case 2: {
33
+ if (!values_1.nr2Regex.test(realString))
34
+ throw new errors.ASN1Error("Malformed NR2 Base-10 REAL");
35
+ return Number.parseFloat(realString.replace(",", "."));
36
+ }
37
+ case 3: {
38
+ if (!values_1.nr3Regex.test(realString))
39
+ throw new errors.ASN1Error("Malformed NR3 Base-10 REAL");
40
+ return Number.parseFloat(realString.replace(",", "."));
41
+ }
42
+ default:
43
+ throw new errors.ASN1UndefinedError("Undefined Base-10 REAL encoding.");
44
+ }
45
+ }
46
+ case (0b10000000):
47
+ case (0b11000000): {
48
+ const sign = ((bytes[0] & 0b01000000) ? -1 : 1);
49
+ const base = ((flag) => {
50
+ switch (flag) {
51
+ case (values_1.ASN1RealEncodingBase.base2): return 2;
52
+ case (values_1.ASN1RealEncodingBase.base8): return 8;
53
+ case (values_1.ASN1RealEncodingBase.base16): return 16;
54
+ default:
55
+ throw new errors.ASN1Error("Impossible REAL encoding base encountered.");
56
+ }
57
+ })(bytes[0] & 0b00110000);
58
+ const scale = ((flag) => {
59
+ switch (flag) {
60
+ case (values_1.ASN1RealEncodingScale.scale0): return 0;
61
+ case (values_1.ASN1RealEncodingScale.scale1): return 1;
62
+ case (values_1.ASN1RealEncodingScale.scale2): return 2;
63
+ case (values_1.ASN1RealEncodingScale.scale3): return 3;
64
+ default:
65
+ throw new errors.ASN1Error("Impossible REAL encoding scale encountered.");
66
+ }
67
+ })(bytes[0] & 0b00001100);
68
+ let exponent;
69
+ let mantissa;
70
+ switch (bytes[0] & 0b00000011) {
71
+ case (0b00000000): {
72
+ if (bytes.length < 3)
73
+ throw new errors.ASN1TruncationError("Binary-encoded REAL truncated.");
74
+ exponent = (0, decodeSignedBigEndianInteger_1.default)(bytes.subarray(1, 2));
75
+ mantissa = (0, decodeUnsignedBigEndianInteger_1.default)(bytes.subarray(2));
76
+ break;
77
+ }
78
+ case (0b00000001): {
79
+ if (bytes.length < 4)
80
+ throw new errors.ASN1TruncationError("Binary-encoded REAL truncated.");
81
+ exponent = (0, decodeSignedBigEndianInteger_1.default)(bytes.subarray(1, 3));
82
+ mantissa = (0, decodeUnsignedBigEndianInteger_1.default)(bytes.subarray(3));
83
+ break;
84
+ }
85
+ case (0b00000010): {
86
+ if (bytes.length < 5)
87
+ throw new errors.ASN1TruncationError("Binary-encoded REAL truncated.");
88
+ exponent = (0, decodeSignedBigEndianInteger_1.default)(bytes.subarray(1, 4));
89
+ mantissa = (0, decodeUnsignedBigEndianInteger_1.default)(bytes.subarray(4));
90
+ break;
91
+ }
92
+ case (0b00000011): {
93
+ if (bytes.length < 3)
94
+ throw new errors.ASN1TruncationError("Binary-encoded REAL truncated.");
95
+ const exponentLength = bytes[1];
96
+ if (bytes.length < (3 + exponentLength)) {
97
+ throw new errors.ASN1TruncationError("Binary-encoded REAL truncated.");
98
+ }
99
+ exponent = (0, decodeSignedBigEndianInteger_1.default)(bytes.subarray(2, (2 + exponentLength)));
100
+ mantissa = (0, decodeUnsignedBigEndianInteger_1.default)(bytes.subarray((2 + exponentLength)));
101
+ break;
102
+ }
103
+ default:
104
+ throw new errors.ASN1Error("Impossible binary REAL exponent encoding encountered.");
105
+ }
106
+ return (sign * mantissa * Math.pow(2, scale) * Math.pow(base, exponent));
107
+ }
108
+ default:
109
+ throw new errors.ASN1Error("Impossible REAL format encountered.");
110
+ }
111
+ }
112
+ exports.default = decodeX690RealNumber;
113
113
  //# sourceMappingURL=decodeX690RealNumber.js.map
@@ -1,6 +1,6 @@
1
- export default function dissectFloat(value: number): {
2
- negative: boolean;
3
- exponent: number;
4
- mantissa: number;
5
- };
1
+ export default function dissectFloat(value: number): {
2
+ negative: boolean;
3
+ exponent: number;
4
+ mantissa: number;
5
+ };
6
6
  //# sourceMappingURL=dissectFloat.d.ts.map
@@ -1,17 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const EXPONENT_BITMASK = 2146435072;
4
- function dissectFloat(value) {
5
- const float = new Float64Array([value]);
6
- const uints = new Uint32Array(float.buffer);
7
- const exponent = (((uints[1] & EXPONENT_BITMASK) >>> 20) - 1023 - 31);
8
- const mantissa = 2147483648 + ((((uints[1] & 1048575) << 11)
9
- | ((uints[0] & 4292870144) >>> 21)));
10
- return {
11
- negative: (value < 0),
12
- exponent,
13
- mantissa,
14
- };
15
- }
16
- exports.default = dissectFloat;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const EXPONENT_BITMASK = 2146435072;
4
+ function dissectFloat(value) {
5
+ const float = new Float64Array([value]);
6
+ const uints = new Uint32Array(float.buffer);
7
+ const exponent = (((uints[1] & EXPONENT_BITMASK) >>> 20) - 1023 - 31);
8
+ const mantissa = 2147483648 + ((((uints[1] & 1048575) << 11)
9
+ | ((uints[0] & 4292870144) >>> 21)));
10
+ return {
11
+ negative: (value < 0),
12
+ exponent,
13
+ mantissa,
14
+ };
15
+ }
16
+ exports.default = dissectFloat;
17
17
  //# sourceMappingURL=dissectFloat.js.map
@@ -1,2 +1,2 @@
1
- export default function encodeBase128(value: Uint8Array): Uint8Array;
1
+ export default function encodeBase128(value: Uint8Array): Uint8Array;
2
2
  //# sourceMappingURL=encodeBase128.d.ts.map
@@ -1,27 +1,27 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const base128Length_1 = (0, tslib_1.__importDefault)(require("./base128Length"));
5
- const getBitFromBase256_1 = (0, tslib_1.__importDefault)(require("./getBitFromBase256"));
6
- const setBitInBase128_1 = (0, tslib_1.__importDefault)(require("./setBitInBase128"));
7
- function encodeBase128(value) {
8
- if (value.length === 1 && value[0] < 128) {
9
- return new Uint8Array([value[0]]);
10
- }
11
- const encodedBytes = new Uint8Array((0, base128Length_1.default)(value.length));
12
- for (let byte = 0; byte < value.length; byte++) {
13
- for (let bit = 0; bit < 8; bit++) {
14
- const bitIndex = ((byte << 3) + bit);
15
- const bitValue = (0, getBitFromBase256_1.default)(value, bitIndex);
16
- if (bitValue) {
17
- (0, setBitInBase128_1.default)(encodedBytes, bitIndex, true);
18
- }
19
- }
20
- }
21
- for (let byte = 0; byte < (encodedBytes.length - 1); byte++) {
22
- encodedBytes[byte] |= 0x80;
23
- }
24
- return new Uint8Array(encodedBytes);
25
- }
26
- exports.default = encodeBase128;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const base128Length_1 = (0, tslib_1.__importDefault)(require("./base128Length"));
5
+ const getBitFromBase256_1 = (0, tslib_1.__importDefault)(require("./getBitFromBase256"));
6
+ const setBitInBase128_1 = (0, tslib_1.__importDefault)(require("./setBitInBase128"));
7
+ function encodeBase128(value) {
8
+ if (value.length === 1 && value[0] < 128) {
9
+ return new Uint8Array([value[0]]);
10
+ }
11
+ const encodedBytes = new Uint8Array((0, base128Length_1.default)(value.length));
12
+ for (let byte = 0; byte < value.length; byte++) {
13
+ for (let bit = 0; bit < 8; bit++) {
14
+ const bitIndex = ((byte << 3) + bit);
15
+ const bitValue = (0, getBitFromBase256_1.default)(value, bitIndex);
16
+ if (bitValue) {
17
+ (0, setBitInBase128_1.default)(encodedBytes, bitIndex, true);
18
+ }
19
+ }
20
+ }
21
+ for (let byte = 0; byte < (encodedBytes.length - 1); byte++) {
22
+ encodedBytes[byte] |= 0x80;
23
+ }
24
+ return new Uint8Array(encodedBytes);
25
+ }
26
+ exports.default = encodeBase128;
27
27
  //# sourceMappingURL=encodeBase128.js.map
@@ -1,2 +1,2 @@
1
- export default function encodeIEEE754DoublePrecisionFloat(value: number): Uint8Array;
1
+ export default function encodeIEEE754DoublePrecisionFloat(value: number): Uint8Array;
2
2
  //# sourceMappingURL=encodeIEEE754DoublePrecisionFloat.d.ts.map
@@ -1,7 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- function encodeIEEE754DoublePrecisionFloat(value) {
4
- return new Uint8Array(new Float64Array([value]).buffer).reverse();
5
- }
6
- exports.default = encodeIEEE754DoublePrecisionFloat;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function encodeIEEE754DoublePrecisionFloat(value) {
4
+ return new Uint8Array(new Float64Array([value]).buffer).reverse();
5
+ }
6
+ exports.default = encodeIEEE754DoublePrecisionFloat;
7
7
  //# sourceMappingURL=encodeIEEE754DoublePrecisionFloat.js.map
@@ -1,2 +1,2 @@
1
- export default function encodeIEEE754SinglePrecisionFloat(value: number): Uint8Array;
1
+ export default function encodeIEEE754SinglePrecisionFloat(value: number): Uint8Array;
2
2
  //# sourceMappingURL=encodeIEEE754SinglePrecisionFloat.d.ts.map
@@ -1,7 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- function encodeIEEE754SinglePrecisionFloat(value) {
4
- return new Uint8Array(new Float32Array([value]).buffer).reverse();
5
- }
6
- exports.default = encodeIEEE754SinglePrecisionFloat;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function encodeIEEE754SinglePrecisionFloat(value) {
4
+ return new Uint8Array(new Float32Array([value]).buffer).reverse();
5
+ }
6
+ exports.default = encodeIEEE754SinglePrecisionFloat;
7
7
  //# sourceMappingURL=encodeIEEE754SinglePrecisionFloat.js.map
@@ -1,2 +1,2 @@
1
- export default function encodeBigEndianSignedInteger(value: number): Uint8Array;
1
+ export default function encodeBigEndianSignedInteger(value: number): Uint8Array;
2
2
  //# sourceMappingURL=encodeSignedBigEndianInteger.d.ts.map
@@ -1,41 +1,41 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const errors = (0, tslib_1.__importStar)(require("../errors"));
5
- const values_1 = require("../values");
6
- function encodeBigEndianSignedInteger(value) {
7
- if (value < values_1.MIN_SINT_32) {
8
- throw new errors.ASN1OverflowError(`Number ${value} too small to be encoded as a big-endian signed integer.`);
9
- }
10
- if (value > values_1.MAX_SINT_32) {
11
- throw new errors.ASN1OverflowError(`Number ${value} too big to be encoded as a big-endian signed integer.`);
12
- }
13
- if (value <= 127 && value >= -128) {
14
- return new Uint8Array([
15
- (value & 255),
16
- ]);
17
- }
18
- else if (value <= 32767 && value >= -32768) {
19
- return new Uint8Array([
20
- ((value >> 8) & 255),
21
- (value & 255),
22
- ]);
23
- }
24
- else if (value <= 8388607 && value >= -8388608) {
25
- return new Uint8Array([
26
- ((value >> 16) & 255),
27
- ((value >> 8) & 255),
28
- (value & 255),
29
- ]);
30
- }
31
- else {
32
- return new Uint8Array([
33
- ((value >> 24) & 255),
34
- ((value >> 16) & 255),
35
- ((value >> 8) & 255),
36
- (value & 255),
37
- ]);
38
- }
39
- }
40
- exports.default = encodeBigEndianSignedInteger;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const errors = (0, tslib_1.__importStar)(require("../errors"));
5
+ const values_1 = require("../values");
6
+ function encodeBigEndianSignedInteger(value) {
7
+ if (value < values_1.MIN_SINT_32) {
8
+ throw new errors.ASN1OverflowError(`Number ${value} too small to be encoded as a big-endian signed integer.`);
9
+ }
10
+ if (value > values_1.MAX_SINT_32) {
11
+ throw new errors.ASN1OverflowError(`Number ${value} too big to be encoded as a big-endian signed integer.`);
12
+ }
13
+ if (value <= 127 && value >= -128) {
14
+ return new Uint8Array([
15
+ (value & 255),
16
+ ]);
17
+ }
18
+ else if (value <= 32767 && value >= -32768) {
19
+ return new Uint8Array([
20
+ ((value >> 8) & 255),
21
+ (value & 255),
22
+ ]);
23
+ }
24
+ else if (value <= 8388607 && value >= -8388608) {
25
+ return new Uint8Array([
26
+ ((value >> 16) & 255),
27
+ ((value >> 8) & 255),
28
+ (value & 255),
29
+ ]);
30
+ }
31
+ else {
32
+ return new Uint8Array([
33
+ ((value >> 24) & 255),
34
+ ((value >> 16) & 255),
35
+ ((value >> 8) & 255),
36
+ (value & 255),
37
+ ]);
38
+ }
39
+ }
40
+ exports.default = encodeBigEndianSignedInteger;
41
41
  //# sourceMappingURL=encodeSignedBigEndianInteger.js.map
@@ -1,2 +1,2 @@
1
- export default function encodeUnsignedBigEndianInteger(value: number): Uint8Array;
1
+ export default function encodeUnsignedBigEndianInteger(value: number): Uint8Array;
2
2
  //# sourceMappingURL=encodeUnsignedBigEndianInteger.d.ts.map
@@ -1,26 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const errors = (0, tslib_1.__importStar)(require("../errors"));
5
- const values_1 = require("../values");
6
- function encodeUnsignedBigEndianInteger(value) {
7
- if (value < values_1.MIN_UINT_32) {
8
- throw new errors.ASN1OverflowError(`Number ${value} too small to be encoded as a big-endian unsigned integer.`);
9
- }
10
- if (value > values_1.MAX_UINT_32) {
11
- throw new errors.ASN1OverflowError(`Number ${value} too big to be encoded as a big-endian unsigned integer.`);
12
- }
13
- const bytes = (new Uint8Array((new Uint32Array([value]).buffer))).reverse();
14
- let startOfNonPadding = 0;
15
- for (let i = 0; i < bytes.length - 1; i++) {
16
- if (bytes[i] === 0x00) {
17
- startOfNonPadding++;
18
- }
19
- else {
20
- break;
21
- }
22
- }
23
- return bytes.slice(startOfNonPadding);
24
- }
25
- exports.default = encodeUnsignedBigEndianInteger;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const errors = (0, tslib_1.__importStar)(require("../errors"));
5
+ const values_1 = require("../values");
6
+ function encodeUnsignedBigEndianInteger(value) {
7
+ if (value < values_1.MIN_UINT_32) {
8
+ throw new errors.ASN1OverflowError(`Number ${value} too small to be encoded as a big-endian unsigned integer.`);
9
+ }
10
+ if (value > values_1.MAX_UINT_32) {
11
+ throw new errors.ASN1OverflowError(`Number ${value} too big to be encoded as a big-endian unsigned integer.`);
12
+ }
13
+ const bytes = (new Uint8Array((new Uint32Array([value]).buffer))).reverse();
14
+ let startOfNonPadding = 0;
15
+ for (let i = 0; i < bytes.length - 1; i++) {
16
+ if (bytes[i] === 0x00) {
17
+ startOfNonPadding++;
18
+ }
19
+ else {
20
+ break;
21
+ }
22
+ }
23
+ return bytes.slice(startOfNonPadding);
24
+ }
25
+ exports.default = encodeUnsignedBigEndianInteger;
26
26
  //# sourceMappingURL=encodeUnsignedBigEndianInteger.js.map
@@ -1,2 +1,2 @@
1
- export default function encodeX690Base10RealNumber(value: number): Uint8Array;
1
+ export default function encodeX690Base10RealNumber(value: number): Uint8Array;
2
2
  //# sourceMappingURL=encodeX690Base10RealNumber.d.ts.map
@@ -1,26 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const values_1 = require("../values");
5
- const convertTextToBytes_1 = (0, tslib_1.__importDefault)(require("./convertTextToBytes"));
6
- function encodeX690Base10RealNumber(value) {
7
- if (value === 0.0) {
8
- return new Uint8Array(0);
9
- }
10
- else if (Number.isNaN(value)) {
11
- return new Uint8Array([values_1.ASN1SpecialRealValue.notANumber]);
12
- }
13
- else if (value === -0.0) {
14
- return new Uint8Array([values_1.ASN1SpecialRealValue.minusZero]);
15
- }
16
- else if (value === Infinity) {
17
- return new Uint8Array([values_1.ASN1SpecialRealValue.plusInfinity]);
18
- }
19
- else if (value === -Infinity) {
20
- return new Uint8Array([values_1.ASN1SpecialRealValue.minusInfinity]);
21
- }
22
- const valueString = (String.fromCharCode(0b00000011) + value.toFixed(7));
23
- return (0, convertTextToBytes_1.default)(valueString);
24
- }
25
- exports.default = encodeX690Base10RealNumber;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const values_1 = require("../values");
5
+ const convertTextToBytes_1 = (0, tslib_1.__importDefault)(require("./convertTextToBytes"));
6
+ function encodeX690Base10RealNumber(value) {
7
+ if (value === 0.0) {
8
+ return new Uint8Array(0);
9
+ }
10
+ else if (Number.isNaN(value)) {
11
+ return new Uint8Array([values_1.ASN1SpecialRealValue.notANumber]);
12
+ }
13
+ else if (value === -0.0) {
14
+ return new Uint8Array([values_1.ASN1SpecialRealValue.minusZero]);
15
+ }
16
+ else if (value === Infinity) {
17
+ return new Uint8Array([values_1.ASN1SpecialRealValue.plusInfinity]);
18
+ }
19
+ else if (value === -Infinity) {
20
+ return new Uint8Array([values_1.ASN1SpecialRealValue.minusInfinity]);
21
+ }
22
+ const valueString = (String.fromCharCode(0b00000011) + value.toFixed(7));
23
+ return (0, convertTextToBytes_1.default)(valueString);
24
+ }
25
+ exports.default = encodeX690Base10RealNumber;
26
26
  //# sourceMappingURL=encodeX690Base10RealNumber.js.map
@@ -1,2 +1,2 @@
1
- export default function encodeX690BinaryRealNumber(value: number): Uint8Array;
1
+ export default function encodeX690BinaryRealNumber(value: number): Uint8Array;
2
2
  //# sourceMappingURL=encodeX690BinaryRealNumber.d.ts.map