UNPKG

@thangk/easythemer

Version:

Easily generate shades from a colour palette for use in your app

72 lines 2.93 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const validators_1 = require("../validators"); const constants_1 = require("../constants"); const ValidateChannelParams_1 = __importDefault(require("../validators/ValidateChannelParams")); function useValidate(inputToValidate) { const output = { result: null, errors: null, }; let { result, errors } = output; const workingInputCopy = [...inputToValidate].map((shadeOption) => { const { type, optionName, hex, channelParams, generateShades } = shadeOption; if (!type) { errors = { ...errors, type: "Type is undefined. Input data type is not a type made by this dev. Therefore no validation will be performed.", }; return; } if (type === constants_1.TYPE.SHADE_OPTION) { /** * fields to validate: * - optionName * - hex * - generateShades * - channelParams */ const validatedOptionName = new validators_1.ValidateOptionName(optionName); const validatedHex = new validators_1.ValidateHex(hex); const validatedChannelParams = channelParams ? new ValidateChannelParams_1.default(channelParams) : null; if (validatedOptionName.hasErrors) { errors = { ...errors, colourName: validatedOptionName.getErrorsList }; } if (validatedHex.hasErrors) { errors = { ...errors, colourHex: validatedHex.getErrorsList }; } if (validatedChannelParams && validatedChannelParams.hasErrors) { errors = { ...errors, channelParams: validatedChannelParams.getErrorsList }; } if (generateShades !== true && generateShades !== false) { errors = { ...errors, generateShades: "generateShades must be true or false" }; } return { ...shadeOption, optionName: validatedOptionName.getResult, hex: validatedHex.getResult, }; } if (type === constants_1.TYPE.SHADE_FACTORS_SET) { /** * TODO: validate shades */ } }); console.log("errors in useValidate", errors); // if no errors, return validated object if (!errors) { console.log("no errors in useValidate"); return { ...output, result: workingInputCopy, // validated object }; } console.log("errors in useValidate"); return output; } exports.default = useValidate; //# sourceMappingURL=useValidate.js.map