Documentation ¶
Index ¶
- Constants
- Variables
- func AllinStrings(ss []string, ins []string) bool
- func AnyToString(val Any) string
- func DeepMapping(src Map, dests ...Map) Map
- func ExampleExecutor_Go()
- func ExampleExecutor_Go_panic()
- func ExampleExecutor_StopAndWaitForever()
- func Extension(name string) string
- func HMACSign(data string, key string) (string, error)
- func HMACVerify(data, sign string, key string) error
- func InStrings(s string, ins []string) bool
- func Ip2Num(ip string) int64
- func MD5(str string) string
- func MD5File(file string) string
- func MD5FileBase64(file string) string
- func MapBool(data Map, keys ...string) bool
- func MapFloat(data Map, keys ...string) float64
- func MapInt(data Map, keys ...string) int64
- func MapString(data Map, keys ...string) string
- func Md5(str string) string
- func Md5File(file string) string
- func MergeString(args ...string) string
- func NameWithoutExt(p string) string
- func Num2Ip(ipInt int64) string
- func ParseDuration(s string) (time.Duration, error)
- func ParseDurationConfig(config Map, field string) time.Duration
- func ParseSize(s string) int64
- func ParseTOML(s string) (Map, error)
- func SHA1(str string) string
- func SHA1File(file string) string
- func SHA1FileBase64(file string) string
- func SHA256(str string) string
- func SHA256File(file string) string
- func SHA256FileBase64(file string) string
- func Sha1(str string) string
- func Sha1BaseFile(file string) string
- func Sha1File(file string) string
- func Sha256(str string) string
- func Sha256BaseFile(file string) string
- func Sha256File(file string) string
- func Split(s string) []string
- func UUID() string
- type Executor
- type FastID
- type HashID
- func (h *HashID) Decode(hash string) []int
- func (h *HashID) DecodeHex(hash string) (string, error)
- func (h *HashID) DecodeInt64(hash string) []int64
- func (h *HashID) DecodeInt64WithError(hash string) ([]int64, error)
- func (h *HashID) DecodeWithError(hash string) ([]int, error)
- func (h *HashID) Encode(numbers []int) (string, error)
- func (h *HashID) EncodeHex(hex string) (string, error)
- func (h *HashID) EncodeInt64(numbers []int64) (string, error)
- type HashIDData
- type HashRing
- type Runner
- type TOMLBuffer
- type TOMLBuilder
- type TOMLFile
Constants ¶
const ( // Version is the version number of the library Version string = "1.0.0" // DefaultAlphabet is the default alphabet used by go-hashids DefaultAlphabet string = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" )
const (
NoDuration = -99999
)
Variables ¶
var (
)var GlobalExecutor = NewExecutor()
GlobalExecutor has the life cycle of the program itself any goroutine want to be shutdown before main exit can be started from this executor GlobalExecutor expects the main function to call stop it does not magically knows the main function exits
var HandlePanic = func(recovered interface{}, funcName string) { log.Println(fmt.Sprintf("%s panic: %v", funcName, recovered)) log.Println(string(debug.Stack())) }
HandlePanic logs goroutine panic by default
Functions ¶
func AllinStrings ¶
func AnyToString ¶
func AnyToString(val Any) string
func ExampleExecutor_Go ¶
func ExampleExecutor_Go()
func ExampleExecutor_Go_panic ¶
func ExampleExecutor_Go_panic()
func ExampleExecutor_StopAndWaitForever ¶
func ExampleExecutor_StopAndWaitForever()
func HMACVerify ¶
func MD5FileBase64 ¶
func MergeString ¶
func ParseDuration ¶
ParseDuration parses a duration string. A duration string is a possibly signed sequence of decimal numbers, each with optional fraction and a unit suffix, such as "300ms", "-1.5h" or "2h45m". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
func ParseDurationConfig ¶
func SHA1FileBase64 ¶
func SHA256FileBase64 ¶
func Sha1BaseFile ¶
func Sha256BaseFile ¶
Types ¶
type Executor ¶
type Executor struct { HandlePanic func(recovered interface{}, funcName string) // contains filtered or unexported fields }
Executor is a executor without limits on counts of alive goroutines it tracks the goroutine started by it, and can cancel them when shutdown
func NewExecutor ¶
func NewExecutor() *Executor
NewExecutor creates a new Executor, Executor can not be created by &Executor{} HandlePanic can be set with a callback to override global HandlePanic
func (*Executor) Go ¶
Go starts a new goroutine and tracks its lifecycle. Panic will be recovered and logged automatically, except for StopSignal
func (*Executor) Stop ¶
func (executor *Executor) Stop()
Stop cancel all goroutines started by this executor without wait
func (*Executor) StopAndWait ¶
StopAndWait cancel all goroutines started by this executor and wait. Wait can be cancelled by the context passed in.
func (*Executor) StopAndWaitForever ¶
func (executor *Executor) StopAndWaitForever()
StopAndWaitForever cancel all goroutines started by this executor and wait until all goroutines exited
type FastID ¶
type FastID struct {
// contains filtered or unexported fields
}
func NewFastIDWithNode ¶
func (*FastID) GetSequence ¶
type HashID ¶
type HashID struct {
// contains filtered or unexported fields
}
HashID contains everything needed to encode/decode hashids
func NewWithData ¶
func NewWithData(data *HashIDData) (*HashID, error)
NewWithData creates a new HashID with the provided HashIDData
func (*HashID) Decode ¶
DEPRECATED: Use DecodeWithError instead Decode unhashes the string passed to an array of int. It is symmetric with Encode if the Alphabet and Salt are the same ones which were used to hash. MinLength has no effect on Decode.
func (*HashID) DecodeHex ¶
DecodeHex unhashes the string passed to a hexadecimal string. It is symmetric with EncodeHex if the Alphabet and Salt are the same ones which were used to hash.
Each hex nibble is decoded from an integer in range [16, 31].
func (*HashID) DecodeInt64 ¶
DEPRECATED: Use DecodeInt64WithError instead DecodeInt64 unhashes the string passed to an array of int64. It is symmetric with EncodeInt64 if the Alphabet and Salt are the same ones which were used to hash. MinLength has no effect on DecodeInt64.
func (*HashID) DecodeInt64WithError ¶
DecodeInt64 unhashes the string passed to an array of int64. It is symmetric with EncodeInt64 if the Alphabet and Salt are the same ones which were used to hash. MinLength has no effect on DecodeInt64.
func (*HashID) DecodeWithError ¶
Decode unhashes the string passed to an array of int. It is symmetric with Encode if the Alphabet and Salt are the same ones which were used to hash. MinLength has no effect on Decode.
func (*HashID) Encode ¶
Encode hashes an array of int to a string containing at least MinLength characters taken from the Alphabet. Use Decode using the same Alphabet and Salt to get back the array of int.
func (*HashID) EncodeHex ¶
EncodeHex hashes a hexadecimal string to a string containing at least MinLength characters taken from the Alphabet. A hexadecimal string should not contain the 0x prefix. Use DecodeHex using the same Alphabet and Salt to get back the hexadecimal string.
Each hex nibble is encoded as an integer in range [16, 31].
type HashIDData ¶
type HashIDData struct { // Alphabet is the alphabet used to generate new ids Alphabet string // MinLength is the minimum length of a generated id MinLength int // Salt is the secret used to make the generated id harder to guess Salt string }
HashIDData contains the information needed to generate hashids
func NewData ¶
func NewData() *HashIDData
NewData creates a new HashIDData with the DefaultAlphabet already set.
type TOMLBuffer ¶
type TOMLBuffer struct {
// contains filtered or unexported fields
}
func (*TOMLBuffer) Close ¶
func (buf *TOMLBuffer) Close() error
type TOMLBuilder ¶
type TOMLBuilder struct {
// contains filtered or unexported fields
}
func NewTOMLBuilder ¶
func NewTOMLBuilder() *TOMLBuilder
func (*TOMLBuilder) Append ¶
func (this *TOMLBuilder) Append(key string, vals ...string)
func (*TOMLBuilder) Build ¶
func (this *TOMLBuilder) Build() string
func (*TOMLBuilder) Files ¶
func (this *TOMLBuilder) Files() map[string][]TOMLFile
func (*TOMLBuilder) Forms ¶
func (this *TOMLBuilder) Forms() map[string][]string
func (*TOMLBuilder) Store ¶
func (this *TOMLBuilder) Store(key, name, mime string, buf io.ReadSeekCloser)