Skip to content

mplanchard/cuid-rust

Repository files navigation

cuid-rust

Build Status Crates.io docs.rs

This repository is the home of the cuid, cuid1, and cuid2 crates. The original CUID standard is marked as deprecated in favor of CUID2, but we intent to continue supporting v1 CUIDs indefinitely, since their k-sortability is only insecure in specific use-cases, while their sortability is quite useful in other use-cases.

The cuid crate provides a wrapper around both versions:

In addition, both cuid1 and cuid2 may be used as standalone crates:

Please see the individual crates' READMEs for more information.

If you are upgrading to cuid 2.0, you must swap usages of non-version-specific calls like cuid() for the desired version, i.e. cuid1() or cuid2().

Development

A flake.nix file is provided for easy installation of dependencies via the nix package manager. To start a shell with all of the dependencies available, run:

nix develop

Or, if you are not yet using flakes, a shell.nix shim is provided, so you can do the same with

nix-shell

If you use direnv, the .envrc file will automatically source the nix packages into your shell (or editor environment, if you use a direnv plugin).