0.3.8 • Published 2 years ago

typeid-ts v0.3.8

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
2 years ago

TypeID Typescript

A typescript implementation of TypeIDs

License

TypeIDs are a modern, type-safe, globally unique identifier based on the upcoming UUIDv7 standard. They provide a ton of nice properties that make them a great choice as the primary identifiers for your data in a database, APIs, and distributed systems. Read more about TypeIDs in their spec.

This particular implementation provides a TS library for generating and parsing TypeIDs.

UUIDv7

Uses the package https://github.com/LiosK/uuidv7

Installation

For library:

npm install typeid-ts

For cli tool:

npm install -g typeid-ts

CLI Usage

To generate a new TypeID, run:

$ typeid new user
New typeid: user_1g64w3jc1ncgr2tcsh6mrjtdsn

To decode an existing TypeID into a UUID run:

$ typeid decode user_01h2xcejqtf2nbrexx3vqjhp41
Decoded typeid: {"type":"user","uuid":"0188bac7-4afa-78aa-bc3b-bd1eef28d881"}

And to encode an existing UUID into a TypeID run:

$ typeid encode user 0188bac7-4afa-78aa-bc3b-bd1eef28d881
Encoded typeid: user_01h2xcejqtf2nbrexx3vqjhp41

Library Usage

Creates a new Typeid

import { typeid, generateNew } from 'typeid-ts'

\\ You can either use:
typeid(<prefix>)
\\ or
generateNew(<prefix>)

returns e.g. user_1g64w3jc1ncgr2tcsh6mrjtdsn

Decodes a Typeid

import { decodeFromString } from 'typeid-ts'

decodeFromString(<typeid>)

returns e.g. {"type":"user","uuid":"0188bac7-4afa-78aa-bc3b-bd1eef28d881"}

Encodes a UUID with a prefix

import { encodeFromUUID } from 'typeid-ts'

encodeFromUUID(<prefix>, <UUID string>)

returns e.g. prefix_1g64w3grk1ccvjtd31csgjtdsr

Related Work

  • UUIDv7 - The upcoming UUID standard that TypeIDs are based on.
  • typeid-go - Ported from this library
  • typeid - Original CLI client in Go
0.3.8

2 years ago

0.3.7

2 years ago

0.3.6

2 years ago

0.3.5

2 years ago

0.3.4

2 years ago

0.3.3

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.3.0

2 years ago

0.2.9

2 years ago

0.2.8

2 years ago

0.2.7

2 years ago

0.2.6

2 years ago

0.2.5

2 years ago

0.2.4

2 years ago

0.2.3

2 years ago

0.2.2

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.0

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago