deno.land / x / deno@v1.28.2 / cli / bench / testdata / npm / hono / dist / utils / buffer.js
12345678910111213141516171819202122232425262728293031323334353637383940"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.bufferToString = exports.timingSafeEqual = exports.equal = void 0;const crypto_1 = require("./crypto");const equal = (a, b) => { if (a === b) { return true; } if (a.byteLength !== b.byteLength) { return false; } const va = new DataView(a); const vb = new DataView(b); let i = va.byteLength; while (i--) { if (va.getUint8(i) !== vb.getUint8(i)) { return false; } } return true;};exports.equal = equal;const timingSafeEqual = async (a, b, hashFunction) => { if (!hashFunction) { hashFunction = crypto_1.sha256; } const sa = await hashFunction(a); const sb = await hashFunction(b); return sa === sb && a === b;};exports.timingSafeEqual = timingSafeEqual;const bufferToString = (buffer) => { if (buffer instanceof ArrayBuffer) { const enc = new TextDecoder('utf-8'); return enc.decode(buffer); } return buffer;};exports.bufferToString = bufferToString;
Version Info