token

package
v0.4.11 Latest Latest
Warning

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

Go to latest
Published: Aug 31, 2022 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	TurkishCaser = &unicode.TurkishCase
	AzeriCaser   = &unicode.AzeriCase
)
View Source
var DefaultCaser = Unicode{}

Functions

This section is empty.

Types

type Caser added in v0.3.0

type Caser interface {
	// ToLower maps the rune to lower case
	ToLower(r rune) rune
	// ToUpper maps the rune to upper case
	ToUpper(r rune) rune
	// ToTitle maps the rune to title case
	ToTitle(r rune) rune
}

Caser is satisfied by types which can map runes to their lowercase and uppercase equivalents.

func CaserOrDefault added in v0.3.0

func CaserOrDefault(caser Caser) Caser

type Token

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

Token contains a slice of runes representing the raw value and value in lowercase form.

This is used for the

func Append

func Append(caser Caser, t Token, elems ...Token) Token

Append appends all of o to t

func AppendRune

func AppendRune(caser Caser, t Token, r rune) Token

AppendRune append the rune to the current token.

func FromRune added in v0.3.0

func FromRune(caser Caser, value rune) Token

func FromRunes

func FromRunes(caser Caser, value []rune) Token

func FromString

func FromString[T ~string](caser Caser, value T) Token

func (Token) Clone added in v0.4.0

func (t Token) Clone() Token

func (Token) FirstLowerRune added in v0.3.0

func (t Token) FirstLowerRune() (rune, bool)

func (Token) FirstRune added in v0.3.0

func (t Token) FirstRune() (rune, bool)

func (Token) FirstUpperRune added in v0.3.0

func (t Token) FirstUpperRune() (rune, bool)

func (Token) HasLower added in v0.3.0

func (t Token) HasLower() bool

HasLower returns true if any rune in the token is a unicode lowercase letter.

func (Token) IsEmpty added in v0.3.0

func (t Token) IsEmpty() bool

func (Token) IsNumber

func (t Token) IsNumber(additionalRules ...map[rune]func(index int, r rune, val []rune) bool) bool

IsNumber reports true if the Token is considered a valid number based on the following rules:

- If the Token is composed only of numbers

- If the Token is prefixed with any of the following: + - . v V # and followed by a number

- Numbers may only be separated by a single '.' and '.' may be the first rune or proceeded by a number, '+', or '-'

- A single 'e' or 'E' may only be used in the exponent portion of a number

- 'e' or 'E' may be followed

- ',' must be preceded by a number and followed by a number

- if additionalRules is not nil and the rune is present in the map, the result of the provided func overrides the rules above

func (Token) Len

func (t Token) Len() int

Len returns the number of runes in the Part.

func (Token) Lower

func (t Token) Lower() string

func (Token) LowerFirst

func (t Token) LowerFirst() string

func (Token) LowerReversedRunes added in v0.3.0

func (t Token) LowerReversedRunes() []rune

func (Token) LowerRunes added in v0.3.0

func (t Token) LowerRunes() []rune

func (Token) Reverse added in v0.3.0

func (t Token) Reverse() Token

func (Token) ReverseSplit added in v0.3.0

func (t Token) ReverseSplit() []Token

func (Token) Runes added in v0.3.0

func (t Token) Runes() []rune

func (Token) Split

func (t Token) Split() []Token

Split returns the current token split into a slice of Tokens for each rune in the list.

func (Token) String

func (t Token) String() string

func (Token) Upper

func (t Token) Upper() string

func (Token) UpperFirst

func (t Token) UpperFirst() string

func (Token) UpperFirstLowerRest

func (t Token) UpperFirstLowerRest() string

func (Token) UpperRunes added in v0.3.0

func (t Token) UpperRunes() []rune

func (Token) Value

func (t Token) Value() string

type Unicode added in v0.3.0

type Unicode struct{}

func (Unicode) ToLower added in v0.3.0

func (Unicode) ToLower(r rune) rune

ToUpper maps the rune to lower case using unicode.ToLower

func (Unicode) ToTitle added in v0.3.0

func (Unicode) ToTitle(r rune) rune

ToTitle maps the rune to title case using unicode.ToTitle.

func (Unicode) ToUpper added in v0.3.0

func (Unicode) ToUpper(r rune) rune

ToUpper maps the rune to upper case using unicode.ToUpper

Jump to

Keyboard shortcuts

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