diff --git a/libs/guid/src/index.ts b/libs/guid/src/index.ts index e69de29bb2d..3ef62725ebf 100644 --- a/libs/guid/src/index.ts +++ b/libs/guid/src/index.ts @@ -0,0 +1,13 @@ +export const guidRegex = /^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i; + +export function newGuid(): string { + return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => { + const r = (Math.random() * 16) | 0; + const v = c === "x" ? r : (r & 0x3) | 0x8; + return v.toString(16); + }); +} + +export function isGuid(id: string): boolean { + return guidRegex.test(id); +}