package identity

import ""


Package Files


type Identities

type Identities map[Identity]Provider

Identities stores identity providers.

type IdentitiesProvider

type IdentitiesProvider interface {
    GetIdentities() Identities

IdentitiesProvider provides all Identities.

type Identity

type Identity interface {
    Name() string

Identity represents an thing that can provide an identify. This can be any Go type, but the Identity returned by GetIdentify must be hashable.

type IncrementByOne

type IncrementByOne struct {
    // contains filtered or unexported fields

IncrementByOne implements Incrementer adding 1 every time Incr is called.

func (*IncrementByOne) Incr

func (c *IncrementByOne) Incr() int

type Incrementer

type Incrementer interface {
    Incr() int

Incrementer increments and returns the value. Typically used for IDs.

type KeyValueIdentity

type KeyValueIdentity struct {
    Key   string
    Value string

A KeyValueIdentity a general purpose identity.

func (KeyValueIdentity) GetIdentity

func (id KeyValueIdentity) GetIdentity() Identity

GetIdentity returns itself.

func (KeyValueIdentity) Name

func (id KeyValueIdentity) Name() string

Name returns the Key.

type Manager

type Manager interface {
    Add(ids ...Provider)

Manager manages identities, and is itself a Provider of Identity.

func NewManager

func NewManager(id Provider) Manager

NewIdentityManager creates a new Manager starting at id.

type PathIdentity

type PathIdentity struct {
    Type string
    Path string

A PathIdentity is a common identity identified by a type and a path, e.g. "layouts" and "_default/single.html".

func NewPathIdentity

func NewPathIdentity(typ, pat string) PathIdentity

NewPathIdentity creates a new Identity with the two identifiers type and path.

func (PathIdentity) GetIdentity

func (id PathIdentity) GetIdentity() Identity

GetIdentity returns itself.

func (PathIdentity) Name

func (id PathIdentity) Name() string

Name returns the Path.

type Provider

type Provider interface {
    // GetIdentity is for internal use.
    GetIdentity() Identity

Provider provides the hashable Identity.

type SearchProvider

type SearchProvider interface {
    Search(id Identity) Provider

SearchProvider provides access to the chained set of identities.

v0.101.0 (latest)
Jun 16, 2022
4 packages (graph)
Last checked
3 hours ago

Tools for package owners.