asn1-ts 8.0.4 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (429) hide show
  1. package/README.md +2 -1
  2. package/dist/{node/ConstructedElementSpecification.d.ts → ConstructedElementSpecification.d.mts} +2 -2
  3. package/dist/ConstructedElementSpecification.mjs +1 -0
  4. package/dist/{node/asn1.d.ts → asn1.d.mts} +8 -7
  5. package/dist/{node/asn1.js → asn1.mjs} +90 -130
  6. package/dist/{node/classes/ABSTRACT-SYNTAX.d.ts → classes/ABSTRACT-SYNTAX.d.mts} +2 -2
  7. package/dist/classes/ABSTRACT-SYNTAX.mjs +1 -0
  8. package/dist/{node/classes/TYPE-IDENTIFIER.d.ts → classes/TYPE-IDENTIFIER.d.mts} +2 -2
  9. package/dist/classes/TYPE-IDENTIFIER.mjs +1 -0
  10. package/dist/classes/index.d.mts +2 -0
  11. package/dist/classes/index.mjs +1 -0
  12. package/dist/{node/codecs/ber/decoders/decodeBitString.d.ts → codecs/ber/decoders/decodeBitString.d.mts} +1 -1
  13. package/dist/codecs/ber/decoders/decodeBitString.mjs +19 -0
  14. package/dist/{node/codecs/ber/decoders/decodeBoolean.d.ts → codecs/ber/decoders/decodeBoolean.d.mts} +1 -1
  15. package/dist/codecs/ber/decoders/decodeBoolean.mjs +7 -0
  16. package/dist/{node/codecs/ber/decoders/decodeDuration.d.ts → codecs/ber/decoders/decodeDuration.d.mts} +1 -1
  17. package/dist/{node/codecs/ber/decoders/decodeDuration.js → codecs/ber/decoders/decodeDuration.mjs} +9 -48
  18. package/dist/{node/codecs/ber/decoders/decodeGeneralizedTime.d.ts → codecs/ber/decoders/decodeGeneralizedTime.d.mts} +1 -1
  19. package/dist/{node/codecs/ber/decoders/decodeGeneralizedTime.js → codecs/ber/decoders/decodeGeneralizedTime.mjs} +10 -49
  20. package/dist/{node/codecs/ber/decoders/decodeReal.d.ts → codecs/ber/decoders/decodeReal.d.mts} +1 -1
  21. package/dist/codecs/ber/decoders/decodeReal.mjs +108 -0
  22. package/dist/codecs/ber/decoders/decodeSequence.d.mts +3 -0
  23. package/dist/codecs/ber/decoders/decodeSequence.mjs +11 -0
  24. package/dist/{node/codecs/ber/decoders/decodeUTCTime.d.ts → codecs/ber/decoders/decodeUTCTime.d.mts} +1 -1
  25. package/dist/codecs/ber/decoders/decodeUTCTime.mjs +45 -0
  26. package/dist/{node/codecs/ber/encoders/encodeGeneralString.d.ts → codecs/ber/encoders/encodeGeneralString.d.mts} +1 -1
  27. package/dist/codecs/ber/encoders/encodeGeneralString.mjs +13 -0
  28. package/dist/{node/codecs/ber/encoders/encodeGraphicString.d.ts → codecs/ber/encoders/encodeGraphicString.d.mts} +1 -1
  29. package/dist/codecs/ber/encoders/encodeGraphicString.mjs +13 -0
  30. package/dist/{node/codecs/ber/encoders/encodeNumericString.d.ts → codecs/ber/encoders/encodeNumericString.d.mts} +1 -1
  31. package/dist/codecs/ber/encoders/encodeNumericString.mjs +13 -0
  32. package/dist/{node/codecs/ber/encoders/encodeObjectDescriptor.d.ts → codecs/ber/encoders/encodeObjectDescriptor.d.mts} +1 -1
  33. package/dist/codecs/ber/encoders/encodeObjectDescriptor.mjs +13 -0
  34. package/dist/{node/codecs/ber/encoders/encodePrintableString.d.ts → codecs/ber/encoders/encodePrintableString.d.mts} +1 -1
  35. package/dist/codecs/ber/encoders/encodePrintableString.mjs +14 -0
  36. package/dist/{node/codecs/ber/encoders/encodeVisibleString.d.ts → codecs/ber/encoders/encodeVisibleString.d.mts} +1 -1
  37. package/dist/codecs/ber/encoders/encodeVisibleString.mjs +13 -0
  38. package/dist/{node/codecs/ber.d.ts → codecs/ber.d.mts} +5 -5
  39. package/dist/{node/codecs/ber.js → codecs/ber.mjs} +139 -176
  40. package/dist/codecs/cer/decoders/decodeSequence.d.mts +3 -0
  41. package/dist/codecs/cer/decoders/decodeSequence.mjs +14 -0
  42. package/dist/{node/codecs/cer.d.ts → codecs/cer.d.mts} +5 -5
  43. package/dist/{node/codecs/cer.js → codecs/cer.mjs} +143 -180
  44. package/dist/{node/codecs/coer/decoders/decodeBoolean.d.ts → codecs/coer/decoders/decodeBoolean.d.mts} +1 -1
  45. package/dist/codecs/coer/decoders/decodeBoolean.mjs +10 -0
  46. package/dist/{node/codecs/der/decoders/decodeBitString.d.ts → codecs/der/decoders/decodeBitString.d.mts} +1 -1
  47. package/dist/codecs/der/decoders/decodeBitString.mjs +23 -0
  48. package/dist/{node/codecs/der/decoders/decodeBoolean.d.ts → codecs/der/decoders/decodeBoolean.d.mts} +1 -1
  49. package/dist/codecs/der/decoders/decodeBoolean.mjs +10 -0
  50. package/dist/{node/codecs/der/decoders/decodeDuration.d.ts → codecs/der/decoders/decodeDuration.d.mts} +1 -1
  51. package/dist/{node/codecs/der/decoders/decodeDuration.js → codecs/der/decoders/decodeDuration.mjs} +9 -48
  52. package/dist/{node/codecs/der/decoders/decodeGeneralizedTime.d.ts → codecs/der/decoders/decodeGeneralizedTime.d.mts} +1 -1
  53. package/dist/codecs/der/decoders/decodeGeneralizedTime.mjs +42 -0
  54. package/dist/{node/codecs/der/decoders/decodeReal.d.ts → codecs/der/decoders/decodeReal.d.mts} +1 -1
  55. package/dist/codecs/der/decoders/decodeReal.mjs +95 -0
  56. package/dist/codecs/der/decoders/decodeSequence.d.mts +3 -0
  57. package/dist/codecs/der/decoders/decodeSequence.mjs +14 -0
  58. package/dist/{node/codecs/der/decoders/decodeUTCTime.d.ts → codecs/der/decoders/decodeUTCTime.d.mts} +1 -1
  59. package/dist/codecs/der/decoders/decodeUTCTime.mjs +24 -0
  60. package/dist/{node/codecs/der.d.ts → codecs/der.d.mts} +5 -5
  61. package/dist/{node/codecs/der.js → codecs/der.mjs} +136 -173
  62. package/dist/{node/codecs/x690/decoders/decodeCharacterString.d.ts → codecs/x690/decoders/decodeCharacterString.d.mts} +1 -1
  63. package/dist/codecs/x690/decoders/decodeCharacterString.mjs +12 -0
  64. package/dist/{node/codecs/x690/decoders/decodeDate.d.ts → codecs/x690/decoders/decodeDate.d.mts} +1 -1
  65. package/dist/codecs/x690/decoders/decodeDate.mjs +10 -0
  66. package/dist/{node/codecs/x690/decoders/decodeDateTime.d.ts → codecs/x690/decoders/decodeDateTime.d.mts} +1 -1
  67. package/dist/codecs/x690/decoders/decodeDateTime.mjs +13 -0
  68. package/dist/{node/codecs/x690/decoders/decodeEmbeddedPDV.d.ts → codecs/x690/decoders/decodeEmbeddedPDV.d.mts} +1 -1
  69. package/dist/codecs/x690/decoders/decodeEmbeddedPDV.mjs +8 -0
  70. package/dist/{node/codecs/x690/decoders/decodeExternal.d.ts → codecs/x690/decoders/decodeExternal.d.mts} +1 -1
  71. package/dist/codecs/x690/decoders/decodeExternal.mjs +39 -0
  72. package/dist/{node/codecs/x690/decoders/decodeGeneralString.d.ts → codecs/x690/decoders/decodeGeneralString.d.mts} +1 -1
  73. package/dist/codecs/x690/decoders/decodeGeneralString.mjs +12 -0
  74. package/dist/{node/codecs/x690/decoders/decodeGraphicString.d.ts → codecs/x690/decoders/decodeGraphicString.d.mts} +1 -1
  75. package/dist/codecs/x690/decoders/decodeGraphicString.mjs +12 -0
  76. package/dist/{node/codecs/x690/decoders/decodeInteger.d.ts → codecs/x690/decoders/decodeInteger.d.mts} +1 -1
  77. package/dist/codecs/x690/decoders/decodeInteger.mjs +16 -0
  78. package/dist/{node/codecs/x690/decoders/decodeNumericString.d.ts → codecs/x690/decoders/decodeNumericString.d.mts} +1 -1
  79. package/dist/codecs/x690/decoders/decodeNumericString.mjs +12 -0
  80. package/dist/{node/codecs/x690/decoders/decodeOIDIRI.d.ts → codecs/x690/decoders/decodeOIDIRI.d.mts} +1 -1
  81. package/dist/codecs/x690/decoders/decodeOIDIRI.mjs +4 -0
  82. package/dist/{node/codecs/x690/decoders/decodeObjectDescriptor.d.ts → codecs/x690/decoders/decodeObjectDescriptor.d.mts} +1 -1
  83. package/dist/codecs/x690/decoders/decodeObjectDescriptor.mjs +12 -0
  84. package/dist/{node/codecs/x690/decoders/decodeObjectIdentifier.d.ts → codecs/x690/decoders/decodeObjectIdentifier.d.mts} +1 -1
  85. package/dist/codecs/x690/decoders/decodeObjectIdentifier.mjs +46 -0
  86. package/dist/{node/codecs/x690/decoders/decodePrintableString.d.ts → codecs/x690/decoders/decodePrintableString.d.mts} +1 -1
  87. package/dist/codecs/x690/decoders/decodePrintableString.mjs +13 -0
  88. package/dist/{node/codecs/x690/decoders/decodeRelativeOIDIRI.d.ts → codecs/x690/decoders/decodeRelativeOIDIRI.d.mts} +1 -1
  89. package/dist/codecs/x690/decoders/decodeRelativeOIDIRI.mjs +4 -0
  90. package/dist/{node/codecs/x690/decoders/decodeRelativeObjectIdentifier.d.ts → codecs/x690/decoders/decodeRelativeObjectIdentifier.d.mts} +1 -1
  91. package/dist/codecs/x690/decoders/decodeRelativeObjectIdentifier.mjs +24 -0
  92. package/dist/{node/codecs/x690/decoders/decodeTime.d.ts → codecs/x690/decoders/decodeTime.d.mts} +1 -1
  93. package/dist/codecs/x690/decoders/decodeTime.mjs +4 -0
  94. package/dist/{node/codecs/x690/decoders/decodeTimeOfDay.d.ts → codecs/x690/decoders/decodeTimeOfDay.d.mts} +1 -1
  95. package/dist/codecs/x690/decoders/decodeTimeOfDay.mjs +14 -0
  96. package/dist/{node/codecs/x690/decoders/decodeVisibleString.d.ts → codecs/x690/decoders/decodeVisibleString.d.mts} +1 -1
  97. package/dist/codecs/x690/decoders/decodeVisibleString.mjs +12 -0
  98. package/dist/{node/codecs/x690/encoders/encodeBitString.d.ts → codecs/x690/encoders/encodeBitString.d.mts} +1 -1
  99. package/dist/codecs/x690/encoders/encodeBitString.mjs +13 -0
  100. package/dist/{node/codecs/x690/encoders/encodeBoolean.d.ts → codecs/x690/encoders/encodeBoolean.d.mts} +1 -1
  101. package/dist/codecs/x690/encoders/encodeBoolean.mjs +3 -0
  102. package/dist/{node/codecs/x690/encoders/encodeCharacterString.d.ts → codecs/x690/encoders/encodeCharacterString.d.mts} +1 -1
  103. package/dist/codecs/x690/encoders/encodeCharacterString.mjs +9 -0
  104. package/dist/{node/codecs/x690/encoders/encodeDate.d.ts → codecs/x690/encoders/encodeDate.d.mts} +1 -1
  105. package/dist/codecs/x690/encoders/encodeDate.mjs +11 -0
  106. package/dist/{node/codecs/x690/encoders/encodeDateTime.d.ts → codecs/x690/encoders/encodeDateTime.d.mts} +1 -1
  107. package/dist/codecs/x690/encoders/encodeDateTime.mjs +14 -0
  108. package/dist/{node/codecs/x690/encoders/encodeDuration.d.ts → codecs/x690/encoders/encodeDuration.d.mts} +1 -1
  109. package/dist/{node/codecs/x690/encoders/encodeDuration.js → codecs/x690/encoders/encodeDuration.mjs} +5 -11
  110. package/dist/{node/codecs/x690/encoders/encodeEmbeddedPDV.d.ts → codecs/x690/encoders/encodeEmbeddedPDV.d.mts} +1 -1
  111. package/dist/codecs/x690/encoders/encodeEmbeddedPDV.mjs +9 -0
  112. package/dist/{node/codecs/x690/encoders/encodeExternal.d.ts → codecs/x690/encoders/encodeExternal.d.mts} +1 -1
  113. package/dist/codecs/x690/encoders/encodeExternal.mjs +36 -0
  114. package/dist/{node/codecs/x690/encoders/encodeGeneralizedTime.d.ts → codecs/x690/encoders/encodeGeneralizedTime.d.mts} +1 -1
  115. package/dist/{node/codecs/x690/encoders/encodeGeneralizedTime.js → codecs/x690/encoders/encodeGeneralizedTime.mjs} +3 -9
  116. package/dist/{node/codecs/x690/encoders/encodeInteger.d.ts → codecs/x690/encoders/encodeInteger.d.mts} +1 -1
  117. package/dist/codecs/x690/encoders/encodeInteger.mjs +4 -0
  118. package/dist/{node/codecs/x690/encoders/encodeOIDIRI.d.ts → codecs/x690/encoders/encodeOIDIRI.d.mts} +1 -1
  119. package/dist/codecs/x690/encoders/encodeOIDIRI.mjs +4 -0
  120. package/dist/codecs/x690/encoders/encodeObjectIdentifier.d.mts +3 -0
  121. package/dist/{node/codecs/x690/encoders/encodeObjectIdentifier.js → codecs/x690/encoders/encodeObjectIdentifier.mjs} +2 -4
  122. package/dist/{node/codecs/x690/encoders/encodeReal.d.ts → codecs/x690/encoders/encodeReal.d.mts} +1 -1
  123. package/dist/codecs/x690/encoders/encodeReal.mjs +4 -0
  124. package/dist/{node/codecs/x690/encoders/encodeRelativeOIDIRI.d.ts → codecs/x690/encoders/encodeRelativeOIDIRI.d.mts} +1 -1
  125. package/dist/codecs/x690/encoders/encodeRelativeOIDIRI.mjs +4 -0
  126. package/dist/{node/codecs/x690/encoders/encodeRelativeObjectIdentifier.d.ts → codecs/x690/encoders/encodeRelativeObjectIdentifier.d.mts} +1 -1
  127. package/dist/{node/codecs/x690/encoders/encodeRelativeObjectIdentifier.js → codecs/x690/encoders/encodeRelativeObjectIdentifier.mjs} +2 -4
  128. package/dist/codecs/x690/encoders/encodeSequence.d.mts +3 -0
  129. package/dist/codecs/x690/encoders/encodeSequence.mjs +4 -0
  130. package/dist/{node/codecs/x690/encoders/encodeTime.d.ts → codecs/x690/encoders/encodeTime.d.mts} +1 -1
  131. package/dist/codecs/x690/encoders/encodeTime.mjs +4 -0
  132. package/dist/{node/codecs/x690/encoders/encodeTimeOfDay.d.ts → codecs/x690/encoders/encodeTimeOfDay.d.mts} +1 -1
  133. package/dist/codecs/x690/encoders/encodeTimeOfDay.mjs +4 -0
  134. package/dist/{node/codecs/x690/encoders/encodeUTCTime.d.ts → codecs/x690/encoders/encodeUTCTime.d.mts} +1 -1
  135. package/dist/{node/codecs/x690/encoders/encodeUTCTime.js → codecs/x690/encoders/encodeUTCTime.mjs} +3 -9
  136. package/dist/{node/errors.d.ts → errors.d.mts} +1 -1
  137. package/dist/{node/errors.js → errors.mjs} +26 -23
  138. package/dist/{node/functional.d.ts → functional.d.mts} +2 -2
  139. package/dist/functional.mjs +766 -0
  140. package/dist/index.d.mts +16 -0
  141. package/dist/index.mjs +15 -0
  142. package/dist/interfaces/Byteable.d.mts +4 -0
  143. package/dist/interfaces/Byteable.mjs +1 -0
  144. package/dist/interfaces/CharacterValidationFunction.mjs +1 -0
  145. package/dist/interfaces/Debyteable.mjs +1 -0
  146. package/dist/{node/interfaces/Deelementable.d.ts → interfaces/Deelementable.d.mts} +1 -1
  147. package/dist/interfaces/Deelementable.mjs +1 -0
  148. package/dist/interfaces/Destringable.mjs +1 -0
  149. package/dist/interfaces/Elementable.d.mts +4 -0
  150. package/dist/interfaces/Elementable.mjs +1 -0
  151. package/dist/interfaces/Enbyteable.mjs +1 -0
  152. package/dist/{node/interfaces/Enelementable.d.ts → interfaces/Enelementable.d.mts} +1 -1
  153. package/dist/interfaces/Enelementable.mjs +1 -0
  154. package/dist/interfaces/Enstringable.mjs +1 -0
  155. package/dist/{node/interfaces/Identified.d.ts → interfaces/Identified.d.mts} +1 -1
  156. package/dist/interfaces/Identified.mjs +1 -0
  157. package/dist/interfaces/Long.mjs +1 -0
  158. package/dist/interfaces/Named.mjs +1 -0
  159. package/dist/interfaces/Stringable.d.mts +4 -0
  160. package/dist/interfaces/Stringable.mjs +1 -0
  161. package/dist/interfaces/index.d.mts +12 -0
  162. package/dist/interfaces/index.mjs +1 -0
  163. package/dist/{node/macros.d.ts → macros.d.mts} +5 -5
  164. package/dist/macros.mjs +14 -0
  165. package/dist/{node/types/CharacterString.d.ts → types/CharacterString.d.mts} +1 -1
  166. package/dist/{node/types/CharacterString.js → types/CharacterString.mjs} +3 -4
  167. package/dist/{node/types/EmbeddedPDV.d.ts → types/EmbeddedPDV.d.mts} +1 -1
  168. package/dist/{node/types/EmbeddedPDV.js → types/EmbeddedPDV.mjs} +3 -4
  169. package/dist/{node/types/External.d.ts → types/External.d.mts} +2 -2
  170. package/dist/{node/types/External.js → types/External.mjs} +7 -9
  171. package/dist/{node/types/ObjectIdentifier.d.ts → types/ObjectIdentifier.d.mts} +1 -0
  172. package/dist/{node/types/ObjectIdentifier.js → types/ObjectIdentifier.mjs} +6 -11
  173. package/dist/{node/types/TypeIdentifier.d.ts → types/TypeIdentifier.d.mts} +2 -2
  174. package/dist/types/TypeIdentifier.mjs +8 -0
  175. package/dist/types/index.d.mts +18 -0
  176. package/dist/types/index.mjs +18 -0
  177. package/dist/{node/types/time/DATE-ENCODING.d.ts → types/time/DATE-ENCODING.d.mts} +1 -1
  178. package/dist/types/time/DATE-ENCODING.mjs +13 -0
  179. package/dist/{node/types/time/DURATION-EQUIVALENT.d.ts → types/time/DURATION-EQUIVALENT.d.mts} +1 -1
  180. package/dist/types/time/DURATION-EQUIVALENT.mjs +93 -0
  181. package/dist/{node/types/time/DURATION-INTERVAL-ENCODING.d.ts → types/time/DURATION-INTERVAL-ENCODING.d.mts} +1 -1
  182. package/dist/types/time/DURATION-INTERVAL-ENCODING.mjs +50 -0
  183. package/dist/{node/types/time/HOURS-DIFF-ENCODING.d.ts → types/time/HOURS-DIFF-ENCODING.d.mts} +1 -1
  184. package/dist/types/time/HOURS-DIFF-ENCODING.mjs +11 -0
  185. package/dist/{node/types/time/HOURS-ENCODING.d.ts → types/time/HOURS-ENCODING.d.mts} +1 -1
  186. package/dist/types/time/HOURS-ENCODING.mjs +8 -0
  187. package/dist/{node/types/time/HOURS-MINUTES-DIFF-ENCODING.d.ts → types/time/HOURS-MINUTES-DIFF-ENCODING.d.mts} +1 -1
  188. package/dist/types/time/HOURS-MINUTES-DIFF-ENCODING.mjs +14 -0
  189. package/dist/{node/types/time/HOURS-MINUTES-ENCODING.d.ts → types/time/HOURS-MINUTES-ENCODING.d.mts} +1 -1
  190. package/dist/types/time/HOURS-MINUTES-ENCODING.mjs +11 -0
  191. package/dist/{node/types/time/TIME-OF-DAY-DIFF-ENCODING.d.ts → types/time/TIME-OF-DAY-DIFF-ENCODING.d.mts} +1 -1
  192. package/dist/types/time/TIME-OF-DAY-DIFF-ENCODING.mjs +17 -0
  193. package/dist/{node/types/time/TIME-OF-DAY-ENCODING.d.ts → types/time/TIME-OF-DAY-ENCODING.d.mts} +1 -1
  194. package/dist/types/time/TIME-OF-DAY-ENCODING.mjs +14 -0
  195. package/dist/{node/types/time/TIME-OF-DAY-FRACTION-DIFF-ENCODING.d.ts → types/time/TIME-OF-DAY-FRACTION-DIFF-ENCODING.d.mts} +1 -1
  196. package/dist/types/time/TIME-OF-DAY-FRACTION-DIFF-ENCODING.mjs +20 -0
  197. package/dist/{node/types/time/TIME-OF-DAY-FRACTION-ENCODING.d.ts → types/time/TIME-OF-DAY-FRACTION-ENCODING.d.mts} +1 -1
  198. package/dist/types/time/TIME-OF-DAY-FRACTION-ENCODING.mjs +17 -0
  199. package/dist/{node/types/time/YEAR-ENCODING.d.ts → types/time/YEAR-ENCODING.d.mts} +1 -1
  200. package/dist/types/time/YEAR-ENCODING.mjs +6 -0
  201. package/dist/{node/types/time/YEAR-MONTH-ENCODING.d.ts → types/time/YEAR-MONTH-ENCODING.d.mts} +1 -1
  202. package/dist/types/time/YEAR-MONTH-ENCODING.mjs +10 -0
  203. package/dist/utils/base128Length.mjs +3 -0
  204. package/dist/{node/utils/bigint.d.ts → utils/bigint.d.mts} +2 -1
  205. package/dist/{node/utils/bigint.js → utils/bigint.mjs} +7 -10
  206. package/dist/{node/utils/compareSetOfElementsCanonically.d.ts → utils/compareSetOfElementsCanonically.d.mts} +1 -1
  207. package/dist/{node/utils/compareSetOfElementsCanonically.js → utils/compareSetOfElementsCanonically.mjs} +1 -4
  208. package/dist/{node/utils/convertBytesToText.js → utils/convertBytesToText.mjs} +4 -6
  209. package/dist/utils/convertTextToBytes.mjs +11 -0
  210. package/dist/utils/decodeIEEE754DoublePrecisionFloat.mjs +3 -0
  211. package/dist/utils/decodeIEEE754SinglePrecisionFloat.mjs +3 -0
  212. package/dist/utils/decodeSignedBigEndianInteger.mjs +13 -0
  213. package/dist/utils/decodeUnsignedBigEndianInteger.mjs +13 -0
  214. package/dist/utils/decodeX690RealNumber.mjs +108 -0
  215. package/dist/utils/dissectFloat.mjs +13 -0
  216. package/dist/utils/encodeIEEE754DoublePrecisionFloat.mjs +3 -0
  217. package/dist/utils/encodeIEEE754SinglePrecisionFloat.mjs +3 -0
  218. package/dist/utils/encodeSignedBigEndianInteger.mjs +36 -0
  219. package/dist/utils/encodeUnsignedBigEndianInteger.mjs +23 -0
  220. package/dist/utils/encodeX690Base10RealNumber.mjs +21 -0
  221. package/dist/utils/encodeX690BinaryRealNumber.mjs +43 -0
  222. package/dist/utils/getBitFromBase128.mjs +4 -0
  223. package/dist/utils/getBitFromBase256.mjs +3 -0
  224. package/dist/{node/utils/index.d.ts → utils/index.d.mts} +22 -22
  225. package/dist/utils/index.mjs +22 -0
  226. package/dist/{node/utils/isInCanonicalOrder.d.ts → utils/isInCanonicalOrder.d.mts} +1 -1
  227. package/dist/{node/utils/isInCanonicalOrder.js → utils/isInCanonicalOrder.mjs} +4 -7
  228. package/dist/{node/utils/isUniquelyTagged.d.ts → utils/isUniquelyTagged.d.mts} +1 -1
  229. package/dist/{node/utils/isUniquelyTagged.js → utils/isUniquelyTagged.mjs} +1 -4
  230. package/dist/{node/utils/packBits.d.ts → utils/packBits.d.mts} +1 -1
  231. package/dist/{node/utils/packBits.js → utils/packBits.mjs} +3 -6
  232. package/dist/{node/utils/setBitInBase128.js → utils/setBitInBase128.mjs} +1 -4
  233. package/dist/{node/utils/setBitInBase256.js → utils/setBitInBase256.mjs} +1 -4
  234. package/dist/{node/utils/sortCanonically.d.ts → utils/sortCanonically.d.mts} +1 -1
  235. package/dist/{node/utils/sortCanonically.js → utils/sortCanonically.mjs} +2 -4
  236. package/dist/utils/splitOctetsCanonically.mjs +5 -0
  237. package/dist/{node/utils/trimLeadingPaddingBytes.js → utils/trimLeadingPaddingBytes.mjs} +1 -4
  238. package/dist/{node/utils/unpackBits.d.ts → utils/unpackBits.d.mts} +1 -1
  239. package/dist/{node/utils/unpackBits.js → utils/unpackBits.mjs} +3 -6
  240. package/dist/{node/validators/datetimeComponentValidator.d.ts → validators/datetimeComponentValidator.d.mts} +1 -1
  241. package/dist/validators/datetimeComponentValidator.mjs +14 -0
  242. package/dist/{node/validators/index.d.ts → validators/index.d.mts} +6 -6
  243. package/dist/validators/index.mjs +6 -0
  244. package/dist/validators/isGeneralCharacter.mjs +3 -0
  245. package/dist/validators/isGraphicCharacter.mjs +3 -0
  246. package/dist/validators/isNumericCharacter.mjs +3 -0
  247. package/dist/validators/isObjectDescriptorCharacter.mjs +4 -0
  248. package/dist/{node/validators/isPrintableCharacter.js → validators/isPrintableCharacter.mjs} +1 -4
  249. package/dist/validators/isVisibleCharacter.mjs +4 -0
  250. package/dist/{node/validators/validateConstruction.d.ts → validators/validateConstruction.d.mts} +2 -2
  251. package/dist/validators/validateConstruction.mjs +37 -0
  252. package/dist/validators/validateDate.mjs +49 -0
  253. package/dist/validators/validateDateTime.mjs +6 -0
  254. package/dist/validators/validateTime.mjs +21 -0
  255. package/dist/{node/values.js → values.mjs} +36 -39
  256. package/dist/{node/x690.d.ts → x690.d.mts} +2 -2
  257. package/dist/x690.mjs +95 -0
  258. package/package.json +8 -7
  259. package/dist/node/ConstructedElementSpecification.js +0 -2
  260. package/dist/node/classes/ABSTRACT-SYNTAX.js +0 -2
  261. package/dist/node/classes/TYPE-IDENTIFIER.js +0 -2
  262. package/dist/node/classes/index.d.ts +0 -2
  263. package/dist/node/classes/index.js +0 -2
  264. package/dist/node/codecs/ber/decoders/decodeBitString.js +0 -55
  265. package/dist/node/codecs/ber/decoders/decodeBoolean.js +0 -43
  266. package/dist/node/codecs/ber/decoders/decodeReal.js +0 -147
  267. package/dist/node/codecs/ber/decoders/decodeSequence.d.ts +0 -3
  268. package/dist/node/codecs/ber/decoders/decodeSequence.js +0 -17
  269. package/dist/node/codecs/ber/decoders/decodeUTCTime.js +0 -84
  270. package/dist/node/codecs/ber/encoders/encodeGeneralString.js +0 -19
  271. package/dist/node/codecs/ber/encoders/encodeGraphicString.js +0 -19
  272. package/dist/node/codecs/ber/encoders/encodeNumericString.js +0 -19
  273. package/dist/node/codecs/ber/encoders/encodeObjectDescriptor.js +0 -19
  274. package/dist/node/codecs/ber/encoders/encodePrintableString.js +0 -20
  275. package/dist/node/codecs/ber/encoders/encodeVisibleString.js +0 -19
  276. package/dist/node/codecs/cer/decoders/decodeSequence.d.ts +0 -3
  277. package/dist/node/codecs/cer/decoders/decodeSequence.js +0 -20
  278. package/dist/node/codecs/coer/decoders/decodeBoolean.js +0 -46
  279. package/dist/node/codecs/der/decoders/decodeBitString.js +0 -59
  280. package/dist/node/codecs/der/decoders/decodeBoolean.js +0 -46
  281. package/dist/node/codecs/der/decoders/decodeGeneralizedTime.js +0 -81
  282. package/dist/node/codecs/der/decoders/decodeReal.js +0 -134
  283. package/dist/node/codecs/der/decoders/decodeSequence.d.ts +0 -3
  284. package/dist/node/codecs/der/decoders/decodeSequence.js +0 -20
  285. package/dist/node/codecs/der/decoders/decodeUTCTime.js +0 -63
  286. package/dist/node/codecs/oer/decoders/decodeBoolean.d.ts +0 -2
  287. package/dist/node/codecs/oer/decoders/decodeBoolean.js +0 -43
  288. package/dist/node/codecs/x690/decoders/decodeCharacterString.js +0 -18
  289. package/dist/node/codecs/x690/decoders/decodeDate.js +0 -16
  290. package/dist/node/codecs/x690/decoders/decodeDateTime.js +0 -19
  291. package/dist/node/codecs/x690/decoders/decodeEmbeddedPDV.js +0 -14
  292. package/dist/node/codecs/x690/decoders/decodeExternal.js +0 -78
  293. package/dist/node/codecs/x690/decoders/decodeGeneralString.js +0 -18
  294. package/dist/node/codecs/x690/decoders/decodeGraphicString.js +0 -18
  295. package/dist/node/codecs/x690/decoders/decodeInteger.js +0 -51
  296. package/dist/node/codecs/x690/decoders/decodeNumericString.js +0 -18
  297. package/dist/node/codecs/x690/decoders/decodeOIDIRI.js +0 -10
  298. package/dist/node/codecs/x690/decoders/decodeObjectDescriptor.js +0 -18
  299. package/dist/node/codecs/x690/decoders/decodeObjectIdentifier.js +0 -85
  300. package/dist/node/codecs/x690/decoders/decodePrintableString.js +0 -19
  301. package/dist/node/codecs/x690/decoders/decodeRelativeOIDIRI.js +0 -10
  302. package/dist/node/codecs/x690/decoders/decodeRelativeObjectIdentifier.js +0 -60
  303. package/dist/node/codecs/x690/decoders/decodeTime.js +0 -10
  304. package/dist/node/codecs/x690/decoders/decodeTimeOfDay.js +0 -20
  305. package/dist/node/codecs/x690/decoders/decodeVisibleString.js +0 -18
  306. package/dist/node/codecs/x690/encoders/encodeBitString.js +0 -19
  307. package/dist/node/codecs/x690/encoders/encodeBoolean.js +0 -6
  308. package/dist/node/codecs/x690/encoders/encodeCharacterString.js +0 -15
  309. package/dist/node/codecs/x690/encoders/encodeDate.js +0 -50
  310. package/dist/node/codecs/x690/encoders/encodeDateTime.js +0 -53
  311. package/dist/node/codecs/x690/encoders/encodeEmbeddedPDV.js +0 -15
  312. package/dist/node/codecs/x690/encoders/encodeExternal.js +0 -42
  313. package/dist/node/codecs/x690/encoders/encodeInteger.js +0 -7
  314. package/dist/node/codecs/x690/encoders/encodeOIDIRI.js +0 -10
  315. package/dist/node/codecs/x690/encoders/encodeObjectIdentifier.d.ts +0 -2
  316. package/dist/node/codecs/x690/encoders/encodeReal.js +0 -10
  317. package/dist/node/codecs/x690/encoders/encodeRelativeOIDIRI.js +0 -10
  318. package/dist/node/codecs/x690/encoders/encodeSequence.d.ts +0 -3
  319. package/dist/node/codecs/x690/encoders/encodeSequence.js +0 -6
  320. package/dist/node/codecs/x690/encoders/encodeTime.js +0 -10
  321. package/dist/node/codecs/x690/encoders/encodeTimeOfDay.js +0 -10
  322. package/dist/node/codecs/x696/encoders/encodeBoolean.d.ts +0 -2
  323. package/dist/node/codecs/x696/encoders/encodeBoolean.js +0 -6
  324. package/dist/node/functional.js +0 -880
  325. package/dist/node/index.d.ts +0 -16
  326. package/dist/node/index.js +0 -42
  327. package/dist/node/interfaces/Byteable.d.ts +0 -4
  328. package/dist/node/interfaces/Byteable.js +0 -2
  329. package/dist/node/interfaces/CharacterValidationFunction.js +0 -2
  330. package/dist/node/interfaces/Debyteable.js +0 -2
  331. package/dist/node/interfaces/Deelementable.js +0 -2
  332. package/dist/node/interfaces/Destringable.js +0 -2
  333. package/dist/node/interfaces/Elementable.d.ts +0 -4
  334. package/dist/node/interfaces/Elementable.js +0 -2
  335. package/dist/node/interfaces/Enbyteable.js +0 -2
  336. package/dist/node/interfaces/Enelementable.js +0 -2
  337. package/dist/node/interfaces/Enstringable.js +0 -2
  338. package/dist/node/interfaces/Identified.js +0 -2
  339. package/dist/node/interfaces/Long.js +0 -2
  340. package/dist/node/interfaces/Named.js +0 -2
  341. package/dist/node/interfaces/Stringable.d.ts +0 -4
  342. package/dist/node/interfaces/Stringable.js +0 -2
  343. package/dist/node/interfaces/index.d.ts +0 -12
  344. package/dist/node/interfaces/index.js +0 -2
  345. package/dist/node/macros.js +0 -21
  346. package/dist/node/types/TypeIdentifier.js +0 -9
  347. package/dist/node/types/index.d.ts +0 -18
  348. package/dist/node/types/index.js +0 -42
  349. package/dist/node/types/time/DATE-ENCODING.js +0 -16
  350. package/dist/node/types/time/DURATION-EQUIVALENT.js +0 -124
  351. package/dist/node/types/time/DURATION-INTERVAL-ENCODING.js +0 -81
  352. package/dist/node/types/time/HOURS-DIFF-ENCODING.js +0 -15
  353. package/dist/node/types/time/HOURS-ENCODING.js +0 -13
  354. package/dist/node/types/time/HOURS-MINUTES-DIFF-ENCODING.js +0 -17
  355. package/dist/node/types/time/HOURS-MINUTES-ENCODING.js +0 -15
  356. package/dist/node/types/time/TIME-OF-DAY-DIFF-ENCODING.js +0 -19
  357. package/dist/node/types/time/TIME-OF-DAY-ENCODING.js +0 -17
  358. package/dist/node/types/time/TIME-OF-DAY-FRACTION-DIFF-ENCODING.js +0 -21
  359. package/dist/node/types/time/TIME-OF-DAY-FRACTION-ENCODING.js +0 -19
  360. package/dist/node/types/time/YEAR-ENCODING.js +0 -8
  361. package/dist/node/types/time/YEAR-MONTH-ENCODING.js +0 -14
  362. package/dist/node/utils/base128Length.js +0 -6
  363. package/dist/node/utils/convertTextToBytes.js +0 -13
  364. package/dist/node/utils/decodeIEEE754DoublePrecisionFloat.js +0 -6
  365. package/dist/node/utils/decodeIEEE754SinglePrecisionFloat.js +0 -6
  366. package/dist/node/utils/decodeSignedBigEndianInteger.js +0 -48
  367. package/dist/node/utils/decodeUnsignedBigEndianInteger.js +0 -48
  368. package/dist/node/utils/decodeX690RealNumber.js +0 -147
  369. package/dist/node/utils/dissectFloat.js +0 -16
  370. package/dist/node/utils/encodeIEEE754DoublePrecisionFloat.js +0 -6
  371. package/dist/node/utils/encodeIEEE754SinglePrecisionFloat.js +0 -6
  372. package/dist/node/utils/encodeSignedBigEndianInteger.js +0 -72
  373. package/dist/node/utils/encodeUnsignedBigEndianInteger.js +0 -58
  374. package/dist/node/utils/encodeX690Base10RealNumber.js +0 -27
  375. package/dist/node/utils/encodeX690BinaryRealNumber.js +0 -82
  376. package/dist/node/utils/getBitFromBase128.js +0 -7
  377. package/dist/node/utils/getBitFromBase256.js +0 -6
  378. package/dist/node/utils/index.js +0 -50
  379. package/dist/node/utils/splitOctetsCanonically.js +0 -8
  380. package/dist/node/validators/datetimeComponentValidator.js +0 -50
  381. package/dist/node/validators/index.js +0 -18
  382. package/dist/node/validators/isGeneralCharacter.js +0 -6
  383. package/dist/node/validators/isGraphicCharacter.js +0 -6
  384. package/dist/node/validators/isNumericCharacter.js +0 -6
  385. package/dist/node/validators/isObjectDescriptorCharacter.js +0 -10
  386. package/dist/node/validators/isVisibleCharacter.js +0 -10
  387. package/dist/node/validators/validateConstruction.js +0 -73
  388. package/dist/node/validators/validateDate.js +0 -85
  389. package/dist/node/validators/validateDateTime.js +0 -12
  390. package/dist/node/validators/validateTime.js +0 -57
  391. package/dist/node/x690.js +0 -134
  392. /package/dist/{node/interfaces/CharacterValidationFunction.d.ts → interfaces/CharacterValidationFunction.d.mts} +0 -0
  393. /package/dist/{node/interfaces/Debyteable.d.ts → interfaces/Debyteable.d.mts} +0 -0
  394. /package/dist/{node/interfaces/Destringable.d.ts → interfaces/Destringable.d.mts} +0 -0
  395. /package/dist/{node/interfaces/Enbyteable.d.ts → interfaces/Enbyteable.d.mts} +0 -0
  396. /package/dist/{node/interfaces/Enstringable.d.ts → interfaces/Enstringable.d.mts} +0 -0
  397. /package/dist/{node/interfaces/Long.d.ts → interfaces/Long.d.mts} +0 -0
  398. /package/dist/{node/interfaces/Named.d.ts → interfaces/Named.d.mts} +0 -0
  399. /package/dist/{node/utils/base128Length.d.ts → utils/base128Length.d.mts} +0 -0
  400. /package/dist/{node/utils/convertBytesToText.d.ts → utils/convertBytesToText.d.mts} +0 -0
  401. /package/dist/{node/utils/convertTextToBytes.d.ts → utils/convertTextToBytes.d.mts} +0 -0
  402. /package/dist/{node/utils/decodeIEEE754DoublePrecisionFloat.d.ts → utils/decodeIEEE754DoublePrecisionFloat.d.mts} +0 -0
  403. /package/dist/{node/utils/decodeIEEE754SinglePrecisionFloat.d.ts → utils/decodeIEEE754SinglePrecisionFloat.d.mts} +0 -0
  404. /package/dist/{node/utils/decodeSignedBigEndianInteger.d.ts → utils/decodeSignedBigEndianInteger.d.mts} +0 -0
  405. /package/dist/{node/utils/decodeUnsignedBigEndianInteger.d.ts → utils/decodeUnsignedBigEndianInteger.d.mts} +0 -0
  406. /package/dist/{node/utils/decodeX690RealNumber.d.ts → utils/decodeX690RealNumber.d.mts} +0 -0
  407. /package/dist/{node/utils/dissectFloat.d.ts → utils/dissectFloat.d.mts} +0 -0
  408. /package/dist/{node/utils/encodeIEEE754DoublePrecisionFloat.d.ts → utils/encodeIEEE754DoublePrecisionFloat.d.mts} +0 -0
  409. /package/dist/{node/utils/encodeIEEE754SinglePrecisionFloat.d.ts → utils/encodeIEEE754SinglePrecisionFloat.d.mts} +0 -0
  410. /package/dist/{node/utils/encodeSignedBigEndianInteger.d.ts → utils/encodeSignedBigEndianInteger.d.mts} +0 -0
  411. /package/dist/{node/utils/encodeUnsignedBigEndianInteger.d.ts → utils/encodeUnsignedBigEndianInteger.d.mts} +0 -0
  412. /package/dist/{node/utils/encodeX690Base10RealNumber.d.ts → utils/encodeX690Base10RealNumber.d.mts} +0 -0
  413. /package/dist/{node/utils/encodeX690BinaryRealNumber.d.ts → utils/encodeX690BinaryRealNumber.d.mts} +0 -0
  414. /package/dist/{node/utils/getBitFromBase128.d.ts → utils/getBitFromBase128.d.mts} +0 -0
  415. /package/dist/{node/utils/getBitFromBase256.d.ts → utils/getBitFromBase256.d.mts} +0 -0
  416. /package/dist/{node/utils/setBitInBase128.d.ts → utils/setBitInBase128.d.mts} +0 -0
  417. /package/dist/{node/utils/setBitInBase256.d.ts → utils/setBitInBase256.d.mts} +0 -0
  418. /package/dist/{node/utils/splitOctetsCanonically.d.ts → utils/splitOctetsCanonically.d.mts} +0 -0
  419. /package/dist/{node/utils/trimLeadingPaddingBytes.d.ts → utils/trimLeadingPaddingBytes.d.mts} +0 -0
  420. /package/dist/{node/validators/isGeneralCharacter.d.ts → validators/isGeneralCharacter.d.mts} +0 -0
  421. /package/dist/{node/validators/isGraphicCharacter.d.ts → validators/isGraphicCharacter.d.mts} +0 -0
  422. /package/dist/{node/validators/isNumericCharacter.d.ts → validators/isNumericCharacter.d.mts} +0 -0
  423. /package/dist/{node/validators/isObjectDescriptorCharacter.d.ts → validators/isObjectDescriptorCharacter.d.mts} +0 -0
  424. /package/dist/{node/validators/isPrintableCharacter.d.ts → validators/isPrintableCharacter.d.mts} +0 -0
  425. /package/dist/{node/validators/isVisibleCharacter.d.ts → validators/isVisibleCharacter.d.mts} +0 -0
  426. /package/dist/{node/validators/validateDate.d.ts → validators/validateDate.d.mts} +0 -0
  427. /package/dist/{node/validators/validateDateTime.d.ts → validators/validateDateTime.d.mts} +0 -0
  428. /package/dist/{node/validators/validateTime.d.ts → validators/validateTime.d.mts} +0 -0
  429. /package/dist/{node/values.d.ts → values.d.mts} +0 -0
@@ -1,88 +1,54 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- const asn1_1 = __importDefault(require("../asn1"));
40
- const errors = __importStar(require("../errors"));
41
- const values_1 = require("../values");
42
- const x690_1 = __importDefault(require("../x690"));
43
- const convertBytesToText_1 = __importDefault(require("../utils/convertBytesToText"));
44
- const convertTextToBytes_1 = __importDefault(require("../utils/convertTextToBytes"));
45
- const ObjectIdentifier_1 = __importDefault(require("../types/ObjectIdentifier"));
46
- const encodeBoolean_1 = __importDefault(require("./x690/encoders/encodeBoolean"));
47
- const decodeBoolean_1 = __importDefault(require("./ber/decoders/decodeBoolean"));
48
- const encodeBitString_1 = __importDefault(require("./x690/encoders/encodeBitString"));
49
- const decodeBitString_1 = __importDefault(require("./ber/decoders/decodeBitString"));
50
- const encodeReal_1 = __importDefault(require("./x690/encoders/encodeReal"));
51
- const decodeReal_1 = __importDefault(require("./ber/decoders/decodeReal"));
52
- const encodeSequence_1 = __importDefault(require("./x690/encoders/encodeSequence"));
53
- const decodeSequence_1 = __importDefault(require("./ber/decoders/decodeSequence"));
54
- const encodeUTCTime_1 = __importDefault(require("./x690/encoders/encodeUTCTime"));
55
- const decodeUTCTime_1 = __importDefault(require("./ber/decoders/decodeUTCTime"));
56
- const encodeGeneralizedTime_1 = __importDefault(require("./x690/encoders/encodeGeneralizedTime"));
57
- const decodeGeneralizedTime_1 = __importDefault(require("./ber/decoders/decodeGeneralizedTime"));
58
- const encodeExternal_1 = __importDefault(require("../codecs/x690/encoders/encodeExternal"));
59
- const encodeEmbeddedPDV_1 = __importDefault(require("../codecs/x690/encoders/encodeEmbeddedPDV"));
60
- const encodeCharacterString_1 = __importDefault(require("../codecs/x690/encoders/encodeCharacterString"));
61
- const decodeExternal_1 = __importDefault(require("../codecs/x690/decoders/decodeExternal"));
62
- const decodeEmbeddedPDV_1 = __importDefault(require("../codecs/x690/decoders/decodeEmbeddedPDV"));
63
- const decodeCharacterString_1 = __importDefault(require("../codecs/x690/decoders/decodeCharacterString"));
64
- const encodeGraphicString_1 = __importDefault(require("../codecs/ber/encoders/encodeGraphicString"));
65
- const encodeNumericString_1 = __importDefault(require("../codecs/ber/encoders/encodeNumericString"));
66
- const encodeObjectDescriptor_1 = __importDefault(require("../codecs/ber/encoders/encodeObjectDescriptor"));
67
- const encodePrintableString_1 = __importDefault(require("../codecs/ber/encoders/encodePrintableString"));
68
- const encodeVisibleString_1 = __importDefault(require("../codecs/ber/encoders/encodeVisibleString"));
69
- const encodeGeneralString_1 = __importDefault(require("../codecs/ber/encoders/encodeGeneralString"));
70
- const decodeGraphicString_1 = __importDefault(require("../codecs/x690/decoders/decodeGraphicString"));
71
- const decodeNumericString_1 = __importDefault(require("../codecs/x690/decoders/decodeNumericString"));
72
- const decodeObjectDescriptor_1 = __importDefault(require("../codecs/x690/decoders/decodeObjectDescriptor"));
73
- const decodePrintableString_1 = __importDefault(require("../codecs/x690/decoders/decodePrintableString"));
74
- const decodeVisibleString_1 = __importDefault(require("../codecs/x690/decoders/decodeVisibleString"));
75
- const decodeGeneralString_1 = __importDefault(require("../codecs/x690/decoders/decodeGeneralString"));
76
- const encodeDuration_1 = __importDefault(require("../codecs/x690/encoders/encodeDuration"));
77
- const decodeDuration_1 = __importDefault(require("../codecs/ber/decoders/decodeDuration"));
78
- const macros_1 = require("../macros");
79
- const utils_1 = require("../utils");
80
- class BERElement extends x690_1.default {
1
+ import ASN1Element from "../asn1.mjs";
2
+ import * as errors from "../errors.mjs";
3
+ import { ASN1Construction, ASN1TagClass, ASN1UniversalType, LengthEncodingPreference, } from "../values.mjs";
4
+ import X690Element from "../x690.mjs";
5
+ import convertBytesToText from "../utils/convertBytesToText.mjs";
6
+ import convertTextToBytes from "../utils/convertTextToBytes.mjs";
7
+ import ObjectIdentifier from "../types/ObjectIdentifier.mjs";
8
+ import encodeBoolean from "./x690/encoders/encodeBoolean.mjs";
9
+ import decodeBoolean from "./ber/decoders/decodeBoolean.mjs";
10
+ import encodeBitString from "./x690/encoders/encodeBitString.mjs";
11
+ import decodeBitString from "./ber/decoders/decodeBitString.mjs";
12
+ import encodeReal from "./x690/encoders/encodeReal.mjs";
13
+ import decodeReal from "./ber/decoders/decodeReal.mjs";
14
+ import encodeSequence from "./x690/encoders/encodeSequence.mjs";
15
+ import decodeSequence from "./ber/decoders/decodeSequence.mjs";
16
+ import encodeUTCTime from "./x690/encoders/encodeUTCTime.mjs";
17
+ import decodeUTCTime from "./ber/decoders/decodeUTCTime.mjs";
18
+ import encodeGeneralizedTime from "./x690/encoders/encodeGeneralizedTime.mjs";
19
+ import decodeGeneralizedTime from "./ber/decoders/decodeGeneralizedTime.mjs";
20
+ import encodeExternal from "../codecs/x690/encoders/encodeExternal.mjs";
21
+ import encodeEmbeddedPDV from "../codecs/x690/encoders/encodeEmbeddedPDV.mjs";
22
+ import encodeCharacterString from "../codecs/x690/encoders/encodeCharacterString.mjs";
23
+ import decodeExternal from "../codecs/x690/decoders/decodeExternal.mjs";
24
+ import decodeEmbeddedPDV from "../codecs/x690/decoders/decodeEmbeddedPDV.mjs";
25
+ import decodeCharacterString from "../codecs/x690/decoders/decodeCharacterString.mjs";
26
+ import encodeGraphicString from "../codecs/ber/encoders/encodeGraphicString.mjs";
27
+ import encodeNumericString from "../codecs/ber/encoders/encodeNumericString.mjs";
28
+ import encodeObjectDescriptor from "../codecs/ber/encoders/encodeObjectDescriptor.mjs";
29
+ import encodePrintableString from "../codecs/ber/encoders/encodePrintableString.mjs";
30
+ import encodeVisibleString from "../codecs/ber/encoders/encodeVisibleString.mjs";
31
+ import encodeGeneralString from "../codecs/ber/encoders/encodeGeneralString.mjs";
32
+ import decodeGraphicString from "../codecs/x690/decoders/decodeGraphicString.mjs";
33
+ import decodeNumericString from "../codecs/x690/decoders/decodeNumericString.mjs";
34
+ import decodeObjectDescriptor from "../codecs/x690/decoders/decodeObjectDescriptor.mjs";
35
+ import decodePrintableString from "../codecs/x690/decoders/decodePrintableString.mjs";
36
+ import decodeVisibleString from "../codecs/x690/decoders/decodeVisibleString.mjs";
37
+ import decodeGeneralString from "../codecs/x690/decoders/decodeGeneralString.mjs";
38
+ import encodeDuration from "../codecs/x690/encoders/encodeDuration.mjs";
39
+ import decodeDuration from "../codecs/ber/decoders/decodeDuration.mjs";
40
+ import { FALSE_BIT, } from "../macros.mjs";
41
+ import { isUniquelyTagged } from "../utils/index.mjs";
42
+ import { Buffer } from "node:buffer";
43
+ export default class BERElement extends X690Element {
44
+ static lengthEncodingPreference = LengthEncodingPreference.definite;
45
+ _value = new Uint8Array(0);
46
+ _currentValueLength;
81
47
  get value() {
82
48
  if (this._value instanceof Uint8Array) {
83
49
  return this._value;
84
50
  }
85
- const bytes = (0, encodeSequence_1.default)(this._value);
51
+ const bytes = encodeSequence(this._value);
86
52
  this._value = bytes;
87
53
  return bytes;
88
54
  }
@@ -95,20 +61,20 @@ class BERElement extends x690_1.default {
95
61
  this._value = els;
96
62
  }
97
63
  set boolean(value) {
98
- this.value = (0, encodeBoolean_1.default)(value);
64
+ this.value = encodeBoolean(value);
99
65
  }
100
66
  get boolean() {
101
- if (this.construction !== values_1.ASN1Construction.primitive) {
67
+ if (this.construction !== ASN1Construction.primitive) {
102
68
  throw new errors.ASN1ConstructionError("BOOLEAN cannot be constructed.", this);
103
69
  }
104
- return (0, decodeBoolean_1.default)(this.value);
70
+ return decodeBoolean(this.value);
105
71
  }
106
72
  set bitString(value) {
107
- this.value = (0, encodeBitString_1.default)(value);
73
+ this.value = encodeBitString(value);
108
74
  }
109
75
  get bitString() {
110
- if (this.construction === values_1.ASN1Construction.primitive) {
111
- return (0, decodeBitString_1.default)(this.value);
76
+ if (this.construction === ASN1Construction.primitive) {
77
+ return decodeBitString(this.value);
112
78
  }
113
79
  if ((this.recursionCount + 1) > BERElement.nestingRecursionLimit) {
114
80
  throw new errors.ASN1RecursionError();
@@ -116,7 +82,7 @@ class BERElement extends x690_1.default {
116
82
  const appendy = [];
117
83
  const substrings = this.sequence;
118
84
  for (const substring of substrings.slice(0, (substrings.length - 1))) {
119
- if (substring.construction === values_1.ASN1Construction.primitive
85
+ if (substring.construction === ASN1Construction.primitive
120
86
  && substring.value.length > 0
121
87
  && substring.value[0] !== 0x00) {
122
88
  throw new errors.ASN1Error("Only the last subelement of a constructed BIT STRING may have a non-zero first value byte.", this);
@@ -130,7 +96,7 @@ class BERElement extends x690_1.default {
130
96
  throw new errors.ASN1ConstructionError("Invalid tag class in recursively-encoded BIT STRING.", this);
131
97
  }
132
98
  substring.recursionCount = (this.recursionCount + 1);
133
- appendy.push(...Array.from(substring.bitString).map((b) => b !== macros_1.FALSE_BIT));
99
+ appendy.push(...Array.from(substring.bitString).map((b) => b !== FALSE_BIT));
134
100
  }
135
101
  return new Uint8ClampedArray(appendy.map((b) => (b ? 1 : 0)));
136
102
  }
@@ -141,76 +107,76 @@ class BERElement extends x690_1.default {
141
107
  return this.deconstruct("OCTET STRING");
142
108
  }
143
109
  set objectDescriptor(value) {
144
- this.value = (0, encodeObjectDescriptor_1.default)(value);
110
+ this.value = encodeObjectDescriptor(value);
145
111
  }
146
112
  get objectDescriptor() {
147
113
  const bytes = this.deconstruct("ObjectDescriptor");
148
- return (0, decodeObjectDescriptor_1.default)(bytes);
114
+ return decodeObjectDescriptor(bytes);
149
115
  }
150
116
  set external(value) {
151
- this.value = (0, encodeExternal_1.default)(value);
152
- this.construction = values_1.ASN1Construction.constructed;
117
+ this.value = encodeExternal(value);
118
+ this.construction = ASN1Construction.constructed;
153
119
  }
154
120
  get external() {
155
- return (0, decodeExternal_1.default)(this.value);
121
+ return decodeExternal(this.value);
156
122
  }
157
123
  set real(value) {
158
- this.value = (0, encodeReal_1.default)(value);
124
+ this.value = encodeReal(value);
159
125
  }
160
126
  get real() {
161
- if (this.construction !== values_1.ASN1Construction.primitive) {
127
+ if (this.construction !== ASN1Construction.primitive) {
162
128
  throw new errors.ASN1ConstructionError("REAL cannot be constructed.");
163
129
  }
164
- return (0, decodeReal_1.default)(this.value);
130
+ return decodeReal(this.value);
165
131
  }
166
132
  set embeddedPDV(value) {
167
- this.value = (0, encodeEmbeddedPDV_1.default)(value);
168
- this.construction = values_1.ASN1Construction.constructed;
133
+ this.value = encodeEmbeddedPDV(value);
134
+ this.construction = ASN1Construction.constructed;
169
135
  }
170
136
  get embeddedPDV() {
171
- return (0, decodeEmbeddedPDV_1.default)(this.value);
137
+ return decodeEmbeddedPDV(this.value);
172
138
  }
173
139
  set utf8String(value) {
174
- this.value = (0, convertTextToBytes_1.default)(value);
140
+ this.value = convertTextToBytes(value);
175
141
  }
176
142
  get utf8String() {
177
- return (0, convertBytesToText_1.default)(this.deconstruct("UTF8String"));
143
+ return convertBytesToText(this.deconstruct("UTF8String"));
178
144
  }
179
145
  set sequence(value) {
180
146
  this.construct(value);
181
- this.construction = values_1.ASN1Construction.constructed;
147
+ this.construction = ASN1Construction.constructed;
182
148
  }
183
149
  get sequence() {
184
- if (this.construction !== values_1.ASN1Construction.constructed) {
150
+ if (this.construction !== ASN1Construction.constructed) {
185
151
  throw new errors.ASN1ConstructionError("SET or SEQUENCE cannot be primitively constructed.", this);
186
152
  }
187
153
  if (Array.isArray(this._value)) {
188
154
  return this._value;
189
155
  }
190
- return (0, decodeSequence_1.default)(this.value);
156
+ return decodeSequence(this.value);
191
157
  }
192
158
  set set(value) {
193
159
  this.sequence = value;
194
160
  }
195
161
  get set() {
196
162
  const ret = this.sequence;
197
- if (!(0, utils_1.isUniquelyTagged)(ret)) {
163
+ if (!isUniquelyTagged(ret)) {
198
164
  throw new errors.ASN1ConstructionError("Duplicate tag in SET.", this);
199
165
  }
200
166
  return ret;
201
167
  }
202
168
  set sequenceOf(value) {
203
169
  this.construct(value);
204
- this.construction = values_1.ASN1Construction.constructed;
170
+ this.construction = ASN1Construction.constructed;
205
171
  }
206
172
  get sequenceOf() {
207
- if (this.construction !== values_1.ASN1Construction.constructed) {
173
+ if (this.construction !== ASN1Construction.constructed) {
208
174
  throw new errors.ASN1ConstructionError("SET or SEQUENCE cannot be primitively constructed.", this);
209
175
  }
210
176
  if (Array.isArray(this._value)) {
211
177
  return this._value;
212
178
  }
213
- return (0, decodeSequence_1.default)(this.value);
179
+ return decodeSequence(this.value);
214
180
  }
215
181
  set setOf(value) {
216
182
  this.sequence = value;
@@ -219,18 +185,18 @@ class BERElement extends x690_1.default {
219
185
  return this.sequence;
220
186
  }
221
187
  set numericString(value) {
222
- this.value = (0, encodeNumericString_1.default)(value);
188
+ this.value = encodeNumericString(value);
223
189
  }
224
190
  get numericString() {
225
191
  const bytes = this.deconstruct("NumericString");
226
- return (0, decodeNumericString_1.default)(bytes);
192
+ return decodeNumericString(bytes);
227
193
  }
228
194
  set printableString(value) {
229
- this.value = (0, encodePrintableString_1.default)(value);
195
+ this.value = encodePrintableString(value);
230
196
  }
231
197
  get printableString() {
232
198
  const bytes = this.deconstruct("PrintableString");
233
- return (0, decodePrintableString_1.default)(bytes);
199
+ return decodePrintableString(bytes);
234
200
  }
235
201
  set teletexString(value) {
236
202
  this.value = new Uint8Array(value);
@@ -245,49 +211,49 @@ class BERElement extends x690_1.default {
245
211
  return this.deconstruct("VideotexString");
246
212
  }
247
213
  set ia5String(value) {
248
- this.value = (0, convertTextToBytes_1.default)(value);
214
+ this.value = convertTextToBytes(value);
249
215
  }
250
216
  get ia5String() {
251
- return (0, convertBytesToText_1.default)(this.deconstruct("IA5String"));
217
+ return convertBytesToText(this.deconstruct("IA5String"));
252
218
  }
253
219
  set utcTime(value) {
254
- this.value = (0, encodeUTCTime_1.default)(value);
220
+ this.value = encodeUTCTime(value);
255
221
  }
256
222
  get utcTime() {
257
- return (0, decodeUTCTime_1.default)(this.deconstruct("UTCTime"));
223
+ return decodeUTCTime(this.deconstruct("UTCTime"));
258
224
  }
259
225
  set generalizedTime(value) {
260
- this.value = (0, encodeGeneralizedTime_1.default)(value);
226
+ this.value = encodeGeneralizedTime(value);
261
227
  }
262
228
  get generalizedTime() {
263
- return (0, decodeGeneralizedTime_1.default)(this.deconstruct("GeneralizedTime"));
229
+ return decodeGeneralizedTime(this.deconstruct("GeneralizedTime"));
264
230
  }
265
231
  set graphicString(value) {
266
- this.value = (0, encodeGraphicString_1.default)(value);
232
+ this.value = encodeGraphicString(value);
267
233
  }
268
234
  get graphicString() {
269
235
  const bytes = this.deconstruct("GraphicString");
270
- return (0, decodeGraphicString_1.default)(bytes);
236
+ return decodeGraphicString(bytes);
271
237
  }
272
238
  set visibleString(value) {
273
- this.value = (0, encodeVisibleString_1.default)(value);
239
+ this.value = encodeVisibleString(value);
274
240
  }
275
241
  get visibleString() {
276
- return (0, decodeVisibleString_1.default)(this.value);
242
+ return decodeVisibleString(this.value);
277
243
  }
278
244
  set generalString(value) {
279
- this.value = (0, encodeGeneralString_1.default)(value);
245
+ this.value = encodeGeneralString(value);
280
246
  }
281
247
  get generalString() {
282
248
  const bytes = this.deconstruct("GeneralString");
283
- return (0, decodeGeneralString_1.default)(bytes);
249
+ return decodeGeneralString(bytes);
284
250
  }
285
251
  set characterString(value) {
286
- this.value = (0, encodeCharacterString_1.default)(value);
287
- this.construction = values_1.ASN1Construction.constructed;
252
+ this.value = encodeCharacterString(value);
253
+ this.construction = ASN1Construction.constructed;
288
254
  }
289
255
  get characterString() {
290
- return (0, decodeCharacterString_1.default)(this.value);
256
+ return decodeCharacterString(this.value);
291
257
  }
292
258
  set universalString(value) {
293
259
  const buf = new Uint8Array(value.length << 2);
@@ -334,17 +300,17 @@ class BERElement extends x690_1.default {
334
300
  return swappedEndianness.toString("utf16le");
335
301
  }
336
302
  else if (typeof TextEncoder !== "undefined") {
337
- return (new TextDecoder("utf-16be")).decode(valueBytes.buffer);
303
+ return (new TextDecoder("utf-16be")).decode(valueBytes);
338
304
  }
339
305
  else {
340
306
  throw new errors.ASN1Error("Neither TextDecoder nor Buffer are defined to decode bytes into text.", this);
341
307
  }
342
308
  }
343
309
  set duration(value) {
344
- this.value = (0, encodeDuration_1.default)(value);
310
+ this.value = encodeDuration(value);
345
311
  }
346
312
  get duration() {
347
- return (0, decodeDuration_1.default)(this.value);
313
+ return decodeDuration(this.value);
348
314
  }
349
315
  encode(value) {
350
316
  switch (typeof value) {
@@ -353,52 +319,52 @@ class BERElement extends x690_1.default {
353
319
  break;
354
320
  }
355
321
  case ("boolean"): {
356
- this.tagNumber = values_1.ASN1UniversalType.boolean;
322
+ this.tagNumber = ASN1UniversalType.boolean;
357
323
  this.boolean = value;
358
324
  break;
359
325
  }
360
326
  case ("number"): {
361
327
  if (Number.isInteger(value)) {
362
- this.tagNumber = values_1.ASN1UniversalType.integer;
328
+ this.tagNumber = ASN1UniversalType.integer;
363
329
  this.integer = value;
364
330
  }
365
331
  else {
366
- this.tagNumber = values_1.ASN1UniversalType.realNumber;
332
+ this.tagNumber = ASN1UniversalType.realNumber;
367
333
  this.real = value;
368
334
  }
369
335
  break;
370
336
  }
371
337
  case ("bigint"): {
372
- this.tagNumber = values_1.ASN1UniversalType.integer;
338
+ this.tagNumber = ASN1UniversalType.integer;
373
339
  this.integer = value;
374
340
  break;
375
341
  }
376
342
  case ("string"): {
377
- this.tagNumber = values_1.ASN1UniversalType.utf8String;
343
+ this.tagNumber = ASN1UniversalType.utf8String;
378
344
  this.utf8String = value;
379
345
  break;
380
346
  }
381
347
  case ("object"): {
382
348
  if (!value) {
383
- this.tagNumber = values_1.ASN1UniversalType.nill;
349
+ this.tagNumber = ASN1UniversalType.nill;
384
350
  this.value = new Uint8Array(0);
385
351
  }
386
352
  else if (value instanceof Uint8Array) {
387
- this.tagNumber = values_1.ASN1UniversalType.octetString;
353
+ this.tagNumber = ASN1UniversalType.octetString;
388
354
  this.octetString = value;
389
355
  }
390
356
  else if (value instanceof Uint8ClampedArray) {
391
- this.tagNumber = values_1.ASN1UniversalType.bitString;
357
+ this.tagNumber = ASN1UniversalType.bitString;
392
358
  this.bitString = value;
393
359
  }
394
- else if (value instanceof asn1_1.default) {
395
- this.construction = values_1.ASN1Construction.constructed;
360
+ else if (value instanceof ASN1Element) {
361
+ this.construction = ASN1Construction.constructed;
396
362
  this.sequence = [value];
397
363
  }
398
364
  else if (value instanceof Set) {
399
- this.construction = values_1.ASN1Construction.constructed;
365
+ this.construction = ASN1Construction.constructed;
400
366
  this.set = Array.from(value).map((v) => {
401
- if (typeof v === "object" && v instanceof asn1_1.default) {
367
+ if (typeof v === "object" && v instanceof ASN1Element) {
402
368
  return v;
403
369
  }
404
370
  else {
@@ -408,13 +374,13 @@ class BERElement extends x690_1.default {
408
374
  }
409
375
  });
410
376
  }
411
- else if ((value instanceof ObjectIdentifier_1.default) || (value.constructor?.name === "ObjectIdentifier")) {
412
- this.tagNumber = values_1.ASN1UniversalType.objectIdentifier;
377
+ else if ((value instanceof ObjectIdentifier) || (value.constructor?.name === "ObjectIdentifier")) {
378
+ this.tagNumber = ASN1UniversalType.objectIdentifier;
413
379
  this.objectIdentifier = value;
414
380
  }
415
381
  else if (Array.isArray(value)) {
416
- this.construction = values_1.ASN1Construction.constructed;
417
- this.tagNumber = values_1.ASN1UniversalType.sequence;
382
+ this.construction = ASN1Construction.constructed;
383
+ this.tagNumber = ASN1UniversalType.sequence;
418
384
  this.sequence = value.map((sub) => {
419
385
  const ret = new BERElement();
420
386
  ret.encode(sub);
@@ -435,22 +401,22 @@ class BERElement extends x690_1.default {
435
401
  }
436
402
  }
437
403
  static fromSequence(sequence) {
438
- const ret = new BERElement(values_1.ASN1TagClass.universal, values_1.ASN1Construction.constructed, values_1.ASN1UniversalType.sequence);
404
+ const ret = new BERElement(ASN1TagClass.universal, ASN1Construction.constructed, ASN1UniversalType.sequence);
439
405
  ret.sequence = sequence.filter((element) => Boolean(element));
440
406
  return ret;
441
407
  }
442
408
  static fromSet(set) {
443
- const ret = new BERElement(values_1.ASN1TagClass.universal, values_1.ASN1Construction.constructed, values_1.ASN1UniversalType.set);
409
+ const ret = new BERElement(ASN1TagClass.universal, ASN1Construction.constructed, ASN1UniversalType.set);
444
410
  ret.set = set.filter((element) => Boolean(element));
445
411
  return ret;
446
412
  }
447
413
  static fromSetOf(set) {
448
- const ret = new BERElement(values_1.ASN1TagClass.universal, values_1.ASN1Construction.constructed, values_1.ASN1UniversalType.set);
414
+ const ret = new BERElement(ASN1TagClass.universal, ASN1Construction.constructed, ASN1UniversalType.set);
449
415
  ret.setOf = set.filter((element) => Boolean(element));
450
416
  return ret;
451
417
  }
452
418
  get inner() {
453
- if (this.construction !== values_1.ASN1Construction.constructed) {
419
+ if (this.construction !== ASN1Construction.constructed) {
454
420
  throw new errors.ASN1ConstructionError("An explicitly-encoded element cannot be encoded using "
455
421
  + "primitive construction.", this);
456
422
  }
@@ -471,12 +437,11 @@ class BERElement extends x690_1.default {
471
437
  return ret;
472
438
  }
473
439
  set inner(value) {
474
- this.construction = values_1.ASN1Construction.constructed;
440
+ this.construction = ASN1Construction.constructed;
475
441
  this._value = [value];
476
442
  }
477
- constructor(tagClass = values_1.ASN1TagClass.universal, construction = values_1.ASN1Construction.primitive, tagNumber = values_1.ASN1UniversalType.endOfContent, value = undefined) {
443
+ constructor(tagClass = ASN1TagClass.universal, construction = ASN1Construction.primitive, tagNumber = ASN1UniversalType.endOfContent, value = undefined) {
478
444
  super();
479
- this._value = new Uint8Array(0);
480
445
  this.encode(value);
481
446
  this.tagClass = tagClass;
482
447
  this.construction = construction;
@@ -492,21 +457,21 @@ class BERElement extends x690_1.default {
492
457
  let cursor = 0;
493
458
  switch (bytes[cursor] & 0b11000000) {
494
459
  case (0b00000000):
495
- this.tagClass = values_1.ASN1TagClass.universal;
460
+ this.tagClass = ASN1TagClass.universal;
496
461
  break;
497
462
  case (0b01000000):
498
- this.tagClass = values_1.ASN1TagClass.application;
463
+ this.tagClass = ASN1TagClass.application;
499
464
  break;
500
465
  case (0b10000000):
501
- this.tagClass = values_1.ASN1TagClass.context;
466
+ this.tagClass = ASN1TagClass.context;
502
467
  break;
503
468
  case (0b11000000):
504
- this.tagClass = values_1.ASN1TagClass.private;
469
+ this.tagClass = ASN1TagClass.private;
505
470
  break;
506
- default: this.tagClass = values_1.ASN1TagClass.universal;
471
+ default: this.tagClass = ASN1TagClass.universal;
507
472
  }
508
473
  this.construction = ((bytes[cursor] & 0b00100000)
509
- ? values_1.ASN1Construction.constructed : values_1.ASN1Construction.primitive);
474
+ ? ASN1Construction.constructed : ASN1Construction.primitive);
510
475
  this.tagNumber = (bytes[cursor] & 0b00011111);
511
476
  cursor++;
512
477
  if (this.tagNumber >= 31) {
@@ -565,7 +530,7 @@ class BERElement extends x690_1.default {
565
530
  return (cursor + length);
566
531
  }
567
532
  else {
568
- if (this.construction !== values_1.ASN1Construction.constructed) {
533
+ if (this.construction !== ASN1Construction.constructed) {
569
534
  throw new errors.ASN1ConstructionError("Indefinite length ASN.1 element was not of constructed construction.", this);
570
535
  }
571
536
  const startOfValue = ++cursor;
@@ -573,9 +538,9 @@ class BERElement extends x690_1.default {
573
538
  while (sentinel < bytes.length) {
574
539
  const child = new BERElement();
575
540
  sentinel += child.fromBytes(bytes.subarray(sentinel));
576
- if (child.tagClass === values_1.ASN1TagClass.universal
577
- && child.construction === values_1.ASN1Construction.primitive
578
- && child.tagNumber === values_1.ASN1UniversalType.endOfContent
541
+ if (child.tagClass === ASN1TagClass.universal
542
+ && child.construction === ASN1Construction.primitive
543
+ && child.tagNumber === ASN1UniversalType.endOfContent
579
544
  && child.value.length === 0)
580
545
  break;
581
546
  }
@@ -596,7 +561,7 @@ class BERElement extends x690_1.default {
596
561
  }
597
562
  }
598
563
  lengthLength(valueLength) {
599
- if (BERElement.lengthEncodingPreference === values_1.LengthEncodingPreference.indefinite) {
564
+ if (BERElement.lengthEncodingPreference === LengthEncodingPreference.indefinite) {
600
565
  return 1;
601
566
  }
602
567
  const len = valueLength ?? this.valueLength();
@@ -629,7 +594,7 @@ class BERElement extends x690_1.default {
629
594
  return len;
630
595
  }
631
596
  tlvLength() {
632
- const eoc_bytes = (BERElement.lengthEncodingPreference === values_1.LengthEncodingPreference.indefinite)
597
+ const eoc_bytes = (BERElement.lengthEncodingPreference === LengthEncodingPreference.indefinite)
633
598
  ? 2
634
599
  : 0;
635
600
  const value_len = this.valueLength();
@@ -641,8 +606,8 @@ class BERElement extends x690_1.default {
641
606
  tagAndLengthBytes() {
642
607
  const tagBytes = [0x00];
643
608
  tagBytes[0] |= (this.tagClass << 6);
644
- tagBytes[0] |= ((BERElement.lengthEncodingPreference === values_1.LengthEncodingPreference.indefinite)
645
- || this.construction === values_1.ASN1Construction.constructed)
609
+ tagBytes[0] |= ((BERElement.lengthEncodingPreference === LengthEncodingPreference.indefinite)
610
+ || this.construction === ASN1Construction.constructed)
646
611
  ? (1 << 5)
647
612
  : 0;
648
613
  if (this.tagNumber < 31) {
@@ -663,7 +628,7 @@ class BERElement extends x690_1.default {
663
628
  let lengthOctets = [0x00];
664
629
  const value_len = this.valueLength();
665
630
  switch (BERElement.lengthEncodingPreference) {
666
- case (values_1.LengthEncodingPreference.definite): {
631
+ case (LengthEncodingPreference.definite): {
667
632
  if (value_len < 127) {
668
633
  lengthOctets[0] = value_len;
669
634
  }
@@ -682,7 +647,7 @@ class BERElement extends x690_1.default {
682
647
  }
683
648
  break;
684
649
  }
685
- case (values_1.LengthEncodingPreference.indefinite): {
650
+ case (LengthEncodingPreference.indefinite): {
686
651
  lengthOctets = [0b10000000];
687
652
  break;
688
653
  }
@@ -700,13 +665,13 @@ class BERElement extends x690_1.default {
700
665
  ...(Array.isArray(this._value)
701
666
  ? this._value.flatMap((el) => el.toBuffers())
702
667
  : [this._value]),
703
- ...(BERElement.lengthEncodingPreference === values_1.LengthEncodingPreference.indefinite
668
+ ...(BERElement.lengthEncodingPreference === LengthEncodingPreference.indefinite
704
669
  ? [new Uint8Array(2)]
705
670
  : []),
706
671
  ];
707
672
  }
708
673
  deconstruct(dataType) {
709
- if (this.construction === values_1.ASN1Construction.primitive) {
674
+ if (this.construction === ASN1Construction.primitive) {
710
675
  return this.value;
711
676
  }
712
677
  else {
@@ -715,10 +680,10 @@ class BERElement extends x690_1.default {
715
680
  const appendy = [];
716
681
  const substrings = this.sequence;
717
682
  for (const substring of substrings) {
718
- if (substring.tagClass !== values_1.ASN1TagClass.universal) {
683
+ if (substring.tagClass !== ASN1TagClass.universal) {
719
684
  throw new errors.ASN1ConstructionError(`Invalid tag class in constructed ${dataType}. Must be UNIVERSAL`, this);
720
685
  }
721
- if (substring.tagNumber !== values_1.ASN1UniversalType.octetString) {
686
+ if (substring.tagNumber !== ASN1UniversalType.octetString) {
722
687
  throw new errors.ASN1ConstructionError(`Invalid tag number in constructed ${dataType}. Must be 4 (OCTET STRING).`, this);
723
688
  }
724
689
  substring.recursionCount = (this.recursionCount + 1);
@@ -742,5 +707,3 @@ class BERElement extends x690_1.default {
742
707
  return encodedElements;
743
708
  }
744
709
  }
745
- BERElement.lengthEncodingPreference = values_1.LengthEncodingPreference.definite;
746
- exports.default = BERElement;
@@ -0,0 +1,3 @@
1
+ import CERElement from "../../cer.mjs";
2
+ import { SEQUENCE } from "../../../macros.mjs";
3
+ export default function decodeSequence(value: Uint8Array): SEQUENCE<CERElement>;