UNPKG

@tacky/store

Version:

State management framework based on react

28 lines (24 loc) 636 B
var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split(''); var uuid = new Array(36); /** * Generates uuid. */ export default function generateUUID() { var rnd = 0; for (var i = 0; i < 36; i++) { if (i === 8 || i === 13 || i === 18 || i === 23) { uuid[i] = '-'; } else if (i === 14) { uuid[i] = '4'; } else { if (rnd <= 0x02) { /* tslint:disable no-bitwise */ rnd = 0x2000000 + Math.random() * 0x1000000 | 0; } var r = rnd & 0xf; rnd = rnd >> 4; uuid[i] = chars[i === 19 ? r & 0x3 | 0x8 : r]; } } return uuid.join(''); }