@apeleghq/sha2 0.1.1 → 0.1.2

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 (306) hide show
  1. package/README.md +174 -21
  2. package/package.json +759 -129
  3. package/{sha224+deserialize+serialize+streaming.cjs → sha224+deserialize+serialize+streaming.es.cjs} +32 -32
  4. package/{sha224+deserialize+serialize+streaming.mjs → sha224+deserialize+serialize+streaming.es.mjs} +28 -28
  5. package/sha224+deserialize+serialize+streaming.wasm.cjs +7 -0
  6. package/sha224+deserialize+serialize+streaming.wasm.mjs +7 -0
  7. package/sha224+sha256+deserialize+serialize+streaming.es.cjs +37 -0
  8. package/{sha224+sha256+deserialize+serialize+streaming.mjs → sha224+sha256+deserialize+serialize+streaming.es.mjs} +18 -18
  9. package/sha224+sha256+deserialize+serialize+streaming.wasm.cjs +7 -0
  10. package/sha224+sha256+deserialize+serialize+streaming.wasm.mjs +8 -0
  11. package/sha224+sha256+sha384+deserialize+serialize+streaming.es.cjs +70 -0
  12. package/sha224+sha256+sha384+deserialize+serialize+streaming.es.mjs +70 -0
  13. package/sha224+sha256+sha384+deserialize+serialize+streaming.wasm.cjs +8 -0
  14. package/sha224+sha256+sha384+deserialize+serialize+streaming.wasm.mjs +8 -0
  15. package/{sha224+sha256+sha384+sha512+deserialize+serialize+streaming.cjs → sha224+sha256+sha384+sha512+deserialize+serialize+streaming.es.cjs} +56 -55
  16. package/{sha224+sha256+sha384+sha512+deserialize+serialize+streaming.mjs → sha224+sha256+sha384+sha512+deserialize+serialize+streaming.es.mjs} +58 -57
  17. package/sha224+sha256+sha384+sha512+deserialize+serialize+streaming.wasm.cjs +8 -0
  18. package/sha224+sha256+sha384+sha512+deserialize+serialize+streaming.wasm.mjs +8 -0
  19. package/sha224+sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.es.cjs +92 -0
  20. package/sha224+sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.es.mjs +93 -0
  21. package/sha224+sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
  22. package/sha224+sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
  23. package/{sha224+sha256+sha384+sha512+sha512_256+streaming.cjs → sha224+sha256+sha384+sha512+sha512_256+streaming.es.cjs} +51 -50
  24. package/{sha224+sha256+sha384+sha512+sha512_256+streaming.mjs → sha224+sha256+sha384+sha512+sha512_256+streaming.es.mjs} +42 -41
  25. package/sha224+sha256+sha384+sha512+sha512_256+streaming.wasm.cjs +7 -0
  26. package/sha224+sha256+sha384+sha512+sha512_256+streaming.wasm.mjs +7 -0
  27. package/{sha224+sha256+sha384+sha512+streaming.cjs → sha224+sha256+sha384+sha512+streaming.es.cjs} +40 -40
  28. package/{sha224+sha256+sha384+sha512+streaming.mjs → sha224+sha256+sha384+sha512+streaming.es.mjs} +39 -39
  29. package/sha224+sha256+sha384+sha512+streaming.wasm.cjs +7 -0
  30. package/sha224+sha256+sha384+sha512+streaming.wasm.mjs +7 -0
  31. package/{sha224+sha256+sha384+sha512_256+deserialize+serialize+streaming.cjs → sha224+sha256+sha384+sha512_256+deserialize+serialize+streaming.es.cjs} +56 -56
  32. package/{sha224+sha256+sha384+sha512_256+deserialize+serialize+streaming.mjs → sha224+sha256+sha384+sha512_256+deserialize+serialize+streaming.es.mjs} +58 -58
  33. package/sha224+sha256+sha384+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
  34. package/sha224+sha256+sha384+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
  35. package/sha224+sha256+sha384+sha512_256+streaming.es.cjs +61 -0
  36. package/sha224+sha256+sha384+sha512_256+streaming.es.mjs +61 -0
  37. package/sha224+sha256+sha384+sha512_256+streaming.wasm.cjs +7 -0
  38. package/sha224+sha256+sha384+sha512_256+streaming.wasm.mjs +7 -0
  39. package/sha224+sha256+sha384+streaming.es.cjs +48 -0
  40. package/{sha224+sha256+sha384+streaming.mjs → sha224+sha256+sha384+streaming.es.mjs} +34 -34
  41. package/sha224+sha256+sha384+streaming.wasm.cjs +7 -0
  42. package/sha224+sha256+sha384+streaming.wasm.mjs +7 -0
  43. package/sha224+sha256+sha512+deserialize+serialize+streaming.es.cjs +70 -0
  44. package/sha224+sha256+sha512+deserialize+serialize+streaming.es.mjs +70 -0
  45. package/sha224+sha256+sha512+deserialize+serialize+streaming.wasm.cjs +8 -0
  46. package/sha224+sha256+sha512+deserialize+serialize+streaming.wasm.mjs +8 -0
  47. package/{sha224+sha256+sha512+sha512_256+deserialize+serialize+streaming.cjs → sha224+sha256+sha512+sha512_256+deserialize+serialize+streaming.es.cjs} +51 -50
  48. package/{sha224+sha256+sha512+sha512_256+deserialize+serialize+streaming.mjs → sha224+sha256+sha512+sha512_256+deserialize+serialize+streaming.es.mjs} +49 -49
  49. package/sha224+sha256+sha512+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
  50. package/sha224+sha256+sha512+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
  51. package/{sha224+sha256+sha512+sha512_256+streaming.cjs → sha224+sha256+sha512+sha512_256+streaming.es.cjs} +42 -42
  52. package/{sha224+sha256+sha512+sha512_256+streaming.mjs → sha224+sha256+sha512+sha512_256+streaming.es.mjs} +42 -42
  53. package/sha224+sha256+sha512+sha512_256+streaming.wasm.cjs +7 -0
  54. package/sha224+sha256+sha512+sha512_256+streaming.wasm.mjs +7 -0
  55. package/{sha224+sha256+sha512+streaming.cjs → sha224+sha256+sha512+streaming.es.cjs} +37 -37
  56. package/sha224+sha256+sha512+streaming.es.mjs +49 -0
  57. package/sha224+sha256+sha512+streaming.wasm.cjs +7 -0
  58. package/sha224+sha256+sha512+streaming.wasm.mjs +7 -0
  59. package/sha224+sha256+sha512_256+deserialize+serialize+streaming.es.cjs +69 -0
  60. package/sha224+sha256+sha512_256+deserialize+serialize+streaming.es.mjs +68 -0
  61. package/sha224+sha256+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
  62. package/sha224+sha256+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
  63. package/{sha224+sha256+sha512_256+streaming.cjs → sha224+sha256+sha512_256+streaming.es.cjs} +32 -32
  64. package/{sha224+sha256+sha512_256+streaming.mjs → sha224+sha256+sha512_256+streaming.es.mjs} +31 -31
  65. package/sha224+sha256+sha512_256+streaming.wasm.cjs +7 -0
  66. package/sha224+sha256+sha512_256+streaming.wasm.mjs +7 -0
  67. package/sha224+sha256+streaming.es.cjs +26 -0
  68. package/sha224+sha256+streaming.es.mjs +26 -0
  69. package/sha224+sha256+streaming.wasm.cjs +6 -0
  70. package/sha224+sha256+streaming.wasm.mjs +7 -0
  71. package/{sha224+sha384+deserialize+serialize+streaming.cjs → sha224+sha384+deserialize+serialize+streaming.es.cjs} +51 -50
  72. package/{sha224+sha384+deserialize+serialize+streaming.mjs → sha224+sha384+deserialize+serialize+streaming.es.mjs} +48 -47
  73. package/sha224+sha384+deserialize+serialize+streaming.wasm.cjs +7 -0
  74. package/sha224+sha384+deserialize+serialize+streaming.wasm.mjs +8 -0
  75. package/{sha224+sha384+sha512+deserialize+serialize+streaming.mjs → sha224+sha384+sha512+deserialize+serialize+streaming.es.cjs} +57 -56
  76. package/sha224+sha384+sha512+deserialize+serialize+streaming.es.mjs +82 -0
  77. package/sha224+sha384+sha512+deserialize+serialize+streaming.wasm.cjs +8 -0
  78. package/sha224+sha384+sha512+deserialize+serialize+streaming.wasm.mjs +8 -0
  79. package/{sha224+sha384+sha512+sha512_256+deserialize+serialize+streaming.cjs → sha224+sha384+sha512+sha512_256+deserialize+serialize+streaming.es.cjs} +50 -50
  80. package/{sha224+sha384+sha512+sha512_256+deserialize+serialize+streaming.mjs → sha224+sha384+sha512+sha512_256+deserialize+serialize+streaming.es.mjs} +49 -49
  81. package/sha224+sha384+sha512+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
  82. package/sha224+sha384+sha512+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
  83. package/{sha224+sha384+sha512+sha512_256+streaming.cjs → sha224+sha384+sha512+sha512_256+streaming.es.cjs} +46 -46
  84. package/sha224+sha384+sha512+sha512_256+streaming.es.mjs +64 -0
  85. package/sha224+sha384+sha512+sha512_256+streaming.wasm.cjs +7 -0
  86. package/sha224+sha384+sha512+sha512_256+streaming.wasm.mjs +7 -0
  87. package/sha224+sha384+sha512+streaming.es.cjs +58 -0
  88. package/{sha224+sha384+sha512+streaming.mjs → sha224+sha384+sha512+streaming.es.mjs} +34 -33
  89. package/sha224+sha384+sha512+streaming.wasm.cjs +7 -0
  90. package/sha224+sha384+sha512+streaming.wasm.mjs +7 -0
  91. package/{sha224+sha384+sha512_256+deserialize+serialize+streaming.mjs → sha224+sha384+sha512_256+deserialize+serialize+streaming.es.cjs} +56 -56
  92. package/sha224+sha384+sha512_256+deserialize+serialize+streaming.es.mjs +80 -0
  93. package/sha224+sha384+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
  94. package/sha224+sha384+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
  95. package/sha224+sha384+sha512_256+streaming.es.cjs +56 -0
  96. package/sha224+sha384+sha512_256+streaming.es.mjs +56 -0
  97. package/sha224+sha384+sha512_256+streaming.wasm.cjs +7 -0
  98. package/sha224+sha384+sha512_256+streaming.wasm.mjs +7 -0
  99. package/{sha224+sha384+streaming.cjs → sha224+sha384+streaming.es.cjs} +29 -29
  100. package/sha224+sha384+streaming.es.mjs +44 -0
  101. package/sha224+sha384+streaming.wasm.cjs +6 -0
  102. package/sha224+sha384+streaming.wasm.mjs +7 -0
  103. package/{sha224+sha512+deserialize+serialize+streaming.cjs → sha224+sha512+deserialize+serialize+streaming.es.cjs} +48 -48
  104. package/{sha224+sha512+deserialize+serialize+streaming.mjs → sha224+sha512+deserialize+serialize+streaming.es.mjs} +45 -45
  105. package/sha224+sha512+deserialize+serialize+streaming.wasm.cjs +7 -0
  106. package/sha224+sha512+deserialize+serialize+streaming.wasm.mjs +8 -0
  107. package/sha224+sha512+sha512_256+deserialize+serialize+streaming.es.cjs +81 -0
  108. package/{sha224+sha512+sha512_256+deserialize+serialize+streaming.mjs → sha224+sha512+sha512_256+deserialize+serialize+streaming.es.mjs} +56 -56
  109. package/sha224+sha512+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
  110. package/sha224+sha512+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
  111. package/{sha224+sha512+sha512_256+streaming.cjs → sha224+sha512+sha512_256+streaming.es.cjs} +33 -32
  112. package/sha224+sha512+sha512_256+streaming.es.mjs +57 -0
  113. package/sha224+sha512+sha512_256+streaming.wasm.cjs +7 -0
  114. package/sha224+sha512+sha512_256+streaming.wasm.mjs +7 -0
  115. package/sha224+sha512+streaming.es.cjs +45 -0
  116. package/{sha224+sha512+streaming.mjs → sha224+sha512+streaming.es.mjs} +29 -29
  117. package/sha224+sha512+streaming.wasm.cjs +6 -0
  118. package/sha224+sha512+streaming.wasm.mjs +7 -0
  119. package/{sha224+sha512_256+deserialize+serialize+streaming.cjs → sha224+sha512_256+deserialize+serialize+streaming.es.cjs} +46 -45
  120. package/{sha224+sha512_256+deserialize+serialize+streaming.mjs → sha224+sha512_256+deserialize+serialize+streaming.es.mjs} +45 -44
  121. package/sha224+sha512_256+deserialize+serialize+streaming.wasm.cjs +7 -0
  122. package/sha224+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
  123. package/{sha224+sha512_256+streaming.cjs → sha224+sha512_256+streaming.es.cjs} +28 -27
  124. package/{sha224+sha512_256+streaming.mjs → sha224+sha512_256+streaming.es.mjs} +27 -26
  125. package/sha224+sha512_256+streaming.wasm.cjs +6 -0
  126. package/sha224+sha512_256+streaming.wasm.mjs +7 -0
  127. package/{sha224+streaming.cjs → sha224+streaming.es.cjs} +18 -18
  128. package/{sha224+streaming.mjs → sha224+streaming.es.mjs} +18 -17
  129. package/sha224+streaming.wasm.cjs +6 -0
  130. package/sha224+streaming.wasm.mjs +6 -0
  131. package/{sha256+deserialize+serialize+streaming.cjs → sha256+deserialize+serialize+streaming.es.cjs} +31 -31
  132. package/{sha256+deserialize+serialize+streaming.mjs → sha256+deserialize+serialize+streaming.es.mjs} +26 -26
  133. package/sha256+deserialize+serialize+streaming.wasm.cjs +7 -0
  134. package/sha256+deserialize+serialize+streaming.wasm.mjs +7 -0
  135. package/{sha256+sha384+deserialize+serialize+streaming.cjs → sha256+sha384+deserialize+serialize+streaming.es.cjs} +48 -47
  136. package/{sha256+sha384+deserialize+serialize+streaming.mjs → sha256+sha384+deserialize+serialize+streaming.es.mjs} +47 -47
  137. package/sha256+sha384+deserialize+serialize+streaming.wasm.cjs +7 -0
  138. package/sha256+sha384+deserialize+serialize+streaming.wasm.mjs +8 -0
  139. package/{sha256+sha384+sha512+deserialize+serialize+streaming.mjs → sha256+sha384+sha512+deserialize+serialize+streaming.es.cjs} +56 -55
  140. package/sha256+sha384+sha512+deserialize+serialize+streaming.es.mjs +82 -0
  141. package/sha256+sha384+sha512+deserialize+serialize+streaming.wasm.cjs +8 -0
  142. package/sha256+sha384+sha512+deserialize+serialize+streaming.wasm.mjs +8 -0
  143. package/{sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.cjs → sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.es.cjs} +50 -50
  144. package/{sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.mjs → sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.es.mjs} +50 -50
  145. package/sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
  146. package/sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
  147. package/sha256+sha384+sha512+sha512_256+streaming.es.cjs +64 -0
  148. package/sha256+sha384+sha512+sha512_256+streaming.es.mjs +64 -0
  149. package/sha256+sha384+sha512+sha512_256+streaming.wasm.cjs +7 -0
  150. package/sha256+sha384+sha512+sha512_256+streaming.wasm.mjs +7 -0
  151. package/sha256+sha384+sha512+streaming.es.cjs +58 -0
  152. package/sha256+sha384+sha512+streaming.es.mjs +58 -0
  153. package/sha256+sha384+sha512+streaming.wasm.cjs +7 -0
  154. package/sha256+sha384+sha512+streaming.wasm.mjs +7 -0
  155. package/sha256+sha384+sha512_256+deserialize+serialize+streaming.es.cjs +80 -0
  156. package/{sha256+sha384+sha512_256+deserialize+serialize+streaming.mjs → sha256+sha384+sha512_256+deserialize+serialize+streaming.es.mjs} +55 -55
  157. package/sha256+sha384+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
  158. package/sha256+sha384+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
  159. package/sha256+sha384+sha512_256+streaming.es.cjs +56 -0
  160. package/sha256+sha384+sha512_256+streaming.es.mjs +56 -0
  161. package/sha256+sha384+sha512_256+streaming.wasm.cjs +7 -0
  162. package/sha256+sha384+sha512_256+streaming.wasm.mjs +7 -0
  163. package/{sha256+sha384+streaming.cjs → sha256+sha384+streaming.es.cjs} +30 -29
  164. package/sha256+sha384+streaming.es.mjs +45 -0
  165. package/sha256+sha384+streaming.wasm.cjs +6 -0
  166. package/sha256+sha384+streaming.wasm.mjs +7 -0
  167. package/{sha256+sha512+deserialize+serialize+streaming.cjs → sha256+sha512+deserialize+serialize+streaming.es.cjs} +45 -45
  168. package/{sha256+sha512+deserialize+serialize+streaming.mjs → sha256+sha512+deserialize+serialize+streaming.es.mjs} +44 -44
  169. package/sha256+sha512+deserialize+serialize+streaming.wasm.cjs +7 -0
  170. package/sha256+sha512+deserialize+serialize+streaming.wasm.mjs +8 -0
  171. package/sha256+sha512+sha512_256+deserialize+serialize+streaming.es.cjs +81 -0
  172. package/{sha256+sha512+sha512_256+deserialize+serialize+streaming.mjs → sha256+sha512+sha512_256+deserialize+serialize+streaming.es.mjs} +54 -53
  173. package/sha256+sha512+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
  174. package/sha256+sha512+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
  175. package/sha256+sha512+sha512_256+streaming.es.cjs +57 -0
  176. package/sha256+sha512+sha512_256+streaming.es.mjs +57 -0
  177. package/sha256+sha512+sha512_256+streaming.wasm.cjs +7 -0
  178. package/sha256+sha512+sha512_256+streaming.wasm.mjs +7 -0
  179. package/{sha256+sha512+streaming.cjs → sha256+sha512+streaming.es.cjs} +30 -30
  180. package/{sha256+sha512+streaming.mjs → sha256+sha512+streaming.es.mjs} +29 -29
  181. package/sha256+sha512+streaming.wasm.cjs +6 -0
  182. package/sha256+sha512+streaming.wasm.mjs +7 -0
  183. package/{sha256+sha512_256+deserialize+serialize+streaming.cjs → sha256+sha512_256+deserialize+serialize+streaming.es.cjs} +49 -48
  184. package/{sha256+sha512_256+deserialize+serialize+streaming.mjs → sha256+sha512_256+deserialize+serialize+streaming.es.mjs} +46 -45
  185. package/sha256+sha512_256+deserialize+serialize+streaming.wasm.cjs +7 -0
  186. package/sha256+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
  187. package/{sha256+sha512_256+streaming.cjs → sha256+sha512_256+streaming.es.cjs} +28 -27
  188. package/{sha256+sha512_256+streaming.mjs → sha256+sha512_256+streaming.es.mjs} +28 -28
  189. package/sha256+sha512_256+streaming.wasm.cjs +6 -0
  190. package/sha256+sha512_256+streaming.wasm.mjs +7 -0
  191. package/sha256+streaming.es.cjs +21 -0
  192. package/sha256+streaming.es.mjs +22 -0
  193. package/sha256+streaming.wasm.cjs +6 -0
  194. package/sha256+streaming.wasm.mjs +6 -0
  195. package/sha384+deserialize+serialize+streaming.es.cjs +44 -0
  196. package/sha384+deserialize+serialize+streaming.es.mjs +44 -0
  197. package/sha384+deserialize+serialize+streaming.wasm.cjs +7 -0
  198. package/sha384+deserialize+serialize+streaming.wasm.mjs +7 -0
  199. package/{sha384+sha512+deserialize+serialize+streaming.cjs → sha384+sha512+deserialize+serialize+streaming.es.cjs} +33 -33
  200. package/{sha384+sha512+deserialize+serialize+streaming.mjs → sha384+sha512+deserialize+serialize+streaming.es.mjs} +32 -32
  201. package/sha384+sha512+deserialize+serialize+streaming.wasm.cjs +7 -0
  202. package/sha384+sha512+deserialize+serialize+streaming.wasm.mjs +8 -0
  203. package/sha384+sha512+sha512_256+deserialize+serialize+streaming.es.cjs +68 -0
  204. package/sha384+sha512+sha512_256+deserialize+serialize+streaming.es.mjs +68 -0
  205. package/sha384+sha512+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
  206. package/sha384+sha512+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
  207. package/{sha384+sha512+sha512_256+streaming.cjs → sha384+sha512+sha512_256+streaming.es.cjs} +35 -34
  208. package/{sha384+sha512+sha512_256+streaming.mjs → sha384+sha512+sha512_256+streaming.es.mjs} +33 -33
  209. package/sha384+sha512+sha512_256+streaming.wasm.cjs +7 -0
  210. package/sha384+sha512+sha512_256+streaming.wasm.mjs +7 -0
  211. package/sha384+sha512+streaming.es.cjs +47 -0
  212. package/sha384+sha512+streaming.es.mjs +47 -0
  213. package/sha384+sha512+streaming.wasm.cjs +6 -0
  214. package/sha384+sha512+streaming.wasm.mjs +7 -0
  215. package/{sha384+sha512_256+deserialize+serialize+streaming.cjs → sha384+sha512_256+deserialize+serialize+streaming.es.cjs} +34 -33
  216. package/{sha384+sha512_256+deserialize+serialize+streaming.mjs → sha384+sha512_256+deserialize+serialize+streaming.es.mjs} +33 -32
  217. package/sha384+sha512_256+deserialize+serialize+streaming.wasm.cjs +7 -0
  218. package/sha384+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
  219. package/{sha384+sha512_256+streaming.cjs → sha384+sha512_256+streaming.es.cjs} +31 -30
  220. package/{sha384+sha512_256+streaming.mjs → sha384+sha512_256+streaming.es.mjs} +29 -28
  221. package/sha384+sha512_256+streaming.wasm.cjs +6 -0
  222. package/sha384+sha512_256+streaming.wasm.mjs +7 -0
  223. package/sha384+streaming.es.cjs +34 -0
  224. package/sha384+streaming.es.mjs +34 -0
  225. package/sha384+streaming.wasm.cjs +6 -0
  226. package/sha384+streaming.wasm.mjs +6 -0
  227. package/sha512+deserialize+serialize+streaming.es.cjs +45 -0
  228. package/sha512+deserialize+serialize+streaming.es.mjs +45 -0
  229. package/sha512+deserialize+serialize+streaming.wasm.cjs +7 -0
  230. package/sha512+deserialize+serialize+streaming.wasm.mjs +7 -0
  231. package/{sha512+sha512_256+deserialize+serialize+streaming.cjs → sha512+sha512_256+deserialize+serialize+streaming.es.cjs} +35 -35
  232. package/{sha512+sha512_256+deserialize+serialize+streaming.mjs → sha512+sha512_256+deserialize+serialize+streaming.es.mjs} +32 -32
  233. package/sha512+sha512_256+deserialize+serialize+streaming.wasm.cjs +7 -0
  234. package/sha512+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
  235. package/{sha512+sha512_256+streaming.cjs → sha512+sha512_256+streaming.es.cjs} +30 -29
  236. package/{sha512+sha512_256+streaming.mjs → sha512+sha512_256+streaming.es.mjs} +27 -27
  237. package/sha512+sha512_256+streaming.wasm.cjs +6 -0
  238. package/sha512+sha512_256+streaming.wasm.mjs +7 -0
  239. package/sha512+streaming.es.cjs +35 -0
  240. package/{sha512+streaming.mjs → sha512+streaming.es.mjs} +25 -25
  241. package/sha512+streaming.wasm.cjs +6 -0
  242. package/sha512+streaming.wasm.mjs +6 -0
  243. package/sha512_256+deserialize+serialize+streaming.es.cjs +43 -0
  244. package/sha512_256+deserialize+serialize+streaming.es.mjs +43 -0
  245. package/sha512_256+deserialize+serialize+streaming.wasm.cjs +7 -0
  246. package/sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
  247. package/sha512_256+streaming.es.cjs +33 -0
  248. package/sha512_256+streaming.es.mjs +33 -0
  249. package/sha512_256+streaming.wasm.cjs +6 -0
  250. package/sha512_256+streaming.wasm.mjs +6 -0
  251. package/types.d.cts +6 -2
  252. package/types.d.mts +6 -2
  253. package/sha224+sha256+deserialize+serialize+streaming.cjs +0 -37
  254. package/sha224+sha256+sha384+deserialize+serialize+streaming.cjs +0 -69
  255. package/sha224+sha256+sha384+deserialize+serialize+streaming.mjs +0 -69
  256. package/sha224+sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -92
  257. package/sha224+sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.mjs +0 -93
  258. package/sha224+sha256+sha384+sha512_256+streaming.cjs +0 -61
  259. package/sha224+sha256+sha384+sha512_256+streaming.mjs +0 -61
  260. package/sha224+sha256+sha384+streaming.cjs +0 -48
  261. package/sha224+sha256+sha512+deserialize+serialize+streaming.cjs +0 -70
  262. package/sha224+sha256+sha512+deserialize+serialize+streaming.mjs +0 -70
  263. package/sha224+sha256+sha512+streaming.mjs +0 -49
  264. package/sha224+sha256+sha512_256+deserialize+serialize+streaming.cjs +0 -68
  265. package/sha224+sha256+sha512_256+deserialize+serialize+streaming.mjs +0 -68
  266. package/sha224+sha256+streaming.cjs +0 -26
  267. package/sha224+sha256+streaming.mjs +0 -26
  268. package/sha224+sha384+sha512+deserialize+serialize+streaming.cjs +0 -81
  269. package/sha224+sha384+sha512+sha512_256+streaming.mjs +0 -64
  270. package/sha224+sha384+sha512+streaming.cjs +0 -57
  271. package/sha224+sha384+sha512_256+deserialize+serialize+streaming.cjs +0 -80
  272. package/sha224+sha384+sha512_256+streaming.cjs +0 -56
  273. package/sha224+sha384+sha512_256+streaming.mjs +0 -56
  274. package/sha224+sha384+streaming.mjs +0 -44
  275. package/sha224+sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -80
  276. package/sha224+sha512+sha512_256+streaming.mjs +0 -56
  277. package/sha224+sha512+streaming.cjs +0 -45
  278. package/sha256+sha384+sha512+deserialize+serialize+streaming.cjs +0 -81
  279. package/sha256+sha384+sha512+sha512_256+streaming.cjs +0 -64
  280. package/sha256+sha384+sha512+sha512_256+streaming.mjs +0 -64
  281. package/sha256+sha384+sha512+streaming.cjs +0 -57
  282. package/sha256+sha384+sha512+streaming.mjs +0 -58
  283. package/sha256+sha384+sha512_256+deserialize+serialize+streaming.cjs +0 -80
  284. package/sha256+sha384+sha512_256+streaming.cjs +0 -56
  285. package/sha256+sha384+sha512_256+streaming.mjs +0 -56
  286. package/sha256+sha384+streaming.mjs +0 -44
  287. package/sha256+sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -80
  288. package/sha256+sha512+sha512_256+streaming.cjs +0 -56
  289. package/sha256+sha512+sha512_256+streaming.mjs +0 -57
  290. package/sha256+streaming.cjs +0 -21
  291. package/sha256+streaming.mjs +0 -21
  292. package/sha384+deserialize+serialize+streaming.cjs +0 -44
  293. package/sha384+deserialize+serialize+streaming.mjs +0 -44
  294. package/sha384+sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -67
  295. package/sha384+sha512+sha512_256+deserialize+serialize+streaming.mjs +0 -67
  296. package/sha384+sha512+streaming.cjs +0 -47
  297. package/sha384+sha512+streaming.mjs +0 -47
  298. package/sha384+streaming.cjs +0 -33
  299. package/sha384+streaming.mjs +0 -34
  300. package/sha512+deserialize+serialize+streaming.cjs +0 -44
  301. package/sha512+deserialize+serialize+streaming.mjs +0 -45
  302. package/sha512+streaming.cjs +0 -34
  303. package/sha512_256+deserialize+serialize+streaming.cjs +0 -43
  304. package/sha512_256+deserialize+serialize+streaming.mjs +0 -43
  305. package/sha512_256+streaming.cjs +0 -32
  306. package/sha512_256+streaming.mjs +0 -33
package/README.md CHANGED
@@ -35,33 +35,35 @@ yarn add @apeleghq/sha2
35
35
 
36
36
  ## 📦 Package contents
37
37
 
38
- - Compiled WebAssembly module (.wasm), transpiled to JavaScript
38
+ - Compiled WebAssembly module (.wasm) in two versions:
39
+ * Transpiled to JavaScript
40
+ * As native WASM objects (`/wasm` export path)
39
41
  - JS/ESM glue to load the module
40
42
  - TypeScript declaration file (.d.ts) — the API described below
41
- - README, LICENSE
42
43
 
43
44
  ## 🔌 API Overview
44
45
 
45
- The module exports a single async default function that initialises the WASM module and returns factories for the enabled SHA-2 variants.
46
+ The module exports a single async default function that initialises the WASM
47
+ module and returns factories for the enabled SHA-2 variants.
46
48
 
47
- Signature (from the .d.ts):
49
+ Signature (from the `.d.ts`):
48
50
 
49
51
  - Default export: `async function (): Promise<Sha2Factories<...>>`
50
52
 
51
53
  Returned object contains one property per enabled algorithm (examples: `sha256`, `sha512`, etc.). Each property is a constructor/factory function with these behaviours:
52
54
 
53
55
  Hash instance methods:
54
- - `update(data: ArrayBuffer | ArrayBufferView, scrub?: boolean): void`
55
- - `finalize(scrub?: boolean): ArrayBuffer`
56
+ - `update(data: ArrayBufferLike | ArrayBufferView, scrub?: boolean): void`
57
+ - `finalize(scrub?: boolean): ArrayBufferLike`
56
58
  - `reset(): void`
57
- - `digest(data: ArrayBuffer | ArrayBufferView, scrub?: boolean): ArrayBuffer` —
59
+ - `digest(data: ArrayBufferLike | ArrayBufferView, scrub?: boolean): ArrayBuffer` —
58
60
  one-shot convenience (throws if instance is streaming)
59
61
 
60
- Optional (when serialize feature enabled):
61
- - `serialize(scrub?: boolean): ArrayBuffer`
62
+ Optional (when `serialize` feature enabled):
63
+ - `serialize(scrub?: boolean): ArrayBufferLike`
62
64
 
63
65
  Constructors may also accept a serialized state to resume:
64
- - `constructor(serializedData?: ArrayBuffer | ArrayBufferView | null, scrub?: boolean)`
66
+ - `constructor(serializedData?: ArrayBufferLike | ArrayBufferView | null, scrub?: boolean)`
65
67
 
66
68
  See the bundled `.d.ts` for exact types.
67
69
 
@@ -94,7 +96,7 @@ h.reset(); // reuse
94
96
  Serialisation / resuming:
95
97
 
96
98
  ```javascript
97
- import sha2 from '@apeleghq/sha2';
99
+ import sha2 from '@apeleghq/sha2/wasm';
98
100
 
99
101
  const factories = await sha2();
100
102
  const h = factories.sha256();
@@ -118,12 +120,18 @@ Apart from the main export at the root (`@apeleghq/sha2`), there are additional
118
120
  exports based on specific build-time features. This enables selecting just those
119
121
  features that are needed to reduce bundle size.
120
122
 
121
- #### Example
123
+ #### WASM exports
124
+
125
+ The `/wasm` export path prefix can be used to select native WASM instead of WASM
126
+ transpiled to JS. For example:
122
127
 
128
+ - `@apeleghq/sha2` -> `@apeleghq/sha2/wasm`
129
+ - `@apeleghq/sha2/sha256+streaming` -> `@apeleghq/sha2/wasm/sha256+streaming`
130
+
131
+ #### Example
123
132
 
124
133
  ```javascript
125
- // Just some
126
- import sha2_ɑ from '@apeleghq/sha2/sha256+sha384+streaming';
134
+ import sha2_ɑ from '@apeleghq/sha2/wasm/sha256+sha384+streaming';
127
135
  import sha2_β from '@apeleghq/sha2/sha384+deserialize+serialize+streaming';
128
136
 
129
137
  const factories_ɑ = await sha2_ɑ();
@@ -171,23 +179,168 @@ const digest = h.digest(new TextEncoder().encode('hello'));
171
179
  console.log(Buffer.from(digest).toString('hex'));
172
180
  ```
173
181
 
182
+ ## Benchmark
183
+
184
+ <details>
185
+ <summary>
186
+ Benchmark results comparing various NPM packages and `SubtleCrypto`
187
+ </summary>
188
+
189
+ Generated using the project under the `ecmascript/benchmark` directory in
190
+ Node.js v24.14.0. Like all benchmarks, results are estimative and dependent on
191
+ the specific environment they're generated in.
192
+
193
+ > [!IMPORTANT]
194
+ > All results are experimental and should not be used for production
195
+ > decision-making.
196
+
197
+ ### Critical limitations
198
+
199
+ - **Environment-Specific**: Results were measured on:
200
+ - Hardware: Google Axion (Arm64) -- `c4a-standard-2` (2 vCPUs, 8 GB memory)
201
+ - OS: Debian GNU/Linux 12 (bookworm)
202
+ - Node.js: v24.14.0
203
+ - **Methodology**:
204
+ - Tests ran with `4096 iterations` per method:
205
+ * 32 trials of 128 runs (plus 64 warm up runs)
206
+ - Measured using `benchmark/src/index.js`
207
+ - **Key Caveats**:
208
+ 1. Results **do not account for real-world network delays or memory constraints**.
209
+ 2. This benchmark focuses on *raw execution speed*, not security or
210
+ correctness.
211
+ 3. Results do not account for conversions between different output formats
212
+ (for example, from `Uint8Array` to `string`).
213
+
214
+ ### Results
215
+
216
+ ```
217
+ ================================================================================
218
+ SHA-256 BENCHMARK RESULTS (All values in ms)
219
+ ================================================================================
220
+
221
+ Buffer Size: 1.00 KiB | Iterations: 4096
222
+ --------------------------------------------------------------------------------
223
+ Package Time (ms) Ops/s MiB/s Relative
224
+ --------------------------------------------------------------------------------
225
+ hash-wasm 17.821 229844.87 224.46 1.00 ⭐
226
+ @apeleghq/sha2 (WASM) 21.570 189896.28 185.45 1.21
227
+ sha256-uint8array 23.286 175901.87 171.78 1.31
228
+ fast-sha256 27.405 149464.30 145.96 1.54
229
+ @apeleghq/sha2 (ES) 34.700 118039.06 115.27 1.95
230
+ @aws-crypto/sha256-js 42.605 96139.81 93.89 2.39
231
+ js-sha256 52.008 78756.57 76.91 2.92
232
+ sha.js 52.201 78466.52 76.63 2.93
233
+ SubtleCrypto.digest 70.314 58252.77 56.89 3.95
234
+ jssha 102.638 39907.12 38.97 5.76
235
+ ================================================================================
236
+
237
+ Buffer Size: 8.00 KiB | Iterations: 4096
238
+ --------------------------------------------------------------------------------
239
+ Package Time (ms) Ops/s MiB/s Relative
240
+ --------------------------------------------------------------------------------
241
+ SubtleCrypto.digest 92.174 44437.72 347.17 1.00 ⭐
242
+ hash-wasm 115.905 35339.44 276.09 1.26
243
+ @apeleghq/sha2 (WASM) 138.932 29481.99 230.33 1.51
244
+ fast-sha256 152.459 26866.25 209.89 1.65
245
+ sha256-uint8array 168.342 24331.43 190.09 1.83
246
+ @apeleghq/sha2 (ES) 234.541 17463.87 136.44 2.54
247
+ @aws-crypto/sha256-js 247.764 16531.86 129.16 2.69
248
+ sha.js 376.521 10878.55 84.99 4.08
249
+ js-sha256 378.958 10808.59 84.44 4.11
250
+ jssha 657.468 6229.96 48.67 7.13
251
+ ================================================================================
252
+
253
+ Buffer Size: 64.00 KiB | Iterations: 4096
254
+ --------------------------------------------------------------------------------
255
+ Package Time (ms) Ops/s MiB/s Relative
256
+ --------------------------------------------------------------------------------
257
+ SubtleCrypto.digest 213.336 19199.79 1199.99 1.00 ⭐
258
+ hash-wasm 906.780 4517.08 282.32 4.25
259
+ @apeleghq/sha2 (WASM) 1082.871 3782.54 236.41 5.08
260
+ fast-sha256 1158.839 3534.57 220.91 5.43
261
+ sha256-uint8array 1331.819 3075.49 192.22 6.24
262
+ @apeleghq/sha2 (ES) 1839.875 2226.24 139.14 8.62
263
+ @aws-crypto/sha256-js 1919.013 2134.43 133.40 9.00
264
+ sha.js 2982.336 1373.42 85.84 13.98
265
+ js-sha256 2999.960 1365.35 85.33 14.06
266
+ jssha 5335.070 767.75 47.98 25.01
267
+ ================================================================================
268
+
269
+ Buffer Size: 128.00 KiB | Iterations: 4096
270
+ --------------------------------------------------------------------------------
271
+ Package Time (ms) Ops/s MiB/s Relative
272
+ --------------------------------------------------------------------------------
273
+ SubtleCrypto.digest 358.483 11425.94 1428.24 1.00 ⭐
274
+ hash-wasm 1809.927 2263.07 282.88 5.05
275
+ @apeleghq/sha2 (WASM) 2161.730 1894.78 236.85 6.03
276
+ fast-sha256 2307.237 1775.28 221.91 6.44
277
+ sha256-uint8array 2662.413 1538.45 192.31 7.43
278
+ @apeleghq/sha2 (ES) 3674.348 1114.76 139.34 10.25
279
+ @aws-crypto/sha256-js 3875.821 1056.81 132.10 10.81
280
+ sha.js 5963.498 686.85 85.86 16.64
281
+ js-sha256 5997.562 682.94 85.37 16.73
282
+ jssha 10624.567 385.52 48.19 29.64
283
+ ================================================================================
284
+
285
+ Buffer Size: 1.00 MiB | Iterations: 4096
286
+ --------------------------------------------------------------------------------
287
+ Package Time (ms) Ops/s MiB/s Relative
288
+ --------------------------------------------------------------------------------
289
+ SubtleCrypto.digest 2460.611 1664.63 1664.63 1.00 ⭐
290
+ hash-wasm 14455.977 283.34 283.34 5.87
291
+ @apeleghq/sha2 (WASM) 17273.645 237.12 237.12 7.02
292
+ fast-sha256 18400.186 222.61 222.61 7.48
293
+ sha256-uint8array 21268.677 192.58 192.58 8.64
294
+ @apeleghq/sha2 (ES) 29377.296 139.43 139.43 11.94
295
+ @aws-crypto/sha256-js 30883.621 132.63 132.63 12.55
296
+ sha.js 47633.245 85.99 85.99 19.36
297
+ js-sha256 47922.980 85.47 85.47 19.48
298
+ jssha 88358.879 46.36 46.36 35.91
299
+ ================================================================================
300
+
301
+ Buffer Size: 8.00 MiB | Iterations: 4096
302
+ --------------------------------------------------------------------------------
303
+ Package Time (ms) Ops/s MiB/s Relative
304
+ --------------------------------------------------------------------------------
305
+ SubtleCrypto.digest 19906.582 205.76 1646.09 1.00 ⭐
306
+ hash-wasm 116755.581 35.08 280.65 5.87
307
+ @apeleghq/sha2 (WASM) 138838.406 29.50 236.02 6.97
308
+ fast-sha256 147150.129 27.84 222.68 7.39
309
+ sha256-uint8array 170153.840 24.07 192.58 8.55
310
+ @apeleghq/sha2 (ES) 235558.740 17.39 139.11 11.83
311
+ @aws-crypto/sha256-js 246980.488 16.58 132.67 12.41
312
+ sha.js 381080.391 10.75 85.99 19.14
313
+ js-sha256 383169.696 10.69 85.52 19.25
314
+ jssha 693626.187 5.91 47.24 34.84
315
+ ================================================================================
316
+
317
+ ================================================================================
318
+ SUMMARY: Fastest package by buffer size
319
+ ================================================================================
320
+ Buffer Size Fastest Package
321
+ --------------------------------------------------------------------------------
322
+ 1.00 KiB hash-wasm
323
+ 8.00 KiB SubtleCrypto.digest
324
+ 64.00 KiB SubtleCrypto.digest
325
+ 128.00 KiB SubtleCrypto.digest
326
+ 1.00 MiB SubtleCrypto.digest
327
+ 8.00 MiB SubtleCrypto.digest
328
+ ================================================================================
329
+ ```
330
+ </details>
331
+
174
332
  ## ⚙️ Build features
175
333
 
176
334
  Build-time feature flags (available via `import.meta.features` in the bundling
177
335
  environment) control which algorithms and optional capabilities are compiled in:
178
336
 
179
337
  - `sha224`, `sha256`, `sha384`, `sha512`, `sha512_256`
180
- - `serialize`, `deserialize` — enables `serialize`/`deserialize` APIs
181
- (for importing and exporting the hasher state)
338
+ - `serialize`, `deserialize` — enables `serialize` / `deserialize` APIs,
339
+ respectively (for importing and exporting the hasher state)
182
340
 
183
341
  The TypeScript declaration mirrors which factories are present according to the
184
342
  build features.
185
343
 
186
- ## 📦 Distribution targets
187
-
188
- - ESM (recommended)
189
- - Node.js and browser-compatible WASM + light JS loader included
190
-
191
344
  ## 🤝 Contributing
192
345
 
193
346
  Contributions welcome. Open issues or pull requests in the repository.