diff --git a/packages/jimp/types/test.ts b/packages/jimp/types/test.ts index 64ea93155..89e29abba 100644 --- a/packages/jimp/types/test.ts +++ b/packages/jimp/types/test.ts @@ -1,4 +1,5 @@ import * as Jimp from "jimp"; +import { ColorActionName } from "@jimp/plugin-color"; const jimpInst: Jimp = new Jimp("test"); @@ -11,6 +12,7 @@ jimpInst.displace(jimpInst, 2); jimpInst.shadow((err, val, coords) => {}); jimpInst.fishEye({ r: 12 }); jimpInst.circle({ radius: 12, x: 12, y: 12 }); +jimpInst.color([{ apply: ColorActionName.SATURATE, params: [90] }]); // $ExpectError jimpInst.PNG_FILTER_NONE; diff --git a/packages/plugin-color/index.d.ts b/packages/plugin-color/index.d.ts index 9ffc3ece6..bdf6b3f75 100644 --- a/packages/plugin-color/index.d.ts +++ b/packages/plugin-color/index.d.ts @@ -1,16 +1,22 @@ import { ImageCallback } from "@jimp/core"; -type ColorActionName = - | "mix" - | "tint" - | "shade" - | "xor" - | "red" - | "green" - | "blue" - | "hue" - | "lighten" - | "darken"; +export enum ColorActionName { + LIGHTEN = "lighten", + BRIGHTEN = "brighten", + DARKEN = "darken", + DESATURATE = "desaturate", + SATURATE = "saturate", + GREYSCALE = "greyscale", + SPIN = "spin", + HUE = "hue", + MIX = "mix", + TINT = "tint", + SHADE = "shade", + XOR = "xor", + RED = "red", + GREEN = "green", + BLUE = "blue", +} type ColorAction = { apply: ColorActionName; diff --git a/packages/plugin-color/src/index.js b/packages/plugin-color/src/index.js index 1531a2a16..82489caa0 100644 --- a/packages/plugin-color/src/index.js +++ b/packages/plugin-color/src/index.js @@ -128,6 +128,24 @@ function colorFn(actions, cb) { return this; } +export const ColorActionName = Object.freeze({ + LIGHTEN: "lighten", + BRIGHTEN: "brighten", + DARKEN: "darken", + DESATURATE: "desaturate", + SATURATE: "saturate", + GREYSCALE: "greyscale", + SPIN: "spin", + HUE: "hue", + MIX: "mix", + TINT: "tint", + SHADE: "shade", + XOR: "xor", + RED: "red", + GREEN: "green", + BLUE: "blue", +}); + export default () => ({ /** * Adjusts the brightness of the image