diff --git a/v2/internal/binding/binding_test/binding_returned_promises_test.go b/v2/internal/binding/binding_test/binding_returned_promises_test.go index 35c22569..837d5fad 100644 --- a/v2/internal/binding/binding_test/binding_returned_promises_test.go +++ b/v2/internal/binding/binding_test/binding_returned_promises_test.go @@ -11,6 +11,7 @@ import ( const expectedPromiseBindings = `// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL // This file is automatically generated. DO NOT EDIT +import {binding_test} from '../models'; export function ErrorReturn(arg1:number):Promise; @@ -18,16 +19,37 @@ export function NoReturn(arg1:string):Promise; export function SingleReturn(arg1:any):Promise; +export function SingleReturnStruct(arg1:any):Promise; + +export function SingleReturnStructPointer(arg1:any):Promise; + +export function SingleReturnStructPointerSlice(arg1:any):Promise>; + +export function SingleReturnStructSlice(arg1:any):Promise>; + export function SingleReturnWithError(arg1:number):Promise; export function TwoReturn(arg1:any):Promise; ` type PromisesTest struct{} +type PromisesTestReturnStruct struct{} -func (h *PromisesTest) NoReturn(_ string) {} -func (h *PromisesTest) ErrorReturn(_ int) error { return nil } -func (h *PromisesTest) SingleReturn(_ interface{}) int { return 0 } +func (h *PromisesTest) NoReturn(_ string) {} +func (h *PromisesTest) ErrorReturn(_ int) error { return nil } +func (h *PromisesTest) SingleReturn(_ interface{}) int { return 0 } +func (h *PromisesTest) SingleReturnStructPointer(_ interface{}) *PromisesTestReturnStruct { + return &PromisesTestReturnStruct{} +} +func (h *PromisesTest) SingleReturnStruct(_ interface{}) PromisesTestReturnStruct { + return PromisesTestReturnStruct{} +} +func (h *PromisesTest) SingleReturnStructSlice(_ interface{}) []PromisesTestReturnStruct { + return []PromisesTestReturnStruct{} +} +func (h *PromisesTest) SingleReturnStructPointerSlice(_ interface{}) []*PromisesTestReturnStruct { + return []*PromisesTestReturnStruct{} +} func (h *PromisesTest) SingleReturnWithError(_ int) (string, error) { return "", nil } func (h *PromisesTest) TwoReturn(_ interface{}) (string, int) { return "", 0 } diff --git a/v2/internal/binding/generate.go b/v2/internal/binding/generate.go index 0e2294f2..8416aade 100644 --- a/v2/internal/binding/generate.go +++ b/v2/internal/binding/generate.go @@ -23,7 +23,7 @@ var valuePackageIndex int var valueTypeIndex int func init() { - mapRegex = regexp.MustCompile(`(?:map\[(?:(?P\w+)\.)?(?P\w+)])?(?P\[])?(?:(?P\w+)\.)?(?P.+)`) + mapRegex = regexp.MustCompile(`(?:map\[(?:(?P\w+)\.)?(?P\w+)])?(?P\[])?(?:\*?(?P\w+)\.)?(?P.+)`) keyPackageIndex = mapRegex.SubexpIndex("keyPackage") keyTypeIndex = mapRegex.SubexpIndex("keyType") valueArrayIndex = mapRegex.SubexpIndex("valueArray") diff --git a/website/src/pages/changelog.mdx b/website/src/pages/changelog.mdx index eb69875f..51375916 100644 --- a/website/src/pages/changelog.mdx +++ b/website/src/pages/changelog.mdx @@ -37,6 +37,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fixed `runtime.MenuUpdateApplicationMenu` on macOS. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2588) - Fixed add package name for `libwebkit`/`pkg-config` and use shell.RunCommandWithENV instead of shell.RunCommand in `zypper.go`. Fixed by @wgjtyu in [PR](https://github.com/wailsapp/wails/pull/2593) - Make sure to start the CommonFileDialogs on Windows on the Main-Thread. Fixed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2606) +- Fixed generated typescript bindings. Fixed by @dominictwlee in [PR](https://github.com/wailsapp/wails/pull/2552) ## v2.4.1 - 2023-03-20