diff --git a/charset/bom.go b/charset/bom.go index a3f776c..5d31316 100644 --- a/charset/bom.go +++ b/charset/bom.go @@ -69,6 +69,13 @@ func BOMOfBytes(b []byte) BOM { return NoBOM } +func TrimBOM(b []byte, bom BOM) []byte { + if bytes.HasPrefix(b, bomUTF8) { + return b[len(bomUTF8):] + } + return b +} + func SplitBOM(b []byte) (BOM, []byte) { bom := BOMOfBytes(b) return bom, b[len(bom):] diff --git a/go.mod b/go.mod index 23ce17e..11aa6c0 100644 --- a/go.mod +++ b/go.mod @@ -10,9 +10,9 @@ require ( github.com/jinzhu/now v1.1.5 github.com/stretchr/testify v1.8.4 github.com/teamwork/tnef v0.0.0-20200108124832-7deabccfdb32 - github.com/ungerik/go-fs v0.0.0-20231106220413-6640c23708ce + github.com/ungerik/go-fs v0.0.0-20231118104034-e3470c063fed github.com/ungerik/go-reflection v0.0.0-20230810134712-a63435f6bc7e - golang.org/x/net v0.17.0 + golang.org/x/net v0.18.0 golang.org/x/text v0.14.0 mvdan.cc/xurls/v2 v2.5.0 ) diff --git a/go.sum b/go.sum index a492292..cb4193b 100644 --- a/go.sum +++ b/go.sum @@ -44,12 +44,12 @@ github.com/teamwork/tnef v0.0.0-20200108124832-7deabccfdb32 h1:j15wq0XPAY/HR/0+d github.com/teamwork/tnef v0.0.0-20200108124832-7deabccfdb32/go.mod h1:v7dFaQrF/4+curx7UTH9rqTkHTgXqghfI3thANW150o= github.com/teamwork/utils v0.0.0-20220314153103-637fa45fa6cc h1:BidxxRk9kopF5IGEyosTRtanaYVYTUbGJh9eULOhv04= github.com/teamwork/utils v0.0.0-20220314153103-637fa45fa6cc/go.mod h1:3Fn0qxFeRNpvsg/9T1+btOOOKkd1qG2nPYKKcOmNpcs= -github.com/ungerik/go-fs v0.0.0-20231106220413-6640c23708ce h1:fPKJ8EYmx+v2CY9twF/Bn/d5C8J2Anx81MK8J7PfY+0= -github.com/ungerik/go-fs v0.0.0-20231106220413-6640c23708ce/go.mod h1:2RzyJL3rnCsReUsiHwNticoN7CQSiro27dBJjjqLFTs= +github.com/ungerik/go-fs v0.0.0-20231118104034-e3470c063fed h1:XpsaWcWtNCOJFSE3v7Q1Tpoi8F0eJOM4JOq6BlmjD68= +github.com/ungerik/go-fs v0.0.0-20231118104034-e3470c063fed/go.mod h1:2RzyJL3rnCsReUsiHwNticoN7CQSiro27dBJjjqLFTs= github.com/ungerik/go-reflection v0.0.0-20230810134712-a63435f6bc7e h1:BPksMeVdgSD8L4yXHYSY3HpdJ/5z2Ok5lF6PxHIVgEQ= github.com/ungerik/go-reflection v0.0.0-20230810134712-a63435f6bc7e/go.mod h1:1Q14POg/xa/P6/hWKfnUexqUhW1X6jgw+6gG7lOne1E= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.18.0 h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg= +golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= diff --git a/go.work b/go.work index d2c0e28..8775387 100644 --- a/go.work +++ b/go.work @@ -1,4 +1,5 @@ go 1.21 use . + use ./js diff --git a/go.work.sum b/go.work.sum index 88e7886..9ba3849 100644 --- a/go.work.sum +++ b/go.work.sum @@ -16,6 +16,7 @@ golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98y golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g= golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= @@ -32,6 +33,7 @@ golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=