@apeleghq/sha2 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/README.md +174 -21
  2. package/package.json +759 -129
  3. package/sha224+deserialize+serialize+streaming.es.cjs +41 -0
  4. package/sha224+deserialize+serialize+streaming.es.mjs +40 -0
  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 +50 -0
  8. package/sha224+sha256+deserialize+serialize+streaming.es.mjs +50 -0
  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 +95 -0
  12. package/sha224+sha256+sha384+deserialize+serialize+streaming.es.mjs +96 -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.es.cjs +112 -0
  16. package/sha224+sha256+sha384+sha512+deserialize+serialize+streaming.es.mjs +113 -0
  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 +127 -0
  20. package/sha224+sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.es.mjs +129 -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.es.cjs +173 -0
  24. package/sha224+sha256+sha384+sha512+sha512_256+streaming.es.mjs +174 -0
  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.es.cjs +142 -0
  28. package/sha224+sha256+sha384+sha512+streaming.es.mjs +143 -0
  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.es.cjs +110 -0
  32. package/sha224+sha256+sha384+sha512_256+deserialize+serialize+streaming.es.mjs +110 -0
  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 +140 -0
  36. package/sha224+sha256+sha384+sha512_256+streaming.es.mjs +141 -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 +109 -0
  40. package/sha224+sha256+sha384+streaming.es.mjs +109 -0
  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 +96 -0
  44. package/sha224+sha256+sha512+deserialize+serialize+streaming.es.mjs +97 -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.es.cjs +111 -0
  48. package/sha224+sha256+sha512+sha512_256+deserialize+serialize+streaming.es.mjs +112 -0
  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.es.cjs +141 -0
  52. package/sha224+sha256+sha512+sha512_256+streaming.es.mjs +142 -0
  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.es.cjs +110 -0
  56. package/sha224+sha256+sha512+streaming.es.mjs +110 -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 +94 -0
  60. package/sha224+sha256+sha512_256+deserialize+serialize+streaming.es.mjs +95 -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.es.cjs +108 -0
  64. package/sha224+sha256+sha512_256+streaming.es.mjs +108 -0
  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 +49 -0
  68. package/sha224+sha256+streaming.es.mjs +49 -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.es.cjs +85 -0
  72. package/sha224+sha384+deserialize+serialize+streaming.es.mjs +85 -0
  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.es.cjs +103 -0
  76. package/sha224+sha384+sha512+deserialize+serialize+streaming.es.mjs +104 -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.es.cjs +119 -0
  80. package/sha224+sha384+sha512+sha512_256+deserialize+serialize+streaming.es.mjs +120 -0
  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.es.cjs +159 -0
  84. package/sha224+sha384+sha512+sha512_256+streaming.es.mjs +160 -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 +128 -0
  88. package/sha224+sha384+sha512+streaming.es.mjs +128 -0
  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.es.cjs +101 -0
  92. package/sha224+sha384+sha512_256+deserialize+serialize+streaming.es.mjs +102 -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 +126 -0
  96. package/sha224+sha384+sha512_256+streaming.es.mjs +126 -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.es.cjs +95 -0
  100. package/sha224+sha384+streaming.es.mjs +95 -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.es.cjs +86 -0
  104. package/sha224+sha512+deserialize+serialize+streaming.es.mjs +86 -0
  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 +102 -0
  108. package/sha224+sha512+sha512_256+deserialize+serialize+streaming.es.mjs +103 -0
  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.es.cjs +127 -0
  112. package/sha224+sha512+sha512_256+streaming.es.mjs +127 -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 +96 -0
  116. package/sha224+sha512+streaming.es.mjs +96 -0
  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.es.cjs +84 -0
  120. package/sha224+sha512_256+deserialize+serialize+streaming.es.mjs +84 -0
  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.es.cjs +94 -0
  124. package/sha224+sha512_256+streaming.es.mjs +94 -0
  125. package/sha224+sha512_256+streaming.wasm.cjs +6 -0
  126. package/sha224+sha512_256+streaming.wasm.mjs +7 -0
  127. package/sha224+streaming.es.cjs +35 -0
  128. package/sha224+streaming.es.mjs +35 -0
  129. package/sha224+streaming.wasm.cjs +6 -0
  130. package/sha224+streaming.wasm.mjs +6 -0
  131. package/sha256+deserialize+serialize+streaming.es.cjs +41 -0
  132. package/sha256+deserialize+serialize+streaming.es.mjs +40 -0
  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.es.cjs +85 -0
  136. package/sha256+sha384+deserialize+serialize+streaming.es.mjs +85 -0
  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.es.cjs +104 -0
  140. package/sha256+sha384+sha512+deserialize+serialize+streaming.es.mjs +105 -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.es.cjs +119 -0
  144. package/sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.es.mjs +120 -0
  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 +160 -0
  148. package/sha256+sha384+sha512+sha512_256+streaming.es.mjs +160 -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 +129 -0
  152. package/sha256+sha384+sha512+streaming.es.mjs +128 -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 +101 -0
  156. package/sha256+sha384+sha512_256+deserialize+serialize+streaming.es.mjs +102 -0
  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 +126 -0
  160. package/sha256+sha384+sha512_256+streaming.es.mjs +126 -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.es.cjs +95 -0
  164. package/sha256+sha384+streaming.es.mjs +95 -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.es.cjs +87 -0
  168. package/sha256+sha512+deserialize+serialize+streaming.es.mjs +86 -0
  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 +102 -0
  172. package/sha256+sha512+sha512_256+deserialize+serialize+streaming.es.mjs +103 -0
  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 +127 -0
  176. package/sha256+sha512+sha512_256+streaming.es.mjs +127 -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.es.cjs +97 -0
  180. package/sha256+sha512+streaming.es.mjs +97 -0
  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.es.cjs +84 -0
  184. package/sha256+sha512_256+deserialize+serialize+streaming.es.mjs +84 -0
  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.es.cjs +94 -0
  188. package/sha256+sha512_256+streaming.es.mjs +94 -0
  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 +35 -0
  192. package/sha256+streaming.es.mjs +35 -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 +57 -0
  196. package/sha384+deserialize+serialize+streaming.es.mjs +57 -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.es.cjs +75 -0
  200. package/sha384+sha512+deserialize+serialize+streaming.es.mjs +75 -0
  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 +90 -0
  204. package/sha384+sha512+sha512_256+deserialize+serialize+streaming.es.mjs +90 -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.es.cjs +135 -0
  208. package/sha384+sha512+sha512_256+streaming.es.mjs +135 -0
  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 +104 -0
  212. package/sha384+sha512+streaming.es.mjs +104 -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.es.cjs +73 -0
  216. package/sha384+sha512_256+deserialize+serialize+streaming.es.mjs +73 -0
  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.es.cjs +102 -0
  220. package/sha384+sha512_256+streaming.es.mjs +102 -0
  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 +71 -0
  224. package/sha384+streaming.es.mjs +71 -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 +58 -0
  228. package/sha512+deserialize+serialize+streaming.es.mjs +58 -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.es.cjs +74 -0
  232. package/sha512+sha512_256+deserialize+serialize+streaming.es.mjs +74 -0
  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.es.cjs +103 -0
  236. package/sha512+sha512_256+streaming.es.mjs +103 -0
  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 +72 -0
  240. package/sha512+streaming.es.mjs +72 -0
  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 +56 -0
  244. package/sha512_256+deserialize+serialize+streaming.es.mjs +56 -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 +70 -0
  248. package/sha512_256+streaming.es.mjs +70 -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+deserialize+serialize+streaming.cjs +0 -33
  254. package/sha224+deserialize+serialize+streaming.mjs +0 -33
  255. package/sha224+sha256+deserialize+serialize+streaming.cjs +0 -37
  256. package/sha224+sha256+deserialize+serialize+streaming.mjs +0 -37
  257. package/sha224+sha256+sha384+deserialize+serialize+streaming.cjs +0 -69
  258. package/sha224+sha256+sha384+deserialize+serialize+streaming.mjs +0 -69
  259. package/sha224+sha256+sha384+sha512+deserialize+serialize+streaming.cjs +0 -85
  260. package/sha224+sha256+sha384+sha512+deserialize+serialize+streaming.mjs +0 -86
  261. package/sha224+sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -92
  262. package/sha224+sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.mjs +0 -93
  263. package/sha224+sha256+sha384+sha512+sha512_256+streaming.cjs +0 -68
  264. package/sha224+sha256+sha384+sha512+sha512_256+streaming.mjs +0 -69
  265. package/sha224+sha256+sha384+sha512+streaming.cjs +0 -62
  266. package/sha224+sha256+sha384+sha512+streaming.mjs +0 -62
  267. package/sha224+sha256+sha384+sha512_256+deserialize+serialize+streaming.cjs +0 -84
  268. package/sha224+sha256+sha384+sha512_256+deserialize+serialize+streaming.mjs +0 -85
  269. package/sha224+sha256+sha384+sha512_256+streaming.cjs +0 -61
  270. package/sha224+sha256+sha384+sha512_256+streaming.mjs +0 -61
  271. package/sha224+sha256+sha384+streaming.cjs +0 -48
  272. package/sha224+sha256+sha384+streaming.mjs +0 -48
  273. package/sha224+sha256+sha512+deserialize+serialize+streaming.cjs +0 -70
  274. package/sha224+sha256+sha512+deserialize+serialize+streaming.mjs +0 -70
  275. package/sha224+sha256+sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -84
  276. package/sha224+sha256+sha512+sha512_256+deserialize+serialize+streaming.mjs +0 -85
  277. package/sha224+sha256+sha512+sha512_256+streaming.cjs +0 -61
  278. package/sha224+sha256+sha512+sha512_256+streaming.mjs +0 -61
  279. package/sha224+sha256+sha512+streaming.cjs +0 -49
  280. package/sha224+sha256+sha512+streaming.mjs +0 -49
  281. package/sha224+sha256+sha512_256+deserialize+serialize+streaming.cjs +0 -68
  282. package/sha224+sha256+sha512_256+deserialize+serialize+streaming.mjs +0 -68
  283. package/sha224+sha256+sha512_256+streaming.cjs +0 -47
  284. package/sha224+sha256+sha512_256+streaming.mjs +0 -47
  285. package/sha224+sha256+streaming.cjs +0 -26
  286. package/sha224+sha256+streaming.mjs +0 -26
  287. package/sha224+sha384+deserialize+serialize+streaming.cjs +0 -65
  288. package/sha224+sha384+deserialize+serialize+streaming.mjs +0 -65
  289. package/sha224+sha384+sha512+deserialize+serialize+streaming.cjs +0 -81
  290. package/sha224+sha384+sha512+deserialize+serialize+streaming.mjs +0 -81
  291. package/sha224+sha384+sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -88
  292. package/sha224+sha384+sha512+sha512_256+deserialize+serialize+streaming.mjs +0 -89
  293. package/sha224+sha384+sha512+sha512_256+streaming.cjs +0 -64
  294. package/sha224+sha384+sha512+sha512_256+streaming.mjs +0 -64
  295. package/sha224+sha384+sha512+streaming.cjs +0 -57
  296. package/sha224+sha384+sha512+streaming.mjs +0 -57
  297. package/sha224+sha384+sha512_256+deserialize+serialize+streaming.cjs +0 -80
  298. package/sha224+sha384+sha512_256+deserialize+serialize+streaming.mjs +0 -80
  299. package/sha224+sha384+sha512_256+streaming.cjs +0 -56
  300. package/sha224+sha384+sha512_256+streaming.mjs +0 -56
  301. package/sha224+sha384+streaming.cjs +0 -44
  302. package/sha224+sha384+streaming.mjs +0 -44
  303. package/sha224+sha512+deserialize+serialize+streaming.cjs +0 -66
  304. package/sha224+sha512+deserialize+serialize+streaming.mjs +0 -66
  305. package/sha224+sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -80
  306. package/sha224+sha512+sha512_256+deserialize+serialize+streaming.mjs +0 -80
  307. package/sha224+sha512+sha512_256+streaming.cjs +0 -56
  308. package/sha224+sha512+sha512_256+streaming.mjs +0 -56
  309. package/sha224+sha512+streaming.cjs +0 -45
  310. package/sha224+sha512+streaming.mjs +0 -45
  311. package/sha224+sha512_256+deserialize+serialize+streaming.cjs +0 -64
  312. package/sha224+sha512_256+deserialize+serialize+streaming.mjs +0 -64
  313. package/sha224+sha512_256+streaming.cjs +0 -43
  314. package/sha224+sha512_256+streaming.mjs +0 -43
  315. package/sha224+streaming.cjs +0 -21
  316. package/sha224+streaming.mjs +0 -21
  317. package/sha256+deserialize+serialize+streaming.cjs +0 -33
  318. package/sha256+deserialize+serialize+streaming.mjs +0 -33
  319. package/sha256+sha384+deserialize+serialize+streaming.cjs +0 -65
  320. package/sha256+sha384+deserialize+serialize+streaming.mjs +0 -66
  321. package/sha256+sha384+sha512+deserialize+serialize+streaming.cjs +0 -81
  322. package/sha256+sha384+sha512+deserialize+serialize+streaming.mjs +0 -81
  323. package/sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -88
  324. package/sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.mjs +0 -89
  325. package/sha256+sha384+sha512+sha512_256+streaming.cjs +0 -64
  326. package/sha256+sha384+sha512+sha512_256+streaming.mjs +0 -64
  327. package/sha256+sha384+sha512+streaming.cjs +0 -57
  328. package/sha256+sha384+sha512+streaming.mjs +0 -58
  329. package/sha256+sha384+sha512_256+deserialize+serialize+streaming.cjs +0 -80
  330. package/sha256+sha384+sha512_256+deserialize+serialize+streaming.mjs +0 -80
  331. package/sha256+sha384+sha512_256+streaming.cjs +0 -56
  332. package/sha256+sha384+sha512_256+streaming.mjs +0 -56
  333. package/sha256+sha384+streaming.cjs +0 -44
  334. package/sha256+sha384+streaming.mjs +0 -44
  335. package/sha256+sha512+deserialize+serialize+streaming.cjs +0 -66
  336. package/sha256+sha512+deserialize+serialize+streaming.mjs +0 -66
  337. package/sha256+sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -80
  338. package/sha256+sha512+sha512_256+deserialize+serialize+streaming.mjs +0 -80
  339. package/sha256+sha512+sha512_256+streaming.cjs +0 -56
  340. package/sha256+sha512+sha512_256+streaming.mjs +0 -57
  341. package/sha256+sha512+streaming.cjs +0 -45
  342. package/sha256+sha512+streaming.mjs +0 -45
  343. package/sha256+sha512_256+deserialize+serialize+streaming.cjs +0 -64
  344. package/sha256+sha512_256+deserialize+serialize+streaming.mjs +0 -64
  345. package/sha256+sha512_256+streaming.cjs +0 -43
  346. package/sha256+sha512_256+streaming.mjs +0 -44
  347. package/sha256+streaming.cjs +0 -21
  348. package/sha256+streaming.mjs +0 -21
  349. package/sha384+deserialize+serialize+streaming.cjs +0 -44
  350. package/sha384+deserialize+serialize+streaming.mjs +0 -44
  351. package/sha384+sha512+deserialize+serialize+streaming.cjs +0 -61
  352. package/sha384+sha512+deserialize+serialize+streaming.mjs +0 -61
  353. package/sha384+sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -67
  354. package/sha384+sha512+sha512_256+deserialize+serialize+streaming.mjs +0 -67
  355. package/sha384+sha512+sha512_256+streaming.cjs +0 -53
  356. package/sha384+sha512+sha512_256+streaming.mjs +0 -53
  357. package/sha384+sha512+streaming.cjs +0 -47
  358. package/sha384+sha512+streaming.mjs +0 -47
  359. package/sha384+sha512_256+deserialize+serialize+streaming.cjs +0 -59
  360. package/sha384+sha512_256+deserialize+serialize+streaming.mjs +0 -59
  361. package/sha384+sha512_256+streaming.cjs +0 -45
  362. package/sha384+sha512_256+streaming.mjs +0 -45
  363. package/sha384+streaming.cjs +0 -33
  364. package/sha384+streaming.mjs +0 -34
  365. package/sha512+deserialize+serialize+streaming.cjs +0 -44
  366. package/sha512+deserialize+serialize+streaming.mjs +0 -45
  367. package/sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -60
  368. package/sha512+sha512_256+deserialize+serialize+streaming.mjs +0 -60
  369. package/sha512+sha512_256+streaming.cjs +0 -45
  370. package/sha512+sha512_256+streaming.mjs +0 -46
  371. package/sha512+streaming.cjs +0 -34
  372. package/sha512+streaming.mjs +0 -35
  373. package/sha512_256+deserialize+serialize+streaming.cjs +0 -43
  374. package/sha512_256+deserialize+serialize+streaming.mjs +0 -43
  375. package/sha512_256+streaming.cjs +0 -32
  376. 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 13 (trixie)
202
+ - Node.js: v24.14.1
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.753 230719.25 225.31 1.00 ⭐
226
+ @apeleghq/sha2 (WASM) 20.588 198949.70 194.29 1.16
227
+ sha256-uint8array 23.341 175483.48 171.37 1.31
228
+ fast-sha256 27.349 149768.12 146.26 1.54
229
+ @apeleghq/sha2 (ES) 33.844 121026.92 118.19 1.91
230
+ @aws-crypto/sha256-js 42.635 96070.89 93.82 2.40
231
+ sha.js 51.790 79087.98 77.23 2.92
232
+ js-sha256 52.268 78365.01 76.53 2.94
233
+ SubtleCrypto.digest 68.663 59653.84 58.26 3.87
234
+ jssha 102.478 39969.55 39.03 5.77
235
+ ================================================================================
236
+
237
+ Buffer Size: 8.00 KiB | Iterations: 4096
238
+ --------------------------------------------------------------------------------
239
+ Package Time (ms) Ops/s MiB/s Relative
240
+ --------------------------------------------------------------------------------
241
+ SubtleCrypto.digest 96.141 42603.93 332.84 1.00 ⭐
242
+ hash-wasm 115.893 35342.83 276.12 1.21
243
+ @apeleghq/sha2 (WASM) 124.304 32951.59 257.43 1.29
244
+ fast-sha256 152.721 26820.07 209.53 1.59
245
+ sha256-uint8array 168.277 24340.83 190.16 1.75
246
+ @apeleghq/sha2 (ES) 226.813 18058.93 141.09 2.36
247
+ @aws-crypto/sha256-js 248.146 16506.41 128.96 2.58
248
+ sha.js 376.289 10885.26 85.04 3.91
249
+ js-sha256 378.601 10818.77 84.52 3.94
250
+ jssha 657.563 6229.06 48.66 6.84
251
+ ================================================================================
252
+
253
+ Buffer Size: 64.00 KiB | Iterations: 4096
254
+ --------------------------------------------------------------------------------
255
+ Package Time (ms) Ops/s MiB/s Relative
256
+ --------------------------------------------------------------------------------
257
+ SubtleCrypto.digest 211.157 19397.90 1212.37 1.00 ⭐
258
+ hash-wasm 906.215 4519.90 282.49 4.29
259
+ @apeleghq/sha2 (WASM) 966.743 4236.91 264.81 4.58
260
+ fast-sha256 1158.363 3536.02 221.00 5.49
261
+ sha256-uint8array 1331.600 3076.00 192.25 6.31
262
+ @apeleghq/sha2 (ES) 1779.562 2301.69 143.86 8.43
263
+ @aws-crypto/sha256-js 1923.719 2129.21 133.08 9.11
264
+ sha.js 2978.650 1375.12 85.94 14.11
265
+ js-sha256 2996.032 1367.14 85.45 14.19
266
+ jssha 5391.971 759.65 47.48 25.54
267
+ ================================================================================
268
+
269
+ Buffer Size: 128.00 KiB | Iterations: 4096
270
+ --------------------------------------------------------------------------------
271
+ Package Time (ms) Ops/s MiB/s Relative
272
+ --------------------------------------------------------------------------------
273
+ SubtleCrypto.digest 359.274 11400.77 1425.10 1.00 ⭐
274
+ hash-wasm 1808.039 2265.44 283.18 5.03
275
+ @apeleghq/sha2 (WASM) 1929.769 2122.53 265.32 5.37
276
+ fast-sha256 2306.780 1775.64 221.95 6.42
277
+ sha256-uint8array 2660.531 1539.54 192.44 7.41
278
+ @apeleghq/sha2 (ES) 3546.149 1155.06 144.38 9.87
279
+ @aws-crypto/sha256-js 3889.897 1052.98 131.62 10.83
280
+ sha.js 5951.984 688.17 86.02 16.57
281
+ js-sha256 5987.387 684.10 85.51 16.67
282
+ jssha 10723.736 381.96 47.74 29.85
283
+ ================================================================================
284
+
285
+ Buffer Size: 1.00 MiB | Iterations: 4096
286
+ --------------------------------------------------------------------------------
287
+ Package Time (ms) Ops/s MiB/s Relative
288
+ --------------------------------------------------------------------------------
289
+ SubtleCrypto.digest 2458.762 1665.88 1665.88 1.00 ⭐
290
+ hash-wasm 14453.914 283.38 283.38 5.88
291
+ @apeleghq/sha2 (WASM) 15421.658 265.60 265.60 6.27
292
+ fast-sha256 18399.600 222.61 222.61 7.48
293
+ sha256-uint8array 21265.097 192.62 192.62 8.65
294
+ @apeleghq/sha2 (ES) 28366.398 144.40 144.40 11.54
295
+ @aws-crypto/sha256-js 30942.575 132.37 132.37 12.58
296
+ sha.js 47629.494 86.00 86.00 19.37
297
+ js-sha256 47870.311 85.56 85.56 19.47
298
+ jssha 89912.620 45.56 45.56 36.57
299
+ ================================================================================
300
+
301
+ Buffer Size: 8.00 MiB | Iterations: 4096
302
+ --------------------------------------------------------------------------------
303
+ Package Time (ms) Ops/s MiB/s Relative
304
+ --------------------------------------------------------------------------------
305
+ SubtleCrypto.digest 19917.685 205.65 1645.17 1.00 ⭐
306
+ hash-wasm 116757.365 35.08 280.65 5.86
307
+ @apeleghq/sha2 (WASM) 124076.017 33.01 264.10 6.23
308
+ fast-sha256 147128.769 27.84 222.72 7.39
309
+ sha256-uint8array 170127.878 24.08 192.61 8.54
310
+ @apeleghq/sha2 (ES) 227447.728 18.01 144.07 11.42
311
+ @aws-crypto/sha256-js 246919.825 16.59 132.71 12.40
312
+ sha.js 380766.733 10.76 86.06 19.12
313
+ js-sha256 382639.567 10.70 85.64 19.21
314
+ jssha 689309.321 5.94 47.54 34.61
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.