const guidValidator = /^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$/i; /** * Checks if the string is a valid GUID. * @param source the string to check. * @returns unchanged string if it is a valid GUID; otherwise, undefined. */ export const parseGuidString = (source) => { if (source && guidValidator.test(source)) { return source; } return undefined; }; /** * Generates a GUID. * @returns a GUID. */ export const createGuid = () => [gen(2), gen(1), gen(1), gen(1), gen(3)].join("-"); /** * Generates a empty GUID. * @returns a empty GUID. */ export const createEmptyGuid = () => "00000000-0000-0000-0000-000000000000"; /** * Generates a part of a GUID. * @param count the number of 2 byte chunks to generate. * @returns a part of a GUID. */ const gen = (count) => { let out = ""; for (let i = 0; i < count; i++) { // eslint-disable-next-line no-bitwise out += (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1); } return out; }; //# sourceMappingURL=guidUtils.js.map