Its customization hardcoded an empty selector map instead of the one
computed from the options type, so the plural kwarg was rejected. Let
codegen build the options argument for custom facade methods that take
**kwargs.
Vala's default argument is absent from the .gir, so the generated facade
made the port mandatory. Declare the default in the customizations, and
let param_typings override the facade signature also when there is no
custom logic.
The GTlsCertificate-typed properties had no marshaller, so their setters
were never generated. Marshal them to and from a string holding either a
PEM blob or a filename, like the old hand-written bindings did.
Reported and diagnosed by rev1si0n <[email protected]>.
Reinstate the cancellable decorator, RPCResult, make_rpc_call_request
and make_auth_callback, and expose ScriptExportsAsync from frida.core
via a new facade_epilogues customization.
Facade on/off took any callable, so misshapen handlers type-checked.
Derive the stacks from the .gir: the alias name follows from the type
and signal name. Undefined aliases and single-signal types are skipped.
The .gir yields only get_device_by_id/by_type, and drops
Cancellable.connect/disconnect, whose callback is not marshallable.
Reinstate all six. connect/disconnect go over the cancelled signal,
keeping g_cancellable_connect's return-0-when-cancelled contract.
The .gir rewrite emitted only GObject-derived classes and no
annotations, so py.typed shipped an untyped facade.
Reinstate the aliases as a prelude asset and annotate the facade
from the existing pyi type mapping.
Also fixes read-only options properties and the module functions
missing from _frida.pyi.
Skip None values instead of passing them to typed setters.
Map collection kwargs onto their select_/add_ methods, walking
the parent chain. Affects specs, omits, externals, pids and
identifiers.
The prebuilt wheel path installs the generated __init__.py,
aio.py and _frida.pyi alongside the extension, not under
build/frida/, so copy them from there.