@fly/edge
Version:
Fly's TypeScript Edge
35 lines • 3.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createHash = exports.createHmac = void 0;
/** @module HTTP */
const sjcl = require("sjcl");
/** @hidden */
function createHmac(_algo, key) {
const mac = new sjcl.misc.hmac(typeof key === 'string' ? sjcl.codec.utf8String.toBits(key) : key);
return {
update: (data) => {
mac.update(data);
return {
digest: (encoding) => {
let result = mac.digest();
return encoding === 'hex' ? sjcl.codec.hex.fromBits(result) : result;
},
};
},
};
}
exports.createHmac = createHmac;
/** @hidden */
function createHash() {
const hash = new sjcl.hash.sha256();
return {
update: (data) => {
hash.update(data);
return {
digest: () => sjcl.codec.hex.fromBits(hash.finalize()),
};
},
};
}
exports.createHash = createHash;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J5cHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NoaW1zL2NyeXB0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQkFBbUI7QUFDbkIsNkJBQTRCO0FBRTVCLGNBQWM7QUFDZCxTQUFnQixVQUFVLENBQUMsS0FBYSxFQUFFLEdBQTJCO0lBQ2pFLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xHLE9BQU87UUFDSCxNQUFNLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRTtZQUNyQixHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pCLE9BQU87Z0JBQ0gsTUFBTSxFQUFFLENBQUMsUUFBZ0IsRUFBRSxFQUFFO29CQUN6QixJQUFJLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQzFCLE9BQU8sUUFBUSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7Z0JBQ3pFLENBQUM7YUFDSixDQUFDO1FBQ04sQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDO0FBYkQsZ0NBYUM7QUFFRCxjQUFjO0FBQ2QsU0FBZ0IsVUFBVTtJQUN0QixNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDcEMsT0FBTztRQUNILE1BQU0sRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEIsT0FBTztnQkFDSCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUN6RCxDQUFDO1FBQ04sQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDO0FBVkQsZ0NBVUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQG1vZHVsZSBIVFRQICovXG5pbXBvcnQgKiBhcyBzamNsIGZyb20gJ3NqY2wnXG5cbi8qKiBAaGlkZGVuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSG1hYyhfYWxnbzogc3RyaW5nLCBrZXk6IHN0cmluZyB8IHNqY2wuQml0QXJyYXkpIHtcbiAgICBjb25zdCBtYWMgPSBuZXcgc2pjbC5taXNjLmhtYWModHlwZW9mIGtleSA9PT0gJ3N0cmluZycgPyBzamNsLmNvZGVjLnV0ZjhTdHJpbmcudG9CaXRzKGtleSkgOiBrZXkpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHVwZGF0ZTogKGRhdGE6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgbWFjLnVwZGF0ZShkYXRhKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZGlnZXN0OiAoZW5jb2Rpbmc6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gbWFjLmRpZ2VzdCgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZW5jb2RpbmcgPT09ICdoZXgnID8gc2pjbC5jb2RlYy5oZXguZnJvbUJpdHMocmVzdWx0KSA6IHJlc3VsdDtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSxcbiAgICB9O1xufVxuXG4vKiogQGhpZGRlbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUhhc2goKSB7XG4gICAgY29uc3QgaGFzaCA9IG5ldyBzamNsLmhhc2guc2hhMjU2KCk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdXBkYXRlOiAoZGF0YTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBoYXNoLnVwZGF0ZShkYXRhKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZGlnZXN0OiAoKSA9PiBzamNsLmNvZGVjLmhleC5mcm9tQml0cyhoYXNoLmZpbmFsaXplKCkpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSxcbiAgICB9O1xufVxuIl19