5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-04 22:40:02 +08:00
wails/v2/pkg/commands/build/internal/backendjs/structs.go
2020-10-30 14:11:51 +11:00

58 lines
1.1 KiB
Go

package backendjs
import (
"reflect"
"strings"
)
// Parameter defines a parameter used by a struct method
type Parameter struct {
Name string
Type reflect.Kind
}
// JSType returns the Javascript equivalent of the
// parameter type
func (p *Parameter) JSType() string {
return string(goTypeToJS(p.Type))
}
// Method defines a struct method
type Method struct {
Name string
Inputs []*Parameter
Outputs []*Parameter
Comments []string
}
// InputsAsJSText generates a string with the method inputs
// formatted in a way acceptable to Javascript
func (m *Method) InputsAsJSText() string {
var inputs []string
for _, input := range m.Inputs {
inputs = append(inputs, input.Name)
}
return strings.Join(inputs, ", ")
}
// func generateStructFile() {
// // Create string buffer
// var result bytes.Buffer
// // Add some standard comments
// _, err := result.WriteString(structJSHeader + )
// if err != nil {
// return errors.Wrap(err, "Error writing string")
// }
// // Loop over the methods
// for _, method := range methods {
// generatedCode := generateMethodWrapper(method) {
// }
// }
// return nil
// }