tags

package
v1.0.13 Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2024 License: CC0-1.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type T

type T struct {
	T []*tag.T
}

T is a list of T - which are lists of string elements with ordering and no uniqueness constraint (not a set).

func New

func New(fields ...*tag.T) (t *T)

func (*T) Append

func (t *T) Append(ttt ...*T)

func (*T) AppendUnique

func (t *T) AppendUnique(tag *tag.T) *T

AppendUnique appends a tag if it doesn't exist yet, otherwise does nothing. the uniqueness comparison is done based only on the first 2 elements of the tag.

func (*T) Clone

func (t *T) Clone() (c *T)

func (*T) Equal

func (t *T) Equal(ta *T) bool

func (*T) FilterOut

func (t *T) FilterOut(tagPrefix []B) *T

FilterOut removes all tags that match the prefix, see [T.StartsWith]

func (*T) GetAll

func (t *T) GetAll(tagPrefix *tag.T) *T

GetAll gets all the tags that match the prefix, see [T.StartsWith]

func (*T) GetFirst

func (t *T) GetFirst(tagPrefix *tag.T) *tag.T

GetFirst gets the first tag in tags that matches the prefix, see [T.StartsWith]

func (*T) GetLast

func (t *T) GetLast(tagPrefix *tag.T) *tag.T

GetLast gets the last tag in tags that matches the prefix, see [T.StartsWith]

func (*T) Intersects added in v0.1.7

func (t *T) Intersects(f *T) (has bool)

Intersects returns true if a filter tags.T has a match. This means the second character of the filter tag key matches, (ignoring the stupid # prefix in the filter) and one of the following values in the tag matches the first tag of this tag.

func (*T) Len

func (t *T) Len() (l int)

func (*T) Less

func (t *T) Less(i, j int) (less bool)

Less returns which tag's first element is first lexicographically

func (*T) MarshalJSON

func (t *T) MarshalJSON(dst B) (b B, err error)

func (*T) MarshalTo

func (t *T) MarshalTo(dst B) []byte

MarshalTo appends the JSON encoded byte of T as [][]string to dst. String escaping is as described in RFC8259.

func (*T) Scan

func (t *T) Scan(src any) (err error)

Scan parses a string or raw bytes that should be a string and embeds the values into the tags variable from which this method is invoked.

todo: wut is this?

func (*T) Swap

func (t *T) Swap(i, j int)

func (*T) ToStringSlice

func (t *T) ToStringSlice() (b [][]S)

func (*T) UnmarshalJSON

func (t *T) UnmarshalJSON(b B) (r B, err error)

Jump to

Keyboard shortcuts

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