secure-random-password
Version:
Generate passwords using a cryptographically-strong source of randomness
70 lines (51 loc) • 1.34 kB
JavaScript
function assign() {
var objects = toArray(arguments);
var target = objects[0];
var sources = objects.slice(1);
sources
.filter(function (source) { return !!source })
.forEach(function (source) {
Object.keys(source).forEach(function (key) {
target[key] = source[key];
});
});
return target;
}
exports.assign = assign;
function intersection(left, right) {
left = toArray(left);
right = toArray(right);
var leftSet = {};
left.forEach(function (k) {
leftSet[k] = true;
});
var rightSet = {};
right.forEach(function (k) {
rightSet[k] = true;
});
return Object.keys(leftSet).filter(function(k) {
return Object.prototype.hasOwnProperty.call(rightSet, k);
});
}
exports.intersection = intersection;
function isInteger(n) {
return typeof n === 'number' && isFinite(n) && Math.floor(n) === n;
}
exports.isInteger = isInteger;
function isString(s) {
return typeof s === 'string' || s instanceof String;
}
exports.isString = isString;
function range(n) {
return Array.apply(null, Array(n)).map(function (x, i) { return i });
}
exports.range = range;
function repeat(val, n) {
return range(n).map(function () { return val });
}
exports.repeat = repeat;
function toArray(x) {
return Array.prototype.slice.call(x);
}
exports.toArray = toArray;
;