MCPcopy
hub / github.com/esm-dev/esm.sh / decodeBuildMeta

Function decodeBuildMeta

server/build_meta.go:65–102  ·  view source on GitHub ↗
(data []byte)

Source from the content-addressed store, hash-verified

63}
64
65func decodeBuildMeta(data []byte) (*BuildMeta, error) {
66 meta := &BuildMeta{}
67 if len(data) < 5 || !bytes.Equal(data[:5], []byte{'E', 'S', 'M', '\r', '\n'}) {
68 return nil, errors.New("invalid build meta")
69 }
70 for line := range bytes.SplitSeq(data[5:], []byte{'\n'}) {
71 switch len(line) {
72 case 0:
73 // ignore empty line
74 case 1:
75 switch line[0] {
76 case 'j':
77 meta.CJS = true
78 case 'c':
79 meta.CSSInJS = true
80 case 't':
81 meta.TypesOnly = true
82 case 'e':
83 meta.ExportDefault = true
84 }
85 default:
86 if line[1] == ':' {
87 value := string(line[2:])
88 switch line[0] {
89 case '.':
90 meta.CSSEntry = value
91 case 'd':
92 meta.Dts = value
93 case 'i':
94 meta.Imports = append(meta.Imports, value)
95 case 's':
96 meta.Integrity = value
97 }
98 }
99 }
100 }
101 return meta, nil
102}
103
104type BuildMetaDB struct {
105 cache *lru.Cache[string, []byte]

Callers 2

ExistsMethod · 0.85
TestEncodeBuildMetaFunction · 0.85

Calls

no outgoing calls

Tested by 1

TestEncodeBuildMetaFunction · 0.68