mirror of
https://github.com/taigrr/wails.git
synced 2026-04-13 18:38:11 -07:00
Better global.d.ts
This commit is contained in:
@@ -58,10 +58,8 @@ func (p *Parser) generateModule() error {
|
||||
return err
|
||||
}
|
||||
|
||||
// Copy the globals.d.ts file
|
||||
srcFile = fs.RelativePath("./globals.d.ts")
|
||||
tgtFile = filepath.Join(moduleDir, "globals.d.ts")
|
||||
err = fs.CopyFile(srcFile, tgtFile)
|
||||
// Generate the globals.d.ts file
|
||||
err = generateGlobalsTS(moduleDir, packagesToGenerate)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -178,3 +176,33 @@ func generateIndexJS(dir string, packages []*Package) error {
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func generateGlobalsTS(dir string, packages []*Package) error {
|
||||
|
||||
// Get path to local file
|
||||
templateFile := fs.RelativePath("./globals.d.template")
|
||||
|
||||
// Load template
|
||||
templateData := fs.MustLoadString(templateFile)
|
||||
packagesTemplate, err := template.New("globals").Parse(templateData)
|
||||
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 := filepath.Join(dir, "globals.d.ts")
|
||||
|
||||
err = ioutil.WriteFile(indexJS, buffer.Bytes(), 0755)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "Error writing backend package globals.d.ts file")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
26
v2/pkg/parser/globals.d.template
Normal file
26
v2/pkg/parser/globals.d.template
Normal file
@@ -0,0 +1,26 @@
|
||||
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
|
||||
// This file is automatically generated. DO NOT EDIT
|
||||
|
||||
interface Window {
|
||||
|
||||
backend: {
|
||||
|
||||
{{- range . }}{{$packageName:=.Name}}
|
||||
{{- if .HasBoundStructs }}
|
||||
{{ $packageName }}: {
|
||||
{{- range .Structs }}
|
||||
{{- if .IsBound }}
|
||||
{{if .Comments }}{{range .Comments}}// {{ . }}{{end}}{{end}}
|
||||
{{.Name}}: {
|
||||
{{range .Methods}}
|
||||
{{if .Comments }}{{range .Comments}}// {{ . }}{{end}}{{end}}
|
||||
{{.Name}}: ({{.InputsAsTSText $packageName}}) => Promise<{{.OutputsAsTSText $packageName}}>,
|
||||
{{end}}
|
||||
}
|
||||
{{- end}}
|
||||
{{- end}}
|
||||
}
|
||||
{{- end}}
|
||||
{{- end}}
|
||||
}
|
||||
}
|
||||
6
v2/pkg/parser/globals.d.ts
vendored
6
v2/pkg/parser/globals.d.ts
vendored
@@ -1,6 +0,0 @@
|
||||
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
|
||||
// This file is automatically generated. DO NOT EDIT
|
||||
|
||||
interface Window {
|
||||
backend: any
|
||||
}
|
||||
Reference in New Issue
Block a user