Documentation ¶
Overview ¶
Package identity defines the ID format used for uniquely identifying objects in Torus.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ID ¶
type ID [byteLength]byte
ID is an encoded unique identifier for an object.
The first byte holds the schema version of the id itself. The second byte holds the type of the object. The remaining 16 bytes hold a digest of the contents of the object for immutable objects, or a random value for mutable objects.
func DecodeFromString ¶
DecodeFromString returns an ID that is stored in the given string.
func DeriveMutable ¶ added in v0.15.0
DeriveMutable returns a ID for a mutable object based on another ID.
func NewImmutable ¶ added in v0.9.0
NewImmutable returns a new signed ID for an immutable object.
sig should be a registry.Signature type
func NewMutable ¶ added in v0.9.0
NewMutable returns a new ID for a mutable object.
func (*ID) MarshalJSON ¶
MarshalJSON implements the json.Marshaler interface for IDs.
IDs are encoded in unpadded base32.
func (*ID) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface for IDs.
type Identifiable ¶
Identifiable is the interface implemented by objects that can be given IDs.
type Immutable ¶
type Immutable interface { Identifiable Immutable() // We don't ever need to call this, its just for type checking. }
Immutable structs are Identifiables that do not change, and should be signed.
type Mutable ¶
type Mutable interface { Identifiable Mutable() // also just for type checking. }
Mutable structs are Identifiables that can be changed.