From 443ea46d1d80193866a05f4f43f6494060056a19 Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Mon, 27 Feb 2023 20:05:54 +1100 Subject: [PATCH] Example bindings --- v3/examples/binding/bindings.js | 26 ++++++++++++++++++++++++++ v3/internal/runtime/desktop/calls.js | 5 +++-- 2 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 v3/examples/binding/bindings.js diff --git a/v3/examples/binding/bindings.js b/v3/examples/binding/bindings.js new file mode 100644 index 000000000..895537e12 --- /dev/null +++ b/v3/examples/binding/bindings.js @@ -0,0 +1,26 @@ +function GreetService(method) { + return { + packageName: "main", + serviceName: "GreetService", + methodName: method, + args: Array.prototype.slice.call(arguments, 1), + }; +} + +/** + * GreetService.Greet + * Greet someone + * @param name {string} + * @returns {Promise} + */ +function Greet(name) { + return wails.Call(GreetService("Greet", name)); +} + +window.go = { + main: { + GreetService: { + Greet, + } + } +}; diff --git a/v3/internal/runtime/desktop/calls.js b/v3/internal/runtime/desktop/calls.js index a964fa5dd..331762c8b 100644 --- a/v3/internal/runtime/desktop/calls.js +++ b/v3/internal/runtime/desktop/calls.js @@ -37,6 +37,7 @@ export function callCallback(id, data, isJSON) { callResponses.delete(id); } } + export function callErrorCallback(id, message) { let p = callResponses.get(id); if (p) { @@ -45,7 +46,7 @@ export function callErrorCallback(id, message) { } } -function dialog(type, options) { +function callBinding(type, options) { return new Promise((resolve, reject) => { let id = generateID(); options = options || {}; @@ -60,6 +61,6 @@ function dialog(type, options) { export function Call(options) { - return dialog("Call", options); + return callBinding("Call", options); }