data-transport
Version:
A simple and responsive transport
26 lines • 2.79 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateId = exports.detectSafari = void 0;
var uuid_1 = require("uuid");
var detectSafari = function () {
return /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
};
exports.detectSafari = detectSafari;
var generateId = function () {
return (0, uuid_1.v4)({
// In nodejs, crypto.getRandomValues() not supported.
// workaround: https://github.com/uuidjs/uuid/issues/375
rng: function () {
var randomNumbers = new Array(16);
var r;
for (var i = 0; i < 16; i++) {
if ((i & 0x03) === 0)
r = Math.random() * 0x100000000;
randomNumbers[i] = (r >>> ((i & 0x03) << 3)) & 0xff;
}
return randomNumbers;
},
});
};
exports.generateId = generateId;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQWtDO0FBRTNCLElBQU0sWUFBWSxHQUFHO0lBQzFCLE9BQUEsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7QUFBMUQsQ0FBMEQsQ0FBQztBQURoRCxRQUFBLFlBQVksZ0JBQ29DO0FBQ3RELElBQU0sVUFBVSxHQUFHO0lBQ3hCLE9BQUEsSUFBQSxTQUFJLEVBQUM7UUFDSCxxREFBcUQ7UUFDckQsd0RBQXdEO1FBQ3hELEdBQUc7WUFDRCxJQUFNLGFBQWEsR0FBYSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsQ0FBQztZQUNOLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO29CQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDO2dCQUN0RCxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBRSxDQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNsRSxDQUFDO1lBQ0QsT0FBTyxhQUFhLENBQUM7UUFDdkIsQ0FBQztLQUNGLENBQUM7QUFaRixDQVlFLENBQUM7QUFiUSxRQUFBLFVBQVUsY0FhbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5cbmV4cG9ydCBjb25zdCBkZXRlY3RTYWZhcmkgPSAoKSA9PlxuICAvXigoPyFjaHJvbWV8YW5kcm9pZCkuKSpzYWZhcmkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuZXhwb3J0IGNvbnN0IGdlbmVyYXRlSWQgPSAoKSA9PlxuICB1dWlkKHtcbiAgICAvLyBJbiBub2RlanMsIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMoKSBub3Qgc3VwcG9ydGVkLlxuICAgIC8vIHdvcmthcm91bmQ6IGh0dHBzOi8vZ2l0aHViLmNvbS91dWlkanMvdXVpZC9pc3N1ZXMvMzc1XG4gICAgcm5nKCkge1xuICAgICAgY29uc3QgcmFuZG9tTnVtYmVyczogbnVtYmVyW10gPSBuZXcgQXJyYXkoMTYpO1xuICAgICAgbGV0IHI7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE2OyBpKyspIHtcbiAgICAgICAgaWYgKChpICYgMHgwMykgPT09IDApIHIgPSBNYXRoLnJhbmRvbSgpICogMHgxMDAwMDAwMDA7XG4gICAgICAgIHJhbmRvbU51bWJlcnNbaV0gPSAoKHIgYXMgbnVtYmVyKSA+Pj4gKChpICYgMHgwMykgPDwgMykpICYgMHhmZjtcbiAgICAgIH1cbiAgICAgIHJldHVybiByYW5kb21OdW1iZXJzO1xuICAgIH0sXG4gIH0pO1xuIl19