UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

59 lines (57 loc) • 1.93 kB
function namedError(name, message) { var error = new Error(message); error.name = name; return error; } function bufferSourceRange(data, verb) { var buffer; var offset = 0; var length; if (data instanceof ArrayBuffer) { buffer = data; length = data.byteLength; } else if (ArrayBuffer.isView(data) && data.buffer instanceof ArrayBuffer) { buffer = data.buffer; offset = data.byteOffset; length = data.byteLength; } else { throw new TypeError(`${verb}: expected an ArrayBuffer or view.`); } new Uint8Array(buffer, offset, length); return { buffer, offset, length }; } function installDigestPolyfill(source) { var target = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : globalThis; var _crypto_subtle; var crypto = target.crypto; if (crypto == null || typeof ((_crypto_subtle = crypto.subtle) === null || _crypto_subtle === void 0 ? void 0 : _crypto_subtle.digest) === "function") return; var digest = async function digest2(algorithm, data) { var { buffer, offset, length } = bufferSourceRange(data, "crypto.subtle.digest"); var name; if (algorithm !== null && (typeof algorithm === "object" || typeof algorithm === "function")) { var value = algorithm.name; if (value === void 0) { throw new TypeError("crypto.subtle.digest: algorithm.name is required."); } name = `${value}`; } else { name = `${algorithm}`; } if (!/^sha-(1|256|384|512)$/i.test(name)) { throw namedError("NotSupportedError", `Unsupported digest algorithm: ${name}.`); } try { return await source(name.toUpperCase(), buffer, offset, length); } catch (error) { throw namedError("OperationError", error instanceof Error ? error.message : "Native digest failed."); } }; if (crypto.subtle == null) crypto.subtle = { digest }; else crypto.subtle.digest = digest; } export { bufferSourceRange, installDigestPolyfill }; //# sourceMappingURL=digest.native.js.map