UNPKG

msid

Version:

Minimal, monotonic, URL-safe, Client-first, reversible date-based IDs - just 7 chars for millisecond precision!

18 lines (16 loc) 848 B
/** Default alphabet (0–9, A–Z, a–z) */ declare const DEFAULT_ALPHABET = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; interface DateCodecOptions { /** Custom epoch for offsets (default: UNIX_EPOCH) */ epoch?: Date; /** Precision unit: milliseconds, seconds, or days */ resolution?: "ms" | "second" | "day"; /** Alphabet for base‑N encoding (default: DEFAULT_ALPHABET) */ alphabet?: string; } declare function msid(): string; declare function msid(opts: DateCodecOptions): string; declare function msid(date: Date, opts?: DateCodecOptions): string; declare function msid(id: string, opts?: DateCodecOptions): Date; declare function msid(input?: Date | string | DateCodecOptions, opts?: DateCodecOptions): string | Date; export { DEFAULT_ALPHABET, type DateCodecOptions, msid as default, msid };