Merge branch 'v3-alpha' into fork/fbbdev/v3-alpha-feature/service-api

# Conflicts:
#	docs/src/content/docs/changelog.mdx
#	v3/examples/services/assets/bindings/github.com/wailsapp/wails/v3/pkg/services/kvstore/keyvaluestore.js
#	v3/examples/services/assets/bindings/github.com/wailsapp/wails/v3/pkg/services/log/loggerservice.js
#	v3/examples/services/assets/bindings/github.com/wailsapp/wails/v3/pkg/services/sqlite/service.js
This commit is contained in:
Lea Anthony 2025-03-01 16:33:11 +11:00
commit f87dce15ea
No known key found for this signature in database
GPG key ID: 33DAF7BB90A58405
747 changed files with 19780 additions and 10997 deletions

View file

@ -3,8 +3,12 @@ name: Build + Test v3
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
branches:
- v3-alpha
pull_request_review:
types: [submitted]
branches:
- v3-alpha
jobs:
check_approval:
@ -22,14 +26,72 @@ jobs:
echo "approved=false" >> $GITHUB_OUTPUT
fi
test_go:
name: Run Go Tests
test_js:
name: Run JS Tests
needs: check_approval
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.x]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Install Task
uses: arduino/setup-task@v2
with:
version: 3.x
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies
working-directory: v3/internal/runtime/desktop/@wailsio/runtime
run: |
npm ci
npx --yes esbuild@latest --version
- name: Clean build artifacts
working-directory: v3/internal/runtime/desktop/@wailsio/runtime
run: npm run clean
- name: Type-check runtime
working-directory: v3
run: task runtime:check
- name: Test runtime
working-directory: v3
run: task runtime:test
- name: Check that the bundled runtime builds
working-directory: v3
run: task runtime:build
- name: Check that the npm package builds
working-directory: v3/internal/runtime/desktop/@wailsio/runtime
run: npm run build
- name: Store runtime build artifacts
uses: actions/upload-artifact@v4
with:
name: runtime-build-artifacts
path: |
v3/internal/runtime/desktop/@wailsio/runtime/dist/
v3/internal/runtime/desktop/@wailsio/runtime/types/
v3/internal/runtime/desktop/@wailsio/runtime/tsconfig.tsbuildinfo
test_go:
name: Run Go Tests v3
needs: [check_approval, test_js]
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [windows-latest, macos-latest, ubuntu-latest]
os: [warp-windows-latest-x64-2x, warp-macos-15-arm64-6x, warp-ubuntu-latest-x64-2x]
go-version: [1.24]
steps:
@ -55,25 +117,31 @@ jobs:
version: 3.x
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Retrieve runtime build artifacts
uses: actions/download-artifact@v4
with:
name: runtime-build-artifacts
path: v3/internal/runtime/desktop/@wailsio/runtime/
- name: Build Examples
working-directory: ./v3
working-directory: v3
run: task test:examples
- name: Run tests (mac)
if: matrix.os == 'macos-latest'
env:
CGO_LDFLAGS: -framework UniformTypeIdentifiers -mmacosx-version-min=10.13
working-directory: ./v3
working-directory: v3
run: go test -v ./...
- name: Run tests (windows)
if: matrix.os == 'windows-latest'
working-directory: ./v3
working-directory: v3
run: go test -v ./...
- name: Run tests (ubuntu)
if: matrix.os == 'ubuntu-latest'
working-directory: ./v3
working-directory: v3
run: >
xvfb-run --auto-servernum
sh -c '
@ -82,33 +150,19 @@ jobs:
'
- name: Typecheck binding generator output
working-directory: ./v3
working-directory: v3
run: task generator:test:check
test_js:
name: Run JS Tests
needs: check_approval
cleanup:
name: Cleanup build artifacts
if: always()
needs: [test_js, test_go]
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.x]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
- uses: geekyeggo/delete-artifact@v5
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run: npm install
working-directory: v2/internal/frontend/runtime
- name: Run tests
run: npm test
working-directory: v2/internal/frontend/runtime
name: runtime-build-artifacts
failOnError: false
test_templates:
name: Test Templates
@ -156,7 +210,7 @@ jobs:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build Wails3 CLI
working-directory: ./v3
working-directory: v3
run: |
task install
wails3 doctor
@ -168,3 +222,17 @@ jobs:
wails3 init -n ${{ matrix.template }} -t ${{ matrix.template }}
cd ${{ matrix.template }}
wails3 build
results:
if: ${{ always() }}
runs-on: ubuntu-latest
name: v3 Build Results
needs: [test_go, test_js, test_templates]
steps:
- run: |
result="${{ needs.build.result }}"
if [[ $result == "success" || $result == "skipped" ]]; then
exit 0
else
exit 1
fi

View file

@ -2,8 +2,12 @@ name: PR Checks
on:
pull_request:
branches:
- master
pull_request_review:
types: [submitted]
branches:
- master
jobs:
check_docs:

View file

@ -1,62 +1,113 @@
on:
push:
branches: ['v3-alpha']
workflow_dispatch:
concurrency:
group: publish-npm-v3
cancel-in-progress: true
jobs:
publish:
detect:
name: Detect committed changes
if: github.event_name != 'workflow_dispatch'
outputs:
changed: ${{ steps.package-json-changes.outputs.any_modified == 'true' || steps.source-changes.outputs.any_modified == 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.sha }}
persist-credentials: 'true'
- name: Detect committed package.json changes
id: package-json-changes
uses: tj-actions/changed-files@v45
with:
files: |
v3/internal/runtime/desktop/@wailsio/runtime/package.json
- name: Detect committed source changes
if: >-
steps.package-json-changes.outputs.any_modified != 'true'
id: source-changes
uses: tj-actions/changed-files@v45
with:
files: |
v3/internal/runtime/Taskfile.yaml
v3/internal/runtime/desktop/@wailsio/compiled/main.js
v3/internal/runtime/desktop/@wailsio/runtime/tsconfig.json
v3/internal/runtime/desktop/@wailsio/runtime/src/**
v3/pkg/events/events.txt
v3/tasks/events/**
rebuild_and_publish:
name: Rebuild and publish
needs: [detect]
if: >-
!failure() && !cancelled()
&& (github.event_name == 'workflow_dispatch' || needs.detect.outputs.changed == 'true')
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: 'v3-alpha'
ssh-key: ${{ secrets.DEPLOY_KEY }}
- name: Configure git
run: |
git config --local user.email "github-actions@github.com"
git config --local user.name "GitHub Actions"
- name: Setup go-task
uses: pnorton5432/setup-task@v1
- name: Install Task
uses: arduino/setup-task@v2
with:
task-version: 3.29.1
version: 3.x
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/setup-node@v3
- name: Use Node.js 20
uses: actions/setup-node@v4
with:
node-version: "20"
- run: |
npm ci
npm run build:types
npm run build:docs
- name: Install dependencies
working-directory: v3/internal/runtime/desktop/@wailsio/runtime
run: |
npm ci
npx --yes esbuild@latest --version
- name: Verify Changed files
uses: tj-actions/verify-changed-files@v20
id: verify-changed-files
with:
files: |
v3/internal/runtime/desktop/@wailsio/runtime/src/*.js
v3/internal/runtime/desktop/@wailsio/runtime/types/*.d.ts
v3/internal/runtime/desktop/@wailsio/runtime/docs/**/*.*
- name: Clean build artifacts
working-directory: v3/internal/runtime/desktop/@wailsio/runtime
run: npm run clean
- name: test action
if: steps.verify-changed-files.outputs.files_changed == 'true'
id: get-version
uses: beaconbrigade/package-json-version@v0.3.2
with:
path: v3/internal/runtime/desktop/@wailsio/runtime
- name: Build bundled runtime
working-directory: v3
run: task runtime:build
- name: Test+Build npm package
working-directory: v3/internal/runtime/desktop/@wailsio/runtime
run: |
npm test
npm run build
- name: Bump version
id: bump-version
working-directory: v3/internal/runtime/desktop/@wailsio/runtime
run: |
echo "version=$(npm --no-git-tag-version --force version prerelease)" >> "$GITHUB_OUTPUT"
- name: Commit changes
if: steps.verify-changed-files.outputs.files_changed == 'true'
run: |
git add .
git commit -m "[skip ci] Publish @wailsio/runtime ${{ steps.get-version.outputs.version }}"
git commit -m "[skip ci] Publish @wailsio/runtime ${{ steps.bump-version.outputs.version }}"
git push
fi
- uses: JS-DevTools/npm-publish@v3
if: steps.verify-changed-files.outputs.files_changed == 'true'
- name: Publish npm package
uses: JS-DevTools/npm-publish@v3
with:
package: v3/internal/runtime/desktop/@wailsio/runtime
access: public

View file

@ -53,6 +53,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Add `//wails:ignore` directive to prevent binding generation for chosen service methods by [@fbbdev](https://github.com/fbbdev) in [#4045](https://github.com/wailsapp/wails/pull/4045)
- Add `//wails:internal` directive on services and models to allow for types that are exported in Go but not in JS/TS by [@fbbdev](https://github.com/fbbdev) in [#4045](https://github.com/wailsapp/wails/pull/4045)
- Add binding generator support for constants of alias type to allow for weakly typed enums by [@fbbdev](https://github.com/fbbdev) in [#4045](https://github.com/wailsapp/wails/pull/4045)
- Add binding generator tests for Go 1.24 features by [@fbbdev](https://github.com/fbbdev) in [#4068](https://github.com/wailsapp/wails/pull/4068)
- Add support for macOS 15 "Sequoia" to `OSInfo.Branding` for improved OS version detection in [#4065](https://github.com/wailsapp/wails/pull/4065)
- Add `PostShutdown` hook for running custom code after the shutdown process completes by [@fbbdev](https://github.com/fbbdev) in [#4066](https://github.com/wailsapp/wails/pull/4066)
- Add `FatalError` struct to support detection of fatal errors in custom error handlers by [@fbbdev](https://github.com/fbbdev) in [#4066](https://github.com/wailsapp/wails/pull/4066)
@ -60,6 +61,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Add test harness for application startup/shutdown sequence and service startup/shutdown tests by [@fbbdev](https://github.com/fbbdev) in [#4066](https://github.com/wailsapp/wails/pull/4066)
- Add `RegisterService` method for registering services after the application has been created by [@fbbdev](https://github.com/fbbdev) in [#4066](https://github.com/wailsapp/wails/pull/4066)
- Add `MarshalError` field in application and service options for custom error handling in binding calls by [@fbbdev](https://github.com/fbbdev) in [#4066](https://github.com/wailsapp/wails/pull/4066)
- Add cancellable promise wrapper that propagates cancellation requests through promise chains by [@fbbdev](https://github.com/fbbdev) in [#4100](https://github.com/wailsapp/wails/pull/4100)
- Add the ability to tie binding call cancellation to an `AbortSignal` by [@fbbdev](https://github.com/fbbdev) in [#4100](https://github.com/wailsapp/wails/pull/4100)
- Support `data-wml-*` attributes for WML alongside the usual `wml-*` attributes by [@leaanthony](https://github.com/leaanthony)
- Add `Configure` method on all services for late configuration/dynamic reconfiguration by [@fbbdev](https://github.com/fbbdev) in [#4067](https://github.com/wailsapp/wails/pull/4067)
- `fileserver` service sends a 503 Service Unavailable response when unconfigured by [@fbbdev](https://github.com/fbbdev) in [#4067](https://github.com/wailsapp/wails/pull/4067)
- `kvstore` service provides an in-memory key-value store by default when unconfigured by [@fbbdev](https://github.com/fbbdev) in [#4067](https://github.com/wailsapp/wails/pull/4067)
@ -100,6 +104,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Fixed hidden menu items on macOS by [@leaanthony](https://github.com/leaanthony)
- Fixed handling and formatting of errors in message processors by [@fbbdev](https://github.com/fbbdev) in [#4066](https://github.com/wailsapp/wails/pull/4066)
-  Fixed skipped service shutdown when quitting application by [@fbbdev](https://github.com/fbbdev) in [#4066](https://github.com/wailsapp/wails/pull/4066)
-  Ensure menu updates occur on the main thread by [@leaanthony](https://github.com/leaanthony)
- The dragging and resizing mechanism is now more robust and matches expected platform behaviour more closely by [@fbbdev](https://github.com/fbbdev) in [#4100](https://github.com/wailsapp/wails/pull/4100)
- Fixed [#4097](https://github.com/wailsapp/wails/issues/4097) Webpack/angular discards runtime init code by [@fbbdev](https://github.com/fbbdev) in [#4100](https://github.com/wailsapp/wails/pull/4100)
### Changed
@ -120,6 +127,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `ServiceStartup` hooks are now invoked when `App.Run` is called, not in `application.New` by [@fbbdev](https://github.com/fbbdev) in [#4066](https://github.com/wailsapp/wails/pull/4066)
- `ServiceStartup` errors are now returned from `App.Run` instead of terminating the process by [@fbbdev](https://github.com/fbbdev) in [#4066](https://github.com/wailsapp/wails/pull/4066)
- Binding and dialog calls from JS now reject with error objects instead of strings by [@fbbdev](https://github.com/fbbdev) in [#4066](https://github.com/wailsapp/wails/pull/4066)
- Improved systray menu positioning on Windows by [@leaanthony](https://github.com/leaanthony)
- The JS runtime has been ported to TypeScript by [@fbbdev](https://github.com/fbbdev) in [#4100](https://github.com/wailsapp/wails/pull/4100)
- The runtime initialises as soon as it is imported, no need to wait for the window to load by [@fbbdev](https://github.com/fbbdev) in [#4100](https://github.com/wailsapp/wails/pull/4100)
- The runtime does not export an init method anymore. A side effects import can be used to initialise it by [@fbbdev](https://github.com/fbbdev) in [#4100](https://github.com/wailsapp/wails/pull/4100)
- Bound methods now return a `CancellablePromise` that rejects with a `CancelError` if cancelled. The actual result of the call is discarded by [@fbbdev](https://github.com/fbbdev) in [#4100](https://github.com/wailsapp/wails/pull/4100)
- Built-in service types are now consistently called `Service` by [@fbbdev](https://github.com/fbbdev) in [#4067](https://github.com/wailsapp/wails/pull/4067)
- Built-in service creation functions with options are now consistently called `NewWithConfig` by [@fbbdev](https://github.com/fbbdev) in [#4067](https://github.com/wailsapp/wails/pull/4067)
- `Select` method on `sqlite` service is now named `Query` for consistency with Go APIs by [@fbbdev](https://github.com/fbbdev) in [#4067](https://github.com/wailsapp/wails/pull/4067)

View file

@ -366,6 +366,10 @@ You can control when the default context menu appears using the `--default-conte
</div>
```
:::note
This feature will only work as expected after the runtime [has been initialised](../../learn/runtime#initialisation).
:::
#### Nested Context Menu Behavior
When using the `--default-contextmenu` property on nested elements, the following rules apply:

View file

@ -437,8 +437,9 @@ func (s *MyService) WindowAwareMethod(ctx context.Context) (string, error) {
```
From the frontend, these methods can be called normally. If you need to cancel a
long-running operation, the Promise will be rejected with the cancellation
error:
long-running operation, you can call the special `cancel` method on the promise
and it will reject immediately with a special cancellation error;
the Go context will be cancelled and the actual result of the call will be discarded:
```javascript
// Call the method
@ -449,6 +450,84 @@ const promise = MyService.LongRunningTask("input");
promise.cancel();
```
In fact, the runtime returns a special promise wrapper
that provides cancellation support for arbitrarily long promise chains.
For example:
```javascript
import { CancelError } from "@wailsio/runtime";
// Call the method and process its output
const promise = MyService.LongRunningTask("input").then((result) => {
console.log(result);
}).catch((err) => {
if (err instanceof CancelError) {
console.log("Cancelled.", err.cause);
} else {
console.error("Failed.", err);
}
});
// Later...
// cancel() accepts an optional cause parameter
// that will be attached to the cancellation error:
promise.cancel("I'm tired of waiting!").then(() => {
// Cancellation has been requested successfully
// and all handlers attached above have run.
console.log("Ready for the next adventure!");
});
```
The `cancel` method returns a promise that fulfills always (and never rejects)
after the cancellation request has been submitted successfully
and all previously attached handlers have run.
:::note
Calling the `cancel` method on a settled promise is safe and has no effect;
if the task completes before the call to `cancel`, the code above is going to log:
```
completed
Ready for the next adventure!
```
However, if `cancel` is called before the task finishes, the output will be:
```
Cancelled. I'm tired of waiting!
Ready for the next adventure!
```
:::
The approach discussed above requires storing and chaining promises manually,
which can be cumbersome for code written in `async`/`await` style.
If you target plaforms that support the `AbortController`/`AbortSignal` idiom,
you can call the `cancelOn` method and tie call cancellation to an `AbortSignal` instead:
```javascript
async function callBinding(signal) {
try {
await MyService.LongRunningTask("input").cancelOn(signal);
} catch (err) {
if (err instanceof CancelError) {
console.log("Cancelled! Cause: ", err.cause);
} else {
console.error("Failed! Error: ", err);
}
}
}
let controller = new AbortController();
callBinding(controller.signal);
// Later...
controller.abort("I'm tired of waiting!");
```
:::caution
On the macOS platform, `AbortSignal` is only supported from macOS 10.15 Catalina onwards.
:::
### Handling errors
As you may have noticed above, bound methods can return errors, which are handled specially.

View file

@ -65,6 +65,10 @@ To associate a context menu with an HTML element, use the `--custom-contextmenu`
- `--custom-contextmenu`: Specifies the menu ID (must match the ID used in `NewContextMenu`)
- `--custom-contextmenu-data`: Optional data that will be passed to the click handlers
:::note
This feature will only work as expected after the runtime [has been initialised](../runtime#initialisation).
:::
## Default Context Menu
The default context menu is the webview's built-in context menu that provides system-level operations. You can control its visibility using the `--default-contextmenu` CSS property:

View file

@ -22,12 +22,12 @@ The runtime is required for integration between Go and the frontend. There are 2
ways to integrate the runtime:
- Using the `@wailsio/runtime` package
- Using a pre-built version of the runtime
- Using a pre-built bundle
## Using the npm package
The `@wailsio/runtime` package is a JavaScript package that provides access to
the Wails runtime from the frontend. It is used in by all the standard templates
the Wails runtime from the frontend. It is used by all standard templates
and is the recommended way to integrate the runtime into your application.
By using the `@wailsio/runtime` package, you will only include the parts of the runtime that you use.
@ -37,25 +37,55 @@ The package is available on npm and can be installed using:
npm install --save @wailsio/runtime
```
## Using a pre-built local version of the runtime
## Using a pre-built bundle
Some projects will not use a Javascript bundler and may prefer to use a
pre-built version of the runtime. This is the default for the examples in
`v3/examples`. The pre-built version of the runtime can be generated using the
following command:
pre-built bundled version of the runtime. This version can be generated locally
using the following command:
```shell
wails3 generate runtime
```
This will generate a `runtime.js` (and `runtime.debug.js`) file in the current
directory. This file can be used by your application by adding it to your frontend project:
The command will output a `runtime.js` (and `runtime.debug.js`) file in the current
directory. This file is an ES module that can be imported by your application scripts
just like the npm package, but the API is also exported to the global window object,
so for simpler applications you can use it as follows:
```html
<html>
<head>
<script src="./runtime.js"></script>
<script type="module" src="./runtime.js"></script>
<script>
window.onload = function () {
wails.Window.SetTitle("A new window title");
}
</script>
</head>
<!--- ... -->
</>
</html>
```
:::caution
It is important to include the `type="module"` attribute on the `<script>` tag that loads the runtime
and to wait for the page to be fully loaded before calling the API,
because scripts with the `type="module"` attribute run asynchronously.
:::
## Initialisation
Apart from the API functions, the runtime provides support for context menus and window dragging.
These features will only work as expected after the runtime has been initialised.
Even if you don't use the API, make sure to include a side-effect import statement
somewhere in your frontend code:
```javascript
import "@wailsio/runtime";
```
Your bundler should detect the presence of side-effects and include
all required initialisation code in the build.
:::note
If you prefer the pre-built bundle, adding a script tag as shown above suffices.
:::

View file

@ -96,6 +96,8 @@ tasks:
EXAMPLEDIRS: |
binding
build
cancel-async
cancel-chaining
clipboard
contextmenus
dialogs
@ -108,17 +110,21 @@ tasks:
ignore-mouse
keybindings
menu
panic-handling
plain
raw-message
screen
services
show-macos-toolbar
single-instance
systray-basic
systray-menu
systray-custom
systray-menu
video
window
window-api
window-call
window-menu
wml
cmds:
- for: { var: EXAMPLEDIRS }

View file

@ -2,10 +2,10 @@
This example demonstrates how to generate bindings for your application.
To generate bindings, run `wails3 generate bindings -b -d assets/bindings` in this directory.
To generate bindings, run `wails3 generate bindings -clean -b -d assets/bindings` in this directory.
See more options by running `wails3 generate bindings --help`.
## Notes
- The bindings generator is still a work in progress and is subject to change.
- The generated code uses `wails.CallByID` by default. This is the most secure and quickest way to call a function. In a future release, we will look at generating `wails.CallByName` too.
- The generated code uses `wails.CallByID` by default. This is the most robust way to call a function.

View file

@ -9,7 +9,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import {Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create} from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -18,36 +18,31 @@ import * as data$0 from "./data/models.js";
/**
* GetPerson returns a person with the given name.
* @param {string} name
* @returns {Promise<data$0.Person> & { cancel(): void }}
* @returns {$CancellablePromise<data$0.Person>}
*/
export function GetPerson(name) {
let $resultPromise = /** @type {any} */($Call.ByID(2952413357, name));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(2952413357, name).then(/** @type {($result: any) => any} */(($result) => {
return $$createType0($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
/**
* Greet greets a person
* @param {string} name
* @param {number[]} counts
* @returns {Promise<string> & { cancel(): void }}
* @returns {$CancellablePromise<string>}
*/
export function Greet(name, ...counts) {
let $resultPromise = /** @type {any} */($Call.ByID(1411160069, name, counts));
return $resultPromise;
return $Call.ByID(1411160069, name, counts);
}
/**
* GreetPerson greets a person
* @param {data$0.Person} person
* @returns {Promise<string> & { cancel(): void }}
* @returns {$CancellablePromise<string>}
*/
export function GreetPerson(person) {
let $resultPromise = /** @type {any} */($Call.ByID(4021313248, person));
return $resultPromise;
return $Call.ByID(4021313248, person);
}
// Private type creation functions

View file

@ -0,0 +1,5 @@
# Binding Call Cancelling Example
This example demonstrates how to cancel binding calls in async/await style.
To regenerate bindings, run `wails3 generate bindings -clean -b -d assets/bindings` in this directory.

View file

@ -0,0 +1,8 @@
// @ts-check
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
import * as Service from "./service.js";
export {
Service
};

View file

@ -0,0 +1,16 @@
// @ts-check
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create} from "/wails/runtime.js";
/**
* A long running operation of specified duration.
* @param {number} milliseconds
* @returns {$CancellablePromise<void>}
*/
export function LongRunning(milliseconds) {
return $Call.ByID(298191698, milliseconds);
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,37 @@
package main
import (
"embed"
"log"
"github.com/wailsapp/wails/v3/pkg/application"
)
//go:embed assets/*
var assets embed.FS
func main() {
app := application.New(application.Options{
Services: []application.Service{
application.NewService(&Service{}),
},
Assets: application.AssetOptions{
Handler: application.BundledAssetFileServer(assets),
},
Mac: application.MacOptions{
ApplicationShouldTerminateAfterLastWindowClosed: true,
},
})
app.NewWebviewWindowWithOptions(application.WebviewWindowOptions{
URL: "/",
DevToolsEnabled: true,
})
err := app.Run()
if err != nil {
log.Fatal(err)
}
}

View file

@ -0,0 +1,19 @@
package main
import (
"context"
"time"
)
type Service struct {
}
// A long running operation of specified duration.
func (*Service) LongRunning(ctx context.Context, milliseconds int) error {
select {
case <-time.After(time.Duration(milliseconds) * time.Millisecond):
return nil
case <-ctx.Done():
return ctx.Err()
}
}

View file

@ -0,0 +1,5 @@
# Binding Call Cancelling Example
This example demonstrates how to cancel binding calls in promise chaining style.
To regenerate bindings, run `wails3 generate bindings -clean -b -d assets/bindings` in this directory.

View file

@ -0,0 +1,8 @@
// @ts-check
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
import * as Service from "./service.js";
export {
Service
};

View file

@ -0,0 +1,16 @@
// @ts-check
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create} from "/wails/runtime.js";
/**
* A long running operation of specified duration.
* @param {number} milliseconds
* @returns {$CancellablePromise<void>}
*/
export function LongRunning(milliseconds) {
return $Call.ByID(298191698, milliseconds);
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,37 @@
package main
import (
"embed"
"log"
"github.com/wailsapp/wails/v3/pkg/application"
)
//go:embed assets/*
var assets embed.FS
func main() {
app := application.New(application.Options{
Services: []application.Service{
application.NewService(&Service{}),
},
Assets: application.AssetOptions{
Handler: application.BundledAssetFileServer(assets),
},
Mac: application.MacOptions{
ApplicationShouldTerminateAfterLastWindowClosed: true,
},
})
app.NewWebviewWindowWithOptions(application.WebviewWindowOptions{
URL: "/",
DevToolsEnabled: true,
})
err := app.Run()
if err != nil {
log.Fatal(err)
}
}

View file

@ -0,0 +1,19 @@
package main
import (
"context"
"time"
)
type Service struct {
}
// A long running operation of specified duration.
func (*Service) LongRunning(ctx context.Context, milliseconds int) error {
select {
case <-time.After(time.Duration(milliseconds) * time.Millisecond):
return nil
case <-ctx.Done():
return ctx.Err()
}
}

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import {Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create} from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -12,9 +12,8 @@ import * as $models from "./models.js";
/**
* @param {string} s
* @returns {Promise<$models.Hashes> & { cancel(): void }}
* @returns {$CancellablePromise<$models.Hashes>}
*/
export function Generate(s) {
let $resultPromise = /** @type {any} */($Call.ByID(1123907498, s));
return $resultPromise;
return $Call.ByID(1123907498, s);
}

View file

@ -48,11 +48,7 @@
let results = document.getElementById("sqlresults");
results.innerHTML = "";
if (!isSelect) {
let message = "Query executed successfully";
if (result.length > 0) {
message += " - " + result;
}
results.innerHTML = message;
results.innerHTML = "Query executed successfully";
return;
}
if (result.length === 0) {
@ -78,6 +74,8 @@
}
results.appendChild(table);
}).catch((err) => {
// Log error for debugging
console.error(err);
// Put error in results
document.getElementById("sqlresults").innerHTML = "<p class='error-message'>" + err + "</p>";
});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -213,17 +213,22 @@ func (m *module) PostponedCreates() []string {
m.postponedCreates.Iterate(func(key types.Type, value any) {
pp := value.(*postponed)
pre := ""
pre, post := "", ""
if pp.params != "" {
pre = pp.params + " => "
if m.TS {
pre = createParamRegex.ReplaceAllString(pp.params, "${0}: any") + " => "
} else {
pre = "/** @type {(...args: any[]) => any} */(" + pp.params + " => "
post = ")"
}
}
switch t := key.(type) {
case *types.Array, *types.Slice:
result[pp.index] = fmt.Sprintf("%s$Create.Array(%s)", pre, m.JSCreateWithParams(t.(interface{ Elem() types.Type }).Elem(), pp.params))
result[pp.index] = fmt.Sprintf("%s$Create.Array(%s)%s", pre, m.JSCreateWithParams(t.(interface{ Elem() types.Type }).Elem(), pp.params), post)
case *types.Map:
result[pp.index] = fmt.Sprintf("%s$Create.Map($Create.Any, %s)", pre, m.JSCreateWithParams(t.Elem(), pp.params))
result[pp.index] = fmt.Sprintf("%s$Create.Map($Create.Any, %s)%s", pre, m.JSCreateWithParams(t.Elem(), pp.params), post)
case *types.Named:
if !collect.IsClass(key) {
@ -231,23 +236,24 @@ func (m *module) PostponedCreates() []string {
// require an indirect assignment to break cycles.
// Typescript cannot infer the return type on its own: add hints.
cast, returnType := "", ""
cast, argType, returnType := "", "", ""
if m.TS {
argType = ": any[]"
returnType = ": any"
} else {
cast = "/** @type {(...args: any[]) => any} */"
}
result[pp.index] = fmt.Sprintf(`
%s(function $$initCreateType%d(...args)%s {
%s(function $$initCreateType%d(...args%s)%s {
if ($$createType%d === $$initCreateType%d) {
$$createType%d = %s%s;
$$createType%d = %s%s%s;
}
return $$createType%d(...args);
})`,
cast, pp.index, returnType,
cast, pp.index, argType, returnType,
pp.index, pp.index,
pp.index, pre, m.JSCreateWithParams(t.Underlying(), pp.params),
pp.index, pre, m.JSCreateWithParams(t.Underlying(), pp.params), post,
pp.index,
)[1:] // Remove initial newline.
@ -280,11 +286,12 @@ func (m *module) PostponedCreates() []string {
}
builder.WriteString(")")
}
builder.WriteString(post)
result[pp.index] = builder.String()
case *types.Pointer:
result[pp.index] = fmt.Sprintf("%s$Create.Nullable(%s)", pre, m.JSCreateWithParams(t.Elem(), pp.params))
result[pp.index] = fmt.Sprintf("%s$Create.Nullable(%s)%s", pre, m.JSCreateWithParams(t.Elem(), pp.params), post)
case *types.Struct:
info := m.collector.Struct(t)
@ -311,11 +318,12 @@ func (m *module) PostponedCreates() []string {
builder.WriteRune('\n')
}
builder.WriteString("})")
builder.WriteString(post)
result[pp.index] = builder.String()
default:
result[pp.index] = pre + "$Create.Any"
result[pp.index] = pre + "$Create.Any" + post
}
})

View file

@ -1,6 +1,7 @@
package render
import (
"regexp"
"strings"
"github.com/wailsapp/wails/v3/internal/generator/collect"
@ -26,6 +27,9 @@ type modelInfo struct {
}
}
// createParamRegex must match type parameter creation strings as generated by [modelinfo].
var createParamRegex = regexp.MustCompile(`\$\$createParam[^\s,)]*`)
// modelinfo gathers and returns useful information about the given model.
func modelinfo(model *collect.ModelInfo, useInterfaces bool) (info modelInfo) {
info.HasValues = len(model.Values) > 0
@ -46,11 +50,14 @@ func modelinfo(model *collect.ModelInfo, useInterfaces bool) (info modelInfo) {
createList.WriteRune('(')
for i, param := range model.TypeParams {
param = typeparam(i, param)
if i > 0 {
params.WriteRune(',')
paramList.WriteString(", ")
createList.WriteString(", ")
}
params.WriteString(param)
paramList.WriteString(param)

View file

@ -9,7 +9,7 @@
{{if not $useInterfaces}}
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "{{js $runtime}}";
import { Create as $Create } from "{{js $runtime}}";
{{end -}}
{{range $imports.External}}
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
@ -147,7 +147,10 @@ export class {{jsid $model.Name}} {
* Given creation functions for each type parameter,
* returns a creation function for a concrete instance
* of the generic class {{jsid $model.Name}}.
* @template {{$template.Params}}
{{- range $i, $param := $model.TypeParams}}
{{- $param = (typeparam $i $param)}}
* @template [{{$param}}=any]
{{- end}}
{{- range $i, $param := $model.TypeParams}}
{{- $param = (typeparam $i $param)}}
* @param {(source: any) => {{$param -}} } $$createParam{{$param}}

View file

@ -8,7 +8,7 @@
{{if not $useInterfaces}}
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "{{js $runtime}}";
import { Create as $Create } from "{{js $runtime}}";
{{end -}}
{{range $imports.External}}
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
@ -139,7 +139,12 @@ export {{if $info.IsInterface}}interface{{else}}class{{end}} {{jsid $model.Name}
* Creates a new {{jsid $model.Name}} instance from a string or object.
{{- end}}
*/
static createFrom{{$template.ParamList}}({{if $template.ParamList}}
static createFrom{{if $template.ParamList}}<
{{- range $i, $param := $model.TypeParams}}
{{- $param = (typeparam $i $param)}}
{{- if gt $i 0}}, {{end -}}
{{$param}} = any
{{- end}}>{{end}}({{if $template.ParamList}}
{{- range $i, $param := $model.TypeParams}}
{{- $param = (typeparam $i $param)}}
{{- if gt $i 0}}, {{end -}}

View file

@ -22,7 +22,7 @@
{{end}}
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call{{if not $useInterfaces}}, Create as $Create{{end -}} } from "{{js $runtime}}";
import { Call as $Call, CancellablePromise as $CancellablePromise{{if not $useInterfaces}}, Create as $Create{{end}} } from "{{js $runtime}}";
{{range $imports.External}}
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -46,7 +46,7 @@ import * as $models from "./{{js $models}}";
{{- range $i, $param := .Params}}
* @param { {{- $module.JSType .Type}}{{if .Variadic}}[]{{end -}} } {{jsparam $i .}}
{{- end}}
* @returns {Promise<
* @returns {$CancellablePromise<
{{- if eq 0 (len .Results) -}}
void
{{- else if eq 1 (len .Results)}}
@ -56,7 +56,7 @@ import * as $models from "./{{js $models}}";
{{- if gt $i 0}}, {{end}}
{{- $module.JSType $result}}
{{- end}}]
{{- end}}> & { cancel(): void }}
{{- end}}>}
*/
{{if not .Internal}}export {{end}}function {{.Name}}({{range $i, $param := .Params -}}
{{- if gt $i 0}}, {{end}}
@ -64,14 +64,14 @@ import * as $models from "./{{js $models}}";
{{- jsparam $i .}}
{{- end}}) {
{{- if $useNames}}
let $resultPromise = /** @type {any} */($Call.ByName("{{js .FQN}}"
return $Call.ByName("{{js .FQN}}"
{{- else}}
let $resultPromise = /** @type {any} */($Call.ByID({{.ID}}
{{- end}}{{range $i, $param := .Params}}, {{jsparam $i .}}{{end}}));
{{- if or $useInterfaces (not .Results) ($module.SkipCreate .Results)}}
return $resultPromise;
{{- else}}
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID({{.ID}}
{{- end}}{{range $i, $param := .Params}}, {{jsparam $i .}}{{end}})
{{- if or $useInterfaces (not .Results) ($module.SkipCreate .Results) -}}
;
{{- else -}}
.then(/** @type {($result: any) => any} */(($result) => {
{{- if eq 1 (len .Results)}}
return {{$module.JSCreate (index .Results 0)}}($result);
{{- else}}
@ -83,8 +83,6 @@ import * as $models from "./{{js $models}}";
return $result;
{{- end}}
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
{{- end}}
}
{{end}}

View file

@ -21,7 +21,7 @@
{{end}}
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call{{if not $useInterfaces}}, Create as $Create{{end -}} } from "{{js $runtime}}";
import { Call as $Call, CancellablePromise as $CancellablePromise{{if not $useInterfaces}}, Create as $Create{{end}} } from "{{js $runtime}}";
{{range $imports.External}}
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -49,7 +49,7 @@ import * as $models from "./{{js $models}}";
{{- if gt $i 0}}, {{end}}
{{- if .Variadic}}...{{end}}
{{- jsparam $i .}}: {{$module.JSType .Type}}{{if .Variadic}}[]{{end}}
{{- end}}): Promise<
{{- end}}): $CancellablePromise<
{{- if eq 0 (len .Results) -}}
void
{{- else if eq 1 (len .Results)}}
@ -59,16 +59,16 @@ import * as $models from "./{{js $models}}";
{{- if gt $i 0}}, {{end}}
{{- $module.JSType $result}}
{{- end}}]
{{- end}}> & { cancel(): void } {
{{- end}}> {
{{- if $useNames}}
let $resultPromise = $Call.ByName("{{js .FQN}}"
return $Call.ByName("{{js .FQN}}"
{{- else}}
let $resultPromise = $Call.ByID({{.ID}}
{{- end}}{{range $i, $param := .Params}}, {{jsparam $i .}}{{end}}) as any;
{{- if or $useInterfaces (not .Results) ($module.SkipCreate .Results)}}
return $resultPromise;
{{- else}}
let $typingPromise = $resultPromise.then(($result: any) => {
return $Call.ByID({{.ID}}
{{- end}}{{range $i, $param := .Params}}, {{jsparam $i .}}{{end}})
{{- if or $useInterfaces (not .Results) ($module.SkipCreate .Results) -}}
;
{{- else -}}
.then(($result: any) => {
{{- if eq 1 (len .Results)}}
return {{$module.JSCreate (index .Results 0)}}($result);
{{- else}}
@ -79,9 +79,7 @@ import * as $models from "./{{js $models}}";
{{- end}}{{end}}
return $result;
{{- end}}
}) as any;
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
});
{{- end}}
}
{{end}}

View file

@ -2,6 +2,7 @@ package main
import (
_ "embed"
"encoding"
"log"
nobindingshere "github.com/wailsapp/wails/v3/internal/generator/testcases/no_bindings_here"
@ -54,37 +55,37 @@ type GenericPerson[T any] struct {
type StrangelyAliasedPerson = Person
// A generic alias that forwards to a type parameter.
// type GenericAlias[T any] = T
type GenericAlias[T any] = T
// A generic alias that wraps a pointer type.
// type GenericPtrAlias[T any] = *GenericAlias[T]
type GenericPtrAlias[T any] = *GenericAlias[T]
// A generic alias that wraps a map.
// type GenericMapAlias[T interface {
// comparable
// encoding.TextMarshaler
// }, U any] = map[T]U
type GenericMapAlias[T interface {
comparable
encoding.TextMarshaler
}, U any] = map[T]U
// A generic alias that wraps a generic struct.
// type GenericPersonAlias[T any] = GenericPerson[[]GenericPtrAlias[T]]
type GenericPersonAlias[T any] = GenericPerson[[]GenericPtrAlias[T]]
// An alias that wraps a class through a non-typeparam alias.
// type IndirectPersonAlias = GenericPersonAlias[bool]
type IndirectPersonAlias = GenericPersonAlias[bool]
// An alias that wraps a class through a typeparam alias.
// type TPIndirectPersonAlias = GenericAlias[GenericPerson[bool]]
type TPIndirectPersonAlias = GenericAlias[GenericPerson[bool]]
// A class whose fields have various aliased types.
// type AliasGroup struct {
// GAi GenericAlias[int]
// GAP GenericAlias[GenericPerson[bool]]
// GPAs GenericPtrAlias[[]string]
// GPAP GenericPtrAlias[GenericPerson[[]int]]
// GMA GenericMapAlias[struct{ encoding.TextMarshaler }, float32]
// GPA GenericPersonAlias[bool]
// IPA IndirectPersonAlias
// TPIPA TPIndirectPersonAlias
// }
type AliasGroup struct {
GAi GenericAlias[int]
GAP GenericAlias[GenericPerson[bool]]
GPAs GenericPtrAlias[[]string]
GPAP GenericPtrAlias[GenericPerson[[]int]]
GMA GenericMapAlias[struct{ encoding.TextMarshaler }, float32]
GPA GenericPersonAlias[bool]
IPA IndirectPersonAlias
TPIPA TPIndirectPersonAlias
}
// Get someone.
func (GreetService) Get(aliasValue Alias) Person {
@ -105,9 +106,9 @@ func (GreetService) GetButForeignPrivateAlias() (_ nobindingshere.PrivatePerson)
return
}
// func (GreetService) GetButGenericAliases() (_ AliasGroup) {
// return
// }
func (GreetService) GetButGenericAliases() (_ AliasGroup) {
return
}
// Greet a lot of unusual things.
func (GreetService) Greet(EmptyAliasStruct, EmptyStruct) AliasStruct {

View file

@ -12,5 +12,7 @@
".Service11",
".Service12",
".Service13",
".Service14",
".Service15",
"/other.Service16"
]

View file

@ -24,7 +24,7 @@ type Service13 struct{}
type Service14 struct{}
type Service15 struct{}
// type SimplifiedFactory[T any] = Factory[T, Service15]
type SimplifiedFactory[T any] = Factory[T, Service15]
func main() {
factory := NewFactory[Service1, Service2]()
@ -42,7 +42,7 @@ func main() {
other.CustomNewService(Service7{}),
other.ServiceInitialiser[Service8]()(&Service8{}),
application.NewServiceWithOptions(&Service13{}, application.ServiceOptions{Name: "custom name"}),
// SimplifiedFactory[Service14]{}.Get(),
SimplifiedFactory[Service14]{}.Get(),
other.LocalService,
},
CustomNewServices[Service9, Service10]()...),

View file

@ -52,7 +52,7 @@ type Embedded3 string
// Person represents a person
type Person struct {
// Titles is optional in JSON
Titles []Title `json:",omitempty"`
Titles []Title `json:",omitzero"`
// Names has a
// multiline comment

View file

@ -106,24 +106,24 @@ type InterfacePtrType *encoding.TextMarshaler
type InterfaceAlias = encoding.TextMarshaler
type InterfacePtrAlias = *encoding.TextMarshaler
// type ComparableCstrAlias[R comparable] = R
// type ComparableCstrPtrAlias[R comparable] = *R
// type BasicCstrAlias[S BasicConstraint] = S
// type BasicCstrPtrAlias[S BasicConstraint] = *S
// type BadTildeCstrAlias[T BadTildeConstraint] = T
// type BadTildeCstrPtrAlias[T BadTildeConstraint] = *T
// type GoodTildeCstrAlias[U GoodTildeConstraint] = U
// type GoodTildeCstrPtrAlias[U GoodTildeConstraint] = *U
// type NonBasicCstrAlias[V NonBasicConstraint] = V
// type NonBasicCstrPtrAlias[V NonBasicConstraint] = *V
// type PointableCstrAlias[W PointableConstraint] = W
// type PointableCstrPtrAlias[W PointableConstraint] = *W
// type MixedCstrAlias[X MixedConstraint] = X
// type MixedCstrPtrAlias[X MixedConstraint] = *X
// type InterfaceCstrAlias[Y InterfaceConstraint] = Y
// type InterfaceCstrPtrAlias[Y InterfaceConstraint] = *Y
// type PointerCstrAlias[R comparable, Z PointerConstraint[R]] = Z
// type PointerCstrPtrAlias[R comparable, Z PointerConstraint[R]] = *Z
type ComparableCstrAlias[R comparable] = R
type ComparableCstrPtrAlias[R comparable] = *R
type BasicCstrAlias[S BasicConstraint] = S
type BasicCstrPtrAlias[S BasicConstraint] = *S
type BadTildeCstrAlias[T BadTildeConstraint] = T
type BadTildeCstrPtrAlias[T BadTildeConstraint] = *T
type GoodTildeCstrAlias[U GoodTildeConstraint] = U
type GoodTildeCstrPtrAlias[U GoodTildeConstraint] = *U
type NonBasicCstrAlias[V NonBasicConstraint] = V
type NonBasicCstrPtrAlias[V NonBasicConstraint] = *V
type PointableCstrAlias[W PointableConstraint] = W
type PointableCstrPtrAlias[W PointableConstraint] = *W
type MixedCstrAlias[X MixedConstraint] = X
type MixedCstrPtrAlias[X MixedConstraint] = *X
type InterfaceCstrAlias[Y InterfaceConstraint] = Y
type InterfaceCstrPtrAlias[Y InterfaceConstraint] = *Y
type PointerCstrAlias[R comparable, Z PointerConstraint[R]] = Z
type PointerCstrPtrAlias[R comparable, Z PointerConstraint[R]] = *Z
type Maps[R comparable, S BasicConstraint, T BadTildeConstraint, U GoodTildeConstraint, V NonBasicConstraint, W PointableConstraint, X MixedConstraint, Y InterfaceConstraint, Z PointerConstraint[R]] struct {
Bool map[bool]int // Reject
@ -226,63 +226,63 @@ type Maps[R comparable, S BasicConstraint, T BadTildeConstraint, U GoodTildeCons
TPZ map[Z]int // Accept, hide
TPZPtr map[*Z]int // Soft reject
// GAR map[ComparableCstrAlias[R]]int // Soft reject
// GARPtr map[ComparableCstrPtrAlias[R]]int // Soft reject
// GAS map[BasicCstrAlias[S]]int // Accept, hide
// GASPtr map[BasicCstrPtrAlias[S]]int // Soft reject
// GAT map[BadTildeCstrAlias[T]]int // Soft reject
// GATPtr map[BadTildeCstrPtrAlias[T]]int // Soft reject
// GAU map[GoodTildeCstrAlias[U]]int // Accept, hide
// GAUPtr map[GoodTildeCstrPtrAlias[U]]int // Soft reject
// GAV map[NonBasicCstrAlias[V]]int // Accept, hide
// GAVPtr map[NonBasicCstrPtrAlias[V]]int // Soft reject
// GAW map[PointableCstrAlias[W]]int // Soft reject
// GAWPtr map[PointableCstrPtrAlias[W]]int // Accept, hide
// GAX map[MixedCstrAlias[X]]int // Accept, hide
// GAXPtr map[MixedCstrPtrAlias[X]]int // Soft reject
// GAY map[InterfaceCstrAlias[Y]]int // Accept, hide
// GAYPtr map[InterfaceCstrPtrAlias[Y]]int // Soft reject
// GAZ map[PointerCstrAlias[R, Z]]int // Accept, hide
// GAZPtr map[PointerCstrPtrAlias[R, Z]]int // Soft reject
GAR map[ComparableCstrAlias[R]]int // Soft reject
GARPtr map[ComparableCstrPtrAlias[R]]int // Soft reject
GAS map[BasicCstrAlias[S]]int // Accept, hide
GASPtr map[BasicCstrPtrAlias[S]]int // Soft reject
GAT map[BadTildeCstrAlias[T]]int // Soft reject
GATPtr map[BadTildeCstrPtrAlias[T]]int // Soft reject
GAU map[GoodTildeCstrAlias[U]]int // Accept, hide
GAUPtr map[GoodTildeCstrPtrAlias[U]]int // Soft reject
GAV map[NonBasicCstrAlias[V]]int // Accept, hide
GAVPtr map[NonBasicCstrPtrAlias[V]]int // Soft reject
GAW map[PointableCstrAlias[W]]int // Soft reject
GAWPtr map[PointableCstrPtrAlias[W]]int // Accept, hide
GAX map[MixedCstrAlias[X]]int // Accept, hide
GAXPtr map[MixedCstrPtrAlias[X]]int // Soft reject
GAY map[InterfaceCstrAlias[Y]]int // Accept, hide
GAYPtr map[InterfaceCstrPtrAlias[Y]]int // Soft reject
GAZ map[PointerCstrAlias[R, Z]]int // Accept, hide
GAZPtr map[PointerCstrPtrAlias[R, Z]]int // Soft reject
// GACi map[ComparableCstrAlias[int]]int // Accept, hide
// GACV map[ComparableCstrAlias[ValueTextMarshaler]]int // Accept
// GACP map[ComparableCstrAlias[PointerTextMarshaler]]int // Reject
// GACiPtr map[ComparableCstrPtrAlias[int]]int // Reject
// GACVPtr map[ComparableCstrPtrAlias[ValueTextMarshaler]]int // Accept, hide
// GACPPtr map[ComparableCstrPtrAlias[PointerTextMarshaler]]int // Accept, hide
// GABi map[BasicCstrAlias[int]]int // Accept, hide
// GABs map[BasicCstrAlias[string]]int // Accept
// GABiPtr map[BasicCstrPtrAlias[int]]int // Reject
// GABT map[BadTildeCstrAlias[struct{}]]int // Reject
// GABTPtr map[BadTildeCstrPtrAlias[struct{}]]int // Reject
// GAGT map[GoodTildeCstrAlias[ValueTextMarshaler]]int // Accept
// GAGTPtr map[GoodTildeCstrPtrAlias[ValueTextMarshaler]]int // Accept, hide
// GANBV map[NonBasicCstrAlias[ValueTextMarshaler]]int // Accept
// GANBP map[NonBasicCstrAlias[*PointerTextMarshaler]]int // Accept, hide
// GANBVPtr map[NonBasicCstrPtrAlias[ValueTextMarshaler]]int // Accept, hide
// GANBPPtr map[NonBasicCstrPtrAlias[*PointerTextMarshaler]]int // Reject
// GAPlV1 map[PointableCstrAlias[ValueTextMarshaler]]int // Accept
// GAPlV2 map[*PointableCstrAlias[ValueTextMarshaler]]int // Accept
// GAPlP1 map[PointableCstrAlias[PointerTextMarshaler]]int // Reject
// GAPlP2 map[*PointableCstrAlias[PointerTextMarshaler]]int // Accept
// GAPlVPtr map[PointableCstrPtrAlias[ValueTextMarshaler]]int // Accept, hide
// GAPlPPtr map[PointableCstrPtrAlias[PointerTextMarshaler]]int // Accept, hide
// GAMi map[MixedCstrAlias[uint]]int // Accept, hide
// GAMS map[MixedCstrAlias[StringType]]int // Accept
// GAMV map[MixedCstrAlias[ValueTextMarshaler]]int // Accept
// GAMSPtr map[MixedCstrPtrAlias[StringType]]int // Reject
// GAMVPtr map[MixedCstrPtrAlias[ValueTextMarshaler]]int // Accept, hide
// GAII map[InterfaceCstrAlias[encoding.TextMarshaler]]int // Accept, hide
// GAIV map[InterfaceCstrAlias[ValueTextMarshaler]]int // Accept
// GAIP map[InterfaceCstrAlias[*PointerTextMarshaler]]int // Accept, hide
// GAIIPtr map[InterfaceCstrPtrAlias[encoding.TextMarshaler]]int // Reject
// GAIVPtr map[InterfaceCstrPtrAlias[ValueTextMarshaler]]int // Accept, hide
// GAIPPtr map[InterfaceCstrPtrAlias[*PointerTextMarshaler]]int // Reject
// GAPrV map[PointerCstrAlias[ValueTextMarshaler, *ValueTextMarshaler]]int // Accept, hide
// GAPrP map[PointerCstrAlias[PointerTextMarshaler, *PointerTextMarshaler]]int // Accept, hide
// GAPrVPtr map[PointerCstrPtrAlias[ValueTextMarshaler, *ValueTextMarshaler]]int // Reject
// GAPrPPtr map[PointerCstrPtrAlias[PointerTextMarshaler, *PointerTextMarshaler]]int // Reject
GACi map[ComparableCstrAlias[int]]int // Accept, hide
GACV map[ComparableCstrAlias[ValueTextMarshaler]]int // Accept
GACP map[ComparableCstrAlias[PointerTextMarshaler]]int // Reject
GACiPtr map[ComparableCstrPtrAlias[int]]int // Reject
GACVPtr map[ComparableCstrPtrAlias[ValueTextMarshaler]]int // Accept, hide
GACPPtr map[ComparableCstrPtrAlias[PointerTextMarshaler]]int // Accept, hide
GABi map[BasicCstrAlias[int]]int // Accept, hide
GABs map[BasicCstrAlias[string]]int // Accept
GABiPtr map[BasicCstrPtrAlias[int]]int // Reject
GABT map[BadTildeCstrAlias[struct{}]]int // Reject
GABTPtr map[BadTildeCstrPtrAlias[struct{}]]int // Reject
GAGT map[GoodTildeCstrAlias[ValueTextMarshaler]]int // Accept
GAGTPtr map[GoodTildeCstrPtrAlias[ValueTextMarshaler]]int // Accept, hide
GANBV map[NonBasicCstrAlias[ValueTextMarshaler]]int // Accept
GANBP map[NonBasicCstrAlias[*PointerTextMarshaler]]int // Accept, hide
GANBVPtr map[NonBasicCstrPtrAlias[ValueTextMarshaler]]int // Accept, hide
GANBPPtr map[NonBasicCstrPtrAlias[*PointerTextMarshaler]]int // Reject
GAPlV1 map[PointableCstrAlias[ValueTextMarshaler]]int // Accept
GAPlV2 map[*PointableCstrAlias[ValueTextMarshaler]]int // Accept
GAPlP1 map[PointableCstrAlias[PointerTextMarshaler]]int // Reject
GAPlP2 map[*PointableCstrAlias[PointerTextMarshaler]]int // Accept
GAPlVPtr map[PointableCstrPtrAlias[ValueTextMarshaler]]int // Accept, hide
GAPlPPtr map[PointableCstrPtrAlias[PointerTextMarshaler]]int // Accept, hide
GAMi map[MixedCstrAlias[uint]]int // Accept, hide
GAMS map[MixedCstrAlias[StringType]]int // Accept
GAMV map[MixedCstrAlias[ValueTextMarshaler]]int // Accept
GAMSPtr map[MixedCstrPtrAlias[StringType]]int // Reject
GAMVPtr map[MixedCstrPtrAlias[ValueTextMarshaler]]int // Accept, hide
GAII map[InterfaceCstrAlias[encoding.TextMarshaler]]int // Accept, hide
GAIV map[InterfaceCstrAlias[ValueTextMarshaler]]int // Accept
GAIP map[InterfaceCstrAlias[*PointerTextMarshaler]]int // Accept, hide
GAIIPtr map[InterfaceCstrPtrAlias[encoding.TextMarshaler]]int // Reject
GAIVPtr map[InterfaceCstrPtrAlias[ValueTextMarshaler]]int // Accept, hide
GAIPPtr map[InterfaceCstrPtrAlias[*PointerTextMarshaler]]int // Reject
GAPrV map[PointerCstrAlias[ValueTextMarshaler, *ValueTextMarshaler]]int // Accept, hide
GAPrP map[PointerCstrAlias[PointerTextMarshaler, *PointerTextMarshaler]]int // Accept, hide
GAPrVPtr map[PointerCstrPtrAlias[ValueTextMarshaler, *ValueTextMarshaler]]int // Reject
GAPrPPtr map[PointerCstrPtrAlias[PointerTextMarshaler, *PointerTextMarshaler]]int // Reject
}
func (*Service) Method() (_ Maps[PointerTextMarshaler, int, int, ValueTextMarshaler, *PointerTextMarshaler, ValueTextMarshaler, StringType, ValueTextMarshaler, *PointerTextMarshaler]) {

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
/**
* Marshaler is the interface implemented by types that

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
/**
* TextMarshaler is the interface implemented by an object that can

View file

@ -9,7 +9,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -22,81 +22,76 @@ import * as $models from "./models.js";
/**
* Get someone.
* @param {$models.Alias} aliasValue
* @returns {Promise<$models.Person> & { cancel(): void }}
* @returns {$CancellablePromise<$models.Person>}
*/
export function Get(aliasValue) {
let $resultPromise = /** @type {any} */($Call.ByID(1928502664, aliasValue));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(1928502664, aliasValue).then(/** @type {($result: any) => any} */(($result) => {
return $$createType0($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
/**
* Apparently, aliases are all the rage right now.
* @param {$models.AliasedPerson} p
* @returns {Promise<$models.StrangelyAliasedPerson> & { cancel(): void }}
* @returns {$CancellablePromise<$models.StrangelyAliasedPerson>}
*/
export function GetButAliased(p) {
let $resultPromise = /** @type {any} */($Call.ByID(1896499664, p));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(1896499664, p).then(/** @type {($result: any) => any} */(($result) => {
return $$createType0($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
/**
* Get someone quite different.
* @returns {Promise<$models.GenericPerson<boolean>> & { cancel(): void }}
* @returns {$CancellablePromise<$models.GenericPerson<boolean>>}
*/
export function GetButDifferent() {
let $resultPromise = /** @type {any} */($Call.ByID(2240931744));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(2240931744).then(/** @type {($result: any) => any} */(($result) => {
return $$createType1($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
/**
* @returns {Promise<nobindingshere$0.PrivatePerson> & { cancel(): void }}
* @returns {$CancellablePromise<nobindingshere$0.PrivatePerson>}
*/
export function GetButForeignPrivateAlias() {
let $resultPromise = /** @type {any} */($Call.ByID(643456960));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(643456960).then(/** @type {($result: any) => any} */(($result) => {
return $$createType2($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
/**
* @returns {$CancellablePromise<$models.AliasGroup>}
*/
export function GetButGenericAliases() {
return $Call.ByID(914093800).then(/** @type {($result: any) => any} */(($result) => {
return $$createType3($result);
}));
}
/**
* Greet a lot of unusual things.
* @param {$models.EmptyAliasStruct} $0
* @param {$models.EmptyStruct} $1
* @returns {Promise<$models.AliasStruct> & { cancel(): void }}
* @returns {$CancellablePromise<$models.AliasStruct>}
*/
export function Greet($0, $1) {
let $resultPromise = /** @type {any} */($Call.ByID(1411160069, $0, $1));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $$createType6($result);
return $Call.ByID(1411160069, $0, $1).then(/** @type {($result: any) => any} */(($result) => {
return $$createType7($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions
const $$createType0 = $models.Person.createFrom;
const $$createType1 = $models.GenericPerson.createFrom($Create.Any);
const $$createType2 = nobindingshere$0.personImpl.createFrom;
const $$createType3 = $Create.Array($Create.Any);
const $$createType3 = $models.AliasGroup.createFrom;
const $$createType4 = $Create.Array($Create.Any);
const $$createType5 = $Create.Struct({
"NoMoreIdeas": $$createType4,
});
const $$createType5 = $Create.Array($Create.Any);
const $$createType6 = $Create.Struct({
"Foo": $$createType3,
"Other": $$createType5,
"NoMoreIdeas": $$createType5,
});
const $$createType7 = $Create.Struct({
"Foo": $$createType4,
"Other": $$createType6,
});

View file

@ -8,11 +8,15 @@ export {
};
export {
AliasGroup,
AliasedPerson,
EmptyStruct,
GenericPerson,
GenericPersonAlias,
IndirectPersonAlias,
Person,
StrangelyAliasedPerson
StrangelyAliasedPerson,
TPIndirectPersonAlias
} from "./models.js";
import * as $models from "./models.js";
@ -33,6 +37,24 @@ import * as $models from "./models.js";
* @typedef {$models.EmptyAliasStruct} EmptyAliasStruct
*/
/**
* A generic alias that forwards to a type parameter.
* @template T
* @typedef {$models.GenericAlias<T>} GenericAlias
*/
/**
* A generic alias that wraps a map.
* @template T,U
* @typedef {$models.GenericMapAlias<T, U>} GenericMapAlias
*/
/**
* A generic alias that wraps a pointer type.
* @template T
* @typedef {$models.GenericPtrAlias<T>} GenericPtrAlias
*/
/**
* Another struct alias.
* @typedef {$models.OtherAliasStruct} OtherAliasStruct

View file

@ -4,13 +4,121 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
/**
* A nice type Alias.
* @typedef {number} Alias
*/
/**
* A class whose fields have various aliased types.
*/
export class AliasGroup {
/**
* Creates a new AliasGroup instance.
* @param {Partial<AliasGroup>} [$$source = {}] - The source object to create the AliasGroup.
*/
constructor($$source = {}) {
if (!("GAi" in $$source)) {
/**
* @member
* @type {GenericAlias<number>}
*/
this["GAi"] = 0;
}
if (!("GAP" in $$source)) {
/**
* @member
* @type {GenericAlias<GenericPerson<boolean>>}
*/
this["GAP"] = (new GenericPerson());
}
if (!("GPAs" in $$source)) {
/**
* @member
* @type {GenericPtrAlias<string[]>}
*/
this["GPAs"] = null;
}
if (!("GPAP" in $$source)) {
/**
* @member
* @type {GenericPtrAlias<GenericPerson<number[]>>}
*/
this["GPAP"] = null;
}
if (!("GMA" in $$source)) {
/**
* @member
* @type {GenericMapAlias<string, number>}
*/
this["GMA"] = {};
}
if (!("GPA" in $$source)) {
/**
* @member
* @type {GenericPersonAlias<boolean>}
*/
this["GPA"] = (new GenericPersonAlias());
}
if (!("IPA" in $$source)) {
/**
* @member
* @type {IndirectPersonAlias}
*/
this["IPA"] = (new IndirectPersonAlias());
}
if (!("TPIPA" in $$source)) {
/**
* @member
* @type {TPIndirectPersonAlias}
*/
this["TPIPA"] = (new TPIndirectPersonAlias());
}
Object.assign(this, $$source);
}
/**
* Creates a new AliasGroup instance from a string or object.
* @param {any} [$$source = {}]
* @returns {AliasGroup}
*/
static createFrom($$source = {}) {
const $$createField1_0 = $$createType0;
const $$createField2_0 = $$createType2;
const $$createField3_0 = $$createType5;
const $$createField4_0 = $$createType6;
const $$createField5_0 = $$createType8;
const $$createField6_0 = $$createType8;
const $$createField7_0 = $$createType0;
let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
if ("GAP" in $$parsedSource) {
$$parsedSource["GAP"] = $$createField1_0($$parsedSource["GAP"]);
}
if ("GPAs" in $$parsedSource) {
$$parsedSource["GPAs"] = $$createField2_0($$parsedSource["GPAs"]);
}
if ("GPAP" in $$parsedSource) {
$$parsedSource["GPAP"] = $$createField3_0($$parsedSource["GPAP"]);
}
if ("GMA" in $$parsedSource) {
$$parsedSource["GMA"] = $$createField4_0($$parsedSource["GMA"]);
}
if ("GPA" in $$parsedSource) {
$$parsedSource["GPA"] = $$createField5_0($$parsedSource["GPA"]);
}
if ("IPA" in $$parsedSource) {
$$parsedSource["IPA"] = $$createField6_0($$parsedSource["IPA"]);
}
if ("TPIPA" in $$parsedSource) {
$$parsedSource["TPIPA"] = $$createField7_0($$parsedSource["TPIPA"]);
}
return new AliasGroup(/** @type {Partial<AliasGroup>} */($$parsedSource));
}
}
/**
* A struct alias.
* This should be rendered as a typedef or interface in every mode.
@ -51,6 +159,18 @@ export class EmptyStruct {
}
}
/**
* A generic alias that forwards to a type parameter.
* @template T
* @typedef {T} GenericAlias
*/
/**
* A generic alias that wraps a map.
* @template T,U
* @typedef {{ [_: string]: U }} GenericMapAlias
*/
/**
* A generic struct containing an alias.
* @template T
@ -83,7 +203,7 @@ export class GenericPerson {
* Given creation functions for each type parameter,
* returns a creation function for a concrete instance
* of the generic class GenericPerson.
* @template T
* @template [T=any]
* @param {(source: any) => T} $$createParamT
* @returns {($$source?: any) => GenericPerson<T>}
*/
@ -99,6 +219,33 @@ export class GenericPerson {
}
}
/**
* A generic alias that wraps a generic struct.
*/
export const GenericPersonAlias = GenericPerson;
/**
* A generic alias that wraps a generic struct.
* @template T
* @typedef {GenericPerson<GenericPtrAlias<T>[]>} GenericPersonAlias
*/
/**
* A generic alias that wraps a pointer type.
* @template T
* @typedef {GenericAlias<T> | null} GenericPtrAlias
*/
/**
* An alias that wraps a class through a non-typeparam alias.
*/
export const IndirectPersonAlias = GenericPersonAlias;
/**
* An alias that wraps a class through a non-typeparam alias.
* @typedef {GenericPersonAlias<boolean>} IndirectPersonAlias
*/
/**
* Another struct alias.
* @typedef {Object} OtherAliasStruct
@ -164,3 +311,24 @@ export const StrangelyAliasedPerson = Person;
* Another class alias, but ordered after its aliased class.
* @typedef {Person} StrangelyAliasedPerson
*/
/**
* An alias that wraps a class through a typeparam alias.
*/
export const TPIndirectPersonAlias = GenericPerson;
/**
* An alias that wraps a class through a typeparam alias.
* @typedef {GenericAlias<GenericPerson<boolean>>} TPIndirectPersonAlias
*/
// Private type creation functions
const $$createType0 = GenericPerson.createFrom($Create.Any);
const $$createType1 = $Create.Array($Create.Any);
const $$createType2 = $Create.Nullable($$createType1);
const $$createType3 = $Create.Array($Create.Any);
const $$createType4 = GenericPerson.createFrom($$createType3);
const $$createType5 = $Create.Nullable($$createType4);
const $$createType6 = $Create.Map($Create.Any, $Create.Any);
const $$createType7 = $Create.Array($Create.Any);
const $$createType8 = GenericPerson.createFrom($$createType7);

View file

@ -4,12 +4,11 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
/**
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function TestMethod() {
let $resultPromise = /** @type {any} */($Call.ByID(2241101727));
return $resultPromise;
return $Call.ByID(2241101727);
}

View file

@ -4,12 +4,11 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
/**
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function TestMethod2() {
let $resultPromise = /** @type {any} */($Call.ByID(1556848345));
return $resultPromise;
return $Call.ByID(1556848345);
}

View file

@ -9,7 +9,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -19,9 +19,8 @@ import * as $models from "./models.js";
* Greet does XYZ
* @param {$models.Person} person
* @param {$models.Embedded1} emb
* @returns {Promise<string> & { cancel(): void }}
* @returns {$CancellablePromise<string>}
*/
export function Greet(person, emb) {
let $resultPromise = /** @type {any} */($Call.ByID(1411160069, person, emb));
return $resultPromise;
return $Call.ByID(1411160069, person, emb);
}

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
export class Embedded1 {
/**

View file

@ -9,7 +9,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -25,17 +25,14 @@ import * as $models from "./models.js";
* @param {{ [_: `${number}`]: boolean | null }} assoc
* @param {(number | null)[]} $4
* @param {string[]} other
* @returns {Promise<[$models.Person, any, number[]]> & { cancel(): void }}
* @returns {$CancellablePromise<[$models.Person, any, number[]]>}
*/
export function Greet(str, people, $2, assoc, $4, ...other) {
let $resultPromise = /** @type {any} */($Call.ByID(1411160069, str, people, $2, assoc, $4, other));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(1411160069, str, people, $2, assoc, $4, other).then(/** @type {($result: any) => any} */(($result) => {
$result[0] = $$createType0($result[0]);
$result[2] = $$createType1($result[2]);
return $result;
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
/**
* Person represents a person

View file

@ -9,7 +9,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -17,17 +17,14 @@ import * as $models from "./models.js";
/**
* Make a cycle.
* @returns {Promise<[$models.StructA, $models.StructC]> & { cancel(): void }}
* @returns {$CancellablePromise<[$models.StructA, $models.StructC]>}
*/
export function MakeCycles() {
let $resultPromise = /** @type {any} */($Call.ByID(440020721));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(440020721).then(/** @type {($result: any) => any} */(($result) => {
$result[0] = $$createType0($result[0]);
$result[1] = $$createType1($result[1]);
return $result;
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
export class StructA {
/**

View file

@ -9,7 +9,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -17,17 +17,14 @@ import * as $models from "./models.js";
/**
* Make a cycle.
* @returns {Promise<[$models.Cyclic, $models.GenericCyclic<$models.GenericCyclic<number>>]> & { cancel(): void }}
* @returns {$CancellablePromise<[$models.Cyclic, $models.GenericCyclic<$models.GenericCyclic<number>>]>}
*/
export function MakeCycles() {
let $resultPromise = /** @type {any} */($Call.ByID(440020721));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(440020721).then(/** @type {($result: any) => any} */(($result) => {
$result[0] = $$createType0($result[0]);
$result[1] = $$createType9($result[1]);
return $result;
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
/**
* @typedef {Cyclic | null} Alias

View file

@ -9,7 +9,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -17,9 +17,8 @@ import * as $models from "./models.js";
/**
* @param {$models.InternalModel} $0
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function Method($0) {
let $resultPromise = /** @type {any} */($Call.ByID(538079117, $0));
return $resultPromise;
return $Call.ByID(538079117, $0);
}

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
/**
* An exported but internal model.

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
export class Dummy {
/**

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -12,20 +12,18 @@ import * as otherpackage$0 from "./otherpackage/models.js";
/**
* @param {string} $0
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
function InternalMethod($0) {
let $resultPromise = /** @type {any} */($Call.ByID(3518775569, $0));
return $resultPromise;
return $Call.ByID(3518775569, $0);
}
/**
* @param {otherpackage$0.Dummy} $0
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function VisibleMethod($0) {
let $resultPromise = /** @type {any} */($Call.ByID(474018228, $0));
return $resultPromise;
return $Call.ByID(474018228, $0);
}
/**

View file

@ -9,7 +9,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -17,9 +17,8 @@ import * as $models from "./models.js";
/**
* @param {$models.unexportedModel} $0
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function Method($0) {
let $resultPromise = /** @type {any} */($Call.ByID(37626172, $0));
return $resultPromise;
return $Call.ByID(37626172, $0);
}

View file

@ -9,50 +9,45 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
/**
* Comment 1.
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function Method1() {
let $resultPromise = /** @type {any} */($Call.ByID(841558284));
return $resultPromise;
return $Call.ByID(841558284);
}
/**
* Comment 2.
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function Method2() {
let $resultPromise = /** @type {any} */($Call.ByID(891891141));
return $resultPromise;
return $Call.ByID(891891141);
}
/**
* Comment 3a.
* Comment 3b.
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function Method3() {
let $resultPromise = /** @type {any} */($Call.ByID(875113522));
return $resultPromise;
return $Call.ByID(875113522);
}
/**
* Comment 4.
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function Method4() {
let $resultPromise = /** @type {any} */($Call.ByID(791225427));
return $resultPromise;
return $Call.ByID(791225427);
}
/**
* Comment 5.
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function Method5() {
let $resultPromise = /** @type {any} */($Call.ByID(774447808));
return $resultPromise;
return $Call.ByID(774447808);
}

View file

@ -9,7 +9,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -19,25 +19,21 @@ import * as $models from "./models.js";
* Greet does XYZ
* @param {string} name
* @param {$models.Title} title
* @returns {Promise<string> & { cancel(): void }}
* @returns {$CancellablePromise<string>}
*/
export function Greet(name, title) {
let $resultPromise = /** @type {any} */($Call.ByID(1411160069, name, title));
return $resultPromise;
return $Call.ByID(1411160069, name, title);
}
/**
* NewPerson creates a new person
* @param {string} name
* @returns {Promise<$models.Person | null> & { cancel(): void }}
* @returns {$CancellablePromise<$models.Person | null>}
*/
export function NewPerson(name) {
let $resultPromise = /** @type {any} */($Call.ByID(1661412647, name));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(1661412647, name).then(/** @type {($result: any) => any} */(($result) => {
return $$createType1($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
/**
* Age is an integer with some predefined values

View file

@ -9,7 +9,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -19,9 +19,8 @@ import * as services$0 from "./services/models.js";
* Greet does XYZ
* @param {string} name
* @param {services$0.Title} title
* @returns {Promise<string> & { cancel(): void }}
* @returns {$CancellablePromise<string>}
*/
export function Greet(name, title) {
let $resultPromise = /** @type {any} */($Call.ByID(1411160069, name, title));
return $resultPromise;
return $Call.ByID(1411160069, name, title);
}

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
/**
* @readonly

View file

@ -9,7 +9,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -18,25 +18,21 @@ import * as $models from "./models.js";
/**
* Greet does XYZ
* @param {string} name
* @returns {Promise<string> & { cancel(): void }}
* @returns {$CancellablePromise<string>}
*/
export function Greet(name) {
let $resultPromise = /** @type {any} */($Call.ByID(1411160069, name));
return $resultPromise;
return $Call.ByID(1411160069, name);
}
/**
* NewPerson creates a new person
* @param {string} name
* @returns {Promise<$models.Person | null> & { cancel(): void }}
* @returns {$CancellablePromise<$models.Person | null>}
*/
export function NewPerson(name) {
let $resultPromise = /** @type {any} */($Call.ByID(1661412647, name));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(1661412647, name).then(/** @type {($result: any) => any} */(($result) => {
return $$createType1($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
export class Address {
/**

View file

@ -10,7 +10,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -18,15 +18,12 @@ import * as $models from "./models.js";
/**
* Yay does this and that
* @returns {Promise<$models.Address | null> & { cancel(): void }}
* @returns {$CancellablePromise<$models.Address | null>}
*/
export function Yay() {
let $resultPromise = /** @type {any} */($Call.ByID(2007737399));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(2007737399).then(/** @type {($result: any) => any} */(($result) => {
return $$createType1($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions

View file

@ -9,7 +9,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -18,25 +18,21 @@ import * as $models from "./models.js";
/**
* Greet does XYZ
* @param {string} name
* @returns {Promise<string> & { cancel(): void }}
* @returns {$CancellablePromise<string>}
*/
export function Greet(name) {
let $resultPromise = /** @type {any} */($Call.ByID(1411160069, name));
return $resultPromise;
return $Call.ByID(1411160069, name);
}
/**
* NewPerson creates a new person
* @param {string} name
* @returns {Promise<$models.Person | null> & { cancel(): void }}
* @returns {$CancellablePromise<$models.Person | null>}
*/
export function NewPerson(name) {
let $resultPromise = /** @type {any} */($Call.ByID(1661412647, name));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(1661412647, name).then(/** @type {($result: any) => any} */(($result) => {
return $$createType1($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
export class Address {
/**

View file

@ -10,7 +10,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -18,15 +18,12 @@ import * as $models from "./models.js";
/**
* Yay does this and that
* @returns {Promise<$models.Address | null> & { cancel(): void }}
* @returns {$CancellablePromise<$models.Address | null>}
*/
export function Yay() {
let $resultPromise = /** @type {any} */($Call.ByID(2447353446));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(2447353446).then(/** @type {($result: any) => any} */(($result) => {
return $$createType1($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions

View file

@ -4,13 +4,12 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
/**
* @param {string} name
* @returns {Promise<string> & { cancel(): void }}
* @returns {$CancellablePromise<string>}
*/
export function Greet(name) {
let $resultPromise = /** @type {any} */($Call.ByID(1411160069, name));
return $resultPromise;
return $Call.ByID(1411160069, name);
}

View file

@ -9,14 +9,13 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
/**
* Greet someone
* @param {string} name
* @returns {Promise<string> & { cancel(): void }}
* @returns {$CancellablePromise<string>}
*/
export function Greet(name) {
let $resultPromise = /** @type {any} */($Call.ByID(1411160069, name));
return $resultPromise;
return $Call.ByID(1411160069, name);
}

View file

@ -9,24 +9,22 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
/**
* Greet someone
* @param {string} name
* @returns {Promise<string> & { cancel(): void }}
* @returns {$CancellablePromise<string>}
*/
export function Greet(name) {
let $resultPromise = /** @type {any} */($Call.ByID(1411160069, name));
return $resultPromise;
return $Call.ByID(1411160069, name);
}
/**
* Greet someone
* @param {string} name
* @returns {Promise<string> & { cancel(): void }}
* @returns {$CancellablePromise<string>}
*/
export function GreetWithContext(name) {
let $resultPromise = /** @type {any} */($Call.ByID(1310150960, name));
return $resultPromise;
return $Call.ByID(1310150960, name);
}

View file

@ -9,14 +9,13 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
/**
* Greet someone
* @param {string} name
* @returns {Promise<string> & { cancel(): void }}
* @returns {$CancellablePromise<string>}
*/
export function Greet(name) {
let $resultPromise = /** @type {any} */($Call.ByID(1411160069, name));
return $resultPromise;
return $Call.ByID(1411160069, name);
}

View file

@ -13,6 +13,16 @@ export {
import * as $models from "./models.js";
/**
* @template S
* @typedef {$models.BasicCstrAlias<S>} BasicCstrAlias
*/
/**
* @template R
* @typedef {$models.ComparableCstrAlias<R>} ComparableCstrAlias
*/
/**
* @typedef {$models.EmbeddedCustomInterface} EmbeddedCustomInterface
*/
@ -37,6 +47,31 @@ import * as $models from "./models.js";
* @typedef {$models.EmbeddedValuePtr} EmbeddedValuePtr
*/
/**
* @template U
* @typedef {$models.GoodTildeCstrAlias<U>} GoodTildeCstrAlias
*/
/**
* @template Y
* @typedef {$models.InterfaceCstrAlias<Y>} InterfaceCstrAlias
*/
/**
* @template X
* @typedef {$models.MixedCstrAlias<X>} MixedCstrAlias
*/
/**
* @template V
* @typedef {$models.NonBasicCstrAlias<V>} NonBasicCstrAlias
*/
/**
* @template W
* @typedef {$models.PointableCstrAlias<W>} PointableCstrAlias
*/
/**
* @typedef {$models.PointerAlias} PointerAlias
*/

View file

@ -4,7 +4,17 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
/**
* @template S
* @typedef {S} BasicCstrAlias
*/
/**
* @template R
* @typedef {R} ComparableCstrAlias
*/
/**
* @typedef {string} EmbeddedCustomInterface
@ -30,6 +40,16 @@ import {Create as $Create} from "/wails/runtime.js";
* @typedef {string} EmbeddedValuePtr
*/
/**
* @template U
* @typedef {U} GoodTildeCstrAlias
*/
/**
* @template Y
* @typedef {Y} InterfaceCstrAlias
*/
/**
* @template R,S,T,U,V,W,X,Y,Z
*/
@ -751,6 +771,454 @@ export class Maps {
*/
this["TPZPtr"] = {};
}
if (!("GAR" in $$source)) {
/**
* Soft reject
* @member
* @type {{ [_: string]: number }}
*/
this["GAR"] = {};
}
if (!("GARPtr" in $$source)) {
/**
* Soft reject
* @member
* @type {{ [_: string]: number }}
*/
this["GARPtr"] = {};
}
if (!("GAS" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: string]: number }}
*/
this["GAS"] = {};
}
if (!("GASPtr" in $$source)) {
/**
* Soft reject
* @member
* @type {{ [_: string]: number }}
*/
this["GASPtr"] = {};
}
if (!("GAT" in $$source)) {
/**
* Soft reject
* @member
* @type {{ [_: string]: number }}
*/
this["GAT"] = {};
}
if (!("GATPtr" in $$source)) {
/**
* Soft reject
* @member
* @type {{ [_: string]: number }}
*/
this["GATPtr"] = {};
}
if (!("GAU" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: string]: number }}
*/
this["GAU"] = {};
}
if (!("GAUPtr" in $$source)) {
/**
* Soft reject
* @member
* @type {{ [_: string]: number }}
*/
this["GAUPtr"] = {};
}
if (!("GAV" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: string]: number }}
*/
this["GAV"] = {};
}
if (!("GAVPtr" in $$source)) {
/**
* Soft reject
* @member
* @type {{ [_: string]: number }}
*/
this["GAVPtr"] = {};
}
if (!("GAW" in $$source)) {
/**
* Soft reject
* @member
* @type {{ [_: string]: number }}
*/
this["GAW"] = {};
}
if (!("GAWPtr" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: string]: number }}
*/
this["GAWPtr"] = {};
}
if (!("GAX" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: string]: number }}
*/
this["GAX"] = {};
}
if (!("GAXPtr" in $$source)) {
/**
* Soft reject
* @member
* @type {{ [_: string]: number }}
*/
this["GAXPtr"] = {};
}
if (!("GAY" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: string]: number }}
*/
this["GAY"] = {};
}
if (!("GAYPtr" in $$source)) {
/**
* Soft reject
* @member
* @type {{ [_: string]: number }}
*/
this["GAYPtr"] = {};
}
if (!("GAZ" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: string]: number }}
*/
this["GAZ"] = {};
}
if (!("GAZPtr" in $$source)) {
/**
* Soft reject
* @member
* @type {{ [_: string]: number }}
*/
this["GAZPtr"] = {};
}
if (!("GACi" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: `${number}`]: number }}
*/
this["GACi"] = {};
}
if (!("GACV" in $$source)) {
/**
* Accept
* @member
* @type {{ [_: ComparableCstrAlias<ValueTextMarshaler>]: number }}
*/
this["GACV"] = {};
}
if (!("GACP" in $$source)) {
/**
* Reject
* @member
* @type {{ [_: string]: number }}
*/
this["GACP"] = {};
}
if (!("GACiPtr" in $$source)) {
/**
* Reject
* @member
* @type {{ [_: string]: number }}
*/
this["GACiPtr"] = {};
}
if (!("GACVPtr" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: string]: number }}
*/
this["GACVPtr"] = {};
}
if (!("GACPPtr" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: string]: number }}
*/
this["GACPPtr"] = {};
}
if (!("GABi" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: `${number}`]: number }}
*/
this["GABi"] = {};
}
if (!("GABs" in $$source)) {
/**
* Accept
* @member
* @type {{ [_: BasicCstrAlias<string>]: number }}
*/
this["GABs"] = {};
}
if (!("GABiPtr" in $$source)) {
/**
* Reject
* @member
* @type {{ [_: string]: number }}
*/
this["GABiPtr"] = {};
}
if (!("GABT" in $$source)) {
/**
* Reject
* @member
* @type {{ [_: string]: number }}
*/
this["GABT"] = {};
}
if (!("GABTPtr" in $$source)) {
/**
* Reject
* @member
* @type {{ [_: string]: number }}
*/
this["GABTPtr"] = {};
}
if (!("GAGT" in $$source)) {
/**
* Accept
* @member
* @type {{ [_: GoodTildeCstrAlias<ValueTextMarshaler>]: number }}
*/
this["GAGT"] = {};
}
if (!("GAGTPtr" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: string]: number }}
*/
this["GAGTPtr"] = {};
}
if (!("GANBV" in $$source)) {
/**
* Accept
* @member
* @type {{ [_: NonBasicCstrAlias<ValueTextMarshaler>]: number }}
*/
this["GANBV"] = {};
}
if (!("GANBP" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: string]: number }}
*/
this["GANBP"] = {};
}
if (!("GANBVPtr" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: string]: number }}
*/
this["GANBVPtr"] = {};
}
if (!("GANBPPtr" in $$source)) {
/**
* Reject
* @member
* @type {{ [_: string]: number }}
*/
this["GANBPPtr"] = {};
}
if (!("GAPlV1" in $$source)) {
/**
* Accept
* @member
* @type {{ [_: PointableCstrAlias<ValueTextMarshaler>]: number }}
*/
this["GAPlV1"] = {};
}
if (!("GAPlV2" in $$source)) {
/**
* Accept
* @member
* @type {{ [_: PointableCstrAlias<ValueTextMarshaler>]: number }}
*/
this["GAPlV2"] = {};
}
if (!("GAPlP1" in $$source)) {
/**
* Reject
* @member
* @type {{ [_: string]: number }}
*/
this["GAPlP1"] = {};
}
if (!("GAPlP2" in $$source)) {
/**
* Accept
* @member
* @type {{ [_: PointableCstrAlias<PointerTextMarshaler>]: number }}
*/
this["GAPlP2"] = {};
}
if (!("GAPlVPtr" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: string]: number }}
*/
this["GAPlVPtr"] = {};
}
if (!("GAPlPPtr" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: string]: number }}
*/
this["GAPlPPtr"] = {};
}
if (!("GAMi" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: `${number}`]: number }}
*/
this["GAMi"] = {};
}
if (!("GAMS" in $$source)) {
/**
* Accept
* @member
* @type {{ [_: MixedCstrAlias<StringType>]: number }}
*/
this["GAMS"] = {};
}
if (!("GAMV" in $$source)) {
/**
* Accept
* @member
* @type {{ [_: MixedCstrAlias<ValueTextMarshaler>]: number }}
*/
this["GAMV"] = {};
}
if (!("GAMSPtr" in $$source)) {
/**
* Reject
* @member
* @type {{ [_: string]: number }}
*/
this["GAMSPtr"] = {};
}
if (!("GAMVPtr" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: string]: number }}
*/
this["GAMVPtr"] = {};
}
if (!("GAII" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: string]: number }}
*/
this["GAII"] = {};
}
if (!("GAIV" in $$source)) {
/**
* Accept
* @member
* @type {{ [_: InterfaceCstrAlias<ValueTextMarshaler>]: number }}
*/
this["GAIV"] = {};
}
if (!("GAIP" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: string]: number }}
*/
this["GAIP"] = {};
}
if (!("GAIIPtr" in $$source)) {
/**
* Reject
* @member
* @type {{ [_: string]: number }}
*/
this["GAIIPtr"] = {};
}
if (!("GAIVPtr" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: string]: number }}
*/
this["GAIVPtr"] = {};
}
if (!("GAIPPtr" in $$source)) {
/**
* Reject
* @member
* @type {{ [_: string]: number }}
*/
this["GAIPPtr"] = {};
}
if (!("GAPrV" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: string]: number }}
*/
this["GAPrV"] = {};
}
if (!("GAPrP" in $$source)) {
/**
* Accept, hide
* @member
* @type {{ [_: string]: number }}
*/
this["GAPrP"] = {};
}
if (!("GAPrVPtr" in $$source)) {
/**
* Reject
* @member
* @type {{ [_: string]: number }}
*/
this["GAPrVPtr"] = {};
}
if (!("GAPrPPtr" in $$source)) {
/**
* Reject
* @member
* @type {{ [_: string]: number }}
*/
this["GAPrPPtr"] = {};
}
Object.assign(this, $$source);
}
@ -759,7 +1227,15 @@ export class Maps {
* Given creation functions for each type parameter,
* returns a creation function for a concrete instance
* of the generic class Maps.
* @template R,S,T,U,V,W,X,Y,Z
* @template [R=any]
* @template [S=any]
* @template [T=any]
* @template [U=any]
* @template [V=any]
* @template [W=any]
* @template [X=any]
* @template [Y=any]
* @template [Z=any]
* @param {(source: any) => R} $$createParamR
* @param {(source: any) => S} $$createParamS
* @param {(source: any) => T} $$createParamT
@ -861,6 +1337,62 @@ export class Maps {
const $$createField86_0 = $$createType74($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ);
const $$createField87_0 = $$createType75($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ);
const $$createField88_0 = $$createType76($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ);
const $$createField89_0 = $$createType59($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ);
const $$createField90_0 = $$createType60($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ);
const $$createField91_0 = $$createType61($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ);
const $$createField92_0 = $$createType62($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ);
const $$createField93_0 = $$createType63($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ);
const $$createField94_0 = $$createType64($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ);
const $$createField95_0 = $$createType65($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ);
const $$createField96_0 = $$createType66($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ);
const $$createField97_0 = $$createType67($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ);
const $$createField98_0 = $$createType68($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ);
const $$createField99_0 = $$createType69($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ);
const $$createField100_0 = $$createType70($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ);
const $$createField101_0 = $$createType71($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ);
const $$createField102_0 = $$createType72($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ);
const $$createField103_0 = $$createType73($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ);
const $$createField104_0 = $$createType74($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ);
const $$createField105_0 = $$createType75($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ);
const $$createField106_0 = $$createType76($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ);
const $$createField107_0 = $$createType1;
const $$createField108_0 = $$createType15;
const $$createField109_0 = $$createType17;
const $$createField110_0 = $$createType8;
const $$createField111_0 = $$createType16;
const $$createField112_0 = $$createType18;
const $$createField113_0 = $$createType1;
const $$createField114_0 = $$createType7;
const $$createField115_0 = $$createType8;
const $$createField116_0 = $$createType77;
const $$createField117_0 = $$createType78;
const $$createField118_0 = $$createType15;
const $$createField119_0 = $$createType16;
const $$createField120_0 = $$createType15;
const $$createField121_0 = $$createType18;
const $$createField122_0 = $$createType16;
const $$createField123_0 = $$createType53;
const $$createField124_0 = $$createType15;
const $$createField125_0 = $$createType16;
const $$createField126_0 = $$createType17;
const $$createField127_0 = $$createType18;
const $$createField128_0 = $$createType16;
const $$createField129_0 = $$createType18;
const $$createField130_0 = $$createType2;
const $$createField131_0 = $$createType42;
const $$createField132_0 = $$createType15;
const $$createField133_0 = $$createType79;
const $$createField134_0 = $$createType16;
const $$createField135_0 = $$createType23;
const $$createField136_0 = $$createType15;
const $$createField137_0 = $$createType18;
const $$createField138_0 = $$createType24;
const $$createField139_0 = $$createType16;
const $$createField140_0 = $$createType53;
const $$createField141_0 = $$createType16;
const $$createField142_0 = $$createType18;
const $$createField143_0 = $$createType48;
const $$createField144_0 = $$createType53;
return ($$source = {}) => {
let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
if ("Bool" in $$parsedSource) {
@ -1130,11 +1662,194 @@ export class Maps {
if ("TPZPtr" in $$parsedSource) {
$$parsedSource["TPZPtr"] = $$createField88_0($$parsedSource["TPZPtr"]);
}
if ("GAR" in $$parsedSource) {
$$parsedSource["GAR"] = $$createField89_0($$parsedSource["GAR"]);
}
if ("GARPtr" in $$parsedSource) {
$$parsedSource["GARPtr"] = $$createField90_0($$parsedSource["GARPtr"]);
}
if ("GAS" in $$parsedSource) {
$$parsedSource["GAS"] = $$createField91_0($$parsedSource["GAS"]);
}
if ("GASPtr" in $$parsedSource) {
$$parsedSource["GASPtr"] = $$createField92_0($$parsedSource["GASPtr"]);
}
if ("GAT" in $$parsedSource) {
$$parsedSource["GAT"] = $$createField93_0($$parsedSource["GAT"]);
}
if ("GATPtr" in $$parsedSource) {
$$parsedSource["GATPtr"] = $$createField94_0($$parsedSource["GATPtr"]);
}
if ("GAU" in $$parsedSource) {
$$parsedSource["GAU"] = $$createField95_0($$parsedSource["GAU"]);
}
if ("GAUPtr" in $$parsedSource) {
$$parsedSource["GAUPtr"] = $$createField96_0($$parsedSource["GAUPtr"]);
}
if ("GAV" in $$parsedSource) {
$$parsedSource["GAV"] = $$createField97_0($$parsedSource["GAV"]);
}
if ("GAVPtr" in $$parsedSource) {
$$parsedSource["GAVPtr"] = $$createField98_0($$parsedSource["GAVPtr"]);
}
if ("GAW" in $$parsedSource) {
$$parsedSource["GAW"] = $$createField99_0($$parsedSource["GAW"]);
}
if ("GAWPtr" in $$parsedSource) {
$$parsedSource["GAWPtr"] = $$createField100_0($$parsedSource["GAWPtr"]);
}
if ("GAX" in $$parsedSource) {
$$parsedSource["GAX"] = $$createField101_0($$parsedSource["GAX"]);
}
if ("GAXPtr" in $$parsedSource) {
$$parsedSource["GAXPtr"] = $$createField102_0($$parsedSource["GAXPtr"]);
}
if ("GAY" in $$parsedSource) {
$$parsedSource["GAY"] = $$createField103_0($$parsedSource["GAY"]);
}
if ("GAYPtr" in $$parsedSource) {
$$parsedSource["GAYPtr"] = $$createField104_0($$parsedSource["GAYPtr"]);
}
if ("GAZ" in $$parsedSource) {
$$parsedSource["GAZ"] = $$createField105_0($$parsedSource["GAZ"]);
}
if ("GAZPtr" in $$parsedSource) {
$$parsedSource["GAZPtr"] = $$createField106_0($$parsedSource["GAZPtr"]);
}
if ("GACi" in $$parsedSource) {
$$parsedSource["GACi"] = $$createField107_0($$parsedSource["GACi"]);
}
if ("GACV" in $$parsedSource) {
$$parsedSource["GACV"] = $$createField108_0($$parsedSource["GACV"]);
}
if ("GACP" in $$parsedSource) {
$$parsedSource["GACP"] = $$createField109_0($$parsedSource["GACP"]);
}
if ("GACiPtr" in $$parsedSource) {
$$parsedSource["GACiPtr"] = $$createField110_0($$parsedSource["GACiPtr"]);
}
if ("GACVPtr" in $$parsedSource) {
$$parsedSource["GACVPtr"] = $$createField111_0($$parsedSource["GACVPtr"]);
}
if ("GACPPtr" in $$parsedSource) {
$$parsedSource["GACPPtr"] = $$createField112_0($$parsedSource["GACPPtr"]);
}
if ("GABi" in $$parsedSource) {
$$parsedSource["GABi"] = $$createField113_0($$parsedSource["GABi"]);
}
if ("GABs" in $$parsedSource) {
$$parsedSource["GABs"] = $$createField114_0($$parsedSource["GABs"]);
}
if ("GABiPtr" in $$parsedSource) {
$$parsedSource["GABiPtr"] = $$createField115_0($$parsedSource["GABiPtr"]);
}
if ("GABT" in $$parsedSource) {
$$parsedSource["GABT"] = $$createField116_0($$parsedSource["GABT"]);
}
if ("GABTPtr" in $$parsedSource) {
$$parsedSource["GABTPtr"] = $$createField117_0($$parsedSource["GABTPtr"]);
}
if ("GAGT" in $$parsedSource) {
$$parsedSource["GAGT"] = $$createField118_0($$parsedSource["GAGT"]);
}
if ("GAGTPtr" in $$parsedSource) {
$$parsedSource["GAGTPtr"] = $$createField119_0($$parsedSource["GAGTPtr"]);
}
if ("GANBV" in $$parsedSource) {
$$parsedSource["GANBV"] = $$createField120_0($$parsedSource["GANBV"]);
}
if ("GANBP" in $$parsedSource) {
$$parsedSource["GANBP"] = $$createField121_0($$parsedSource["GANBP"]);
}
if ("GANBVPtr" in $$parsedSource) {
$$parsedSource["GANBVPtr"] = $$createField122_0($$parsedSource["GANBVPtr"]);
}
if ("GANBPPtr" in $$parsedSource) {
$$parsedSource["GANBPPtr"] = $$createField123_0($$parsedSource["GANBPPtr"]);
}
if ("GAPlV1" in $$parsedSource) {
$$parsedSource["GAPlV1"] = $$createField124_0($$parsedSource["GAPlV1"]);
}
if ("GAPlV2" in $$parsedSource) {
$$parsedSource["GAPlV2"] = $$createField125_0($$parsedSource["GAPlV2"]);
}
if ("GAPlP1" in $$parsedSource) {
$$parsedSource["GAPlP1"] = $$createField126_0($$parsedSource["GAPlP1"]);
}
if ("GAPlP2" in $$parsedSource) {
$$parsedSource["GAPlP2"] = $$createField127_0($$parsedSource["GAPlP2"]);
}
if ("GAPlVPtr" in $$parsedSource) {
$$parsedSource["GAPlVPtr"] = $$createField128_0($$parsedSource["GAPlVPtr"]);
}
if ("GAPlPPtr" in $$parsedSource) {
$$parsedSource["GAPlPPtr"] = $$createField129_0($$parsedSource["GAPlPPtr"]);
}
if ("GAMi" in $$parsedSource) {
$$parsedSource["GAMi"] = $$createField130_0($$parsedSource["GAMi"]);
}
if ("GAMS" in $$parsedSource) {
$$parsedSource["GAMS"] = $$createField131_0($$parsedSource["GAMS"]);
}
if ("GAMV" in $$parsedSource) {
$$parsedSource["GAMV"] = $$createField132_0($$parsedSource["GAMV"]);
}
if ("GAMSPtr" in $$parsedSource) {
$$parsedSource["GAMSPtr"] = $$createField133_0($$parsedSource["GAMSPtr"]);
}
if ("GAMVPtr" in $$parsedSource) {
$$parsedSource["GAMVPtr"] = $$createField134_0($$parsedSource["GAMVPtr"]);
}
if ("GAII" in $$parsedSource) {
$$parsedSource["GAII"] = $$createField135_0($$parsedSource["GAII"]);
}
if ("GAIV" in $$parsedSource) {
$$parsedSource["GAIV"] = $$createField136_0($$parsedSource["GAIV"]);
}
if ("GAIP" in $$parsedSource) {
$$parsedSource["GAIP"] = $$createField137_0($$parsedSource["GAIP"]);
}
if ("GAIIPtr" in $$parsedSource) {
$$parsedSource["GAIIPtr"] = $$createField138_0($$parsedSource["GAIIPtr"]);
}
if ("GAIVPtr" in $$parsedSource) {
$$parsedSource["GAIVPtr"] = $$createField139_0($$parsedSource["GAIVPtr"]);
}
if ("GAIPPtr" in $$parsedSource) {
$$parsedSource["GAIPPtr"] = $$createField140_0($$parsedSource["GAIPPtr"]);
}
if ("GAPrV" in $$parsedSource) {
$$parsedSource["GAPrV"] = $$createField141_0($$parsedSource["GAPrV"]);
}
if ("GAPrP" in $$parsedSource) {
$$parsedSource["GAPrP"] = $$createField142_0($$parsedSource["GAPrP"]);
}
if ("GAPrVPtr" in $$parsedSource) {
$$parsedSource["GAPrVPtr"] = $$createField143_0($$parsedSource["GAPrVPtr"]);
}
if ("GAPrPPtr" in $$parsedSource) {
$$parsedSource["GAPrPPtr"] = $$createField144_0($$parsedSource["GAPrPPtr"]);
}
return new Maps(/** @type {Partial<Maps<R, S, T, U, V, W, X, Y, Z>>} */($$parsedSource));
};
}
}
/**
* @template X
* @typedef {X} MixedCstrAlias
*/
/**
* @template V
* @typedef {V} NonBasicCstrAlias
*/
/**
* @template W
* @typedef {W} PointableCstrAlias
*/
/**
* @typedef {PointerTextMarshaler} PointerAlias
*/
@ -1219,21 +1934,24 @@ const $$createType55 = $Create.Map($Create.Any, $Create.Any);
const $$createType56 = $Create.Map($Create.Any, $Create.Any);
const $$createType57 = $Create.Map($Create.Any, $Create.Any);
const $$createType58 = $Create.Map($Create.Any, $Create.Any);
const $$createType59 = ($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any);
const $$createType60 = ($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any);
const $$createType61 = ($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any);
const $$createType62 = ($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any);
const $$createType63 = ($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any);
const $$createType64 = ($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any);
const $$createType65 = ($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any);
const $$createType66 = ($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any);
const $$createType67 = ($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any);
const $$createType68 = ($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any);
const $$createType69 = ($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any);
const $$createType70 = ($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any);
const $$createType71 = ($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any);
const $$createType72 = ($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any);
const $$createType73 = ($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any);
const $$createType74 = ($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any);
const $$createType75 = ($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any);
const $$createType76 = ($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any);
const $$createType59 = /** @type {(...args: any[]) => any} */(($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any));
const $$createType60 = /** @type {(...args: any[]) => any} */(($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any));
const $$createType61 = /** @type {(...args: any[]) => any} */(($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any));
const $$createType62 = /** @type {(...args: any[]) => any} */(($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any));
const $$createType63 = /** @type {(...args: any[]) => any} */(($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any));
const $$createType64 = /** @type {(...args: any[]) => any} */(($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any));
const $$createType65 = /** @type {(...args: any[]) => any} */(($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any));
const $$createType66 = /** @type {(...args: any[]) => any} */(($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any));
const $$createType67 = /** @type {(...args: any[]) => any} */(($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any));
const $$createType68 = /** @type {(...args: any[]) => any} */(($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any));
const $$createType69 = /** @type {(...args: any[]) => any} */(($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any));
const $$createType70 = /** @type {(...args: any[]) => any} */(($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any));
const $$createType71 = /** @type {(...args: any[]) => any} */(($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any));
const $$createType72 = /** @type {(...args: any[]) => any} */(($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any));
const $$createType73 = /** @type {(...args: any[]) => any} */(($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any));
const $$createType74 = /** @type {(...args: any[]) => any} */(($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any));
const $$createType75 = /** @type {(...args: any[]) => any} */(($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any));
const $$createType76 = /** @type {(...args: any[]) => any} */(($$createParamR, $$createParamS, $$createParamT, $$createParamU, $$createParamV, $$createParamW, $$createParamX, $$createParamY, $$createParamZ) => $Create.Map($Create.Any, $Create.Any));
const $$createType77 = $Create.Map($Create.Any, $Create.Any);
const $$createType78 = $Create.Map($Create.Any, $Create.Any);
const $$createType79 = $Create.Map($Create.Any, $Create.Any);

View file

@ -4,22 +4,19 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as $models from "./models.js";
/**
* @returns {Promise<$models.Maps<$models.PointerTextMarshaler, number, number, $models.ValueTextMarshaler, $models.PointerTextMarshaler | null, $models.ValueTextMarshaler, $models.StringType, $models.ValueTextMarshaler, $models.PointerTextMarshaler | null>> & { cancel(): void }}
* @returns {$CancellablePromise<$models.Maps<$models.PointerTextMarshaler, number, number, $models.ValueTextMarshaler, $models.PointerTextMarshaler | null, $models.ValueTextMarshaler, $models.StringType, $models.ValueTextMarshaler, $models.PointerTextMarshaler | null>>}
*/
export function Method() {
let $resultPromise = /** @type {any} */($Call.ByID(4021345184));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(4021345184).then(/** @type {($result: any) => any} */(($result) => {
return $$createType0($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports

View file

@ -4,22 +4,19 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as $models from "./models.js";
/**
* @returns {Promise<$models.Data> & { cancel(): void }}
* @returns {$CancellablePromise<$models.Data>}
*/
export function Method() {
let $resultPromise = /** @type {any} */($Call.ByID(4021345184));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(4021345184).then(/** @type {($result: any) => any} */(($result) => {
return $$createType0($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -45,7 +45,7 @@ export class HowDifferent {
* Given creation functions for each type parameter,
* returns a creation function for a concrete instance
* of the generic class HowDifferent.
* @template How
* @template [How=any]
* @param {(source: any) => How} $$createParamHow
* @returns {($$source?: any) => HowDifferent<How>}
*/
@ -175,7 +175,7 @@ export const PrivatePerson = personImpl;
*/
// Private type creation functions
const $$createType0 = ($$createParamHow) => $Create.Map($Create.Any, $$createParamHow);
const $$createType1 = ($$createParamHow) => $Create.Array($$createType0($$createParamHow));
const $$createType0 = /** @type {(...args: any[]) => any} */(($$createParamHow) => $Create.Map($Create.Any, $$createParamHow));
const $$createType1 = /** @type {(...args: any[]) => any} */(($$createParamHow) => $Create.Array($$createType0($$createParamHow)));
const $$createType2 = other$0.OtherPerson.createFrom($Create.Any);
const $$createType3 = $Create.Array($$createType2);

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
/**
* OtherPerson is like a person, but different.
@ -40,7 +40,7 @@ export class OtherPerson {
* Given creation functions for each type parameter,
* returns a creation function for a concrete instance
* of the generic class OtherPerson.
* @template T
* @template [T=any]
* @param {(source: any) => T} $$createParamT
* @returns {($$source?: any) => OtherPerson<T>}
*/
@ -57,4 +57,4 @@ export class OtherPerson {
}
// Private type creation functions
const $$createType0 = ($$createParamT) => $Create.Array($$createParamT);
const $$createType0 = /** @type {(...args: any[]) => any} */(($$createParamT) => $Create.Array($$createParamT));

View file

@ -9,13 +9,12 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
/**
* LikeThisOtherOne does nothing as well, but is different.
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function LikeThisOtherOne() {
let $resultPromise = /** @type {any} */($Call.ByID(3606939272));
return $resultPromise;
return $Call.ByID(3606939272);
}

View file

@ -9,7 +9,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -17,27 +17,23 @@ import * as $models from "./models.js";
/**
* LikeThisOne is an example method that does nothing.
* @returns {Promise<[$models.Person, $models.HowDifferent<boolean>, $models.PrivatePerson]> & { cancel(): void }}
* @returns {$CancellablePromise<[$models.Person, $models.HowDifferent<boolean>, $models.PrivatePerson]>}
*/
export function LikeThisOne() {
let $resultPromise = /** @type {any} */($Call.ByID(2124352079));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(2124352079).then(/** @type {($result: any) => any} */(($result) => {
$result[0] = $$createType0($result[0]);
$result[1] = $$createType1($result[1]);
$result[2] = $$createType2($result[2]);
return $result;
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
/**
* LikeThisOtherOne does nothing as well, but is different.
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function LikeThisOtherOne() {
let $resultPromise = /** @type {any} */($Call.ByID(4281222271));
return $resultPromise;
return $Call.ByID(4281222271);
}
// Private type creation functions

View file

@ -9,13 +9,12 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
/**
* LikeThisOtherOne does nothing as well, but is different.
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function LikeThisOtherOne() {
let $resultPromise = /** @type {any} */($Call.ByID(3566862802));
return $resultPromise;
return $Call.ByID(3566862802);
}

View file

@ -9,7 +9,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -17,27 +17,23 @@ import * as nobindingshere$0 from "../no_bindings_here/models.js";
/**
* LikeThisOne is an example method that does nothing.
* @returns {Promise<[nobindingshere$0.Person, nobindingshere$0.HowDifferent<boolean>, nobindingshere$0.PrivatePerson]> & { cancel(): void }}
* @returns {$CancellablePromise<[nobindingshere$0.Person, nobindingshere$0.HowDifferent<boolean>, nobindingshere$0.PrivatePerson]>}
*/
export function LikeThisOne() {
let $resultPromise = /** @type {any} */($Call.ByID(2590614085));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(2590614085).then(/** @type {($result: any) => any} */(($result) => {
$result[0] = $$createType0($result[0]);
$result[1] = $$createType1($result[1]);
$result[2] = $$createType2($result[2]);
return $result;
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
/**
* LikeThisOtherOne does nothing as well, but is different.
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function LikeThisOtherOne() {
let $resultPromise = /** @type {any} */($Call.ByID(773650321));
return $resultPromise;
return $Call.ByID(773650321);
}
// Private type creation functions

View file

@ -9,14 +9,13 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
/**
* Greet someone
* @param {string} $0
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function Greet($0) {
let $resultPromise = /** @type {any} */($Call.ByID(1411160069, $0));
return $resultPromise;
return $Call.ByID(1411160069, $0);
}

View file

@ -4,13 +4,12 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
/**
* @param {string} name
* @returns {Promise<string> & { cancel(): void }}
* @returns {$CancellablePromise<string>}
*/
export function Greet(name) {
let $resultPromise = /** @type {any} */($Call.ByID(1411160069, name));
return $resultPromise;
return $Call.ByID(1411160069, name);
}

View file

@ -4,12 +4,11 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
/**
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function Hello() {
let $resultPromise = /** @type {any} */($Call.ByID(4249972365));
return $resultPromise;
return $Call.ByID(4249972365);
}

View file

@ -4,13 +4,12 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
/**
* @param {string} name
* @returns {Promise<string> & { cancel(): void }}
* @returns {$CancellablePromise<string>}
*/
export function Greet(name) {
let $resultPromise = /** @type {any} */($Call.ByID(1411160069, name));
return $resultPromise;
return $Call.ByID(1411160069, name);
}

View file

@ -4,12 +4,11 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
/**
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function Hello() {
let $resultPromise = /** @type {any} */($Call.ByID(4249972365));
return $resultPromise;
return $Call.ByID(4249972365);
}

View file

@ -9,7 +9,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -18,25 +18,21 @@ import * as $models from "./models.js";
/**
* Greet does XYZ
* @param {string} name
* @returns {Promise<string> & { cancel(): void }}
* @returns {$CancellablePromise<string>}
*/
export function Greet(name) {
let $resultPromise = /** @type {any} */($Call.ByID(1411160069, name));
return $resultPromise;
return $Call.ByID(1411160069, name);
}
/**
* NewPerson creates a new person
* @param {string} name
* @returns {Promise<$models.Person | null> & { cancel(): void }}
* @returns {$CancellablePromise<$models.Person | null>}
*/
export function NewPerson(name) {
let $resultPromise = /** @type {any} */($Call.ByID(1661412647, name));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(1661412647, name).then(/** @type {($result: any) => any} */(($result) => {
return $$createType1($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
export class Address {
/**

View file

@ -10,7 +10,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -18,15 +18,12 @@ import * as $models from "./models.js";
/**
* Yay does this and that
* @returns {Promise<$models.Address | null> & { cancel(): void }}
* @returns {$CancellablePromise<$models.Address | null>}
*/
export function Yay() {
let $resultPromise = /** @type {any} */($Call.ByID(3568225479));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(3568225479).then(/** @type {($result: any) => any} */(($result) => {
return $$createType1($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
// Private type creation functions

View file

@ -9,7 +9,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -17,413 +17,358 @@ import * as $models from "./models.js";
/**
* @param {number[]} $in
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function ArrayInt($in) {
let $resultPromise = /** @type {any} */($Call.ByID(3862002418, $in));
return $resultPromise;
return $Call.ByID(3862002418, $in);
}
/**
* @param {boolean} $in
* @returns {Promise<boolean> & { cancel(): void }}
* @returns {$CancellablePromise<boolean>}
*/
export function BoolInBoolOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2424639793, $in));
return $resultPromise;
return $Call.ByID(2424639793, $in);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function Float32InFloat32Out($in) {
let $resultPromise = /** @type {any} */($Call.ByID(3132595881, $in));
return $resultPromise;
return $Call.ByID(3132595881, $in);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function Float64InFloat64Out($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2182412247, $in));
return $resultPromise;
return $Call.ByID(2182412247, $in);
}
/**
* Greet someone
* @param {string} name
* @returns {Promise<string> & { cancel(): void }}
* @returns {$CancellablePromise<string>}
*/
export function Greet(name) {
let $resultPromise = /** @type {any} */($Call.ByID(1411160069, name));
return $resultPromise;
return $Call.ByID(1411160069, name);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function Int16InIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(3306292566, $in));
return $resultPromise;
return $Call.ByID(3306292566, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function Int16PointerInAndOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(1754277916, $in));
return $resultPromise;
return $Call.ByID(1754277916, $in);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function Int32InIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(1909469092, $in));
return $resultPromise;
return $Call.ByID(1909469092, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function Int32PointerInAndOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(4251088558, $in));
return $resultPromise;
return $Call.ByID(4251088558, $in);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function Int64InIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(1343888303, $in));
return $resultPromise;
return $Call.ByID(1343888303, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function Int64PointerInAndOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2205561041, $in));
return $resultPromise;
return $Call.ByID(2205561041, $in);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function Int8InIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(572240879, $in));
return $resultPromise;
return $Call.ByID(572240879, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function Int8PointerInAndOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2189402897, $in));
return $resultPromise;
return $Call.ByID(2189402897, $in);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function IntInIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(642881729, $in));
return $resultPromise;
return $Call.ByID(642881729, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function IntPointerInAndOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(1066151743, $in));
return $resultPromise;
return $Call.ByID(1066151743, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function IntPointerInputNamedOutputs($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2718999663, $in));
return $resultPromise;
return $Call.ByID(2718999663, $in);
}
/**
* @param {{ [_: `${number}`]: number }} $in
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function MapIntInt($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2386486356, $in));
return $resultPromise;
return $Call.ByID(2386486356, $in);
}
/**
* @param {{ [_: `${number}`]: number | null }} $in
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function MapIntIntPointer($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2163571325, $in));
return $resultPromise;
return $Call.ByID(2163571325, $in);
}
/**
* @param {{ [_: `${number}`]: number[] }} $in
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function MapIntSliceInt($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2900172572, $in));
return $resultPromise;
return $Call.ByID(2900172572, $in);
}
/**
* @param {{ [_: `${number}`]: number[] }} $in
* @returns {Promise<{ [_: `${number}`]: number[] }> & { cancel(): void }}
* @returns {$CancellablePromise<{ [_: `${number}`]: number[] }>}
*/
export function MapIntSliceIntInMapIntSliceIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(881980169, $in));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(881980169, $in).then(/** @type {($result: any) => any} */(($result) => {
return $$createType1($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
/**
* @returns {Promise<string> & { cancel(): void }}
* @returns {$CancellablePromise<string>}
*/
export function NoInputsStringOut() {
let $resultPromise = /** @type {any} */($Call.ByID(1075577233));
return $resultPromise;
return $Call.ByID(1075577233);
}
/**
* @param {boolean | null} $in
* @returns {Promise<boolean | null> & { cancel(): void }}
* @returns {$CancellablePromise<boolean | null>}
*/
export function PointerBoolInBoolOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(3589606958, $in));
return $resultPromise;
return $Call.ByID(3589606958, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function PointerFloat32InFloat32Out($in) {
let $resultPromise = /** @type {any} */($Call.ByID(224675106, $in));
return $resultPromise;
return $Call.ByID(224675106, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function PointerFloat64InFloat64Out($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2124953624, $in));
return $resultPromise;
return $Call.ByID(2124953624, $in);
}
/**
* @param {{ [_: `${number}`]: number } | null} $in
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function PointerMapIntInt($in) {
let $resultPromise = /** @type {any} */($Call.ByID(3516977899, $in));
return $resultPromise;
return $Call.ByID(3516977899, $in);
}
/**
* @param {string | null} $in
* @returns {Promise<string | null> & { cancel(): void }}
* @returns {$CancellablePromise<string | null>}
*/
export function PointerStringInStringOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(229603958, $in));
return $resultPromise;
return $Call.ByID(229603958, $in);
}
/**
* @param {string[]} $in
* @returns {Promise<string[]> & { cancel(): void }}
* @returns {$CancellablePromise<string[]>}
*/
export function StringArrayInputNamedOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(3678582682, $in));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(3678582682, $in).then(/** @type {($result: any) => any} */(($result) => {
return $$createType2($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
/**
* @param {string[]} $in
* @returns {Promise<string[]> & { cancel(): void }}
* @returns {$CancellablePromise<string[]>}
*/
export function StringArrayInputNamedOutputs($in) {
let $resultPromise = /** @type {any} */($Call.ByID(319259595, $in));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(319259595, $in).then(/** @type {($result: any) => any} */(($result) => {
return $$createType2($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
/**
* @param {string[]} $in
* @returns {Promise<string[]> & { cancel(): void }}
* @returns {$CancellablePromise<string[]>}
*/
export function StringArrayInputStringArrayOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(383995060, $in));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(383995060, $in).then(/** @type {($result: any) => any} */(($result) => {
return $$createType2($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
/**
* @param {string[]} $in
* @returns {Promise<string> & { cancel(): void }}
* @returns {$CancellablePromise<string>}
*/
export function StringArrayInputStringOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(1091960237, $in));
return $resultPromise;
return $Call.ByID(1091960237, $in);
}
/**
* @param {$models.Person} $in
* @returns {Promise<$models.Person> & { cancel(): void }}
* @returns {$CancellablePromise<$models.Person>}
*/
export function StructInputStructOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(3835643147, $in));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(3835643147, $in).then(/** @type {($result: any) => any} */(($result) => {
return $$createType3($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
/**
* @param {$models.Person | null} $in
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function StructPointerInputErrorOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2447692557, $in));
return $resultPromise;
return $Call.ByID(2447692557, $in);
}
/**
* @param {$models.Person | null} $in
* @returns {Promise<$models.Person | null> & { cancel(): void }}
* @returns {$CancellablePromise<$models.Person | null>}
*/
export function StructPointerInputStructPointerOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2943477349, $in));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(2943477349, $in).then(/** @type {($result: any) => any} */(($result) => {
return $$createType4($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function UInt16InUIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(3401034892, $in));
return $resultPromise;
return $Call.ByID(3401034892, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function UInt16PointerInAndOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(1236957573, $in));
return $resultPromise;
return $Call.ByID(1236957573, $in);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function UInt32InUIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(1160383782, $in));
return $resultPromise;
return $Call.ByID(1160383782, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function UInt32PointerInAndOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(1739300671, $in));
return $resultPromise;
return $Call.ByID(1739300671, $in);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function UInt64InUIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(793803239, $in));
return $resultPromise;
return $Call.ByID(793803239, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function UInt64PointerInAndOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(1403757716, $in));
return $resultPromise;
return $Call.ByID(1403757716, $in);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function UInt8InUIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2988345717, $in));
return $resultPromise;
return $Call.ByID(2988345717, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function UInt8PointerInAndOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(518250834, $in));
return $resultPromise;
return $Call.ByID(518250834, $in);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function UIntInUIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2836661285, $in));
return $resultPromise;
return $Call.ByID(2836661285, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function UIntPointerInAndOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(1367187362, $in));
return $resultPromise;
return $Call.ByID(1367187362, $in);
}
// Private type creation functions

View file

@ -4,7 +4,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Create as $Create} from "/wails/runtime.js";
import { Create as $Create } from "/wails/runtime.js";
export class Person {
/**

View file

@ -9,7 +9,7 @@
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import {Call as $Call, Create as $Create} from "/wails/runtime.js";
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "/wails/runtime.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
@ -17,413 +17,358 @@ import * as $models from "./models.js";
/**
* @param {number[]} $in
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function ArrayInt($in) {
let $resultPromise = /** @type {any} */($Call.ByID(3862002418, $in));
return $resultPromise;
return $Call.ByID(3862002418, $in);
}
/**
* @param {boolean} $in
* @returns {Promise<boolean> & { cancel(): void }}
* @returns {$CancellablePromise<boolean>}
*/
export function BoolInBoolOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2424639793, $in));
return $resultPromise;
return $Call.ByID(2424639793, $in);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function Float32InFloat32Out($in) {
let $resultPromise = /** @type {any} */($Call.ByID(3132595881, $in));
return $resultPromise;
return $Call.ByID(3132595881, $in);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function Float64InFloat64Out($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2182412247, $in));
return $resultPromise;
return $Call.ByID(2182412247, $in);
}
/**
* Greet someone
* @param {string} name
* @returns {Promise<string> & { cancel(): void }}
* @returns {$CancellablePromise<string>}
*/
export function Greet(name) {
let $resultPromise = /** @type {any} */($Call.ByID(1411160069, name));
return $resultPromise;
return $Call.ByID(1411160069, name);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function Int16InIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(3306292566, $in));
return $resultPromise;
return $Call.ByID(3306292566, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function Int16PointerInAndOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(1754277916, $in));
return $resultPromise;
return $Call.ByID(1754277916, $in);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function Int32InIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(1909469092, $in));
return $resultPromise;
return $Call.ByID(1909469092, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function Int32PointerInAndOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(4251088558, $in));
return $resultPromise;
return $Call.ByID(4251088558, $in);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function Int64InIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(1343888303, $in));
return $resultPromise;
return $Call.ByID(1343888303, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function Int64PointerInAndOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2205561041, $in));
return $resultPromise;
return $Call.ByID(2205561041, $in);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function Int8InIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(572240879, $in));
return $resultPromise;
return $Call.ByID(572240879, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function Int8PointerInAndOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2189402897, $in));
return $resultPromise;
return $Call.ByID(2189402897, $in);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function IntInIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(642881729, $in));
return $resultPromise;
return $Call.ByID(642881729, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function IntPointerInAndOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(1066151743, $in));
return $resultPromise;
return $Call.ByID(1066151743, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function IntPointerInputNamedOutputs($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2718999663, $in));
return $resultPromise;
return $Call.ByID(2718999663, $in);
}
/**
* @param {{ [_: `${number}`]: number }} $in
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function MapIntInt($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2386486356, $in));
return $resultPromise;
return $Call.ByID(2386486356, $in);
}
/**
* @param {{ [_: `${number}`]: number | null }} $in
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function MapIntIntPointer($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2163571325, $in));
return $resultPromise;
return $Call.ByID(2163571325, $in);
}
/**
* @param {{ [_: `${number}`]: number[] }} $in
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function MapIntSliceInt($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2900172572, $in));
return $resultPromise;
return $Call.ByID(2900172572, $in);
}
/**
* @param {{ [_: `${number}`]: number[] }} $in
* @returns {Promise<{ [_: `${number}`]: number[] }> & { cancel(): void }}
* @returns {$CancellablePromise<{ [_: `${number}`]: number[] }>}
*/
export function MapIntSliceIntInMapIntSliceIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(881980169, $in));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(881980169, $in).then(/** @type {($result: any) => any} */(($result) => {
return $$createType1($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
/**
* @returns {Promise<string> & { cancel(): void }}
* @returns {$CancellablePromise<string>}
*/
export function NoInputsStringOut() {
let $resultPromise = /** @type {any} */($Call.ByID(1075577233));
return $resultPromise;
return $Call.ByID(1075577233);
}
/**
* @param {boolean | null} $in
* @returns {Promise<boolean | null> & { cancel(): void }}
* @returns {$CancellablePromise<boolean | null>}
*/
export function PointerBoolInBoolOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(3589606958, $in));
return $resultPromise;
return $Call.ByID(3589606958, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function PointerFloat32InFloat32Out($in) {
let $resultPromise = /** @type {any} */($Call.ByID(224675106, $in));
return $resultPromise;
return $Call.ByID(224675106, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function PointerFloat64InFloat64Out($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2124953624, $in));
return $resultPromise;
return $Call.ByID(2124953624, $in);
}
/**
* @param {{ [_: `${number}`]: number } | null} $in
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function PointerMapIntInt($in) {
let $resultPromise = /** @type {any} */($Call.ByID(3516977899, $in));
return $resultPromise;
return $Call.ByID(3516977899, $in);
}
/**
* @param {string | null} $in
* @returns {Promise<string | null> & { cancel(): void }}
* @returns {$CancellablePromise<string | null>}
*/
export function PointerStringInStringOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(229603958, $in));
return $resultPromise;
return $Call.ByID(229603958, $in);
}
/**
* @param {string[]} $in
* @returns {Promise<string[]> & { cancel(): void }}
* @returns {$CancellablePromise<string[]>}
*/
export function StringArrayInputNamedOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(3678582682, $in));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(3678582682, $in).then(/** @type {($result: any) => any} */(($result) => {
return $$createType2($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
/**
* @param {string[]} $in
* @returns {Promise<string[]> & { cancel(): void }}
* @returns {$CancellablePromise<string[]>}
*/
export function StringArrayInputNamedOutputs($in) {
let $resultPromise = /** @type {any} */($Call.ByID(319259595, $in));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(319259595, $in).then(/** @type {($result: any) => any} */(($result) => {
return $$createType2($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
/**
* @param {string[]} $in
* @returns {Promise<string[]> & { cancel(): void }}
* @returns {$CancellablePromise<string[]>}
*/
export function StringArrayInputStringArrayOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(383995060, $in));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(383995060, $in).then(/** @type {($result: any) => any} */(($result) => {
return $$createType2($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
/**
* @param {string[]} $in
* @returns {Promise<string> & { cancel(): void }}
* @returns {$CancellablePromise<string>}
*/
export function StringArrayInputStringOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(1091960237, $in));
return $resultPromise;
return $Call.ByID(1091960237, $in);
}
/**
* @param {$models.Person} $in
* @returns {Promise<$models.Person> & { cancel(): void }}
* @returns {$CancellablePromise<$models.Person>}
*/
export function StructInputStructOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(3835643147, $in));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(3835643147, $in).then(/** @type {($result: any) => any} */(($result) => {
return $$createType3($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
/**
* @param {$models.Person | null} $in
* @returns {Promise<void> & { cancel(): void }}
* @returns {$CancellablePromise<void>}
*/
export function StructPointerInputErrorOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2447692557, $in));
return $resultPromise;
return $Call.ByID(2447692557, $in);
}
/**
* @param {$models.Person | null} $in
* @returns {Promise<$models.Person | null> & { cancel(): void }}
* @returns {$CancellablePromise<$models.Person | null>}
*/
export function StructPointerInputStructPointerOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2943477349, $in));
let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
return $Call.ByID(2943477349, $in).then(/** @type {($result: any) => any} */(($result) => {
return $$createType4($result);
}));
$typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
return $typingPromise;
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function UInt16InUIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(3401034892, $in));
return $resultPromise;
return $Call.ByID(3401034892, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function UInt16PointerInAndOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(1236957573, $in));
return $resultPromise;
return $Call.ByID(1236957573, $in);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function UInt32InUIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(1160383782, $in));
return $resultPromise;
return $Call.ByID(1160383782, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function UInt32PointerInAndOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(1739300671, $in));
return $resultPromise;
return $Call.ByID(1739300671, $in);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function UInt64InUIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(793803239, $in));
return $resultPromise;
return $Call.ByID(793803239, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function UInt64PointerInAndOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(1403757716, $in));
return $resultPromise;
return $Call.ByID(1403757716, $in);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function UInt8InUIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2988345717, $in));
return $resultPromise;
return $Call.ByID(2988345717, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function UInt8PointerInAndOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(518250834, $in));
return $resultPromise;
return $Call.ByID(518250834, $in);
}
/**
* @param {number} $in
* @returns {Promise<number> & { cancel(): void }}
* @returns {$CancellablePromise<number>}
*/
export function UIntInUIntOut($in) {
let $resultPromise = /** @type {any} */($Call.ByID(2836661285, $in));
return $resultPromise;
return $Call.ByID(2836661285, $in);
}
/**
* @param {number | null} $in
* @returns {Promise<number | null> & { cancel(): void }}
* @returns {$CancellablePromise<number | null>}
*/
export function UIntPointerInAndOutput($in) {
let $resultPromise = /** @type {any} */($Call.ByID(1367187362, $in));
return $resultPromise;
return $Call.ByID(1367187362, $in);
}
// Private type creation functions

Some files were not shown because too many files have changed in this diff Show more