UNPKG

node-libpng

Version:

Unofficial bindings for node to libpng.

54 lines 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.convertGrayScaleAlphaToRGBA = exports.isColorGrayScaleAlpha = exports.colorGrayScaleAlpha = void 0; const rgba_1 = require("./rgba"); /** * Create a new color of type `gray scale` with alpha channel. * * @param gray The value for the `gray` part of the color. * @param a The value for the alpha channel part of the color. * * @return The color in gray scale with alpha channel representation. */ function colorGrayScaleAlpha(gray, a) { const color = [gray, a]; Object.defineProperty(color, "gray", { get() { return this[0]; } }); Object.defineProperty(color, "a", { get() { return this[1]; } }); return color; } exports.colorGrayScaleAlpha = colorGrayScaleAlpha; /** * Checks if the given parameter is a color of type `ColorGrayScaleA`. * * @param color The input to check. * * @return `true` if `color` was of type `ColorGrayScaleA` and `false` otherwise. */ function isColorGrayScaleAlpha(color) { if (typeof color !== "object" || !Array.isArray(color)) { return false; } if (color.length !== 2) { return false; } if (typeof color.gray !== "number") { return false; } if (typeof color.a !== "number") { return false; } return true; } exports.isColorGrayScaleAlpha = isColorGrayScaleAlpha; /** * Converts a color of type `ColorGrayScaleAlpha` to `ColorRGBA`. * * @param color The color to convert. * * @return The converted color in rgba format. */ function convertGrayScaleAlphaToRGBA(grayScaleAlpha) { return rgba_1.colorRGBA(grayScaleAlpha.gray, grayScaleAlpha.gray, grayScaleAlpha.gray, grayScaleAlpha.a); } exports.convertGrayScaleAlphaToRGBA = convertGrayScaleAlphaToRGBA; //# sourceMappingURL=gray-scale-alpha.js.map