@@ -14,6 +14,7 @@ const {
1414 DateNow,
1515 FunctionPrototypeBind,
1616 FunctionPrototypeCall,
17+ MathFloor,
1718 MathMin,
1819 NumberIsNaN,
1920 NumberIsSafeInteger,
@@ -433,19 +434,38 @@ function randomUUIDv7() {
433434 randomFillSync ( uuidV7Buffer ) ;
434435
435436 const now = DateNow ( ) ;
436- uuidV7Buffer [ 0 ] = ( now / 0x10000000000 ) & 0xff ;
437- uuidV7Buffer [ 1 ] = ( now / 0x100000000 ) & 0xff ;
438- uuidV7Buffer [ 2 ] = ( now / 0x1000000 ) & 0xff ;
439- uuidV7Buffer [ 3 ] = ( now / 0x10000 ) & 0xff ;
440- uuidV7Buffer [ 4 ] = ( now / 0x100 ) & 0xff ;
437+ uuidV7Buffer [ 0 ] = MathFloor ( now / 0x10000000000 ) & 0xff ;
438+ uuidV7Buffer [ 1 ] = MathFloor ( now / 0x100000000 ) & 0xff ;
439+ uuidV7Buffer [ 2 ] = MathFloor ( now / 0x1000000 ) & 0xff ;
440+ uuidV7Buffer [ 3 ] = MathFloor ( now / 0x10000 ) & 0xff ;
441+ uuidV7Buffer [ 4 ] = MathFloor ( now / 0x100 ) & 0xff ;
441442 uuidV7Buffer [ 5 ] = now & 0xff ;
442443
443444 uuidV7Buffer [ 6 ] = ( uuidV7Buffer [ 6 ] & 0x0f ) | 0x70 ;
444445
445446 uuidV7Buffer [ 8 ] = ( uuidV7Buffer [ 8 ] & 0x3f ) | 0x80 ;
446-
447- const result = serializeUUID ( uuidV7Buffer ) ;
448- return result ;
447+
448+ const kHexBytes = getHexBytes ( ) ;
449+ return kHexBytes [ uuidV7Buffer [ 0 ] ] +
450+ kHexBytes [ uuidV7Buffer [ 1 ] ] +
451+ kHexBytes [ uuidV7Buffer [ 2 ] ] +
452+ kHexBytes [ uuidV7Buffer [ 3 ] ] +
453+ '-' +
454+ kHexBytes [ uuidV7Buffer [ 4 ] ] +
455+ kHexBytes [ uuidV7Buffer [ 5 ] ] +
456+ '-' +
457+ kHexBytes [ uuidV7Buffer [ 6 ] ] +
458+ kHexBytes [ uuidV7Buffer [ 7 ] ] +
459+ '-' +
460+ kHexBytes [ uuidV7Buffer [ 8 ] ] +
461+ kHexBytes [ uuidV7Buffer [ 9 ] ] +
462+ '-' +
463+ kHexBytes [ uuidV7Buffer [ 10 ] ] +
464+ kHexBytes [ uuidV7Buffer [ 11 ] ] +
465+ kHexBytes [ uuidV7Buffer [ 12 ] ] +
466+ kHexBytes [ uuidV7Buffer [ 13 ] ] +
467+ kHexBytes [ uuidV7Buffer [ 14 ] ] +
468+ kHexBytes [ uuidV7Buffer [ 15 ] ] ;
449469}
450470
451471function createRandomPrimeJob ( type , size , options ) {
0 commit comments