herbtext

package module
v0.0.0-...-6bc3972 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2021 License: MIT Imports: 1 Imported by: 6

README

herbtext

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultEnvironment = func() Environment {
	return defaultEnvironment.Load().(Environment)
}

DefaultEnvironment return default environment

View Source
var SetDefaultEnvironment = func(e Environment) {
	defaultEnvironment.Store(e)
}

SetDefaultEnvironment set given enviroment as default

Functions

func MergeSet

func MergeSet(target Set, sources ...Set)

MergeSet merge sources set to target Value in later set will overwrite early one with same key

Types

type Converter

type Converter func(string) string

Converter text converter type. Converter should convert give string to new text. Converter should panic if any error raised

type Environment

type Environment interface {
	//GetConverter get converter from environment by given name.
	//Nil should be returned if name not found.
	GetConverter(name string) Converter
	//GetFormatter get formatter from environment by given name.
	//Nil should be returned if name not found.
	GetFormatter(name string) Formatter
	//GetParser get parser from environment by given name.
	//Nil should be returned if name not found.
	GetParser(name string) Parser
	//RangeConverters range over environment converters with given func.
	//Stop if false returned.
	RangeConverters(f func(key string, value Converter) bool)
	//RangeFormatters range over environment formatters with given func.
	//Stop if false returned.
	RangeFormatters(f func(key string, value Formatter) bool)
	//RangeParsers range over environment parsers with given func.
	//Stop if false returned.
	RangeParsers(f func(key string, value Parser) bool)
}

Environment environment(readonly) interface

type Formatter

type Formatter func(format string, data string) (formatted string)

Formatter formatter type. Formatter should format given data with in given foramt. Formatter should panic if any error raised.

type Map

type Map map[string]string

Map text key-value map

func CloneSet

func CloneSet(set Set) Map

CloneSet clone set

func NewMap

func NewMap() Map

NewMap create new map

func (Map) Get

func (m Map) Get(key string) string

Get get value from set by given key

func (Map) Length

func (m Map) Length() int

Length return set length

func (Map) Range

func (m Map) Range(f func(string, string) bool)

Range range over set with given function. Stop range if function return false,

func (Map) Set

func (m Map) Set(key, value string)

Set set given value to set by given key

type Parser

type Parser func(data string) (interface{}, error)

Parser paraser type. Parser parse given data to interface{} and return any error if rasied.

type PlainEnvironment

type PlainEnvironment struct {
	Converters map[string]Converter
	Formatters map[string]Formatter
	Parsers    map[string]Parser
}

PlainEnvironment plain environment(writeable) struct

func Clone

func Clone(env Environment) *PlainEnvironment

Clone clone enviroment to a new plain enviroment

func NewEnvironment

func NewEnvironment() *PlainEnvironment

NewEnvironment create new plain enviroment.

func (*PlainEnvironment) GetConverter

func (e *PlainEnvironment) GetConverter(name string) Converter

GetConverter get converter from environment by given name. Nil should be returned if name not found.

func (*PlainEnvironment) GetFormatter

func (e *PlainEnvironment) GetFormatter(name string) Formatter

GetFormatter get formatter from environment by given name. Nil should be returned if name not found.

func (*PlainEnvironment) GetParser

func (e *PlainEnvironment) GetParser(name string) Parser

GetParser get parser from environment by given name. Nil should be returned if name not found.

func (*PlainEnvironment) MergeWith

func (e *PlainEnvironment) MergeWith(env Environment)

MergeWith mergive plain environment with given environment Nothing will happened if nil environment given.

func (*PlainEnvironment) RangeConverters

func (e *PlainEnvironment) RangeConverters(f func(key string, value Converter) bool)

RangeConverters range over environment converters with given func. Stop if false returned.

func (*PlainEnvironment) RangeFormatters

func (e *PlainEnvironment) RangeFormatters(f func(key string, value Formatter) bool)

RangeFormatters range over environment formatters with given func. Stop if false returned.

func (*PlainEnvironment) RangeParsers

func (e *PlainEnvironment) RangeParsers(f func(key string, value Parser) bool)

RangeParsers range over environment parsers with given func. Stop if false returned.

func (*PlainEnvironment) Reset

func (e *PlainEnvironment) Reset()

Reset reset plain environment to empty value

func (*PlainEnvironment) SetConverter

func (e *PlainEnvironment) SetConverter(name string, c Converter)

SetConverter set convernter to enviroment with given name

func (*PlainEnvironment) SetFormatter

func (e *PlainEnvironment) SetFormatter(name string, f Formatter)

SetFormatter set formatter to enviroment with given name

func (*PlainEnvironment) SetParser

func (e *PlainEnvironment) SetParser(name string, p Parser)

SetParser set parser to enviroment with given name

type Set

type Set interface {
	//Set set given value to set by given key
	Set(string, string)
	//Get get value from set by given key
	Get(string) string
	//Range range over set with given function.
	//Stop range if function return false,
	Range(func(string, string) bool)
	//Length return set length
	Length() int
}

Set text set interface

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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