mirror of https://github.com/miguelmota/cointop
Add cache wrapper package
parent
6af3378473
commit
b86ac682c9
@ -0,0 +1,37 @@
|
|||||||
|
package cache
|
||||||
|
|
||||||
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
|
gocache "github.com/patrickmn/go-cache"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Cache is cache struct
|
||||||
|
type Cache struct {
|
||||||
|
cache *gocache.Cache
|
||||||
|
}
|
||||||
|
|
||||||
|
// NoExpiration is constant
|
||||||
|
const NoExpiration = gocache.NoExpiration
|
||||||
|
|
||||||
|
// New returns new cache instance
|
||||||
|
func New(defaultExpiration, cleanupInterval time.Duration) *Cache {
|
||||||
|
return &Cache{
|
||||||
|
cache: gocache.New(defaultExpiration, cleanupInterval),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set sets cache item
|
||||||
|
func (c *Cache) Set(k string, x interface{}, d time.Duration) {
|
||||||
|
c.cache.Set(k, x, d)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get gets cache item
|
||||||
|
func (c *Cache) Get(k string) (interface{}, bool) {
|
||||||
|
return c.cache.Get(k)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Delete deletes cache item
|
||||||
|
func (c *Cache) Delete(k string) {
|
||||||
|
c.cache.Delete(k)
|
||||||
|
}
|
@ -0,0 +1,37 @@
|
|||||||
|
package toml
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
|
||||||
|
"github.com/BurntSushi/toml"
|
||||||
|
)
|
||||||
|
|
||||||
|
// MetaData is meta data struct
|
||||||
|
type MetaData = toml.MetaData
|
||||||
|
|
||||||
|
// Encoder is encoder struct
|
||||||
|
type Encoder struct {
|
||||||
|
encoder *toml.Encoder
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewEncoder returns a new encoder instance
|
||||||
|
func NewEncoder(w io.Writer) *Encoder {
|
||||||
|
return &Encoder{
|
||||||
|
encoder: toml.NewEncoder(w),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Encode encodes interface to toml
|
||||||
|
func (enc *Encoder) Encode(v interface{}) error {
|
||||||
|
return enc.encoder.Encode(v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Decode decodes toml data to interface
|
||||||
|
func Decode(data string, v interface{}) (MetaData, error) {
|
||||||
|
return toml.Decode(data, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// DecodeFile decodes toml file
|
||||||
|
func DecodeFile(fpath string, v interface{}) (MetaData, error) {
|
||||||
|
return toml.DecodeFile(fpath, v)
|
||||||
|
}
|
Loading…
Reference in New Issue