From e2b4c3882762406fd3da16f5865cfc3e36e048b5 Mon Sep 17 00:00:00 2001 From: Niall Sheridan Date: Wed, 1 Aug 2018 00:37:11 +0100 Subject: Migrate from esc to packr for static files --- vendor/github.com/gobuffalo/packr/packr.go | 55 ++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 vendor/github.com/gobuffalo/packr/packr.go (limited to 'vendor/github.com/gobuffalo/packr/packr.go') diff --git a/vendor/github.com/gobuffalo/packr/packr.go b/vendor/github.com/gobuffalo/packr/packr.go new file mode 100644 index 0000000..d282994 --- /dev/null +++ b/vendor/github.com/gobuffalo/packr/packr.go @@ -0,0 +1,55 @@ +package packr + +import ( + "bytes" + "compress/gzip" + "encoding/json" + "sync" +) + +var gil = &sync.Mutex{} +var data = map[string]map[string][]byte{} + +// PackBytes packs bytes for a file into a box. +func PackBytes(box string, name string, bb []byte) { + gil.Lock() + defer gil.Unlock() + if _, ok := data[box]; !ok { + data[box] = map[string][]byte{} + } + data[box][name] = bb +} + +// PackBytesGzip packets the gzipped compressed bytes into a box. +func PackBytesGzip(box string, name string, bb []byte) error { + var buf bytes.Buffer + w := gzip.NewWriter(&buf) + _, err := w.Write(bb) + if err != nil { + return err + } + err = w.Close() + if err != nil { + return err + } + PackBytes(box, name, buf.Bytes()) + return nil +} + +// PackJSONBytes packs JSON encoded bytes for a file into a box. +func PackJSONBytes(box string, name string, jbb string) error { + var bb []byte + err := json.Unmarshal([]byte(jbb), &bb) + if err != nil { + return err + } + PackBytes(box, name, bb) + return nil +} + +// UnpackBytes unpacks bytes for specific box. +func UnpackBytes(box string) { + gil.Lock() + defer gil.Unlock() + delete(data, box) +} -- cgit v1.2.3