mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-04 22:40:02 +08:00
58 lines
1.1 KiB
Go
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
|
|
// }
|