New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

iid

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

iid

Internet Id (base62-encoded uuid/v4)

  • 0.9.5
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Weekly downloads
 
Created
Source

Iid - "Internet ID"

What's that? Simply uuid/v4, base62-encoded, zero-justified to 22 chars. It looks like "1eCH6Km2kWjIviA5l6q9VN" — made up of only latin letters and numbers. You probably know all about it already.

Looking around, the packages I found seemed shady. Or maybe it was NIH.

The purpose of Iid

  • Clean and simple for APIs, micro-service messaging, apps — you know; internet-stuff
  • Generate a 128-bit Uuid/v4, encoded as a 22-char base-62 string: "Iid"
  • Since it's considered practically and reasonably collision-free (unless using a sucky PRNG like WinAPI), it can be used to create unique ID's in a decentralized fashion. Good for internet-stuff and mobile.
  • It's not as grotesquely in your face as "289b5d90-4f9b-4095-916b-d82451cf9f53" (uuid/v4 canonical hexadecimal string representation)
  • Convert to and from Uuid/v4 canonical 36-char format for interfacing with databases, external APIs, etc
  • Needless to say, loss-less conversion for all 128-bits, whereof 122 bits are entropy, as per specs.

Sidenotes

  • Written in TypeScript for safety's sake, type-defs included
  • Uses arrays instead of buffers for broser-friendlyness
  • Compiles to ES-mod and CommonJs-mod, to suit direct nodejs-usage, and pre-compiler chains for tree-shaking
  • It leverages quite a bit of tidsbits from "base-x" (through a lineage of different authors), and depends on the ubiquituous "uuid" module

Example

const {Iid} = require("iid") // Or `import {Iid} from "iid"`
say = console.log

const iid = Iid()
say(iid)

const uuid = Iid.toUuid(iid)
say(uuid)

const iid2 = Iid.fromUuid(uuid)
say(iid2)

say(iid === iid2)

Example output:

1eCH6Km2kWjIviA5l6q9VN
289b5d90-4f9b-4095-916b-d82451cf9f53
1eCH6Km2kWjIviA5l6q9VN
true

That's all folks!

Keywords

FAQs

Package last updated on 28 Mar 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc