mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-07 07:52:05 +08:00

* Rename predicates source file * Overhaul and document type predicates * Fix model collection logic for named types * Fix map key type rendering * Fix map creation code * Fix rendering of structs that implement marshaler interfaces * Fix type cycle detection to take type args into account * Fix enum and typeparam field initialisation * Improve unsupported type warnings * Remove internal models file * Deduplicate template code * Accept generic aliases in static analyser * Support new `encoding/json` flag `omitzero` * Handle special cases when rendering generic aliases * Update npm test dependencies * Test class aliases and implicit private dependencies * Test marshaler combinations * Test map key types * Remove bad map keys from unrelated tests * Test service discovery through generic aliases * Test generic aliases * Test warning messages * Disable go1.24 tests * Update changelog * Restore rendering of injected lines in index file * Test directives * Add wails:ignore directive * Fix typo * Move injections to the bottom of service files * Handle errors from closing files * Do not emit messages when services define only lifecycle methods * Add internal directive for services and models * Update changelog * Fix error in service templates * Test internal directive on services/models * Fix error in index template * Base testdata updates * Testdata for class aliases and implicit private dependencies * Testdata for marshaler combinations * Testdata for map key types * Testdata for bad map key fixes * Add weakly typed enums aka alias constants * Testdata for enum and typeparam field fixes * Testdata for generic aliases * Testdata for warning messages * Testdata for directives * Testdata for weakly typed enums * Update binding example * Update services example * Remove go1.24 testdata * Update cli doc * Fix analyser tests * Fix windows tests... hopefully * go mod tidy on examples * Update bindings guide --------- Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
61 lines
1.6 KiB
Go
61 lines
1.6 KiB
Go
//wails:inject console.log("Hello everywhere!");
|
|
//wails:inject **:console.log("Hello everywhere again!");
|
|
//wails:inject *c:console.log("Hello Classes!");
|
|
//wails:inject *i:console.log("Hello Interfaces!");
|
|
//wails:inject j*:console.log("Hello JS!");
|
|
//wails:inject jc:console.log("Hello JS Classes!");
|
|
//wails:inject ji:console.log("Hello JS Interfaces!");
|
|
//wails:inject t*:console.log("Hello TS!");
|
|
//wails:inject tc:console.log("Hello TS Classes!");
|
|
//wails:inject ti:console.log("Hello TS Interfaces!");
|
|
package main
|
|
|
|
import (
|
|
_ "embed"
|
|
"log"
|
|
|
|
"github.com/wailsapp/wails/v3/internal/generator/testcases/directives/otherpackage"
|
|
"github.com/wailsapp/wails/v3/pkg/application"
|
|
)
|
|
|
|
type IgnoredType struct {
|
|
Field int
|
|
}
|
|
|
|
//wails:inject j*:/**
|
|
//wails:inject j*: * @param {string} arg
|
|
//wails:inject j*: * @returns {Promise<void>}
|
|
//wails:inject j*: */
|
|
//wails:inject j*:export async function CustomMethod(arg) {
|
|
//wails:inject t*:export async function CustomMethod(arg: string): Promise<void> {
|
|
//wails:inject await InternalMethod("Hello " + arg + "!");
|
|
//wails:inject }
|
|
type Service struct{}
|
|
|
|
func (*Service) VisibleMethod(otherpackage.Dummy) {}
|
|
|
|
//wails:ignore
|
|
func (*Service) IgnoredMethod(IgnoredType) {}
|
|
|
|
//wails:internal
|
|
func (*Service) InternalMethod(string) {}
|
|
|
|
func main() {
|
|
app := application.New(application.Options{
|
|
Services: []application.Service{
|
|
application.NewService(&Service{}),
|
|
application.NewService(&unexportedService{}),
|
|
application.NewService(&InternalService{}),
|
|
},
|
|
})
|
|
|
|
app.NewWebviewWindow()
|
|
|
|
err := app.Run()
|
|
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
}
|