From bd4c59cf34bfa4b1ae06839db70936786c5702df Mon Sep 17 00:00:00 2001 From: Kirill Date: Thu, 25 Jun 2026 14:59:33 +0300 Subject: [PATCH] Handle empty Generate Image mode (#2598) --- src/core/operations/GenerateImage.mjs | 4 ++++ tests/operations/tests/Image.mjs | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/src/core/operations/GenerateImage.mjs b/src/core/operations/GenerateImage.mjs index 053e4ba1..c276213d 100644 --- a/src/core/operations/GenerateImage.mjs +++ b/src/core/operations/GenerateImage.mjs @@ -74,6 +74,10 @@ class GenerateImage extends Operation { Bits: 1 / 8, }; + if (!Object.hasOwn(bytePerPixelMap, mode)) { + throw new OperationError(`Unsupported Mode: (${mode})`); + } + const bytesPerPixel = bytePerPixelMap[mode]; if (bytesPerPixel > 0 && input.length % bytesPerPixel !== 0) { diff --git a/tests/operations/tests/Image.mjs b/tests/operations/tests/Image.mjs index 1f450433..fe6cab10 100644 --- a/tests/operations/tests/Image.mjs +++ b/tests/operations/tests/Image.mjs @@ -45,6 +45,17 @@ TestRegister.addTests([ { op: "Render Image", args: ["Base64"] } ] }, + { + name: "Generate Image: empty mode", + input: "", + expectedOutput: "Unsupported Mode: ()", + recipeConfig: [ + { + op: "Generate Image", + args: ["", 8, 64] + } + ] + }, { name: "Extract EXIF: nothing", input: "",