UNPKG

@onesy/utils

Version:
22 lines (21 loc) 1.12 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const sha256_1 = __importDefault(require("crypto-js/sha256")); const to_1 = __importDefault(require("./to")); const isEnvironment_1 = __importDefault(require("./isEnvironment")); const fileToValue_1 = __importDefault(require("./fileToValue")); const optionsDefault = { withPrefix: true, }; const hashFile = async (value_, options_ = {}) => { const options = Object.assign(Object.assign({}, optionsDefault), options_); let value = value_; value = (0, isEnvironment_1.default)('browser') ? await (0, fileToValue_1.default)(value, 'array-buffer') : (0, to_1.default)(Buffer.from(value), 'arraybuffer'); value = (0, isEnvironment_1.default)('browser') ? String.fromCharCode.apply(null, new Uint8Array(value)) : (0, to_1.default)(value, 'string'); value = (0, sha256_1.default)(value).toString(); return options.withPrefix ? `0x${value}` : value; }; exports.default = hashFile;