tags

package
v1.2.18 Latest Latest
Warning

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

Go to latest
Published: Nov 28, 2024 License: Unlicense Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type B

type B = []byte

type Ctx

type Ctx = context.T

type E

type E = error

type N

type N = int

type S

type S = string

type T

type T struct {
	// contains filtered or unexported fields
}

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 NewWithCap added in v1.0.4

func NewWithCap(c int) (t *T)

func (*T) AddCap added in v1.0.4

func (t *T) AddCap(i, c int) (tt *T)

func (*T) Append

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

func (*T) AppendSlice added in v1.2.0

func (t *T) AppendSlice(b ...B) (tt *T)

AppendSlice just appends a slice of slices of bytes into the tags. Like AppendTo but without the position specifier. todo: this is a terribly constructed API innit.

func (*T) AppendTags added in v1.0.4

func (t *T) AppendTags(ttt ...*tag.T) (tt *T)

func (*T) AppendTo added in v1.0.4

func (t *T) AppendTo(n int, b ...B) (tt *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) Contains added in v1.0.13

func (t *T) Contains(filterTags *T) (has bool)

func (*T) ContainsAny added in v1.0.13

func (t *T) ContainsAny(tagName B, values *tag.T) bool

ContainsAny returns true if any of the strings given in `values` matches any of the tag elements.

func (*T) ContainsProtectedMarker added in v1.2.17

func (t *T) ContainsProtectedMarker() (does bool)

ContainsProtectedMarker returns true if an event may only be published to the relay by a user authed with the same pubkey as in the event. This is for implementing relayinfo.NIP70.

func (*T) Equal

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

func (*T) F added in v1.0.4

func (t *T) F() (tt []*tag.T)

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

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) N added in v1.0.4

func (t *T) N(i int) (tt *tag.T)

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)

func (*T) Value added in v1.0.4

func (t *T) Value() (tt []*tag.T)

Jump to

Keyboard shortcuts

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