github.com/geniusesgroup/libgo@v0.0.0-20220713101832-828057a9d3d4/minify/css.go (about) 1 /* For license and copyright information please see LEGAL file in repository */ 2 3 package minify 4 5 import ( 6 "../protocol" 7 8 tcss "github.com/tdewolff/minify/css" 9 "github.com/tdewolff/parse/buffer" 10 ) 11 12 var CSS css 13 14 type css struct { 15 tcss.Minifier 16 } 17 18 // Minify replace file data with minify of them. 19 func (css *css) Minify(data protocol.Codec) (err protocol.Error) { 20 var rawData = data.Marshal() 21 var minifiedData []byte 22 minifiedData, err = css.MinifyBytes(rawData) 23 if err != nil { 24 return 25 } 26 err = data.Unmarshal(minifiedData) 27 return 28 } 29 30 // MinifyBytes replace file data with minify of them. 31 func (css *css) MinifyBytes(data []byte) (minifiedData []byte, err protocol.Error) { 32 var minifiedWriter = buffer.NewWriter(make([]byte, 0, len(data))) 33 var goErr = css.Minifier.Minify(minifier, minifiedWriter, buffer.NewReader(data), nil) 34 if goErr != nil { 35 // err = 36 return 37 } 38 minifiedData = minifiedWriter.Bytes() 39 return 40 }