4.1.0 • Published 1 year ago

trimid v4.1.0

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

TrimId

Introduction

The trimid is an identifier generation system which provide mongodb's ObjectId system with following modifications. 1. 5 bytes to store timestamp value (which will result in the date of 36812-02-20 UTC) 2. 4 bytes to store machine id (which is a fnv1a32 hash of hostname by default) 3. 4 bytes to store process / subprocess / thread identifier (which is a fnv1a32 hash of the process/thread ids) 4. 3 bytes to store incrementing counter, which is randomly initialized

Installation

Use the following command to install the module:

npm install trimid

Usages

// Grab trimid module
const TrimId = require('trimid');

// Generate new trimid
const new_id = TrimId.NEW;

// Convert id to a comparable string (base32hex format)
const string_id = new_id.toString(); //01i20mgo1b3toqjm7oa21erbis

// Restore an trimid instance from base32hex string
const restore_id = TrimId.from('01i20mgo1b3toqjm7oa21erbis');



// Use the following statment if you want to change machine id and session id
TrimId._base('some hostname', `new_session_id,${process.pid}.${process.ppid}`);

// The generated id's machine id and session id will be changed
const id_with_new_machine_id = Trim.NEW;

Cli Usage

This module also provides a command that allow user generates a new uniqid string via CLI. To use the command, install the module globally first.

npm install -g trimid

The use the following command to generate base32hex uniqid string

uniqid

Or if you want to generate binanry stream and perform custom encoding yourself.

uniqid --binary | base64
4.1.0

1 year ago

4.0.1

2 years ago

4.0.0

3 years ago

3.1.1

3 years ago

3.1.0

3 years ago

3.0.0

3 years ago

2.1.0

3 years ago

2.0.1

3 years ago

1.1.0

3 years ago

2.0.0

3 years ago

1.0.0

3 years ago