superflake

Crates.iosuperflake
lib.rssuperflake
version0.2.0
sourcesrc
created_at2024-03-07 15:21:57.137538
updated_at2024-03-07 17:43:47.959098
descriptionUltra-safe identification technology
homepage
repository
max_upload_size
id1166053
size16,711
Aidak (aidakdev)

documentation

README

Crates.io Version Crates.io License Foundry Industries

Superflake is an ultra-safe identification technology inspired by Snowflake IDs.

Features

  • Simple. Minimal and beautiful IDs that are unique.
  • Customizable. You can customize the default epoch and the node ID.
  • Robust. Superflake is built in Rust, the world's most loved programming language.
  • Performant. A Superflake ID is only 8 bytes long, and it is a number, just like Snowflakes.

Structure

A Superflake is generated by concatenating:

  • a 42-bit timestamp,
  • a 10-bit node ID, and
  • a 12-bit incremental number.

Usage

use superflake::Superflake;

let mut superflake = 
    Superflake::new_with_node_id(1023, None); // Specify a custom epoch if you want

let id = superflake.gen(); // 392366571697205248

// Decode the Superflake
let decoded_id = superflake.decode(id); 
Commit count: 0

cargo fmt