summaryrefslogtreecommitdiff
path: root/cli/bench/testdata/npm/hono/dist/utils/crypto.js
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2022-08-19 15:54:54 +0530
committerGitHub <noreply@github.com>2022-08-19 15:54:54 +0530
commit25a109d9ea27ad3a76fdce14bba283e953af9bce (patch)
tree68f0280065c9df4be8fa325ba82693879b4b46cd /cli/bench/testdata/npm/hono/dist/utils/crypto.js
parent9e576dff7c39cfd510c60ba92aa0d1c15fd24a6b (diff)
chore(bench): add flash router benchmarks (#15495)
Diffstat (limited to 'cli/bench/testdata/npm/hono/dist/utils/crypto.js')
-rw-r--r--cli/bench/testdata/npm/hono/dist/utils/crypto.js53
1 files changed, 53 insertions, 0 deletions
diff --git a/cli/bench/testdata/npm/hono/dist/utils/crypto.js b/cli/bench/testdata/npm/hono/dist/utils/crypto.js
new file mode 100644
index 000000000..0d259ae1c
--- /dev/null
+++ b/cli/bench/testdata/npm/hono/dist/utils/crypto.js
@@ -0,0 +1,53 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.createHash = exports.md5 = exports.sha1 = exports.sha256 = void 0;
+const sha256 = async (data) => {
+ const algorithm = { name: 'SHA-256', alias: 'sha256' };
+ const hash = await (0, exports.createHash)(data, algorithm);
+ return hash;
+};
+exports.sha256 = sha256;
+const sha1 = async (data) => {
+ const algorithm = { name: 'SHA-1', alias: 'sha1' };
+ const hash = await (0, exports.createHash)(data, algorithm);
+ return hash;
+};
+exports.sha1 = sha1;
+const md5 = async (data) => {
+ const algorithm = { name: 'MD5', alias: 'md5' };
+ const hash = await (0, exports.createHash)(data, algorithm);
+ return hash;
+};
+exports.md5 = md5;
+const createHash = async (data, algorithm) => {
+ let sourceBuffer;
+ if (data instanceof ReadableStream) {
+ let body = '';
+ const reader = data.getReader();
+ await reader?.read().then(async (chuck) => {
+ const value = await (0, exports.createHash)(chuck.value || '', algorithm);
+ body += value;
+ });
+ return body;
+ }
+ if (ArrayBuffer.isView(data) || data instanceof ArrayBuffer) {
+ sourceBuffer = data;
+ }
+ else {
+ if (typeof data === 'object') {
+ data = JSON.stringify(data);
+ }
+ sourceBuffer = new TextEncoder().encode(String(data));
+ }
+ if (crypto && crypto.subtle) {
+ const buffer = await crypto.subtle.digest({
+ name: algorithm.name,
+ }, sourceBuffer);
+ const hash = Array.prototype.map
+ .call(new Uint8Array(buffer), (x) => ('00' + x.toString(16)).slice(-2))
+ .join('');
+ return hash;
+ }
+ return null;
+};
+exports.createHash = createHash;