UNPKG

distid

Version:

Distributed ID generator for large-scale systems

26 lines (25 loc) 1.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const src_1 = require("../src"); describe('DistIdGenerator', () => { afterEach(() => { src_1.DistIdGenerator.resetNodeIds(); }); it('should generate unique IDs', () => { const gen = new src_1.DistIdGenerator({ nodeId: 1 }); const id1 = gen.generate('hex'); const id2 = gen.generate('hex'); expect(id1).not.toBe(id2); }); it('should throw error for duplicate nodeId', () => { new src_1.DistIdGenerator({ nodeId: 2 }); expect(() => new src_1.DistIdGenerator({ nodeId: 2 })).toThrow('Node ID 2 is already in use'); }); it('should support different formats', () => { const gen = new src_1.DistIdGenerator({ nodeId: 3 }); expect(typeof gen.generate('number')).toBe('bigint'); expect(gen.generate('hex')).toMatch(/^[0-9a-f]{16}$/); expect(gen.generate('base36')).toMatch(/^[0-9a-z]+$/); expect(gen.generate('base62')).toMatch(/^[0-9A-Za-z]+$/); }); });