JSValue.newArrayBuffer constructor
JSValue.newArrayBuffer(
- JSContext _ctx,
- Uint8List buf, {
- JSFreeArrayBufferDataFunc? freeFunc,
- Uint8List? user_data,
- bool autoDispose = true,
Implementation
JSValue.newArrayBuffer(
this._ctx,
Uint8List buf, {
JSFreeArrayBufferDataFunc? freeFunc,
Uint8List? user_data,
int isShared = 0,
bool autoDispose = true,
}) {
_freeArrayBufferDataFuncNC = NativeCallable.isolateLocal((
Pointer<JSRuntime_> rt,
Pointer<Void> opaque,
Pointer<Void> ptr,
) {
return freeFunc?.call(JSRuntime(rt), user_data ?? Uint8List(0), buf);
});
_ref = calloc.call<JSValue_>(sizeOf<JSValue_>())
..ref = JS_NewArrayBuffer(
_ctx.ref,
buf.toCAny() as Pointer<Uint8>,
buf.length,
_freeArrayBufferDataFuncNC!.nativeFunction,
user_data?.toCAny() ?? nullptr,
isShared,
);
attach(Q_JS_FreeValueAddress.cast(), _ref.cast(), autoDispose: autoDispose);
}