@zudojs/crypto 0.1.0 → 1.1.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 (354) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +43 -14
  3. package/dist/compare/compare.helper.d.ts +10 -2
  4. package/dist/compare/compare.helper.js +22 -6
  5. package/dist/cryptoCipher/cryptoCipher.core.d.ts +11 -1
  6. package/dist/cryptoCipher/cryptoCipher.core.js +19 -3
  7. package/dist/cryptoCipher/cryptoCipher.envelope.d.ts +7 -2
  8. package/dist/cryptoCipher/cryptoCipher.envelope.js +33 -14
  9. package/dist/cryptoCipher/cryptoCipher.string.d.ts +2 -1
  10. package/dist/cryptoCipher/cryptoCipher.string.js +2 -2
  11. package/dist/cryptoConstants/cryptoConstants.guard.d.ts +9 -0
  12. package/dist/cryptoConstants/cryptoConstants.guard.js +16 -1
  13. package/dist/cryptoConstants/cryptoConstants.security.d.ts +42 -1
  14. package/dist/cryptoConstants/cryptoConstants.security.js +42 -1
  15. package/dist/cryptoConstants/cryptoConstants.token.d.ts +2 -0
  16. package/dist/cryptoConstants/cryptoConstants.token.js +2 -0
  17. package/dist/cryptoConstants/cryptoConstants.type.d.ts +36 -14
  18. package/dist/cryptoConstants/cryptoConstants.type.js +36 -14
  19. package/dist/cryptoEncoding/cryptoEncoding.compare.d.ts +4 -1
  20. package/dist/cryptoEncoding/cryptoEncoding.compare.js +11 -4
  21. package/dist/cryptoEncoding/cryptoEncoding.core.d.ts +22 -0
  22. package/dist/cryptoEncoding/cryptoEncoding.core.js +41 -3
  23. package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.d.ts +10 -2
  24. package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.js +24 -16
  25. package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.d.ts +9 -1
  26. package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.js +23 -20
  27. package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.d.ts +9 -2
  28. package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.js +17 -11
  29. package/dist/cryptoErrors/cryptoErrors.helper.d.ts +30 -0
  30. package/dist/cryptoErrors/cryptoErrors.helper.js +72 -0
  31. package/dist/cryptoFactory/cryptoFactory.core.d.ts +37 -6
  32. package/dist/cryptoFactory/cryptoFactory.core.js +56 -30
  33. package/dist/cryptoFactory/cryptoFactory.password.d.ts +4 -3
  34. package/dist/cryptoFactory/cryptoFactory.password.js +4 -4
  35. package/dist/cryptoFactory/cryptoFactory.token.d.ts +9 -8
  36. package/dist/cryptoFactory/cryptoFactory.token.js +16 -15
  37. package/dist/cryptoHash/cryptoHash.codec.d.ts +2 -0
  38. package/dist/cryptoHash/cryptoHash.codec.js +12 -12
  39. package/dist/cryptoHash/cryptoHash.compare.d.ts +3 -1
  40. package/dist/cryptoHash/cryptoHash.compare.js +5 -9
  41. package/dist/cryptoHash/cryptoHash.core.d.ts +6 -2
  42. package/dist/cryptoHash/cryptoHash.core.js +9 -2
  43. package/dist/cryptoHash/cryptoHmac.core.d.ts +8 -5
  44. package/dist/cryptoHash/cryptoHmac.core.js +22 -9
  45. package/dist/cryptoKey/cryptoKey.factory.d.ts +29 -2
  46. package/dist/cryptoKey/cryptoKey.factory.js +82 -18
  47. package/dist/cryptoKey/cryptoKey.utils.d.ts +5 -3
  48. package/dist/cryptoKey/cryptoKey.utils.js +5 -3
  49. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.d.ts +7 -1
  50. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.js +40 -15
  51. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.d.ts +2 -1
  52. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.js +2 -3
  53. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.d.ts +5 -1
  54. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.d.ts +13 -2
  55. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.js +53 -16
  56. package/dist/cryptoPassword/cryptoPassword.codec.d.ts +15 -1
  57. package/dist/cryptoPassword/cryptoPassword.codec.js +127 -56
  58. package/dist/cryptoPassword/cryptoPassword.core.d.ts +17 -3
  59. package/dist/cryptoPassword/cryptoPassword.core.js +29 -21
  60. package/dist/cryptoPassword/cryptoPassword.helper.js +6 -5
  61. package/dist/cryptoPassword/cryptoPassword.type.d.ts +33 -5
  62. package/dist/cryptoPassword/cryptoPassword.validate.d.ts +14 -3
  63. package/dist/cryptoPassword/cryptoPassword.validate.js +51 -20
  64. package/dist/cryptoProvider/cryptoProvider.default.d.ts +18 -0
  65. package/dist/cryptoProvider/cryptoProvider.default.js +31 -0
  66. package/dist/cryptoProvider/cryptoProvider.interface.d.ts +9 -34
  67. package/dist/cryptoProvider/cryptoProvider.type.d.ts +32 -3
  68. package/dist/cryptoProvider/cryptoProvider.type.js +40 -1
  69. package/dist/cryptoProvider/index.d.ts +5 -2
  70. package/dist/cryptoProvider/index.js +2 -0
  71. package/dist/cryptoProvider/types/cryptoCipher.type.d.ts +11 -6
  72. package/dist/cryptoProvider/types/cryptoKeyDerivation.type.d.ts +39 -3
  73. package/dist/cryptoProvider/types/cryptoSignature.type.d.ts +5 -5
  74. package/dist/cryptoProvider/types/index.d.ts +1 -1
  75. package/dist/cryptoRandom/cryptoRandom.choice.d.ts +6 -3
  76. package/dist/cryptoRandom/cryptoRandom.choice.js +10 -6
  77. package/dist/cryptoRandom/cryptoRandom.core.d.ts +8 -5
  78. package/dist/cryptoRandom/cryptoRandom.core.js +8 -7
  79. package/dist/cryptoRandom/cryptoRandom.string.d.ts +11 -9
  80. package/dist/cryptoRandom/cryptoRandom.string.js +28 -29
  81. package/dist/cryptoService/cryptoService.core.d.ts +47 -9
  82. package/dist/cryptoService/cryptoService.core.js +65 -33
  83. package/dist/cryptoService/cryptoService.derivation.d.ts +3 -3
  84. package/dist/cryptoService/cryptoService.derivation.js +8 -6
  85. package/dist/cryptoService/cryptoService.encoding.js +6 -5
  86. package/dist/cryptoService/index.d.ts +1 -5
  87. package/dist/cryptoService/index.js +1 -5
  88. package/dist/cryptoService/operations/cryptoService.cipher.d.ts +3 -2
  89. package/dist/cryptoService/operations/cryptoService.cipher.js +13 -9
  90. package/dist/cryptoService/operations/cryptoService.hash.d.ts +3 -2
  91. package/dist/cryptoService/operations/cryptoService.hash.js +7 -8
  92. package/dist/cryptoService/operations/cryptoService.password.d.ts +7 -2
  93. package/dist/cryptoService/operations/cryptoService.password.js +20 -9
  94. package/dist/cryptoService/operations/cryptoService.token.d.ts +9 -4
  95. package/dist/cryptoService/operations/cryptoService.token.js +31 -17
  96. package/dist/cryptoSignature/cryptoSignature.core.d.ts +10 -2
  97. package/dist/cryptoSignature/cryptoSignature.core.js +7 -3
  98. package/dist/cryptoToken/cryptoToken.core.d.ts +15 -9
  99. package/dist/cryptoToken/cryptoToken.core.js +63 -38
  100. package/dist/cryptoToken/cryptoToken.hash.d.ts +9 -7
  101. package/dist/cryptoToken/cryptoToken.hash.js +19 -43
  102. package/dist/cryptoUtils/cryptoUtils.compare.d.ts +3 -1
  103. package/dist/cryptoUtils/cryptoUtils.compare.js +5 -14
  104. package/dist/cryptoUtils/cryptoUtils.number.d.ts +3 -0
  105. package/dist/cryptoUtils/cryptoUtils.number.js +12 -6
  106. package/dist/cryptoUtils/cryptoUtils.validation.d.ts +2 -2
  107. package/dist/cryptoUtils/cryptoUtils.validation.js +6 -8
  108. package/dist/cryptoUtils/encoding/cryptoUtils.base64.d.ts +4 -4
  109. package/dist/cryptoUtils/encoding/cryptoUtils.base64.js +5 -23
  110. package/dist/cryptoUtils/encoding/cryptoUtils.base64url.d.ts +4 -4
  111. package/dist/cryptoUtils/encoding/cryptoUtils.base64url.js +5 -32
  112. package/dist/cryptoUtils/encoding/cryptoUtils.hex.d.ts +4 -4
  113. package/dist/cryptoUtils/encoding/cryptoUtils.hex.js +5 -20
  114. package/dist/index.d.ts +1 -2
  115. package/dist/index.js +1 -2
  116. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.d.ts +6 -29
  117. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.js +0 -1
  118. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.d.ts +9 -4
  119. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.js +25 -43
  120. package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.d.ts +7 -0
  121. package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.js +112 -30
  122. package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.d.ts +17 -10
  123. package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.js +112 -72
  124. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.d.ts +3 -12
  125. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.js +74 -25
  126. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.js +7 -2
  127. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.d.ts +6 -0
  128. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.js +18 -18
  129. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.d.ts +10 -12
  130. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.js +75 -20
  131. package/dist/node/signing/signing.conversion.d.ts +13 -3
  132. package/dist/node/signing/signing.conversion.js +35 -15
  133. package/dist/node/signing/signing.core.d.ts +2 -1
  134. package/dist/node/signing/signing.core.js +2 -3
  135. package/dist/node/signing/signing.utils.d.ts +10 -2
  136. package/dist/node/signing/signing.utils.js +26 -5
  137. package/package.json +28 -14
  138. package/dist/.tsbuildinfo +0 -1
  139. package/dist/compare/compare.helper.d.ts.map +0 -1
  140. package/dist/compare/compare.helper.js.map +0 -1
  141. package/dist/compare/index.d.ts.map +0 -1
  142. package/dist/compare/index.js.map +0 -1
  143. package/dist/cryptoAlgorithm/index.d.ts +0 -8
  144. package/dist/cryptoAlgorithm/index.d.ts.map +0 -1
  145. package/dist/cryptoAlgorithm/index.js +0 -8
  146. package/dist/cryptoAlgorithm/index.js.map +0 -1
  147. package/dist/cryptoCipher/cryptoCipher.core.d.ts.map +0 -1
  148. package/dist/cryptoCipher/cryptoCipher.core.js.map +0 -1
  149. package/dist/cryptoCipher/cryptoCipher.envelope.d.ts.map +0 -1
  150. package/dist/cryptoCipher/cryptoCipher.envelope.js.map +0 -1
  151. package/dist/cryptoCipher/cryptoCipher.string.d.ts.map +0 -1
  152. package/dist/cryptoCipher/cryptoCipher.string.js.map +0 -1
  153. package/dist/cryptoCipher/index.d.ts.map +0 -1
  154. package/dist/cryptoCipher/index.js.map +0 -1
  155. package/dist/cryptoConstants/cryptoConstants.config.d.ts.map +0 -1
  156. package/dist/cryptoConstants/cryptoConstants.config.js.map +0 -1
  157. package/dist/cryptoConstants/cryptoConstants.guard.d.ts.map +0 -1
  158. package/dist/cryptoConstants/cryptoConstants.guard.js.map +0 -1
  159. package/dist/cryptoConstants/cryptoConstants.security.d.ts.map +0 -1
  160. package/dist/cryptoConstants/cryptoConstants.security.js.map +0 -1
  161. package/dist/cryptoConstants/cryptoConstants.token.d.ts.map +0 -1
  162. package/dist/cryptoConstants/cryptoConstants.token.js.map +0 -1
  163. package/dist/cryptoConstants/cryptoConstants.type.d.ts.map +0 -1
  164. package/dist/cryptoConstants/cryptoConstants.type.js.map +0 -1
  165. package/dist/cryptoConstants/index.d.ts.map +0 -1
  166. package/dist/cryptoConstants/index.js.map +0 -1
  167. package/dist/cryptoEncoding/cryptoEncoding.arrayBuffer.d.ts.map +0 -1
  168. package/dist/cryptoEncoding/cryptoEncoding.arrayBuffer.js.map +0 -1
  169. package/dist/cryptoEncoding/cryptoEncoding.compare.d.ts.map +0 -1
  170. package/dist/cryptoEncoding/cryptoEncoding.compare.js.map +0 -1
  171. package/dist/cryptoEncoding/cryptoEncoding.core.d.ts.map +0 -1
  172. package/dist/cryptoEncoding/cryptoEncoding.core.js.map +0 -1
  173. package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.d.ts.map +0 -1
  174. package/dist/cryptoEncoding/encoding/cryptoEncoding.base64.js.map +0 -1
  175. package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.d.ts.map +0 -1
  176. package/dist/cryptoEncoding/encoding/cryptoEncoding.base64url.js.map +0 -1
  177. package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.d.ts.map +0 -1
  178. package/dist/cryptoEncoding/encoding/cryptoEncoding.hex.js.map +0 -1
  179. package/dist/cryptoEncoding/encoding/index.d.ts.map +0 -1
  180. package/dist/cryptoEncoding/encoding/index.js.map +0 -1
  181. package/dist/cryptoEncoding/index.d.ts.map +0 -1
  182. package/dist/cryptoEncoding/index.js.map +0 -1
  183. package/dist/cryptoErrors/index.d.ts.map +0 -1
  184. package/dist/cryptoErrors/index.js.map +0 -1
  185. package/dist/cryptoFactory/cryptoFactory.core.d.ts.map +0 -1
  186. package/dist/cryptoFactory/cryptoFactory.core.js.map +0 -1
  187. package/dist/cryptoFactory/cryptoFactory.encoding.d.ts.map +0 -1
  188. package/dist/cryptoFactory/cryptoFactory.encoding.js.map +0 -1
  189. package/dist/cryptoFactory/cryptoFactory.options.d.ts +0 -2
  190. package/dist/cryptoFactory/cryptoFactory.options.d.ts.map +0 -1
  191. package/dist/cryptoFactory/cryptoFactory.options.js +0 -6
  192. package/dist/cryptoFactory/cryptoFactory.options.js.map +0 -1
  193. package/dist/cryptoFactory/cryptoFactory.password.d.ts.map +0 -1
  194. package/dist/cryptoFactory/cryptoFactory.password.js.map +0 -1
  195. package/dist/cryptoFactory/cryptoFactory.token.d.ts.map +0 -1
  196. package/dist/cryptoFactory/cryptoFactory.token.js.map +0 -1
  197. package/dist/cryptoFactory/index.d.ts.map +0 -1
  198. package/dist/cryptoFactory/index.js.map +0 -1
  199. package/dist/cryptoHash/cryptoHash.codec.d.ts.map +0 -1
  200. package/dist/cryptoHash/cryptoHash.codec.js.map +0 -1
  201. package/dist/cryptoHash/cryptoHash.compare.d.ts.map +0 -1
  202. package/dist/cryptoHash/cryptoHash.compare.js.map +0 -1
  203. package/dist/cryptoHash/cryptoHash.convenience.d.ts.map +0 -1
  204. package/dist/cryptoHash/cryptoHash.convenience.js.map +0 -1
  205. package/dist/cryptoHash/cryptoHash.core.d.ts.map +0 -1
  206. package/dist/cryptoHash/cryptoHash.core.js.map +0 -1
  207. package/dist/cryptoHash/cryptoHmac.core.d.ts.map +0 -1
  208. package/dist/cryptoHash/cryptoHmac.core.js.map +0 -1
  209. package/dist/cryptoHash/index.d.ts.map +0 -1
  210. package/dist/cryptoHash/index.js.map +0 -1
  211. package/dist/cryptoKey/cryptoKey.factory.d.ts.map +0 -1
  212. package/dist/cryptoKey/cryptoKey.factory.js.map +0 -1
  213. package/dist/cryptoKey/cryptoKey.type.d.ts.map +0 -1
  214. package/dist/cryptoKey/cryptoKey.type.js.map +0 -1
  215. package/dist/cryptoKey/cryptoKey.utils.d.ts.map +0 -1
  216. package/dist/cryptoKey/cryptoKey.utils.js.map +0 -1
  217. package/dist/cryptoKey/index.d.ts.map +0 -1
  218. package/dist/cryptoKey/index.js.map +0 -1
  219. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.d.ts.map +0 -1
  220. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.core.js.map +0 -1
  221. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.d.ts.map +0 -1
  222. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.salt.js.map +0 -1
  223. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.d.ts.map +0 -1
  224. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.type.js.map +0 -1
  225. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.d.ts.map +0 -1
  226. package/dist/cryptoKeyDerivation/cryptoKeyDerivation.validate.js.map +0 -1
  227. package/dist/cryptoKeyDerivation/index.d.ts.map +0 -1
  228. package/dist/cryptoKeyDerivation/index.js.map +0 -1
  229. package/dist/cryptoPassword/cryptoPassword.codec.d.ts.map +0 -1
  230. package/dist/cryptoPassword/cryptoPassword.codec.js.map +0 -1
  231. package/dist/cryptoPassword/cryptoPassword.core.d.ts.map +0 -1
  232. package/dist/cryptoPassword/cryptoPassword.core.js.map +0 -1
  233. package/dist/cryptoPassword/cryptoPassword.helper.d.ts.map +0 -1
  234. package/dist/cryptoPassword/cryptoPassword.helper.js.map +0 -1
  235. package/dist/cryptoPassword/cryptoPassword.type.d.ts.map +0 -1
  236. package/dist/cryptoPassword/cryptoPassword.type.js.map +0 -1
  237. package/dist/cryptoPassword/cryptoPassword.validate.d.ts.map +0 -1
  238. package/dist/cryptoPassword/cryptoPassword.validate.js.map +0 -1
  239. package/dist/cryptoPassword/index.d.ts.map +0 -1
  240. package/dist/cryptoPassword/index.js.map +0 -1
  241. package/dist/cryptoProvider/cryptoProvider.core.d.ts.map +0 -1
  242. package/dist/cryptoProvider/cryptoProvider.core.js.map +0 -1
  243. package/dist/cryptoProvider/cryptoProvider.interface.d.ts.map +0 -1
  244. package/dist/cryptoProvider/cryptoProvider.interface.js.map +0 -1
  245. package/dist/cryptoProvider/cryptoProvider.type.d.ts.map +0 -1
  246. package/dist/cryptoProvider/cryptoProvider.type.js.map +0 -1
  247. package/dist/cryptoProvider/index.d.ts.map +0 -1
  248. package/dist/cryptoProvider/index.js.map +0 -1
  249. package/dist/cryptoProvider/types/cryptoCipher.type.d.ts.map +0 -1
  250. package/dist/cryptoProvider/types/cryptoCipher.type.js.map +0 -1
  251. package/dist/cryptoProvider/types/cryptoHash.type.d.ts.map +0 -1
  252. package/dist/cryptoProvider/types/cryptoHash.type.js.map +0 -1
  253. package/dist/cryptoProvider/types/cryptoKeyDerivation.type.d.ts.map +0 -1
  254. package/dist/cryptoProvider/types/cryptoKeyDerivation.type.js.map +0 -1
  255. package/dist/cryptoProvider/types/cryptoRandom.type.d.ts.map +0 -1
  256. package/dist/cryptoProvider/types/cryptoRandom.type.js.map +0 -1
  257. package/dist/cryptoProvider/types/cryptoSignature.type.d.ts.map +0 -1
  258. package/dist/cryptoProvider/types/cryptoSignature.type.js.map +0 -1
  259. package/dist/cryptoProvider/types/index.d.ts.map +0 -1
  260. package/dist/cryptoProvider/types/index.js.map +0 -1
  261. package/dist/cryptoRandom/cryptoRandom.choice.d.ts.map +0 -1
  262. package/dist/cryptoRandom/cryptoRandom.choice.js.map +0 -1
  263. package/dist/cryptoRandom/cryptoRandom.core.d.ts.map +0 -1
  264. package/dist/cryptoRandom/cryptoRandom.core.js.map +0 -1
  265. package/dist/cryptoRandom/cryptoRandom.string.d.ts.map +0 -1
  266. package/dist/cryptoRandom/cryptoRandom.string.js.map +0 -1
  267. package/dist/cryptoRandom/index.d.ts.map +0 -1
  268. package/dist/cryptoRandom/index.js.map +0 -1
  269. package/dist/cryptoService/cryptoService.core.d.ts.map +0 -1
  270. package/dist/cryptoService/cryptoService.core.js.map +0 -1
  271. package/dist/cryptoService/cryptoService.derivation.d.ts.map +0 -1
  272. package/dist/cryptoService/cryptoService.derivation.js.map +0 -1
  273. package/dist/cryptoService/cryptoService.encoding.d.ts.map +0 -1
  274. package/dist/cryptoService/cryptoService.encoding.js.map +0 -1
  275. package/dist/cryptoService/index.d.ts.map +0 -1
  276. package/dist/cryptoService/index.js.map +0 -1
  277. package/dist/cryptoService/operations/cryptoService.cipher.d.ts.map +0 -1
  278. package/dist/cryptoService/operations/cryptoService.cipher.js.map +0 -1
  279. package/dist/cryptoService/operations/cryptoService.hash.d.ts.map +0 -1
  280. package/dist/cryptoService/operations/cryptoService.hash.js.map +0 -1
  281. package/dist/cryptoService/operations/cryptoService.password.d.ts.map +0 -1
  282. package/dist/cryptoService/operations/cryptoService.password.js.map +0 -1
  283. package/dist/cryptoService/operations/cryptoService.token.d.ts.map +0 -1
  284. package/dist/cryptoService/operations/cryptoService.token.js.map +0 -1
  285. package/dist/cryptoService/operations/index.d.ts.map +0 -1
  286. package/dist/cryptoService/operations/index.js.map +0 -1
  287. package/dist/cryptoSignature/cryptoSignature.core.d.ts.map +0 -1
  288. package/dist/cryptoSignature/cryptoSignature.core.js.map +0 -1
  289. package/dist/cryptoSignature/index.d.ts.map +0 -1
  290. package/dist/cryptoSignature/index.js.map +0 -1
  291. package/dist/cryptoToken/cryptoToken.core.d.ts.map +0 -1
  292. package/dist/cryptoToken/cryptoToken.core.js.map +0 -1
  293. package/dist/cryptoToken/cryptoToken.hash.d.ts.map +0 -1
  294. package/dist/cryptoToken/cryptoToken.hash.js.map +0 -1
  295. package/dist/cryptoToken/cryptoToken.utils.d.ts.map +0 -1
  296. package/dist/cryptoToken/cryptoToken.utils.js.map +0 -1
  297. package/dist/cryptoToken/index.d.ts.map +0 -1
  298. package/dist/cryptoToken/index.js.map +0 -1
  299. package/dist/cryptoUtils/cryptoUtils.compare.d.ts.map +0 -1
  300. package/dist/cryptoUtils/cryptoUtils.compare.js.map +0 -1
  301. package/dist/cryptoUtils/cryptoUtils.conversion.d.ts.map +0 -1
  302. package/dist/cryptoUtils/cryptoUtils.conversion.js.map +0 -1
  303. package/dist/cryptoUtils/cryptoUtils.number.d.ts.map +0 -1
  304. package/dist/cryptoUtils/cryptoUtils.number.js.map +0 -1
  305. package/dist/cryptoUtils/cryptoUtils.text.d.ts.map +0 -1
  306. package/dist/cryptoUtils/cryptoUtils.text.js.map +0 -1
  307. package/dist/cryptoUtils/cryptoUtils.validation.d.ts.map +0 -1
  308. package/dist/cryptoUtils/cryptoUtils.validation.js.map +0 -1
  309. package/dist/cryptoUtils/encoding/cryptoUtils.base64.d.ts.map +0 -1
  310. package/dist/cryptoUtils/encoding/cryptoUtils.base64.js.map +0 -1
  311. package/dist/cryptoUtils/encoding/cryptoUtils.base64url.d.ts.map +0 -1
  312. package/dist/cryptoUtils/encoding/cryptoUtils.base64url.js.map +0 -1
  313. package/dist/cryptoUtils/encoding/cryptoUtils.hex.d.ts.map +0 -1
  314. package/dist/cryptoUtils/encoding/cryptoUtils.hex.js.map +0 -1
  315. package/dist/cryptoUtils/encoding/index.d.ts.map +0 -1
  316. package/dist/cryptoUtils/encoding/index.js.map +0 -1
  317. package/dist/cryptoUtils/index.d.ts.map +0 -1
  318. package/dist/cryptoUtils/index.js.map +0 -1
  319. package/dist/index.d.ts.map +0 -1
  320. package/dist/index.js.map +0 -1
  321. package/dist/node/index.d.ts.map +0 -1
  322. package/dist/node/index.js.map +0 -1
  323. package/dist/node/nodeCryptoProvider/index.d.ts.map +0 -1
  324. package/dist/node/nodeCryptoProvider/index.js.map +0 -1
  325. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.d.ts.map +0 -1
  326. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.core.js.map +0 -1
  327. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.factory.d.ts.map +0 -1
  328. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.factory.js.map +0 -1
  329. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.d.ts.map +0 -1
  330. package/dist/node/nodeCryptoProvider/nodeCryptoProvider.helper.js.map +0 -1
  331. package/dist/node/nodeCryptoProvider/operations/index.d.ts.map +0 -1
  332. package/dist/node/nodeCryptoProvider/operations/index.js.map +0 -1
  333. package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.d.ts.map +0 -1
  334. package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.derivation.js.map +0 -1
  335. package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.d.ts.map +0 -1
  336. package/dist/node/nodeCryptoProvider/operations/nodeCryptoProvider.password.js.map +0 -1
  337. package/dist/node/nodeCryptoProvider/primitives/index.d.ts.map +0 -1
  338. package/dist/node/nodeCryptoProvider/primitives/index.js.map +0 -1
  339. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.d.ts.map +0 -1
  340. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.encryption.js.map +0 -1
  341. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.d.ts.map +0 -1
  342. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.hash.js.map +0 -1
  343. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.d.ts.map +0 -1
  344. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.random.js.map +0 -1
  345. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.d.ts.map +0 -1
  346. package/dist/node/nodeCryptoProvider/primitives/nodeCryptoProvider.signing.js.map +0 -1
  347. package/dist/node/signing/index.d.ts.map +0 -1
  348. package/dist/node/signing/index.js.map +0 -1
  349. package/dist/node/signing/signing.conversion.d.ts.map +0 -1
  350. package/dist/node/signing/signing.conversion.js.map +0 -1
  351. package/dist/node/signing/signing.core.d.ts.map +0 -1
  352. package/dist/node/signing/signing.core.js.map +0 -1
  353. package/dist/node/signing/signing.utils.d.ts.map +0 -1
  354. package/dist/node/signing/signing.utils.js.map +0 -1
@@ -1,15 +1,20 @@
1
1
  import { createHash, createHmac } from "node:crypto";
2
2
  import { toBytes, nodeHashAlgorithm } from "../nodeCryptoProvider.helper.js";
3
3
  export async function hash(algorithm, data) {
4
+ const digestName = nodeHashAlgorithm(algorithm);
4
5
  const normalized = toBytes(data);
5
- const hasher = createHash(nodeHashAlgorithm(algorithm));
6
+ const hasher = createHash(digestName);
6
7
  hasher.update(normalized);
7
8
  return new Uint8Array(hasher.digest());
8
9
  }
9
10
  export async function hmac(algorithm, key, data) {
11
+ const digestName = nodeHashAlgorithm(algorithm);
10
12
  const normalizedKey = toBytes(key);
13
+ if (normalizedKey.byteLength === 0) {
14
+ throw new TypeError("HMAC key must not be empty.");
15
+ }
11
16
  const normalizedData = toBytes(data);
12
- const h = createHmac(nodeHashAlgorithm(algorithm), normalizedKey);
17
+ const h = createHmac(digestName, normalizedKey);
13
18
  h.update(normalizedData);
14
19
  return new Uint8Array(h.digest());
15
20
  }
@@ -1,4 +1,10 @@
1
1
  export declare function randomBytesImpl(length: number): Promise<Uint8Array>;
2
+ /**
3
+ * Returns a uniformly distributed integer in `[min, max)`.
4
+ *
5
+ * Delegates to `node:crypto.randomInt`, which is unbiased for ranges up
6
+ * to 2^48. A range of exactly one value returns `min`.
7
+ */
2
8
  export declare function randomIntImpl(min: number, max: number): Promise<number>;
3
9
  export declare function randomUUIDImpl(): Promise<string>;
4
10
  //# sourceMappingURL=nodeCryptoProvider.random.d.ts.map
@@ -1,39 +1,39 @@
1
- import { randomBytes } from "node:crypto";
1
+ import { randomBytes, randomInt } from "node:crypto";
2
+ /** Largest range accepted by `node:crypto.randomInt`. */
3
+ const MAX_RANGE = 2 ** 48;
2
4
  export async function randomBytesImpl(length) {
3
5
  if (!Number.isInteger(length) || length <= 0) {
4
6
  throw new TypeError("randomBytes length must be a positive integer.");
5
7
  }
6
8
  return new Uint8Array(randomBytes(length));
7
9
  }
10
+ /**
11
+ * Returns a uniformly distributed integer in `[min, max)`.
12
+ *
13
+ * Delegates to `node:crypto.randomInt`, which is unbiased for ranges up
14
+ * to 2^48. A range of exactly one value returns `min`.
15
+ */
8
16
  export async function randomIntImpl(min, max) {
9
- if (!Number.isInteger(min) || !Number.isInteger(max)) {
10
- throw new TypeError("randomInt bounds must be integers.");
17
+ if (!Number.isSafeInteger(min) || !Number.isSafeInteger(max)) {
18
+ throw new TypeError("randomInt bounds must be safe integers.");
11
19
  }
12
20
  if (max <= min) {
13
21
  throw new RangeError("max must be greater than min.");
14
22
  }
15
23
  const range = max - min;
16
- const bytesNeeded = Math.ceil(Math.log2(range) / 8);
17
- const limit = Math.floor(256 ** bytesNeeded / range) * range;
18
- while (true) {
19
- const bytes = await randomBytesImpl(bytesNeeded);
20
- let value = 0;
21
- for (let i = 0; i < bytesNeeded; i += 1) {
22
- value = (value << 8) | bytes[i];
23
- }
24
- value = value >>> 0;
25
- if (value < limit) {
26
- return min + (value % range);
27
- }
24
+ if (range > MAX_RANGE) {
25
+ throw new RangeError(`randomInt range must not exceed 2^48.`);
28
26
  }
27
+ if (range === 1) {
28
+ return min;
29
+ }
30
+ return randomInt(min, max);
29
31
  }
30
32
  export async function randomUUIDImpl() {
31
33
  const bytes = await randomBytesImpl(16);
32
34
  bytes[6] = (bytes[6] & 0x0f) | 0x40;
33
35
  bytes[8] = (bytes[8] & 0x3f) | 0x80;
34
- const hex = Array.from(bytes)
35
- .map((b) => b.toString(16).padStart(2, "0"))
36
- .join("");
36
+ const hex = Buffer.from(bytes).toString("hex");
37
37
  return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
38
38
  }
39
39
  //# sourceMappingURL=nodeCryptoProvider.random.js.map
@@ -1,13 +1,11 @@
1
- import type { SignatureAlgorithm, CryptoInput } from "../../../cryptoProvider/index.js";
2
- export declare function sign(options: {
3
- key: CryptoInput;
4
- data: CryptoInput;
5
- algorithm?: SignatureAlgorithm;
6
- }): Promise<Uint8Array>;
7
- export declare function verify(options: {
8
- key: CryptoInput;
9
- data: CryptoInput;
10
- signature: Uint8Array;
11
- algorithm?: SignatureAlgorithm;
12
- }): Promise<boolean>;
1
+ import type { SignOptions, VerifyOptions } from "../../../cryptoProvider/index.js";
2
+ export declare function sign(options: SignOptions): Promise<Uint8Array>;
3
+ /**
4
+ * Verifies a signature.
5
+ *
6
+ * Returns false for a malformed key, malformed signature or mismatching
7
+ * data. Throws only for programmer errors (unsupported algorithm, key
8
+ * type that cannot be used with the algorithm).
9
+ */
10
+ export declare function verify(options: VerifyOptions): Promise<boolean>;
13
11
  //# sourceMappingURL=nodeCryptoProvider.signing.d.ts.map
@@ -1,29 +1,84 @@
1
- import { createPrivateKey, createPublicKey, createSign, createVerify, sign as signImpl, verify as verifyImpl, } from "node:crypto";
2
- import { toBytes, nodeSignatureAlgorithm, } from "../nodeCryptoProvider.helper.js";
1
+ import { isSignatureAlgorithmName } from "../../../cryptoProvider/cryptoProvider.type.js";
2
+ import { createSign, createVerify, sign as signImpl, verify as verifyImpl, } from "node:crypto";
3
+ import { CryptoOperation } from "@zudojs/errors";
4
+ import { toBytes } from "../nodeCryptoProvider.helper.js";
5
+ import { signatureError } from "../../../cryptoErrors/cryptoErrors.helper.js";
6
+ import { toPrivateKey, toPublicKey, } from "../../signing/signing.conversion.js";
7
+ import { nodeSignatureAlgorithm, expectedAsymmetricKeyType, } from "../../signing/signing.utils.js";
8
+ function assertAlgorithm(algorithm, operation) {
9
+ if (!isSignatureAlgorithmName(algorithm)) {
10
+ throw signatureError(`Unsupported signature algorithm: ${String(algorithm)}.`, operation, typeof algorithm === "string" ? algorithm : undefined);
11
+ }
12
+ }
13
+ /**
14
+ * Ensures the key's type matches the requested algorithm so that the
15
+ * algorithm label is a real integrity assertion (an EC key cannot sign
16
+ * under "rsa-sha256").
17
+ */
18
+ function assertKeyType(key, algorithm, operation) {
19
+ const expected = expectedAsymmetricKeyType(algorithm);
20
+ if (key.asymmetricKeyType !== expected) {
21
+ throw signatureError(`Signature algorithm "${algorithm}" requires a ${expected} key, received ${String(key.asymmetricKeyType)}.`, operation, algorithm);
22
+ }
23
+ }
3
24
  export async function sign(options) {
4
25
  const algorithm = options.algorithm ?? "ed25519";
5
- const key = toBytes(options.key);
26
+ assertAlgorithm(algorithm, CryptoOperation.SIGN);
6
27
  const data = toBytes(options.data);
7
- const privateKey = createPrivateKey(key);
8
- if (algorithm === "ed25519") {
9
- return new Uint8Array(signImpl(null, data, privateKey));
10
- }
11
- const signer = createSign(nodeSignatureAlgorithm(algorithm));
12
- signer.update(data);
13
- signer.end();
14
- return new Uint8Array(signer.sign(privateKey));
28
+ let privateKey;
29
+ try {
30
+ privateKey = toPrivateKey(options.key);
31
+ }
32
+ catch (error) {
33
+ throw signatureError("Invalid private key.", CryptoOperation.SIGN, algorithm, error);
34
+ }
35
+ assertKeyType(privateKey, algorithm, CryptoOperation.SIGN);
36
+ try {
37
+ if (algorithm === "ed25519") {
38
+ return new Uint8Array(signImpl(null, data, privateKey));
39
+ }
40
+ const signer = createSign(nodeSignatureAlgorithm(algorithm));
41
+ signer.update(data);
42
+ signer.end();
43
+ return new Uint8Array(signer.sign(privateKey));
44
+ }
45
+ catch (error) {
46
+ throw signatureError("Signing failed.", CryptoOperation.SIGN, algorithm, error);
47
+ }
15
48
  }
49
+ /**
50
+ * Verifies a signature.
51
+ *
52
+ * Returns false for a malformed key, malformed signature or mismatching
53
+ * data. Throws only for programmer errors (unsupported algorithm, key
54
+ * type that cannot be used with the algorithm).
55
+ */
16
56
  export async function verify(options) {
17
57
  const algorithm = options.algorithm ?? "ed25519";
18
- const key = toBytes(options.key);
58
+ assertAlgorithm(algorithm, CryptoOperation.VERIFY_SIGNATURE);
59
+ if (!(options.signature instanceof Uint8Array)) {
60
+ return false;
61
+ }
19
62
  const data = toBytes(options.data);
20
- const publicKey = createPublicKey(key);
21
- if (algorithm === "ed25519") {
22
- return verifyImpl(null, data, publicKey, options.signature);
23
- }
24
- const verifier = createVerify(nodeSignatureAlgorithm(algorithm));
25
- verifier.update(data);
26
- verifier.end();
27
- return verifier.verify(publicKey, options.signature);
63
+ let publicKey;
64
+ try {
65
+ publicKey = toPublicKey(options.key);
66
+ }
67
+ catch {
68
+ return false;
69
+ }
70
+ assertKeyType(publicKey, algorithm, CryptoOperation.VERIFY_SIGNATURE);
71
+ try {
72
+ if (algorithm === "ed25519") {
73
+ return verifyImpl(null, data, publicKey, options.signature);
74
+ }
75
+ const verifier = createVerify(nodeSignatureAlgorithm(algorithm));
76
+ verifier.update(data);
77
+ verifier.end();
78
+ return verifier.verify(publicKey, options.signature);
79
+ }
80
+ catch {
81
+ return false;
82
+ }
28
83
  }
29
84
  //# sourceMappingURL=nodeCryptoProvider.signing.js.map
@@ -1,9 +1,19 @@
1
1
  import type { CryptoKey } from "../../cryptoKey/cryptoKey.type.js";
2
2
  import { type KeyObject } from "node:crypto";
3
3
  /**
4
- * Converts a CryptoKey into a Node.js KeyObject.
4
+ * Key material accepted by the conversion helpers.
5
+ *
6
+ * - `KeyObject`: used as-is.
7
+ * - `string`: PEM text.
8
+ * - `Uint8Array`/`ArrayBuffer`: PEM text when the bytes start with
9
+ * `-----BEGIN`, otherwise DER (PKCS#8 for private keys, SPKI for
10
+ * public keys).
11
+ */
12
+ export type KeyMaterial = KeyObject | string | Uint8Array | ArrayBuffer;
13
+ /**
14
+ * Converts a CryptoKey holding a PKCS#8 DER Ed25519 key into a KeyObject.
5
15
  */
6
16
  export declare function cryptoKeyToPrivateKey(key: CryptoKey): KeyObject;
7
- export declare function toPrivateKey(key: KeyObject | string | Uint8Array): KeyObject;
8
- export declare function toPublicKey(key: KeyObject | string | Uint8Array): KeyObject;
17
+ export declare function toPrivateKey(key: KeyMaterial): KeyObject;
18
+ export declare function toPublicKey(key: KeyMaterial): KeyObject;
9
19
  //# sourceMappingURL=signing.conversion.d.ts.map
@@ -1,7 +1,19 @@
1
1
  import { createPrivateKey, createPublicKey } from "node:crypto";
2
2
  import { isKeyObject } from "./signing.utils.js";
3
+ const PEM_PREFIX = Buffer.from("-----BEGIN", "utf8");
4
+ function looksLikePem(bytes) {
5
+ if (bytes.byteLength < PEM_PREFIX.byteLength) {
6
+ return false;
7
+ }
8
+ for (let index = 0; index < PEM_PREFIX.byteLength; index += 1) {
9
+ if (bytes[index] !== PEM_PREFIX[index]) {
10
+ return false;
11
+ }
12
+ }
13
+ return true;
14
+ }
3
15
  /**
4
- * Converts a CryptoKey into a Node.js KeyObject.
16
+ * Converts a CryptoKey holding a PKCS#8 DER Ed25519 key into a KeyObject.
5
17
  */
6
18
  export function cryptoKeyToPrivateKey(key) {
7
19
  if (key.algorithm !== "ed25519") {
@@ -23,14 +35,18 @@ export function toPrivateKey(key) {
23
35
  if (typeof key === "string") {
24
36
  return createPrivateKey(key);
25
37
  }
26
- if (key instanceof Uint8Array) {
27
- return createPrivateKey({
28
- key: Buffer.from(key),
29
- format: "der",
30
- type: "pkcs8",
31
- });
38
+ const bytes = key instanceof ArrayBuffer ? new Uint8Array(key) : key;
39
+ if (!(bytes instanceof Uint8Array)) {
40
+ throw new TypeError("Invalid private key.");
32
41
  }
33
- throw new TypeError("Invalid private key.");
42
+ if (looksLikePem(bytes)) {
43
+ return createPrivateKey(Buffer.from(bytes));
44
+ }
45
+ return createPrivateKey({
46
+ key: Buffer.from(bytes),
47
+ format: "der",
48
+ type: "pkcs8",
49
+ });
34
50
  }
35
51
  export function toPublicKey(key) {
36
52
  if (isKeyObject(key)) {
@@ -39,13 +55,17 @@ export function toPublicKey(key) {
39
55
  if (typeof key === "string") {
40
56
  return createPublicKey(key);
41
57
  }
42
- if (key instanceof Uint8Array) {
43
- return createPublicKey({
44
- key: Buffer.from(key),
45
- format: "der",
46
- type: "spki",
47
- });
58
+ const bytes = key instanceof ArrayBuffer ? new Uint8Array(key) : key;
59
+ if (!(bytes instanceof Uint8Array)) {
60
+ throw new TypeError("Invalid public key.");
61
+ }
62
+ if (looksLikePem(bytes)) {
63
+ return createPublicKey(Buffer.from(bytes));
48
64
  }
49
- throw new TypeError("Invalid public key.");
65
+ return createPublicKey({
66
+ key: Buffer.from(bytes),
67
+ format: "der",
68
+ type: "spki",
69
+ });
50
70
  }
51
71
  //# sourceMappingURL=signing.conversion.js.map
@@ -1,4 +1,5 @@
1
1
  import { type KeyObject } from "node:crypto";
2
+ import { type KeyMaterial } from "./signing.conversion.js";
2
3
  /**
3
4
  * Generates an Ed25519 key pair.
4
5
  */
@@ -17,5 +18,5 @@ export declare function exportPublicKeyPem(publicKey: KeyObject): string;
17
18
  /**
18
19
  * Creates a public key from a private key.
19
20
  */
20
- export declare function derivePublicKey(privateKey: KeyObject | string | Uint8Array): KeyObject;
21
+ export declare function derivePublicKey(privateKey: KeyMaterial): KeyObject;
21
22
  //# sourceMappingURL=signing.core.d.ts.map
@@ -1,6 +1,5 @@
1
- import { generateKeyPairSync, createPrivateKey, createPublicKey, } from "node:crypto";
2
- import { CryptoAlgorithm } from "../../cryptoConstants/cryptoConstants.type.js";
3
- import { cryptoKeyToPrivateKey, toPrivateKey } from "./signing.conversion.js";
1
+ import { generateKeyPairSync, createPublicKey } from "node:crypto";
2
+ import { toPrivateKey } from "./signing.conversion.js";
4
3
  import { assertKeyObject } from "./signing.utils.js";
5
4
  /**
6
5
  * Generates an Ed25519 key pair.
@@ -1,9 +1,17 @@
1
1
  import type { SignatureAlgorithm } from "../../cryptoProvider/index.js";
2
- import type { KeyObject } from "node:crypto";
2
+ import { KeyObject } from "node:crypto";
3
3
  /**
4
- * Maps a signature algorithm to a Node.js hash algorithm name.
4
+ * Maps a signature algorithm to the OpenSSL digest name used with
5
+ * `createSign`/`createVerify`.
6
+ *
7
+ * Ed25519 is a pure signature scheme and has no digest; use
8
+ * `crypto.sign(null, ...)` for it instead.
5
9
  */
6
10
  export declare function nodeSignatureAlgorithm(algorithm: SignatureAlgorithm): string;
11
+ /**
12
+ * Returns the `KeyObject.asymmetricKeyType` a signature algorithm requires.
13
+ */
14
+ export declare function expectedAsymmetricKeyType(algorithm: SignatureAlgorithm): "rsa" | "ec" | "ed25519";
7
15
  /**
8
16
  * Checks whether a value is a Node.js KeyObject.
9
17
  */
@@ -1,5 +1,10 @@
1
+ import { KeyObject } from "node:crypto";
1
2
  /**
2
- * Maps a signature algorithm to a Node.js hash algorithm name.
3
+ * Maps a signature algorithm to the OpenSSL digest name used with
4
+ * `createSign`/`createVerify`.
5
+ *
6
+ * Ed25519 is a pure signature scheme and has no digest; use
7
+ * `crypto.sign(null, ...)` for it instead.
3
8
  */
4
9
  export function nodeSignatureAlgorithm(algorithm) {
5
10
  switch (algorithm) {
@@ -21,14 +26,30 @@ export function nodeSignatureAlgorithm(algorithm) {
21
26
  throw new TypeError(`Unsupported signature algorithm: ${String(algorithm)}.`);
22
27
  }
23
28
  }
29
+ /**
30
+ * Returns the `KeyObject.asymmetricKeyType` a signature algorithm requires.
31
+ */
32
+ export function expectedAsymmetricKeyType(algorithm) {
33
+ switch (algorithm) {
34
+ case "rsa-sha256":
35
+ case "rsa-sha384":
36
+ case "rsa-sha512":
37
+ return "rsa";
38
+ case "ecdsa-sha256":
39
+ case "ecdsa-sha384":
40
+ case "ecdsa-sha512":
41
+ return "ec";
42
+ case "ed25519":
43
+ return "ed25519";
44
+ default:
45
+ throw new TypeError(`Unsupported signature algorithm: ${String(algorithm)}.`);
46
+ }
47
+ }
24
48
  /**
25
49
  * Checks whether a value is a Node.js KeyObject.
26
50
  */
27
51
  export function isKeyObject(value) {
28
- return (typeof value === "object" &&
29
- value !== null &&
30
- "type" in value &&
31
- "export" in value);
52
+ return value instanceof KeyObject;
32
53
  }
33
54
  /**
34
55
  * Asserts that a value is a Node.js KeyObject.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zudojs/crypto",
3
- "version": "0.1.0",
3
+ "version": "1.1.0",
4
4
  "description": "Cryptographic primitives for hashing, encryption, tokens, and secure random generation.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -13,25 +13,27 @@
13
13
  }
14
14
  },
15
15
  "files": [
16
- "dist"
16
+ "dist",
17
+ "!dist/**/*.map",
18
+ "!dist/**/*.tsbuildinfo",
19
+ "!dist/.tsbuildinfo",
20
+ "LICENSE"
17
21
  ],
18
- "scripts": {
19
- "build": "tsc -p tsconfig.json",
20
- "typecheck": "tsc -p tsconfig.json --noEmit",
21
- "clean": "rm -rf dist",
22
- "test": "vitest run",
23
- "test:watch": "vitest"
24
- },
25
22
  "engines": {
26
23
  "node": ">=24.0.0"
27
24
  },
28
25
  "dependencies": {
29
- "@zudojs/constants": "0.1.0",
30
- "@zudojs/errors": "0.1.0"
26
+ "@zudojs/constants": "1.0.1",
27
+ "@zudojs/errors": "1.0.1"
31
28
  },
32
29
  "license": "MIT",
30
+ "author": {
31
+ "name": "Oluwayemi Oyinlola",
32
+ "url": "https://github.com/oyinlola-tech"
33
+ },
33
34
  "devDependencies": {
34
- "typescript": "^7.0.2"
35
+ "typescript": "7.0.2",
36
+ "vitest": "^4.1.11"
35
37
  },
36
38
  "publishConfig": {
37
39
  "access": "public"
@@ -44,8 +46,20 @@
44
46
  "security"
45
47
  ],
46
48
  "homepage": "https://github.com/oyinlola-tech/zudo#readme",
49
+ "bugs": {
50
+ "url": "https://github.com/oyinlola-tech/zudo/issues"
51
+ },
47
52
  "repository": {
48
53
  "type": "git",
49
- "url": "https://github.com/oyinlola-tech/zudo"
54
+ "url": "https://github.com/oyinlola-tech/zudo",
55
+ "directory": "packages/crypto"
56
+ },
57
+ "sideEffects": false,
58
+ "scripts": {
59
+ "build": "tsc -p tsconfig.json",
60
+ "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json --noEmit",
61
+ "clean": "rm -rf dist *.tsbuildinfo",
62
+ "test": "vitest run",
63
+ "test:watch": "vitest"
50
64
  }
51
- }
65
+ }