use crypto.randomUUID if present
This commit is contained in:
parent
83a6808c67
commit
4e87a060f5
|
@ -43,6 +43,13 @@ const styleMan = (() => {
|
||||||
const compileRe = createCompiler(text => `^(${text})$`);
|
const compileRe = createCompiler(text => `^(${text})$`);
|
||||||
const compileSloppyRe = createCompiler(text => `^${text}$`);
|
const compileSloppyRe = createCompiler(text => `^${text}$`);
|
||||||
const compileExclusion = createCompiler(buildExclusion);
|
const compileExclusion = createCompiler(buildExclusion);
|
||||||
|
const uuidv4 = crypto.randomUUID ? crypto.randomUUID.bind(crypto) : (() => {
|
||||||
|
const seeds = crypto.getRandomValues(new Uint16Array(8));
|
||||||
|
// 00001111-2222-M333-N444-555566667777
|
||||||
|
seeds[3] = seeds[3] & 0x0FFF | 0x4000; // UUID version 4, M = 4
|
||||||
|
seeds[4] = seeds[4] & 0x3FFF | 0x8000; // UUID variant 1, N = 8..0xB
|
||||||
|
return Array.from(seeds, hex4dashed).join('');
|
||||||
|
});
|
||||||
const MISSING_PROPS = {
|
const MISSING_PROPS = {
|
||||||
name: style => `ID: ${style.id}`,
|
name: style => `ID: ${style.id}`,
|
||||||
_id: () => uuidv4(),
|
_id: () => uuidv4(),
|
||||||
|
@ -634,14 +641,6 @@ const styleMan = (() => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function uuidv4() {
|
|
||||||
const seeds = crypto.getRandomValues(new Uint16Array(8));
|
|
||||||
// 00001111-2222-M333-N444-555566667777
|
|
||||||
seeds[3] = seeds[3] & 0x0FFF | 0x4000; // UUID version 4, M = 4
|
|
||||||
seeds[4] = seeds[4] & 0x3FFF | 0x8000; // UUID variant 1, N = 8..0xB
|
|
||||||
return Array.from(seeds, hex4dashed).join('');
|
|
||||||
}
|
|
||||||
|
|
||||||
/** uuidv4 helper: converts to a 4-digit hex string and adds "-" at required positions */
|
/** uuidv4 helper: converts to a 4-digit hex string and adds "-" at required positions */
|
||||||
function hex4dashed(num, i) {
|
function hex4dashed(num, i) {
|
||||||
return (num + 0x10000).toString(16).slice(-4) + (i >= 1 && i <= 4 ? '-' : '');
|
return (num + 0x10000).toString(16).slice(-4) + (i >= 1 && i <= 4 ? '-' : '');
|
||||||
|
|
Loading…
Reference in New Issue
Block a user