After the Rust 1.78 release, napi-rs panics on zero-sized array buffers.
Work around it by not allocating a zero-sized array buffer for this specific test.
Upstream PR: napi-rs/napi-rs#2083
Add the ability to depend on the testing backend and opt into it
when running tests/cases, like we do for the other drivers.
The testing backend dependency is removed in the packaging step, as
we don't publish i-slint-backend-testing.
Updated the version from 1.1 to 1.2
Renamed the header to "Slint Royalty-free Desktop, Mobile, and Web Applications License"
Added definition of "Mobile Application" and grant of right
Moved "Limitations" to 3rd section and "License Conditions - Attributions" to 2nd section
Added flexibility to choose between showing "MadeWithSlint" as a dialog/splash screen or on a public webpage
Moved the para on copyright notices to section under "Limitations"
A MSRV update is required to update the image crate to 0.25, otherwise
we get link error that are ficed in newer version.
Also other dependency update such as env_logger needs a newer MSRV.
Update to 1.73 because it has functions like `with_borrow` on thread
storage which we already actually use in some platform.
This is also the last release before the the drop of macOs < 10.12
in Rust 1.74
The wrapper returned should behave like Model<T>, which now also a
@@iterator key. That key is generated by simulation the evaluation of
`Symbol.iterator`, by first looking up `Symbol` in the global object,
and then `iterator`. When retrieving `Symbol` we casted it to a
`JsObject`, but commit
aeb0b4766d
upstream tightened the cast by adding an extract check, which fails.
Symbol is not a plain object, it's in fact a function (by use of
`Symbol()`).
Add a convenience pop() function (we already have push...) and re-use the model
instead of fetching it.
Previously we fetched it because it was converted to
a new array every time.
A Model<T> stores a reference to a External<Rc<ModelNotify>>.
Every time such a Model<T> needs to be exposed to Slint/Rust, we create
a TypedRustModel that wraps the Rc<ModelNotify>, a strong reference to
the JS object, and the Type field for the expected data type (the
interpreter expects). The Model trait is implemented on TypedRustModel,
which means it is allocated every time the conversion is needed, but the
underlying Rc<ModelNotify> is shared and thus the (forwarded) ModelNotify.
When converting back to JavaScript, we downcast_ref to the
TypedRustModel and fetch the original JavaScript object - if available.
- We could import from `npm:...` directly, but by using an import map, the import is centrally controlled and all subsequent snippets for Node.js can also be used with Deno
- Use .mjs for the node snippet as we use ES module syntax
Unfortunately our own examples can't be equipped with a deno.json yet as
deno does not support yet imports of node modules from a local path.
They are not commonly used so no need to use semi-public api for that
and it's really easy to similate with ust two clicks anyway
The previous test function were added before there was public way to
send events
These are built with the default features of the interpreter crate, as
unfortunately napi-rs doesn't allow us to select features on the command
line yet. The next version (3.0) will add that, then we can keep the
binaries in sync.
So meanwhile, these are basically winit/femtovg/software enabled
binaries.
cc #1991
Commit 84fd6dc08c changed the import
from "rust-module" to "rust-module.cjs", which unfortunately broke
typedoc's visibility into the types. Revert back to using the import
without extension. With the given tsconfig files that works now and
typedoc publishes the docs for the re-exported types again.
Fixes#4153