From 9f9e0034feda2fad195999840178b37d32bf64bb Mon Sep 17 00:00:00 2001 From: Tia Esguerra Date: Fri, 5 Jun 2026 04:42:34 -0700 Subject: [PATCH] feat: add clear_invalid support to UploadAPI#explicit --- lib/utils/index.js | 1 + test/integration/api/uploader/uploader_spec.js | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/lib/utils/index.js b/lib/utils/index.js index d74c738f..7bb19f35 100644 --- a/lib/utils/index.js +++ b/lib/utils/index.js @@ -396,6 +396,7 @@ function build_upload_params(options) { image_metadata: utils.as_safe_bool(options.image_metadata), media_metadata: utils.as_safe_bool(options.media_metadata), invalidate: utils.as_safe_bool(options.invalidate), + clear_invalid: utils.as_safe_bool(options.clear_invalid), moderation: options.moderation, notification_url: options.notification_url, overwrite: utils.as_safe_bool(options.overwrite), diff --git a/test/integration/api/uploader/uploader_spec.js b/test/integration/api/uploader/uploader_spec.js index 33268532..ad98938f 100644 --- a/test/integration/api/uploader/uploader_spec.js +++ b/test/integration/api/uploader/uploader_spec.js @@ -1175,6 +1175,21 @@ describe("uploader", function () { sinon.assert.calledWith(spy, sinon.match(helper.uploadParamMatcher('quality_analysis', 1))); }); }); + describe(":clear_invalid", function () { + it("should pass the clear_invalid value to the server", async function () { + await cloudinary.v2.uploader + .explicit("cloudinary", { + type: "upload", + clear_invalid: true, + tags: [TEST_TAG] + }) + .catch(helper.ignoreApiFailure); + sinon.assert.calledWith( + spy, + sinon.match(helper.uploadParamMatcher("clear_invalid", 1)) + ); + }); + }); it("should support metadata", async function () { await cloudinary.v2.uploader.explicit("cloudinary", { metadata: METADATA_SAMPLE_DATA }).catch(helper.ignoreApiFailure); sinon.assert.calledWith(spy, sinon.match(helper.uploadParamMatcher("metadata", METADATA_SAMPLE_DATA_ENCODED)));