c9-core/node_modules/kaefer/lib/util.js

34 wiersze
1.1 KiB
JavaScript

define(function(require, exports, module) {
exports.inherits = function(Child, Parent) {
Child.prototype = Object.create(Parent.prototype, { constructor: { value: Child }});
}
var isNode = (typeof global !== "undefined" && ({}).toString.call(global) == '[object global]');
var isBrowser = (typeof window !== "undefined" && ({}).toString.call(window) == '[object window]');
if (isNode) {
exports.uid = function(length) {
return (require("crypto")
.randomBytes(length)
.toString("base64")
.slice(0, length)
);
};
} else if (isBrowser && window.crypto && window.crypto.getRandomValues) {
exports.uid = function(length) {
var values = new Uint8Array(length);
window.crypto.getRandomValues(values);
return btoa(String.fromCharCode.apply(null, values)).slice(0, 10);
};
} else {
exports.uid = function(length) {
var arr = [];
for (var i = 0; i < length; i++) {
arr[i] = Math.floor(Math.random() * 255);
}
return btoa(String.fromCharCode.apply(null, values)).slice(0, 10);
};
}
});