Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions sdk_v2/js/native/src/items.cc
Original file line number Diff line number Diff line change
Expand Up @@ -251,16 +251,16 @@ bool TensorDataTypeFromString(const std::string& s, flTensorDataType& out) {
return false;
}

struct BytesView {
uint8_t* data;
size_t size;
};

// Reads `key` as a Uint8Array / Buffer / ArrayBuffer / ArrayBufferView and
// returns a (data, size) view into the underlying memory. The view is only
// valid until the JS object is moved/finalized; raw-bytes call sites pin
// the source via MakePinnedDeleter so the view stays valid for the Item's
// full lifetime. Returns {nullptr, 0} when the field is missing or null.
struct BytesView {
const uint8_t* data;
size_t size;
};

// Throws TypeError if `v` is not an accepted byte-buffer shape.
BytesView ParseBytesValue(Napi::Env env, const Napi::Value& v, const char* item_type_tag,
const char* key) {
Expand Down Expand Up @@ -660,7 +660,7 @@ foundry_local::Item JsToBytesItem(Napi::Env env, const Napi::Object& obj) {

return foundry_local::Item::Bytes(
FOUNDRY_LOCAL_ITEM_BYTES,
const_cast<void*>(static_cast<const void*>(view.data)),
view.data,
view.size,
MakePinnedDeleter<flBytesData>(env, src));
}
Expand Down Expand Up @@ -718,7 +718,7 @@ foundry_local::Item JsToTensorItem(Napi::Env env, const Napi::Object& obj) {

return foundry_local::Item::Tensor(
dt,
const_cast<void*>(static_cast<const void*>(view.data)),
view.data,
shape.data(), shape.size(),
MakePinnedDeleter<flTensorData>(env, src));
}
Expand Down Expand Up @@ -753,7 +753,7 @@ foundry_local::Item JsToImageItem(Napi::Env env, const Napi::Object& obj) {

return foundry_local::Item::ImageFromData(
*format,
const_cast<void*>(static_cast<const void*>(view.data)),
view.data,
view.size,
MakePinnedDeleter<flImageData>(env, src));
}
Expand Down Expand Up @@ -810,7 +810,7 @@ foundry_local::Item JsToAudioItem(Napi::Env env, const Napi::Object& obj) {

return foundry_local::Item::AudioFromData(
*format,
const_cast<void*>(static_cast<const void*>(view.data)),
view.data,
view.size,
MakePinnedDeleter<flAudioData>(env, src),
sample_rate, channels);
Expand Down
Loading