asn1-ts 7.0.3 → 7.0.6

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 (217) hide show
  1. package/dist/node/asn1.d.ts +4 -0
  2. package/dist/node/asn1.d.ts.map +1 -1
  3. package/dist/node/asn1.js +4 -4
  4. package/dist/node/asn1.js.map +1 -1
  5. package/dist/node/codecs/ber/decoders/decodeBitString.js +3 -12
  6. package/dist/node/codecs/ber/decoders/decodeBitString.js.map +1 -1
  7. package/dist/node/codecs/ber/decoders/decodeBoolean.js +1 -1
  8. package/dist/node/codecs/ber/decoders/decodeBoolean.js.map +1 -1
  9. package/dist/node/codecs/ber/decoders/decodeDuration.js +2 -2
  10. package/dist/node/codecs/ber/decoders/decodeDuration.js.map +1 -1
  11. package/dist/node/codecs/ber/decoders/decodeGeneralizedTime.js +3 -3
  12. package/dist/node/codecs/ber/decoders/decodeGeneralizedTime.js.map +1 -1
  13. package/dist/node/codecs/ber/decoders/decodeReal.js +4 -4
  14. package/dist/node/codecs/ber/decoders/decodeReal.js.map +1 -1
  15. package/dist/node/codecs/ber/decoders/decodeSequence.d.ts.map +1 -1
  16. package/dist/node/codecs/ber/decoders/decodeSequence.js +1 -4
  17. package/dist/node/codecs/ber/decoders/decodeSequence.js.map +1 -1
  18. package/dist/node/codecs/ber/decoders/decodeUTCTime.js +3 -3
  19. package/dist/node/codecs/ber/decoders/decodeUTCTime.js.map +1 -1
  20. package/dist/node/codecs/ber/encoders/encodeGeneralString.js +2 -2
  21. package/dist/node/codecs/ber/encoders/encodeGeneralString.js.map +1 -1
  22. package/dist/node/codecs/ber/encoders/encodeGraphicString.js +2 -2
  23. package/dist/node/codecs/ber/encoders/encodeGraphicString.js.map +1 -1
  24. package/dist/node/codecs/ber/encoders/encodeNumericString.js +2 -2
  25. package/dist/node/codecs/ber/encoders/encodeNumericString.js.map +1 -1
  26. package/dist/node/codecs/ber/encoders/encodeObjectDescriptor.js +2 -2
  27. package/dist/node/codecs/ber/encoders/encodeObjectDescriptor.js.map +1 -1
  28. package/dist/node/codecs/ber/encoders/encodePrintableString.js +2 -2
  29. package/dist/node/codecs/ber/encoders/encodePrintableString.js.map +1 -1
  30. package/dist/node/codecs/ber/encoders/encodeVisibleString.js +2 -2
  31. package/dist/node/codecs/ber/encoders/encodeVisibleString.js.map +1 -1
  32. package/dist/node/codecs/ber.d.ts +6 -1
  33. package/dist/node/codecs/ber.d.ts.map +1 -1
  34. package/dist/node/codecs/ber.js +78 -52
  35. package/dist/node/codecs/ber.js.map +1 -1
  36. package/dist/node/codecs/cer/decoders/decodeSequence.js +1 -1
  37. package/dist/node/codecs/cer/decoders/decodeSequence.js.map +1 -1
  38. package/dist/node/codecs/cer.d.ts +6 -1
  39. package/dist/node/codecs/cer.d.ts.map +1 -1
  40. package/dist/node/codecs/cer.js +80 -54
  41. package/dist/node/codecs/cer.js.map +1 -1
  42. package/dist/node/codecs/coer/decoders/decodeBoolean.js +1 -1
  43. package/dist/node/codecs/coer/decoders/decodeBoolean.js.map +1 -1
  44. package/dist/node/codecs/der/decoders/decodeBitString.js +5 -14
  45. package/dist/node/codecs/der/decoders/decodeBitString.js.map +1 -1
  46. package/dist/node/codecs/der/decoders/decodeBoolean.js +1 -1
  47. package/dist/node/codecs/der/decoders/decodeBoolean.js.map +1 -1
  48. package/dist/node/codecs/der/decoders/decodeDuration.js +2 -2
  49. package/dist/node/codecs/der/decoders/decodeDuration.js.map +1 -1
  50. package/dist/node/codecs/der/decoders/decodeGeneralizedTime.js +3 -3
  51. package/dist/node/codecs/der/decoders/decodeGeneralizedTime.js.map +1 -1
  52. package/dist/node/codecs/der/decoders/decodeReal.js +4 -4
  53. package/dist/node/codecs/der/decoders/decodeReal.js.map +1 -1
  54. package/dist/node/codecs/der/decoders/decodeSequence.js +1 -1
  55. package/dist/node/codecs/der/decoders/decodeSequence.js.map +1 -1
  56. package/dist/node/codecs/der/decoders/decodeUTCTime.js +3 -3
  57. package/dist/node/codecs/der/decoders/decodeUTCTime.js.map +1 -1
  58. package/dist/node/codecs/der.d.ts +5 -0
  59. package/dist/node/codecs/der.d.ts.map +1 -1
  60. package/dist/node/codecs/der.js +74 -48
  61. package/dist/node/codecs/der.js.map +1 -1
  62. package/dist/node/codecs/oer/decoders/decodeBoolean.js +1 -1
  63. package/dist/node/codecs/oer/decoders/decodeBoolean.js.map +1 -1
  64. package/dist/node/codecs/x690/decoders/decodeCharacterString.js +3 -3
  65. package/dist/node/codecs/x690/decoders/decodeCharacterString.js.map +1 -1
  66. package/dist/node/codecs/x690/decoders/decodeDate.js +2 -2
  67. package/dist/node/codecs/x690/decoders/decodeDate.js.map +1 -1
  68. package/dist/node/codecs/x690/decoders/decodeDateTime.js +2 -2
  69. package/dist/node/codecs/x690/decoders/decodeDateTime.js.map +1 -1
  70. package/dist/node/codecs/x690/decoders/decodeEmbeddedPDV.js +3 -3
  71. package/dist/node/codecs/x690/decoders/decodeEmbeddedPDV.js.map +1 -1
  72. package/dist/node/codecs/x690/decoders/decodeExternal.js +4 -4
  73. package/dist/node/codecs/x690/decoders/decodeExternal.js.map +1 -1
  74. package/dist/node/codecs/x690/decoders/decodeGeneralString.js +2 -2
  75. package/dist/node/codecs/x690/decoders/decodeGeneralString.js.map +1 -1
  76. package/dist/node/codecs/x690/decoders/decodeGraphicString.js +2 -2
  77. package/dist/node/codecs/x690/decoders/decodeGraphicString.js.map +1 -1
  78. package/dist/node/codecs/x690/decoders/decodeInteger.js +1 -1
  79. package/dist/node/codecs/x690/decoders/decodeInteger.js.map +1 -1
  80. package/dist/node/codecs/x690/decoders/decodeNumericString.js +2 -2
  81. package/dist/node/codecs/x690/decoders/decodeNumericString.js.map +1 -1
  82. package/dist/node/codecs/x690/decoders/decodeOIDIRI.js +1 -1
  83. package/dist/node/codecs/x690/decoders/decodeOIDIRI.js.map +1 -1
  84. package/dist/node/codecs/x690/decoders/decodeObjectDescriptor.js +2 -2
  85. package/dist/node/codecs/x690/decoders/decodeObjectDescriptor.js.map +1 -1
  86. package/dist/node/codecs/x690/decoders/decodeObjectIdentifier.d.ts.map +1 -1
  87. package/dist/node/codecs/x690/decoders/decodeObjectIdentifier.js +13 -12
  88. package/dist/node/codecs/x690/decoders/decodeObjectIdentifier.js.map +1 -1
  89. package/dist/node/codecs/x690/decoders/decodePrintableString.js +2 -2
  90. package/dist/node/codecs/x690/decoders/decodePrintableString.js.map +1 -1
  91. package/dist/node/codecs/x690/decoders/decodeRelativeOIDIRI.js +1 -1
  92. package/dist/node/codecs/x690/decoders/decodeRelativeOIDIRI.js.map +1 -1
  93. package/dist/node/codecs/x690/decoders/decodeRelativeObjectIdentifier.js +2 -2
  94. package/dist/node/codecs/x690/decoders/decodeRelativeObjectIdentifier.js.map +1 -1
  95. package/dist/node/codecs/x690/decoders/decodeTime.js +1 -1
  96. package/dist/node/codecs/x690/decoders/decodeTime.js.map +1 -1
  97. package/dist/node/codecs/x690/decoders/decodeTimeOfDay.js +2 -2
  98. package/dist/node/codecs/x690/decoders/decodeTimeOfDay.js.map +1 -1
  99. package/dist/node/codecs/x690/decoders/decodeVisibleString.js +2 -2
  100. package/dist/node/codecs/x690/decoders/decodeVisibleString.js.map +1 -1
  101. package/dist/node/codecs/x690/encoders/encodeBitString.js +1 -1
  102. package/dist/node/codecs/x690/encoders/encodeBitString.js.map +1 -1
  103. package/dist/node/codecs/x690/encoders/encodeCharacterString.js +2 -2
  104. package/dist/node/codecs/x690/encoders/encodeCharacterString.js.map +1 -1
  105. package/dist/node/codecs/x690/encoders/encodeDate.js +2 -2
  106. package/dist/node/codecs/x690/encoders/encodeDate.js.map +1 -1
  107. package/dist/node/codecs/x690/encoders/encodeDateTime.js +2 -2
  108. package/dist/node/codecs/x690/encoders/encodeDateTime.js.map +1 -1
  109. package/dist/node/codecs/x690/encoders/encodeDuration.js +1 -1
  110. package/dist/node/codecs/x690/encoders/encodeDuration.js.map +1 -1
  111. package/dist/node/codecs/x690/encoders/encodeEmbeddedPDV.js +2 -2
  112. package/dist/node/codecs/x690/encoders/encodeEmbeddedPDV.js.map +1 -1
  113. package/dist/node/codecs/x690/encoders/encodeExternal.js +2 -2
  114. package/dist/node/codecs/x690/encoders/encodeExternal.js.map +1 -1
  115. package/dist/node/codecs/x690/encoders/encodeGeneralizedTime.js +1 -1
  116. package/dist/node/codecs/x690/encoders/encodeGeneralizedTime.js.map +1 -1
  117. package/dist/node/codecs/x690/encoders/encodeOIDIRI.js +1 -1
  118. package/dist/node/codecs/x690/encoders/encodeOIDIRI.js.map +1 -1
  119. package/dist/node/codecs/x690/encoders/encodeObjectIdentifier.js +2 -2
  120. package/dist/node/codecs/x690/encoders/encodeObjectIdentifier.js.map +1 -1
  121. package/dist/node/codecs/x690/encoders/encodeReal.js +1 -1
  122. package/dist/node/codecs/x690/encoders/encodeReal.js.map +1 -1
  123. package/dist/node/codecs/x690/encoders/encodeRelativeOIDIRI.js +1 -1
  124. package/dist/node/codecs/x690/encoders/encodeRelativeOIDIRI.js.map +1 -1
  125. package/dist/node/codecs/x690/encoders/encodeRelativeObjectIdentifier.js +2 -2
  126. package/dist/node/codecs/x690/encoders/encodeRelativeObjectIdentifier.js.map +1 -1
  127. package/dist/node/codecs/x690/encoders/encodeTime.js +1 -1
  128. package/dist/node/codecs/x690/encoders/encodeTime.js.map +1 -1
  129. package/dist/node/codecs/x690/encoders/encodeTimeOfDay.js +1 -1
  130. package/dist/node/codecs/x690/encoders/encodeTimeOfDay.js.map +1 -1
  131. package/dist/node/codecs/x690/encoders/encodeUTCTime.js +1 -1
  132. package/dist/node/codecs/x690/encoders/encodeUTCTime.js.map +1 -1
  133. package/dist/node/functional.d.ts.map +1 -1
  134. package/dist/node/functional.js +12 -9
  135. package/dist/node/functional.js.map +1 -1
  136. package/dist/node/index.js +15 -15
  137. package/dist/node/index.js.map +1 -1
  138. package/dist/node/types/External.js +1 -1
  139. package/dist/node/types/External.js.map +1 -1
  140. package/dist/node/types/ObjectIdentifier.js +2 -2
  141. package/dist/node/types/ObjectIdentifier.js.map +1 -1
  142. package/dist/node/types/time/DATE-ENCODING.js +1 -1
  143. package/dist/node/types/time/DATE-ENCODING.js.map +1 -1
  144. package/dist/node/types/time/DURATION-EQUIVALENT.js +2 -2
  145. package/dist/node/types/time/DURATION-EQUIVALENT.js.map +1 -1
  146. package/dist/node/types/time/DURATION-INTERVAL-ENCODING.js +2 -2
  147. package/dist/node/types/time/DURATION-INTERVAL-ENCODING.js.map +1 -1
  148. package/dist/node/types/time/HOURS-DIFF-ENCODING.js +1 -1
  149. package/dist/node/types/time/HOURS-DIFF-ENCODING.js.map +1 -1
  150. package/dist/node/types/time/HOURS-ENCODING.js +1 -1
  151. package/dist/node/types/time/HOURS-ENCODING.js.map +1 -1
  152. package/dist/node/types/time/HOURS-MINUTES-DIFF-ENCODING.js +1 -1
  153. package/dist/node/types/time/HOURS-MINUTES-DIFF-ENCODING.js.map +1 -1
  154. package/dist/node/types/time/HOURS-MINUTES-ENCODING.js +1 -1
  155. package/dist/node/types/time/HOURS-MINUTES-ENCODING.js.map +1 -1
  156. package/dist/node/types/time/TIME-OF-DAY-DIFF-ENCODING.js +1 -1
  157. package/dist/node/types/time/TIME-OF-DAY-DIFF-ENCODING.js.map +1 -1
  158. package/dist/node/types/time/TIME-OF-DAY-ENCODING.js +1 -1
  159. package/dist/node/types/time/TIME-OF-DAY-ENCODING.js.map +1 -1
  160. package/dist/node/types/time/TIME-OF-DAY-FRACTION-DIFF-ENCODING.js +1 -1
  161. package/dist/node/types/time/TIME-OF-DAY-FRACTION-DIFF-ENCODING.js.map +1 -1
  162. package/dist/node/types/time/TIME-OF-DAY-FRACTION-ENCODING.js +1 -1
  163. package/dist/node/types/time/TIME-OF-DAY-FRACTION-ENCODING.js.map +1 -1
  164. package/dist/node/types/time/YEAR-MONTH-ENCODING.js +1 -1
  165. package/dist/node/types/time/YEAR-MONTH-ENCODING.js.map +1 -1
  166. package/dist/node/utils/bigint.js +1 -1
  167. package/dist/node/utils/bigint.js.map +1 -1
  168. package/dist/node/utils/convertBytesToText.d.ts.map +1 -1
  169. package/dist/node/utils/convertBytesToText.js +7 -4
  170. package/dist/node/utils/convertBytesToText.js.map +1 -1
  171. package/dist/node/utils/decodeBase128.js +3 -3
  172. package/dist/node/utils/decodeBase128.js.map +1 -1
  173. package/dist/node/utils/decodeSignedBigEndianInteger.d.ts.map +1 -1
  174. package/dist/node/utils/decodeSignedBigEndianInteger.js +4 -7
  175. package/dist/node/utils/decodeSignedBigEndianInteger.js.map +1 -1
  176. package/dist/node/utils/decodeUnsignedBigEndianInteger.js +4 -4
  177. package/dist/node/utils/decodeUnsignedBigEndianInteger.js.map +1 -1
  178. package/dist/node/utils/decodeX690RealNumber.js +4 -4
  179. package/dist/node/utils/decodeX690RealNumber.js.map +1 -1
  180. package/dist/node/utils/encodeBase128.js +3 -3
  181. package/dist/node/utils/encodeBase128.js.map +1 -1
  182. package/dist/node/utils/encodeSignedBigEndianInteger.js +1 -1
  183. package/dist/node/utils/encodeSignedBigEndianInteger.js.map +1 -1
  184. package/dist/node/utils/encodeUnsignedBigEndianInteger.d.ts.map +1 -1
  185. package/dist/node/utils/encodeUnsignedBigEndianInteger.js +3 -2
  186. package/dist/node/utils/encodeUnsignedBigEndianInteger.js.map +1 -1
  187. package/dist/node/utils/encodeX690Base10RealNumber.js +1 -1
  188. package/dist/node/utils/encodeX690Base10RealNumber.js.map +1 -1
  189. package/dist/node/utils/encodeX690BinaryRealNumber.js +4 -4
  190. package/dist/node/utils/encodeX690BinaryRealNumber.js.map +1 -1
  191. package/dist/node/utils/isUniquelyTagged.d.ts.map +1 -1
  192. package/dist/node/utils/isUniquelyTagged.js +2 -1
  193. package/dist/node/utils/isUniquelyTagged.js.map +1 -1
  194. package/dist/node/utils/packBits.d.ts.map +1 -1
  195. package/dist/node/utils/packBits.js +6 -2
  196. package/dist/node/utils/packBits.js.map +1 -1
  197. package/dist/node/utils/sortCanonically.d.ts +1 -1
  198. package/dist/node/utils/sortCanonically.d.ts.map +1 -1
  199. package/dist/node/utils/sortCanonically.js +4 -9
  200. package/dist/node/utils/sortCanonically.js.map +1 -1
  201. package/dist/node/validators/datetimeComponentValidator.js +1 -1
  202. package/dist/node/validators/datetimeComponentValidator.js.map +1 -1
  203. package/dist/node/validators/isObjectDescriptorCharacter.js +1 -1
  204. package/dist/node/validators/isObjectDescriptorCharacter.js.map +1 -1
  205. package/dist/node/validators/isVisibleCharacter.js +1 -1
  206. package/dist/node/validators/isVisibleCharacter.js.map +1 -1
  207. package/dist/node/validators/validateConstruction.js +3 -3
  208. package/dist/node/validators/validateConstruction.js.map +1 -1
  209. package/dist/node/validators/validateDate.js +1 -1
  210. package/dist/node/validators/validateDate.js.map +1 -1
  211. package/dist/node/validators/validateDateTime.js +2 -2
  212. package/dist/node/validators/validateDateTime.js.map +1 -1
  213. package/dist/node/validators/validateTime.js +1 -1
  214. package/dist/node/validators/validateTime.js.map +1 -1
  215. package/dist/node/x690.js +20 -20
  216. package/dist/node/x690.js.map +1 -1
  217. package/package.json +16 -16
@@ -1,46 +1,47 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const asn1_1 = (0, tslib_1.__importDefault)(require("../asn1"));
5
- const errors = (0, tslib_1.__importStar)(require("../errors"));
4
+ const asn1_1 = tslib_1.__importDefault(require("../asn1"));
5
+ const errors = tslib_1.__importStar(require("../errors"));
6
6
  const values_1 = require("../values");
7
- const x690_1 = (0, tslib_1.__importDefault)(require("../x690"));
8
- const convertBytesToText_1 = (0, tslib_1.__importDefault)(require("../utils/convertBytesToText"));
9
- const convertTextToBytes_1 = (0, tslib_1.__importDefault)(require("../utils/convertTextToBytes"));
10
- const ObjectIdentifier_1 = (0, tslib_1.__importDefault)(require("../types/ObjectIdentifier"));
11
- const encodeBoolean_1 = (0, tslib_1.__importDefault)(require("./x690/encoders/encodeBoolean"));
12
- const decodeBoolean_1 = (0, tslib_1.__importDefault)(require("./ber/decoders/decodeBoolean"));
13
- const encodeBitString_1 = (0, tslib_1.__importDefault)(require("./x690/encoders/encodeBitString"));
14
- const decodeBitString_1 = (0, tslib_1.__importDefault)(require("./ber/decoders/decodeBitString"));
15
- const encodeReal_1 = (0, tslib_1.__importDefault)(require("./x690/encoders/encodeReal"));
16
- const decodeReal_1 = (0, tslib_1.__importDefault)(require("./ber/decoders/decodeReal"));
17
- const encodeSequence_1 = (0, tslib_1.__importDefault)(require("./x690/encoders/encodeSequence"));
18
- const decodeSequence_1 = (0, tslib_1.__importDefault)(require("./ber/decoders/decodeSequence"));
19
- const encodeUTCTime_1 = (0, tslib_1.__importDefault)(require("./x690/encoders/encodeUTCTime"));
20
- const decodeUTCTime_1 = (0, tslib_1.__importDefault)(require("./ber/decoders/decodeUTCTime"));
21
- const encodeGeneralizedTime_1 = (0, tslib_1.__importDefault)(require("./x690/encoders/encodeGeneralizedTime"));
22
- const decodeGeneralizedTime_1 = (0, tslib_1.__importDefault)(require("./ber/decoders/decodeGeneralizedTime"));
23
- const encodeExternal_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/encoders/encodeExternal"));
24
- const encodeEmbeddedPDV_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/encoders/encodeEmbeddedPDV"));
25
- const encodeCharacterString_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/encoders/encodeCharacterString"));
26
- const decodeExternal_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/decoders/decodeExternal"));
27
- const decodeEmbeddedPDV_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/decoders/decodeEmbeddedPDV"));
28
- const decodeCharacterString_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/decoders/decodeCharacterString"));
29
- const encodeGraphicString_1 = (0, tslib_1.__importDefault)(require("../codecs/ber/encoders/encodeGraphicString"));
30
- const encodeNumericString_1 = (0, tslib_1.__importDefault)(require("../codecs/ber/encoders/encodeNumericString"));
31
- const encodeObjectDescriptor_1 = (0, tslib_1.__importDefault)(require("../codecs/ber/encoders/encodeObjectDescriptor"));
32
- const encodePrintableString_1 = (0, tslib_1.__importDefault)(require("../codecs/ber/encoders/encodePrintableString"));
33
- const encodeVisibleString_1 = (0, tslib_1.__importDefault)(require("../codecs/ber/encoders/encodeVisibleString"));
34
- const encodeGeneralString_1 = (0, tslib_1.__importDefault)(require("../codecs/ber/encoders/encodeGeneralString"));
35
- const decodeGraphicString_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/decoders/decodeGraphicString"));
36
- const decodeNumericString_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/decoders/decodeNumericString"));
37
- const decodeObjectDescriptor_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/decoders/decodeObjectDescriptor"));
38
- const decodePrintableString_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/decoders/decodePrintableString"));
39
- const decodeVisibleString_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/decoders/decodeVisibleString"));
40
- const decodeGeneralString_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/decoders/decodeGeneralString"));
41
- const encodeDuration_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/encoders/encodeDuration"));
42
- const decodeDuration_1 = (0, tslib_1.__importDefault)(require("../codecs/ber/decoders/decodeDuration"));
7
+ const x690_1 = tslib_1.__importDefault(require("../x690"));
8
+ const convertBytesToText_1 = tslib_1.__importDefault(require("../utils/convertBytesToText"));
9
+ const convertTextToBytes_1 = tslib_1.__importDefault(require("../utils/convertTextToBytes"));
10
+ const ObjectIdentifier_1 = tslib_1.__importDefault(require("../types/ObjectIdentifier"));
11
+ const encodeBoolean_1 = tslib_1.__importDefault(require("./x690/encoders/encodeBoolean"));
12
+ const decodeBoolean_1 = tslib_1.__importDefault(require("./ber/decoders/decodeBoolean"));
13
+ const encodeBitString_1 = tslib_1.__importDefault(require("./x690/encoders/encodeBitString"));
14
+ const decodeBitString_1 = tslib_1.__importDefault(require("./ber/decoders/decodeBitString"));
15
+ const encodeReal_1 = tslib_1.__importDefault(require("./x690/encoders/encodeReal"));
16
+ const decodeReal_1 = tslib_1.__importDefault(require("./ber/decoders/decodeReal"));
17
+ const encodeSequence_1 = tslib_1.__importDefault(require("./x690/encoders/encodeSequence"));
18
+ const decodeSequence_1 = tslib_1.__importDefault(require("./ber/decoders/decodeSequence"));
19
+ const encodeUTCTime_1 = tslib_1.__importDefault(require("./x690/encoders/encodeUTCTime"));
20
+ const decodeUTCTime_1 = tslib_1.__importDefault(require("./ber/decoders/decodeUTCTime"));
21
+ const encodeGeneralizedTime_1 = tslib_1.__importDefault(require("./x690/encoders/encodeGeneralizedTime"));
22
+ const decodeGeneralizedTime_1 = tslib_1.__importDefault(require("./ber/decoders/decodeGeneralizedTime"));
23
+ const encodeExternal_1 = tslib_1.__importDefault(require("../codecs/x690/encoders/encodeExternal"));
24
+ const encodeEmbeddedPDV_1 = tslib_1.__importDefault(require("../codecs/x690/encoders/encodeEmbeddedPDV"));
25
+ const encodeCharacterString_1 = tslib_1.__importDefault(require("../codecs/x690/encoders/encodeCharacterString"));
26
+ const decodeExternal_1 = tslib_1.__importDefault(require("../codecs/x690/decoders/decodeExternal"));
27
+ const decodeEmbeddedPDV_1 = tslib_1.__importDefault(require("../codecs/x690/decoders/decodeEmbeddedPDV"));
28
+ const decodeCharacterString_1 = tslib_1.__importDefault(require("../codecs/x690/decoders/decodeCharacterString"));
29
+ const encodeGraphicString_1 = tslib_1.__importDefault(require("../codecs/ber/encoders/encodeGraphicString"));
30
+ const encodeNumericString_1 = tslib_1.__importDefault(require("../codecs/ber/encoders/encodeNumericString"));
31
+ const encodeObjectDescriptor_1 = tslib_1.__importDefault(require("../codecs/ber/encoders/encodeObjectDescriptor"));
32
+ const encodePrintableString_1 = tslib_1.__importDefault(require("../codecs/ber/encoders/encodePrintableString"));
33
+ const encodeVisibleString_1 = tslib_1.__importDefault(require("../codecs/ber/encoders/encodeVisibleString"));
34
+ const encodeGeneralString_1 = tslib_1.__importDefault(require("../codecs/ber/encoders/encodeGeneralString"));
35
+ const decodeGraphicString_1 = tslib_1.__importDefault(require("../codecs/x690/decoders/decodeGraphicString"));
36
+ const decodeNumericString_1 = tslib_1.__importDefault(require("../codecs/x690/decoders/decodeNumericString"));
37
+ const decodeObjectDescriptor_1 = tslib_1.__importDefault(require("../codecs/x690/decoders/decodeObjectDescriptor"));
38
+ const decodePrintableString_1 = tslib_1.__importDefault(require("../codecs/x690/decoders/decodePrintableString"));
39
+ const decodeVisibleString_1 = tslib_1.__importDefault(require("../codecs/x690/decoders/decodeVisibleString"));
40
+ const decodeGeneralString_1 = tslib_1.__importDefault(require("../codecs/x690/decoders/decodeGeneralString"));
41
+ const encodeDuration_1 = tslib_1.__importDefault(require("../codecs/x690/encoders/encodeDuration"));
42
+ const decodeDuration_1 = tslib_1.__importDefault(require("../codecs/ber/decoders/decodeDuration"));
43
43
  const macros_1 = require("../macros");
44
+ const utils_1 = require("../utils");
44
45
  class BERElement extends x690_1.default {
45
46
  constructor(tagClass = values_1.ASN1TagClass.universal, construction = values_1.ASN1Construction.primitive, tagNumber = values_1.ASN1UniversalType.endOfContent, value = undefined) {
46
47
  super();
@@ -68,16 +69,16 @@ class BERElement extends x690_1.default {
68
69
  if ((this.recursionCount + 1) > BERElement.nestingRecursionLimit) {
69
70
  throw new errors.ASN1RecursionError();
70
71
  }
71
- let appendy = [];
72
+ const appendy = [];
72
73
  const substrings = this.sequence;
73
- substrings.slice(0, (substrings.length - 1)).forEach((substring) => {
74
+ for (const substring of substrings.slice(0, (substrings.length - 1))) {
74
75
  if (substring.construction === values_1.ASN1Construction.primitive
75
76
  && substring.value.length > 0
76
77
  && substring.value[0] !== 0x00) {
77
78
  throw new errors.ASN1Error("Only the last subelement of a constructed BIT STRING may have a non-zero first value byte.", this);
78
79
  }
79
- });
80
- substrings.forEach((substring) => {
80
+ }
81
+ for (const substring of substrings) {
81
82
  if (substring.tagClass !== this.tagClass) {
82
83
  throw new errors.ASN1ConstructionError("Invalid tag class in recursively-encoded BIT STRING.", this);
83
84
  }
@@ -85,8 +86,8 @@ class BERElement extends x690_1.default {
85
86
  throw new errors.ASN1ConstructionError("Invalid tag class in recursively-encoded BIT STRING.", this);
86
87
  }
87
88
  substring.recursionCount = (this.recursionCount + 1);
88
- appendy = appendy.concat(Array.from(substring.bitString).map((b) => b !== macros_1.FALSE_BIT));
89
- });
89
+ appendy.push(...Array.from(substring.bitString).map((b) => b !== macros_1.FALSE_BIT));
90
+ }
90
91
  return new Uint8ClampedArray(appendy.map((b) => (b ? 1 : 0)));
91
92
  }
92
93
  set octetString(value) {
@@ -143,6 +144,26 @@ class BERElement extends x690_1.default {
143
144
  this.sequence = value;
144
145
  }
145
146
  get set() {
147
+ const ret = this.sequence;
148
+ if (!(0, utils_1.isUniquelyTagged)(ret)) {
149
+ throw new errors.ASN1ConstructionError("Duplicate tag in SET.", this);
150
+ }
151
+ return ret;
152
+ }
153
+ set sequenceOf(value) {
154
+ this.value = (0, encodeSequence_1.default)(value);
155
+ this.construction = values_1.ASN1Construction.constructed;
156
+ }
157
+ get sequenceOf() {
158
+ if (this.construction !== values_1.ASN1Construction.constructed) {
159
+ throw new errors.ASN1ConstructionError("SET or SEQUENCE cannot be primitively constructed.", this);
160
+ }
161
+ return (0, decodeSequence_1.default)(this.value);
162
+ }
163
+ set setOf(value) {
164
+ this.sequence = value;
165
+ }
166
+ get setOf() {
146
167
  return this.sequence;
147
168
  }
148
169
  set numericString(value) {
@@ -251,16 +272,16 @@ class BERElement extends x690_1.default {
251
272
  const valueBytes = this.deconstruct("BMPString");
252
273
  if (valueBytes.length % 2)
253
274
  throw new errors.ASN1Error("BMPString encoded on non-mulitple of two bytes.", this);
254
- if (typeof TextEncoder !== "undefined") {
255
- return (new TextDecoder("utf-16be")).decode(valueBytes.buffer);
256
- }
257
- else if (typeof Buffer !== "undefined") {
258
- const swappedEndianness = new Uint8Array(valueBytes.length);
275
+ if (typeof Buffer !== "undefined") {
276
+ const swappedEndianness = Buffer.allocUnsafe(valueBytes.length);
259
277
  for (let i = 0; i < valueBytes.length; i += 2) {
260
278
  swappedEndianness[i] = valueBytes[i + 1];
261
279
  swappedEndianness[i + 1] = valueBytes[i];
262
280
  }
263
- return (Buffer.from(swappedEndianness)).toString("utf16le");
281
+ return swappedEndianness.toString("utf16le");
282
+ }
283
+ else if (typeof TextEncoder !== "undefined") {
284
+ return (new TextDecoder("utf-16be")).decode(valueBytes.buffer);
264
285
  }
265
286
  else {
266
287
  throw new errors.ASN1Error("Neither TextDecoder nor Buffer are defined to decode bytes into text.", this);
@@ -365,6 +386,11 @@ class BERElement extends x690_1.default {
365
386
  ret.set = set.filter((element) => Boolean(element));
366
387
  return ret;
367
388
  }
389
+ static fromSetOf(set) {
390
+ const ret = new BERElement(values_1.ASN1TagClass.universal, values_1.ASN1Construction.constructed, values_1.ASN1UniversalType.set);
391
+ ret.setOf = set.filter((element) => Boolean(element));
392
+ return ret;
393
+ }
368
394
  get inner() {
369
395
  if (this.construction !== values_1.ASN1Construction.constructed) {
370
396
  throw new errors.ASN1ConstructionError("An explicitly-encoded element cannot be encoded using "
@@ -499,7 +525,7 @@ class BERElement extends x690_1.default {
499
525
  }
500
526
  }
501
527
  toBytes() {
502
- let tagBytes = [0x00];
528
+ const tagBytes = [0x00];
503
529
  tagBytes[0] |= (this.tagClass << 6);
504
530
  tagBytes[0] |= (this.construction << 5);
505
531
  if (this.tagNumber < 31) {
@@ -515,7 +541,7 @@ class BERElement extends x690_1.default {
515
541
  encodedNumber[0] |= 0b10000000;
516
542
  }
517
543
  encodedNumber[encodedNumber.length - 1] &= 0b01111111;
518
- tagBytes = tagBytes.concat(encodedNumber);
544
+ tagBytes.push(...encodedNumber);
519
545
  }
520
546
  let lengthOctets = [0x00];
521
547
  switch (BERElement.lengthEncodingPreference) {
@@ -1 +1 @@
1
- {"version":3,"file":"ber.js","sourceRoot":"","sources":["../../../source/codecs/ber.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ber.js","sourceRoot":"","sources":["../../../source/codecs/ber.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const cer_1 = (0, tslib_1.__importDefault)(require("../../cer"));
4
+ const cer_1 = tslib_1.__importDefault(require("../../cer"));
5
5
  function decodeSequence(value) {
6
6
  if (value.length === 0) {
7
7
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"decodeSequence.js","sourceRoot":"","sources":["../../../../../source/codecs/cer/decoders/decodeSequence.ts"],"names":[],"mappings":";;;AAAA,iEAAmC;AAGnC,SACS,cAAc,CAAE,KAAiB;IACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACpB,OAAO,EAAE,CAAC;KACb;IACD,MAAM,eAAe,GAAiB,EAAE,CAAC;IACzC,IAAI,CAAC,GAAW,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE;QACrB,MAAM,IAAI,GAAe,IAAI,aAAU,EAAE,CAAC;QAC1C,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IACD,OAAO,eAAe,CAAC;AAC3B,CAAC;AAbD,iCAaC"}
1
+ {"version":3,"file":"decodeSequence.js","sourceRoot":"","sources":["../../../../../source/codecs/cer/decoders/decodeSequence.ts"],"names":[],"mappings":";;;AAAA,4DAAmC;AAGnC,SACS,cAAc,CAAE,KAAiB;IACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACpB,OAAO,EAAE,CAAC;KACb;IACD,MAAM,eAAe,GAAiB,EAAE,CAAC;IACzC,IAAI,CAAC,GAAW,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE;QACrB,MAAM,IAAI,GAAe,IAAI,aAAU,EAAE,CAAC;QAC1C,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IACD,OAAO,eAAe,CAAC;AAC3B,CAAC;AAbD,iCAaC"}
@@ -26,6 +26,10 @@ export default class CERElement extends X690Element {
26
26
  get sequence(): SEQUENCE<ASN1Element>;
27
27
  set set(value: SET<ASN1Element>);
28
28
  get set(): SET<ASN1Element>;
29
+ set sequenceOf(value: SEQUENCE<ASN1Element>);
30
+ get sequenceOf(): SEQUENCE<ASN1Element>;
31
+ set setOf(value: SET<ASN1Element>);
32
+ get setOf(): SET<ASN1Element>;
29
33
  set numericString(value: NumericString);
30
34
  get numericString(): NumericString;
31
35
  set printableString(value: PrintableString);
@@ -55,8 +59,9 @@ export default class CERElement extends X690Element {
55
59
  set duration(value: DURATION);
56
60
  get duration(): DURATION;
57
61
  encode(value: any): void;
58
- static fromSequence(sequence: (CERElement | null | undefined)[]): CERElement;
62
+ static fromSequence(sequence: (ASN1Element | null | undefined)[]): CERElement;
59
63
  static fromSet(set: (CERElement | null | undefined)[]): CERElement;
64
+ static fromSetOf(set: (CERElement | null | undefined)[]): CERElement;
60
65
  get inner(): CERElement;
61
66
  set inner(value: CERElement);
62
67
  constructor(tagClass?: ASN1TagClass, construction?: ASN1Construction, tagNumber?: number, value?: any);
@@ -1 +1 @@
1
- {"version":3,"file":"cer.d.ts","sourceRoot":"","sources":["../../../source/codecs/cer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cer.d.ts","sourceRoot":"","sources":["../../../source/codecs/cer.ts"],"names":[],"mappings":"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"}
@@ -1,48 +1,49 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const asn1_1 = (0, tslib_1.__importDefault)(require("../asn1"));
5
- const errors = (0, tslib_1.__importStar)(require("../errors"));
4
+ const asn1_1 = tslib_1.__importDefault(require("../asn1"));
5
+ const errors = tslib_1.__importStar(require("../errors"));
6
6
  const values_1 = require("../values");
7
- const x690_1 = (0, tslib_1.__importDefault)(require("../x690"));
8
- const convertBytesToText_1 = (0, tslib_1.__importDefault)(require("../utils/convertBytesToText"));
9
- const convertTextToBytes_1 = (0, tslib_1.__importDefault)(require("../utils/convertTextToBytes"));
10
- const sortCanonically_1 = (0, tslib_1.__importDefault)(require("../utils/sortCanonically"));
11
- const ObjectIdentifier_1 = (0, tslib_1.__importDefault)(require("../types/ObjectIdentifier"));
12
- const encodeBoolean_1 = (0, tslib_1.__importDefault)(require("./x690/encoders/encodeBoolean"));
13
- const decodeBoolean_1 = (0, tslib_1.__importDefault)(require("./der/decoders/decodeBoolean"));
14
- const encodeBitString_1 = (0, tslib_1.__importDefault)(require("./x690/encoders/encodeBitString"));
15
- const decodeBitString_1 = (0, tslib_1.__importDefault)(require("./der/decoders/decodeBitString"));
16
- const encodeReal_1 = (0, tslib_1.__importDefault)(require("./x690/encoders/encodeReal"));
17
- const decodeReal_1 = (0, tslib_1.__importDefault)(require("./der/decoders/decodeReal"));
18
- const encodeSequence_1 = (0, tslib_1.__importDefault)(require("./x690/encoders/encodeSequence"));
19
- const decodeSequence_1 = (0, tslib_1.__importDefault)(require("./cer/decoders/decodeSequence"));
20
- const encodeUTCTime_1 = (0, tslib_1.__importDefault)(require("./x690/encoders/encodeUTCTime"));
21
- const decodeUTCTime_1 = (0, tslib_1.__importDefault)(require("./der/decoders/decodeUTCTime"));
22
- const encodeGeneralizedTime_1 = (0, tslib_1.__importDefault)(require("./x690/encoders/encodeGeneralizedTime"));
23
- const decodeGeneralizedTime_1 = (0, tslib_1.__importDefault)(require("./der/decoders/decodeGeneralizedTime"));
24
- const encodeExternal_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/encoders/encodeExternal"));
25
- const encodeEmbeddedPDV_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/encoders/encodeEmbeddedPDV"));
26
- const encodeCharacterString_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/encoders/encodeCharacterString"));
27
- const decodeExternal_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/decoders/decodeExternal"));
28
- const decodeEmbeddedPDV_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/decoders/decodeEmbeddedPDV"));
29
- const decodeCharacterString_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/decoders/decodeCharacterString"));
30
- const splitOctetsCanonically_1 = (0, tslib_1.__importDefault)(require("../utils/splitOctetsCanonically"));
31
- const encodeGraphicString_1 = (0, tslib_1.__importDefault)(require("../codecs/ber/encoders/encodeGraphicString"));
32
- const encodeNumericString_1 = (0, tslib_1.__importDefault)(require("../codecs/ber/encoders/encodeNumericString"));
33
- const encodeObjectDescriptor_1 = (0, tslib_1.__importDefault)(require("../codecs/ber/encoders/encodeObjectDescriptor"));
34
- const encodePrintableString_1 = (0, tslib_1.__importDefault)(require("../codecs/ber/encoders/encodePrintableString"));
35
- const encodeVisibleString_1 = (0, tslib_1.__importDefault)(require("../codecs/ber/encoders/encodeVisibleString"));
36
- const encodeGeneralString_1 = (0, tslib_1.__importDefault)(require("../codecs/ber/encoders/encodeGeneralString"));
37
- const decodeGraphicString_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/decoders/decodeGraphicString"));
38
- const decodeNumericString_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/decoders/decodeNumericString"));
39
- const decodeObjectDescriptor_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/decoders/decodeObjectDescriptor"));
40
- const decodePrintableString_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/decoders/decodePrintableString"));
41
- const decodeVisibleString_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/decoders/decodeVisibleString"));
42
- const decodeGeneralString_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/decoders/decodeGeneralString"));
43
- const encodeDuration_1 = (0, tslib_1.__importDefault)(require("../codecs/x690/encoders/encodeDuration"));
44
- const decodeDuration_1 = (0, tslib_1.__importDefault)(require("../codecs/der/decoders/decodeDuration"));
7
+ const x690_1 = tslib_1.__importDefault(require("../x690"));
8
+ const convertBytesToText_1 = tslib_1.__importDefault(require("../utils/convertBytesToText"));
9
+ const convertTextToBytes_1 = tslib_1.__importDefault(require("../utils/convertTextToBytes"));
10
+ const sortCanonically_1 = tslib_1.__importDefault(require("../utils/sortCanonically"));
11
+ const ObjectIdentifier_1 = tslib_1.__importDefault(require("../types/ObjectIdentifier"));
12
+ const encodeBoolean_1 = tslib_1.__importDefault(require("./x690/encoders/encodeBoolean"));
13
+ const decodeBoolean_1 = tslib_1.__importDefault(require("./der/decoders/decodeBoolean"));
14
+ const encodeBitString_1 = tslib_1.__importDefault(require("./x690/encoders/encodeBitString"));
15
+ const decodeBitString_1 = tslib_1.__importDefault(require("./der/decoders/decodeBitString"));
16
+ const encodeReal_1 = tslib_1.__importDefault(require("./x690/encoders/encodeReal"));
17
+ const decodeReal_1 = tslib_1.__importDefault(require("./der/decoders/decodeReal"));
18
+ const encodeSequence_1 = tslib_1.__importDefault(require("./x690/encoders/encodeSequence"));
19
+ const decodeSequence_1 = tslib_1.__importDefault(require("./cer/decoders/decodeSequence"));
20
+ const encodeUTCTime_1 = tslib_1.__importDefault(require("./x690/encoders/encodeUTCTime"));
21
+ const decodeUTCTime_1 = tslib_1.__importDefault(require("./der/decoders/decodeUTCTime"));
22
+ const encodeGeneralizedTime_1 = tslib_1.__importDefault(require("./x690/encoders/encodeGeneralizedTime"));
23
+ const decodeGeneralizedTime_1 = tslib_1.__importDefault(require("./der/decoders/decodeGeneralizedTime"));
24
+ const encodeExternal_1 = tslib_1.__importDefault(require("../codecs/x690/encoders/encodeExternal"));
25
+ const encodeEmbeddedPDV_1 = tslib_1.__importDefault(require("../codecs/x690/encoders/encodeEmbeddedPDV"));
26
+ const encodeCharacterString_1 = tslib_1.__importDefault(require("../codecs/x690/encoders/encodeCharacterString"));
27
+ const decodeExternal_1 = tslib_1.__importDefault(require("../codecs/x690/decoders/decodeExternal"));
28
+ const decodeEmbeddedPDV_1 = tslib_1.__importDefault(require("../codecs/x690/decoders/decodeEmbeddedPDV"));
29
+ const decodeCharacterString_1 = tslib_1.__importDefault(require("../codecs/x690/decoders/decodeCharacterString"));
30
+ const splitOctetsCanonically_1 = tslib_1.__importDefault(require("../utils/splitOctetsCanonically"));
31
+ const encodeGraphicString_1 = tslib_1.__importDefault(require("../codecs/ber/encoders/encodeGraphicString"));
32
+ const encodeNumericString_1 = tslib_1.__importDefault(require("../codecs/ber/encoders/encodeNumericString"));
33
+ const encodeObjectDescriptor_1 = tslib_1.__importDefault(require("../codecs/ber/encoders/encodeObjectDescriptor"));
34
+ const encodePrintableString_1 = tslib_1.__importDefault(require("../codecs/ber/encoders/encodePrintableString"));
35
+ const encodeVisibleString_1 = tslib_1.__importDefault(require("../codecs/ber/encoders/encodeVisibleString"));
36
+ const encodeGeneralString_1 = tslib_1.__importDefault(require("../codecs/ber/encoders/encodeGeneralString"));
37
+ const decodeGraphicString_1 = tslib_1.__importDefault(require("../codecs/x690/decoders/decodeGraphicString"));
38
+ const decodeNumericString_1 = tslib_1.__importDefault(require("../codecs/x690/decoders/decodeNumericString"));
39
+ const decodeObjectDescriptor_1 = tslib_1.__importDefault(require("../codecs/x690/decoders/decodeObjectDescriptor"));
40
+ const decodePrintableString_1 = tslib_1.__importDefault(require("../codecs/x690/decoders/decodePrintableString"));
41
+ const decodeVisibleString_1 = tslib_1.__importDefault(require("../codecs/x690/decoders/decodeVisibleString"));
42
+ const decodeGeneralString_1 = tslib_1.__importDefault(require("../codecs/x690/decoders/decodeGeneralString"));
43
+ const encodeDuration_1 = tslib_1.__importDefault(require("../codecs/x690/encoders/encodeDuration"));
44
+ const decodeDuration_1 = tslib_1.__importDefault(require("../codecs/der/decoders/decodeDuration"));
45
45
  const macros_1 = require("../macros");
46
+ const utils_1 = require("../utils");
46
47
  class CERElement extends x690_1.default {
47
48
  get unfragmentedValue() {
48
49
  return this.deconstruct("");
@@ -78,16 +79,16 @@ class CERElement extends x690_1.default {
78
79
  if ((this.recursionCount + 1) > CERElement.nestingRecursionLimit) {
79
80
  throw new errors.ASN1RecursionError();
80
81
  }
81
- let appendy = [];
82
+ const appendy = [];
82
83
  const substrings = this.sequence;
83
- substrings.slice(0, (substrings.length - 1)).forEach((substring) => {
84
+ for (const substring of substrings.slice(0, (substrings.length - 1))) {
84
85
  if (substring.construction === values_1.ASN1Construction.primitive
85
86
  && substring.value.length > 0
86
87
  && substring.value[0] !== 0x00) {
87
88
  throw new errors.ASN1Error("Only the last subelement of a constructed BIT STRING may have a non-zero first value byte.", this);
88
89
  }
89
- });
90
- substrings.forEach((substring) => {
90
+ }
91
+ for (const substring of substrings) {
91
92
  if (substring.tagClass !== this.tagClass) {
92
93
  throw new errors.ASN1ConstructionError("Invalid tag class in recursively-encoded BIT STRING.", this);
93
94
  }
@@ -95,8 +96,8 @@ class CERElement extends x690_1.default {
95
96
  throw new errors.ASN1ConstructionError("Invalid tag class in recursively-encoded BIT STRING.", this);
96
97
  }
97
98
  substring.recursionCount = (this.recursionCount + 1);
98
- appendy = appendy.concat(Array.from(substring.bitString).map((b) => b !== macros_1.FALSE_BIT));
99
- });
99
+ appendy.push(...Array.from(substring.bitString).map((b) => b !== macros_1.FALSE_BIT));
100
+ }
100
101
  return new Uint8ClampedArray(appendy.map((b) => (b ? 1 : 0)));
101
102
  }
102
103
  set octetString(value) {
@@ -153,6 +154,26 @@ class CERElement extends x690_1.default {
153
154
  this.sequence = value;
154
155
  }
155
156
  get set() {
157
+ const ret = this.sequence;
158
+ if (!(0, utils_1.isUniquelyTagged)(ret)) {
159
+ throw new errors.ASN1ConstructionError("Duplicate tag in SET.", this);
160
+ }
161
+ return ret;
162
+ }
163
+ set sequenceOf(value) {
164
+ this.value = (0, encodeSequence_1.default)(value);
165
+ this.construction = values_1.ASN1Construction.constructed;
166
+ }
167
+ get sequenceOf() {
168
+ if (this.construction !== values_1.ASN1Construction.constructed) {
169
+ throw new errors.ASN1ConstructionError("SET or SEQUENCE cannot be primitively constructed.", this);
170
+ }
171
+ return (0, decodeSequence_1.default)(this.value);
172
+ }
173
+ set setOf(value) {
174
+ this.sequence = value;
175
+ }
176
+ get setOf() {
156
177
  return this.sequence;
157
178
  }
158
179
  set numericString(value) {
@@ -257,16 +278,16 @@ class CERElement extends x690_1.default {
257
278
  const valueBytes = this.deconstruct("BMPString");
258
279
  if (valueBytes.length % 2)
259
280
  throw new errors.ASN1Error("BMPString encoded on non-mulitple of two bytes.", this);
260
- if (typeof TextEncoder !== "undefined") {
261
- return (new TextDecoder("utf-16be")).decode(valueBytes.buffer);
262
- }
263
- else if (typeof Buffer !== "undefined") {
264
- const swappedEndianness = new Uint8Array(valueBytes.length);
281
+ if (typeof Buffer !== "undefined") {
282
+ const swappedEndianness = Buffer.allocUnsafe(valueBytes.length);
265
283
  for (let i = 0; i < valueBytes.length; i += 2) {
266
284
  swappedEndianness[i] = valueBytes[i + 1];
267
285
  swappedEndianness[i + 1] = valueBytes[i];
268
286
  }
269
- return (Buffer.from(swappedEndianness)).toString("utf16le");
287
+ return swappedEndianness.toString("utf16le");
288
+ }
289
+ else if (typeof TextEncoder !== "undefined") {
290
+ return (new TextDecoder("utf-16be")).decode(valueBytes.buffer);
270
291
  }
271
292
  else {
272
293
  throw new errors.ASN1Error("Neither TextDecoder nor Buffer are defined to decode bytes into text.", this);
@@ -371,6 +392,11 @@ class CERElement extends x690_1.default {
371
392
  ret.set = set.filter((element) => Boolean(element));
372
393
  return ret;
373
394
  }
395
+ static fromSetOf(set) {
396
+ const ret = new CERElement(values_1.ASN1TagClass.universal, values_1.ASN1Construction.constructed, values_1.ASN1UniversalType.set);
397
+ ret.setOf = set.filter((element) => Boolean(element));
398
+ return ret;
399
+ }
374
400
  get inner() {
375
401
  if (this.construction !== values_1.ASN1Construction.constructed) {
376
402
  throw new errors.ASN1ConstructionError("An explicitly-encoded element cannot be encoded using "
@@ -515,7 +541,7 @@ class CERElement extends x690_1.default {
515
541
  }
516
542
  }
517
543
  toBytes() {
518
- let tagBytes = [0x00];
544
+ const tagBytes = [0x00];
519
545
  tagBytes[0] |= (this.tagClass << 6);
520
546
  tagBytes[0] |= (this.construction << 5);
521
547
  if (this.tagNumber < 31) {
@@ -531,7 +557,7 @@ class CERElement extends x690_1.default {
531
557
  encodedNumber[0] |= 0b10000000;
532
558
  }
533
559
  encodedNumber[encodedNumber.length - 1] &= 0b01111111;
534
- tagBytes = tagBytes.concat(encodedNumber);
560
+ tagBytes.push(...encodedNumber);
535
561
  }
536
562
  let lengthOctets = [0x00];
537
563
  switch (this.construction) {