eventid
TypeScript icon, indicating that this package has built-in type declarations

2.0.1 • Public • Published

eventid

Monotonically increasing per machine, globally unique eventids

npm version Build Status Dependencies Known Vulnerabilities

Note: This is not an official Google product.

An eventId uniquely identifies an event across a network of services. It is globally unique, and is monotically increasing locally. This makes eventids useful for lexically comparable identifiers for events in a distributed system.

This can be used instead of timestamps – JavaScript timestamps only have millisecond resolution making them unsuitable for the purpose of building monotonically increasing local ids.

Installation

$ npm install eventid

Usage

const EventId = require('eventid');

// Instantiate a generator.
const eventId = new EventId();

// Generate a globally unique identifier.
const id1 = eventId.new(); // -> "..........37qqNkj4K24ulWyeuWxpZh"
// Use the same generator to get monotonically increasing local ids.
const id2 = eventId.new(); // -> "..........77qqNkj4K24ulWyeuWxpZh"
// You can lexicographically compare the ids.
assert(id1 < id2); // -> true

// Another instance will use a different guid
const another = new EventId();
const id3 = another.new(); // -> "..........5rkLYOc5W8ZAHAmVSyrixJ"

License

Apache 2.0

Readme

Keywords

Package Sidebar

Install

npm i eventid

Weekly Downloads

1,208,390

Version

2.0.1

License

Apache-2.0

Unpacked Size

20.5 kB

Total Files

7

Last publish

Collaborators

  • google-wombot
  • ofrobots
  • matthewloring
  • google-admin