Revert "Simplified output"

This reverts commit 15cdf7382b.
This commit is contained in:
Lea Anthony
2020-10-30 15:55:39 +11:00
parent a2a50a1c78
commit 608663fd87

View File

@@ -3,6 +3,7 @@ package backendjs
import (
"bytes"
"io/ioutil"
"path/filepath"
"reflect"
"text/template"
@@ -24,7 +25,7 @@ func generatePackages() error {
return errors.Wrap(err, "Error parsing struct packages:")
}
err = generatePackageFiles(packages)
err = generateJSFiles(packages)
if err != nil {
return errors.Wrap(err, "Error generating struct js file:")
}
@@ -99,6 +100,54 @@ func parsePackages() ([]*Package, error) {
return result, nil
}
func generateJSFiles(packages []*Package) error {
err := generateIndexJS(packages)
if err != nil {
return errors.Wrap(err, "Error generating index.js file")
}
err = generatePackageFiles(packages)
if err != nil {
return errors.Wrap(err, "Error generating packages")
}
return nil
}
func generateIndexJS(packages []*Package) error {
// Get path to local file
templateFile := fs.RelativePath("./index.template")
// Load template
javascriptTemplateData := fs.MustLoadString(templateFile)
packagesTemplate, err := template.New("index").Parse(javascriptTemplateData)
if err != nil {
return errors.Wrap(err, "Error creating template")
}
// Execute template
var buffer bytes.Buffer
err = packagesTemplate.Execute(&buffer, packages)
if err != nil {
return errors.Wrap(err, "Error generating code")
}
// Calculate target filename
indexJS, err := fs.RelativeToCwd("./frontend/backend/index.js")
if err != nil {
return errors.Wrap(err, "Error calculating index js path")
}
err = ioutil.WriteFile(indexJS, buffer.Bytes(), 0755)
if err != nil {
return errors.Wrap(err, "Error writing backend package index.js file")
}
return nil
}
func generatePackageFiles(packages []*Package) error {
// Get path to local file
@@ -125,11 +174,14 @@ func generatePackageFiles(packages []*Package) error {
for _, thisPackage := range packages {
// Calculate target directory
packageFile, err := fs.RelativeToCwd("./frontend/backend/" + thisPackage.Name)
packageDir, err := fs.RelativeToCwd("./frontend/backend/" + thisPackage.Name)
if err != nil {
return errors.Wrap(err, "Error calculating package path")
}
// Make the dir but ignore if it already exists
fs.Mkdir(packageDir)
// Execute javascript template
var buffer bytes.Buffer
err = javascriptTemplate.Execute(&buffer, thisPackage)
@@ -138,7 +190,7 @@ func generatePackageFiles(packages []*Package) error {
}
// Save javascript file
err = ioutil.WriteFile(packageFile+".js", buffer.Bytes(), 0755)
err = ioutil.WriteFile(filepath.Join(packageDir, "index.js"), buffer.Bytes(), 0755)
if err != nil {
return errors.Wrap(err, "Error writing backend package file")
}
@@ -153,7 +205,7 @@ func generatePackageFiles(packages []*Package) error {
}
// Save typescript file
err = ioutil.WriteFile(packageFile+".d.ts", buffer.Bytes(), 0755)
err = ioutil.WriteFile(filepath.Join(packageDir, "index.d.ts"), buffer.Bytes(), 0755)
if err != nil {
return errors.Wrap(err, "Error writing backend package file")
}