Source code

Revision control

Copy as Markdown

Other Tools

// This file was autogenerated by the `uniffi-bindgen-gecko-js` crate.
// Trust me, you don't want to mess with it!
import {
ArrayBufferDataStream,
FfiConverter,
FfiConverterArrayBuffer,
FfiConverterInt8,
FfiConverterUInt8,
FfiConverterInt16,
FfiConverterUInt16,
FfiConverterInt32,
FfiConverterUInt32,
FfiConverterInt64,
FfiConverterUInt64,
FfiConverterFloat32,
FfiConverterFloat64,
FfiConverterBoolean,
FfiConverterBytes,
FfiConverterString,
UniFFICallbackHandler,
UniFFICallbackMethodHandler,
UniFFIError,
UniFFIInternalError,
UniFFITypeError,
constructUniffiObject,
handleRustResult,
uniffiObjectPtr,
} from "moz-src:///toolkit/components/uniffi-js/js/UniFFI.sys.mjs";
{%- for import in imports %}
{{ import }}
{%- endfor %}
// Objects intended to be used in the unit tests
export var UnitTestObjs = {
uniffiObjectPtr,
};
{%- for func in functions %}
{%- let callable=func.callable %}
{{ func.js_docstring }}
export {% if func.callable.is_js_async %}async {% endif %}function {{ func.name }}({%- filter indent(4) %}{% include "js/CallableArgs.sys.mjs" %}{% endfilter %}) {
{% include "js/CallableBody.sys.mjs" %}
}
{% endfor %}
{% include "Types.sys.mjs" %}
{%- if fixture %}
// Wrapper to skip type checking for function arguments
//
// This is only defined and used on test fixtures. The goal is to skip the JS type checking so that
// we can test the lower-level C++ type checking.
export class UniffiSkipJsTypeCheck {
constructor(value) {
this.value = value;
}
}
{%- endif %}