light-id

Generate and manipulate incremental IDs effortlessly

1 unstable release

0.1.0 Dec 14, 2023

#1946 in Parser implementations

MIT license

18KB
170 lines

Light-Id

Crates.io GitHub Documentation

light-id is a Rust crate designed for effortless generation and manipulation of lightweight, incremental IDs. Built with safety and speed in mind, it offers a versatile and customizable approach to create and switch between different bases for IDs. The crate includes various utilities to tailor your IDs to specific requirements.

Features

  • Incremental Generation: Easily generate IDs in an incremental fashion.
  • Base Switching: Seamlessly switch between different bases for your IDs.
  • Customization: Fine-tune your IDs with a range of utilities for flexibility.

Getting Started

Installation

Add the following lines to your Cargo.toml file:

[dependencies]
light-id = "0.1.0"

Usage

use light_id::LightId;

let mut generator = LightId::new();
println!("Current ID: {}", generator.next());

Custom base and skipping

use light_id::LightId;

let mut generator = LightId::from("abc");
generator.skip(2);
println!("Skipped ID: {}", generator.current());

Base switching

use light_id::IdSwitcher;

let switcher = IdSwitcher::new("0123456789", "abcdef");
let switched_id = switcher.switch("2");
println!("Switched ID: {}", switched_id);

Support

If you encounter any issues, please report them on GitHub. I'll be pleased to help you!

License

This crate is licensed under the MIT License.

No runtime deps