@bugsnag/cuid
Version:
Collision-resistant ids optimized for horizontal scaling and performance. For node and browsers.
20 lines (15 loc) • 480 B
JavaScript
;
const pad = require('./pad.js');
var env = typeof window === 'object' ? window : self;
var globalCount = 0;
for (var prop in env) {
if (Object.hasOwnProperty.call(env, prop)) globalCount++;
}
var mimeTypesLength = navigator.mimeTypes ? navigator.mimeTypes.length : 0;
var clientId = pad((mimeTypesLength +
navigator.userAgent.length).toString(36) +
globalCount.toString(36), 4);
function fingerprint () {
return clientId;
}
module.exports = fingerprint;