@iredium/butterfly
Version:
Express API Framework
39 lines (38 loc) • 1.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.compare = exports.generate = void 0;
var bcrypt = require("bcrypt");
var SALT_WORK_FACTOR = 10;
function hashCallback(resolve, reject) {
return function (err, hash) {
if (err)
return reject(err);
resolve(hash);
};
}
function genSaltCallback(plainString, resolve, reject) {
return function (err, salt) {
if (err)
return reject(err);
bcrypt.hash(plainString, salt, hashCallback(resolve, reject));
};
}
var generate = function (plainString) {
return new Promise(function (resolve, reject) {
bcrypt.genSalt(SALT_WORK_FACTOR, genSaltCallback(plainString, resolve, reject));
});
};
exports.generate = generate;
function compare(plainString, hashedString) {
return new Promise(function (resolve, reject) {
bcrypt.compare(plainString, hashedString, function (err, isMatch) {
if (err) {
reject(isMatch);
}
else {
resolve(isMatch);
}
});
});
}
exports.compare = compare;