ulids

package
v0.12.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 7, 2023 License: BSD-3-Clause Imports: 5 Imported by: 0

Documentation

Overview

Package ulid is a lightweight wrapper around the github.com/oklog/ulid package that provides some common functionality (like checking if a ULID is null or is zero) as well as a process-global, cryptographically random, monotonic, and thread-safe ulid generation mechanism that can be used from external packages.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUnknownType = errors.New("cannot parse input: unknown type")
)
View Source
var Null = ulid.ULID{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}

Null ULID pre-allocated for easier checking.

Functions

func Bytes

func Bytes(uid any) (_ []byte, err error)

Bytes parses a ULID and returns the []byte representation of the ULID.

func FromTime

func FromTime(ts time.Time) ulid.ULID

Create a ULID with the specified timestamp.

func IsZero

func IsZero(uid ulid.ULID) bool

Determines if the specified uid is the Null or zero-valued ULID. Useful for determining if a ULID has been passed into a method or is valid.

func MustBytes

func MustBytes(uid any) (id []byte)

MustBytes parses the ULID into bytes but panics on errors.

func MustParse

func MustParse(uid any) (id ulid.ULID)

MustParse parses the ULID but panics on errors.

func New

func New() ulid.ULID

New creates a new montonically increasing ULID in a threadsafe manner using a cryptographically random source of entropy for security (e.g. to ensure that an attacker cannot guess the next ULID to be generated). If the ULID cannot be generated this method panics rather than returning an error.

func Parse

func Parse(uid any) (ulid.ULID, error)

Parse a ULID from a string or a []byte (or return a ulid.ULID). This method makes it easier to convert any user-specified type into a ULID.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL