contexify
Version:
A TypeScript library providing a powerful dependency injection container with context-based IoC capabilities, inspired by LoopBack's Context system.
30 lines • 985 B
JavaScript
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
function createIdGenerator(size = 16) {
const alphabet = "0123456789abcdef";
return () => {
let str = "";
const num = Math.random() * 16 | 0;
for (let i = 0; i < size; i++) {
str += alphabet[i === 0 ? num : Math.random() * 16 | 0];
}
return str;
};
}
__name(createIdGenerator, "createIdGenerator");
const generateUniqueId = createIdGenerator();
function generateUUID() {
const h = createIdGenerator(32)();
return `${h.slice(0, 8)}-${h.slice(8, 12)}-${h.slice(12, 16)}-${h.slice(16, 20)}-${h.slice(20, 32)}`;
}
__name(generateUUID, "generateUUID");
const UNIQUE_ID_PATTERN = /[0-9a-f]{16}/;
const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
export {
UNIQUE_ID_PATTERN,
UUID_PATTERN,
createIdGenerator,
generateUUID,
generateUniqueId
};
//# sourceMappingURL=unique-id.js.map