mirror of
https://github.com/Wessel/Snowflakey.git
synced 2026-06-08 22:29:10 +02:00
Add token generation
This commit is contained in:
40
tests/snowflake.test.ts
Normal file
40
tests/snowflake.test.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
// require & generate the instance
|
||||
import * as Snowflake from '../lib/snowflakey';
|
||||
|
||||
const master = new Snowflake.Master();
|
||||
const worker = new Snowflake.Worker({
|
||||
name: 'starling',
|
||||
epoch: 1420070400000,
|
||||
workerId: process.env.CLUSTER_ID || 31,
|
||||
processId: process.pid || undefined,
|
||||
workerBits: 8,
|
||||
processBits: 0,
|
||||
incrementBits: 14
|
||||
});
|
||||
|
||||
master.addWorkers(worker);
|
||||
|
||||
// Using the worker directly
|
||||
const flake = worker.generate();
|
||||
|
||||
console.log('----------[ Worker ]----------')
|
||||
console.log(`Created snowflake: ${flake}`);
|
||||
console.log(`Creation date : ${Snowflake.lookup(flake, worker.options.epoch).toLocaleString()}`);
|
||||
console.log(`Deconstructed : ${worker.deconstruct(flake).timestamp.valueOf()}`);
|
||||
// Using the master to get events
|
||||
console.log('----------[ Master ]----------')
|
||||
master.on('newSnowflake', (data) => {
|
||||
console.log(`created snowflake: ${data.snowflake.toString()} by Worker ${data.worker.options.name || data.worker.options.workerId}`)
|
||||
console.log(`Creation date : ${Snowflake.lookup(flake, data.worker.options.epoch).toLocaleString()}`);
|
||||
data.worker.deconstruct(data.snowflake);
|
||||
});
|
||||
|
||||
master.on('deconstructedFlake', (data) => {
|
||||
console.log(`Deconstructed : ${data.timestamp.valueOf()} by Worker ${data.worker.options.name || data.worker.options.workerId}`);
|
||||
});
|
||||
|
||||
worker.generate();
|
||||
|
||||
console.log(`Workers before : ${master.listWorkers().length}`);
|
||||
master.removeWorkers(worker.options.name);
|
||||
console.log(`Workers after : ${master.listWorkers().length}`);
|
||||
Reference in New Issue
Block a user