NTIDs are IDs of the form Type[...]
where the string between the square brackets may contain other NTIDs or a URL-safe Base64 string. NTIDs are designed to be:
- relatively human-readable
- typed (so you never accidentally mix up a user ID and a photo ID, for example)
- generatable anywhere (i.e. not relying on a central service to sequentially dole them out; any client can just make one up that will be unique)
- composable; e.g., the ID for the Like object that captures the like-state of User A liking (or not liking) Photo B, is deterministic. This is useful so that two clients, or a client and server, avoid creating separate entities for things that should be singletons. It's also useful as a primary key in RethinkDB (or any other system that doesn't allow compound primary keys).
NTID comes with a command called ntid
that generates IDs. Install NTID globally with npm i -g ntid
and run:
$ ntid example
example[RY7ss1F2-Y7S0nvTbNBH73]
See inline docblocks for full API and documentation.
Takes a string denoting the type of NTID to generate and returns a new randomly generated NTID.
Parses the type of the given NTID.