From e98993a6e2689c97348fa1252832745af3030776 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 23 Apr 2023 15:43:54 +0100 Subject: [PATCH] Bump node-addon-api for Buffer::NewOrCopy --- package.json | 2 +- src/common.cc | 10 ---------- src/common.h | 1 - src/metadata.cc | 11 ++++++----- src/pipeline.cc | 4 ++-- 5 files changed, 9 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index b27efdeee..0d7c13693 100644 --- a/package.json +++ b/package.json @@ -134,7 +134,7 @@ "dependencies": { "color": "^4.2.3", "detect-libc": "^2.0.1", - "node-addon-api": "^6.0.0", + "node-addon-api": "^6.1.0", "prebuild-install": "^7.1.1", "semver": "^7.5.0", "simple-get": "^4.0.1", diff --git a/src/common.cc b/src/common.cc index 4e04f786d..dec73e88e 100644 --- a/src/common.cc +++ b/src/common.cc @@ -65,16 +65,6 @@ namespace sharp { } return vector; } - Napi::Buffer NewOrCopyBuffer(Napi::Env env, char* data, size_t len) { - try { - return Napi::Buffer::New(env, data, len, FreeCallback); - } catch (Napi::Error const &err) { - static_cast(err); - } - Napi::Buffer buf = Napi::Buffer::Copy(env, data, len); - FreeCallback(nullptr, data); - return buf; - } // Create an InputDescriptor instance from a Napi::Object describing an input image InputDescriptor* CreateInputDescriptor(Napi::Object input) { diff --git a/src/common.h b/src/common.h index 3888f3f2b..35e7ac1ad 100644 --- a/src/common.h +++ b/src/common.h @@ -126,7 +126,6 @@ namespace sharp { return static_cast( vips_enum_from_nick(nullptr, type, AttrAsStr(obj, attr).data())); } - Napi::Buffer NewOrCopyBuffer(Napi::Env env, char* data, size_t len); // Create an InputDescriptor instance from a Napi::Object describing an input image InputDescriptor* CreateInputDescriptor(Napi::Object input); diff --git a/src/metadata.cc b/src/metadata.cc index 4cd2ed8d7..6bb861f42 100644 --- a/src/metadata.cc +++ b/src/metadata.cc @@ -230,20 +230,21 @@ class MetadataWorker : public Napi::AsyncWorker { info.Set("orientation", baton->orientation); } if (baton->exifLength > 0) { - info.Set("exif", sharp::NewOrCopyBuffer(env, baton->exif, baton->exifLength)); + info.Set("exif", Napi::Buffer::NewOrCopy(env, baton->exif, baton->exifLength, sharp::FreeCallback)); } if (baton->iccLength > 0) { - info.Set("icc", sharp::NewOrCopyBuffer(env, baton->icc, baton->iccLength)); + info.Set("icc", Napi::Buffer::NewOrCopy(env, baton->icc, baton->iccLength, sharp::FreeCallback)); } if (baton->iptcLength > 0) { - info.Set("iptc", sharp::NewOrCopyBuffer(env, baton->iptc, baton->iptcLength)); + info.Set("iptc", Napi::Buffer::NewOrCopy(env, baton->iptc, baton->iptcLength, sharp::FreeCallback)); } if (baton->xmpLength > 0) { - info.Set("xmp", sharp::NewOrCopyBuffer(env, baton->xmp, baton->xmpLength)); + info.Set("xmp", Napi::Buffer::NewOrCopy(env, baton->xmp, baton->xmpLength, sharp::FreeCallback)); } if (baton->tifftagPhotoshopLength > 0) { info.Set("tifftagPhotoshop", - sharp::NewOrCopyBuffer(env, baton->tifftagPhotoshop, baton->tifftagPhotoshopLength)); + Napi::Buffer::NewOrCopy(env, baton->tifftagPhotoshop, + baton->tifftagPhotoshopLength, sharp::FreeCallback)); } Callback().MakeCallback(Receiver().Value(), { env.Null(), info }); } else { diff --git a/src/pipeline.cc b/src/pipeline.cc index f8cdb749d..663a202ba 100644 --- a/src/pipeline.cc +++ b/src/pipeline.cc @@ -1233,8 +1233,8 @@ class PipelineWorker : public Napi::AsyncWorker { // Add buffer size to info info.Set("size", static_cast(baton->bufferOutLength)); // Pass ownership of output data to Buffer instance - Napi::Buffer data = sharp::NewOrCopyBuffer(env, static_cast(baton->bufferOut), - baton->bufferOutLength); + Napi::Buffer data = Napi::Buffer::NewOrCopy(env, static_cast(baton->bufferOut), + baton->bufferOutLength, sharp::FreeCallback); Callback().MakeCallback(Receiver().Value(), { env.Null(), data, info }); } else { // Add file size to info