A tiny zero dependency library for ULID to UUID conversion and vice versa.
npm i ulid-uuid-converter
import { UUIDtoULID, ULIDtoUUID } from "ulid-uuid-converter";
const ulid = UUIDtoULID("0186675b-9439-536e-1c4c-561c280fa87b");
// outputs: 01GSKNQ51SADQ1RK2P3GM0ZA3V
const uuid = ULIDtoUUID("01GSKNQ51SADQ1RK2P3GM0ZA3V");
// outputs: 0186675b-9439-536e-1c4c-561c280fa87b
You can pass an optional second argument with nullOnInvalidInput
to both functions. With this option the function behavior changes: instead of throwing, it will return null
if a bad input is passed as argument.
Option | Type | Default | Description |
---|---|---|---|
nullOnInvalidInput | boolean |
false |
Return null instead of throwing on bad input |
// these will throw!
const ulid = UUIDtoULID("bad string");
const uuid = ULIDtoUUID("another bad string");
// these will return null instead of throwing
const ulid = UUIDtoULID("bad string", { nullOnInvalidInput: true });
const uuid = ULIDtoUUID("another bad string", { nullOnInvalidInput: true });
Big thanks to devbanana for the Crockford's Base32 encoding and decoding functions.
This project is licensed under the MIT License.