From b938389c4f81f2cef42dae17c0b02f9cfac31a5d Mon Sep 17 00:00:00 2001 From: Valerio Date: Fri, 14 Jul 2023 09:56:06 +0200 Subject: [PATCH] refactor: :recycle: Remove generateUUID --- src/core/utils/generateUUID.spec.ts | 26 -------------------------- src/core/utils/generateUUID.ts | 22 ---------------------- 2 files changed, 48 deletions(-) delete mode 100644 src/core/utils/generateUUID.spec.ts delete mode 100644 src/core/utils/generateUUID.ts diff --git a/src/core/utils/generateUUID.spec.ts b/src/core/utils/generateUUID.spec.ts deleted file mode 100644 index 8f4dbf38..00000000 --- a/src/core/utils/generateUUID.spec.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { expect } from '@jest/globals'; - -import { generateUUID } from './generateUUID'; - -describe('generateUUID', () => { - test('returns a UUID string', () => { - const uuid = generateUUID(); - expect(uuid).toMatch(/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/); - }); - - test('returns a unique UUID string', () => { - const uuid1 = generateUUID(); - const uuid2 = generateUUID(); - expect(uuid1).not.toBe(uuid2); - }); - - test('handles timestamp overflow', () => { - // Set timestamp to maximum possible value - const maxTimestamp = new Date('9999-12-31T23:59:59.999Z').getTime(); - const originalTimestamp = Date.now(); - Date.now = jest.fn(() => maxTimestamp + 1); - const uuid = generateUUID(); - expect(uuid).toMatch(/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/); - Date.now = jest.fn(() => originalTimestamp); - }); -}); diff --git a/src/core/utils/generateUUID.ts b/src/core/utils/generateUUID.ts deleted file mode 100644 index e7086cc5..00000000 --- a/src/core/utils/generateUUID.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Creates a Universal Unique Identifier following RFC4122 standard - */ -export function generateUUID(): string { - let d = new Date().getTime(); //Timestamp - let d2 = (typeof performance !== 'undefined' && performance.now && performance.now() * 1000) || 0; //Time in microseconds since page-load or 0 if unsupported - - return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { - let r = Math.random() * 16; //random number between 0 and 16 - if (d > 0) { - //Use timestamp until depleted - r = (d + r) % 16 | 0; - d = Math.floor(d / 16); - } else { - //Use microseconds since page-load if supported - r = (d2 + r) % 16 | 0; - d2 = Math.floor(d2 / 16); - } - - return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16); - }); -}