diff options
Diffstat (limited to 'vendor/github.com/tdewolff/minify/json/json.go')
-rw-r--r-- | vendor/github.com/tdewolff/minify/json/json.go | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/vendor/github.com/tdewolff/minify/json/json.go b/vendor/github.com/tdewolff/minify/json/json.go deleted file mode 100644 index ffe4b68..0000000 --- a/vendor/github.com/tdewolff/minify/json/json.go +++ /dev/null @@ -1,63 +0,0 @@ -// Package json minifies JSON following the specifications at http://json.org/. -package json // import "github.com/tdewolff/minify/json" - -import ( - "io" - - "github.com/tdewolff/minify" - "github.com/tdewolff/parse/json" -) - -var ( - commaBytes = []byte(",") - colonBytes = []byte(":") -) - -//////////////////////////////////////////////////////////////// - -// DefaultMinifier is the default minifier. -var DefaultMinifier = &Minifier{} - -// Minifier is a JSON minifier. -type Minifier struct{} - -// Minify minifies JSON data, it reads from r and writes to w. -func Minify(m *minify.M, w io.Writer, r io.Reader, params map[string]string) error { - return DefaultMinifier.Minify(m, w, r, params) -} - -// Minify minifies JSON data, it reads from r and writes to w. -func (o *Minifier) Minify(_ *minify.M, w io.Writer, r io.Reader, _ map[string]string) error { - skipComma := true - - p := json.NewParser(r) - defer p.Restore() - - for { - state := p.State() - gt, text := p.Next() - if gt == json.ErrorGrammar { - if p.Err() != io.EOF { - return p.Err() - } - return nil - } - - if !skipComma && gt != json.EndObjectGrammar && gt != json.EndArrayGrammar { - if state == json.ObjectKeyState || state == json.ArrayState { - if _, err := w.Write(commaBytes); err != nil { - return err - } - } else if state == json.ObjectValueState { - if _, err := w.Write(colonBytes); err != nil { - return err - } - } - } - skipComma = gt == json.StartObjectGrammar || gt == json.StartArrayGrammar - - if _, err := w.Write(text); err != nil { - return err - } - } -} |