MCPcopy
hub / github.com/im2nguyen/rover / AddFileToZip

Function AddFileToZip

zip.go:129–157  ·  view source on GitHub ↗
(zipWriter *zip.Writer, fileType string, j interface{})

Source from the content-addressed store, hash-verified

127}
128
129func AddFileToZip(zipWriter *zip.Writer, fileType string, j interface{}) error {
130 filename := fmt.Sprintf("%s.js", fileType)
131
132 writer, err := zipWriter.Create(filename)
133 if err != nil {
134 return err
135 }
136
137 b, err := json.Marshal(j)
138 if err != nil {
139 return fmt.Errorf("error producing JSON: %s\n", err)
140 }
141
142 // add syntax to make json file a js object
143 content := fmt.Sprintf("const %s = %s", fileType, string(b))
144
145 tempFileName, tempFile, err := createTempFile(filename, []byte(content))
146 defer os.Remove(tempFile.Name()) // clean up
147 defer tempFile.Close()
148
149 fileToZip, err := os.Open(tempFileName)
150 if err != nil {
151 return err
152 }
153 defer fileToZip.Close()
154
155 _, err = io.Copy(writer, fileToZip)
156 return err
157}
158
159func createTempFile(filename string, b []byte) (string, *os.File, error) {
160 tempFile, err := os.CreateTemp("", filename)

Callers 1

generateZipMethod · 0.85

Calls 1

createTempFileFunction · 0.85

Tested by

no test coverage detected