getTypedArrayBuffer method

(JSValue, int, int) getTypedArrayBuffer({
  1. Pointer<Size>? pbytesPerElement,
  2. bool autoDispose = true,
})

Implementation

(JSValue, int, int) getTypedArrayBuffer({
  Pointer<Size>? pbytesPerElement,
  bool autoDispose = true,
}) {
  final plen = calloc.call<Size>(sizeOf<Size>());
  final poffset = calloc.call<Size>(sizeOf<Size>());
  pbytesPerElement ??= nullptr;
  var len = plen.value, offset = poffset.value;
  try {
    return (
      JSValue(
        _ctx,
        calloc.call<JSValue_>(sizeOf<JSValue_>())
          ..ref = JS_GetTypedArrayBuffer(
            _ctx.ref,
            _ref.ref,
            poffset,
            plen,
            pbytesPerElement,
          ),
        autoDispose: autoDispose,
      ),
      offset,
      len,
    );
  } finally {
    calloc.free(plen);
    calloc.free(poffset);
  }
}