YHWH

A minimal MoonBit library for sequential base-35 tags with configurable generated length.

tag
generator
base35
identifier
gerby
jehovah
moon add kokic/YHWH@0.2.0
Download zip
Author
Version
0.2.0
License
AGPL-3.0
Last updated
2 months ago
Downloads
22
README

#YHWH

A minimal MoonBit library for sequential base-35 tags with configurable generated length.

YHWH tags use digits and uppercase letters, excluding O:

0123456789ABCDEFGHIJKLMNPQRSTUVWXYZ

The default tag length is 4, but tag functions accept a length parameter.

next_tag(None) // Some("0000")
next_tag(None, length=2) // Some("00")
next_tag(Some("000N")) // Some("000P")
tag_at(24) // Some("000P")
tag_at(24, length=1) // Some("P")
tag_rank("000P") // Some(24)
tag_rank("P", length=1) // Some(24)

#
Tag

type Tag = String

#
DEFAULT_TAG_CAPACITY

let DEFAULT_TAG_CAPACITY : Int

#
DEFAULT_TAG_LENGTH

let DEFAULT_TAG_LENGTH : Int

#
TAG_BASE

let TAG_BASE : Int

#
base35_digit_from_int

fn base35_digit_from_int(value : Int) -> Char?

#
base35_digit_to_int

fn base35_digit_to_int(code : UInt16) -> Int?

#
is_valid_tag

fn is_valid_tag(tag : String, length? : Int) -> Bool

#
next_tag

fn next_tag(last : String?, length? : Int) -> String?

#
tag_at

fn tag_at(rank : Int, length? : Int) -> String?

#
tag_capacity

fn tag_capacity(length? : Int) -> Int?

#
tag_rank

fn tag_rank(tag : String, length? : Int) -> Int?

Powered by MoonBit

Site sourceReport issuePackagesBuild queueSkillsStatistics

© 2026 mooncakes.io