kwikui
Version:
KwikID's UI Component Library in Angular
35 lines • 4.9 kB
JavaScript
import { VKwikUIInputDateSize } from "./input-date.definitions";
export const isValidKeyValue = (key, value) => {
const isBoolean = (x) => typeof x === "boolean";
const isString = (x) => typeof x === "string";
const validateCalculatedDate = (date) => {
const keys = Object.keys(date);
const validKeys = ["year", "month", "day"];
return keys.every((key) => validKeys.includes(key));
};
const validateDate = (date) => {
return (date.hasOwnProperty("day") &&
date.hasOwnProperty("month") &&
date.hasOwnProperty("year"));
};
const methods = {
disabled: isBoolean,
focus: isBoolean,
formControlName: isString,
hintContent: isString,
icon: isString,
id: isString,
invalid: isBoolean,
label: isString,
max: validateDate,
maxCalculatedFromToday: validateCalculatedDate,
min: validateDate,
minCalculatedFromToday: validateCalculatedDate,
placeholder: isString,
postfix: isString,
prefix: isString,
size: (x) => VKwikUIInputDateSize.includes(x)
};
return methods[key] && methods[key](value);
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS52YWxpZGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa3VpL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2lucHV0cy9pbnB1dC1kYXRlL2lucHV0LWRhdGUudmFsaWRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsb0JBQW9CLEVBQ3JCLE1BQU0sMEJBQTBCLENBQUM7QUFFbEMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQVUsRUFBVyxFQUFFO0lBQ2xFLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBVSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxTQUFTLENBQUM7SUFDekQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQztJQUN0RCxNQUFNLHNCQUFzQixHQUFHLENBQUMsSUFBUyxFQUFXLEVBQUU7UUFDcEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQyxDQUFDO0lBQ0YsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFTLEVBQVcsRUFBRTtRQUMxQyxPQUFPLENBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7WUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FDNUIsQ0FBQztJQUNKLENBQUMsQ0FBQztJQUVGLE1BQU0sT0FBTyxHQUFHO1FBQ2QsUUFBUSxFQUFFLFNBQVM7UUFDbkIsS0FBSyxFQUFFLFNBQVM7UUFDaEIsZUFBZSxFQUFFLFFBQVE7UUFDekIsV0FBVyxFQUFFLFFBQVE7UUFDckIsSUFBSSxFQUFFLFFBQVE7UUFDZCxFQUFFLEVBQUUsUUFBUTtRQUNaLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLEtBQUssRUFBRSxRQUFRO1FBQ2YsR0FBRyxFQUFFLFlBQVk7UUFDakIsc0JBQXNCLEVBQUUsc0JBQXNCO1FBQzlDLEdBQUcsRUFBRSxZQUFZO1FBQ2pCLHNCQUFzQixFQUFFLHNCQUFzQjtRQUM5QyxXQUFXLEVBQUUsUUFBUTtRQUNyQixPQUFPLEVBQUUsUUFBUTtRQUNqQixNQUFNLEVBQUUsUUFBUTtRQUNoQixJQUFJLEVBQUUsQ0FBQyxDQUF1QixFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0tBQ3BFLENBQUM7SUFFRixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgVEt3aWtVSUlucHV0RGF0ZVNpemUsXG4gIFZLd2lrVUlJbnB1dERhdGVTaXplXG59IGZyb20gXCIuL2lucHV0LWRhdGUuZGVmaW5pdGlvbnNcIjtcblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRLZXlWYWx1ZSA9IChrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IGJvb2xlYW4gPT4ge1xuICBjb25zdCBpc0Jvb2xlYW4gPSAoeDogYm9vbGVhbikgPT4gdHlwZW9mIHggPT09IFwiYm9vbGVhblwiO1xuICBjb25zdCBpc1N0cmluZyA9ICh4OiBzdHJpbmcpID0+IHR5cGVvZiB4ID09PSBcInN0cmluZ1wiO1xuICBjb25zdCB2YWxpZGF0ZUNhbGN1bGF0ZWREYXRlID0gKGRhdGU6IGFueSk6IGJvb2xlYW4gPT4ge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhkYXRlKTtcbiAgICBjb25zdCB2YWxpZEtleXMgPSBbXCJ5ZWFyXCIsIFwibW9udGhcIiwgXCJkYXlcIl07XG4gICAgcmV0dXJuIGtleXMuZXZlcnkoKGtleSkgPT4gdmFsaWRLZXlzLmluY2x1ZGVzKGtleSkpO1xuICB9O1xuICBjb25zdCB2YWxpZGF0ZURhdGUgPSAoZGF0ZTogYW55KTogYm9vbGVhbiA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGRhdGUuaGFzT3duUHJvcGVydHkoXCJkYXlcIikgJiZcbiAgICAgIGRhdGUuaGFzT3duUHJvcGVydHkoXCJtb250aFwiKSAmJlxuICAgICAgZGF0ZS5oYXNPd25Qcm9wZXJ0eShcInllYXJcIilcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IG1ldGhvZHMgPSB7XG4gICAgZGlzYWJsZWQ6IGlzQm9vbGVhbixcbiAgICBmb2N1czogaXNCb29sZWFuLFxuICAgIGZvcm1Db250cm9sTmFtZTogaXNTdHJpbmcsXG4gICAgaGludENvbnRlbnQ6IGlzU3RyaW5nLFxuICAgIGljb246IGlzU3RyaW5nLFxuICAgIGlkOiBpc1N0cmluZyxcbiAgICBpbnZhbGlkOiBpc0Jvb2xlYW4sXG4gICAgbGFiZWw6IGlzU3RyaW5nLFxuICAgIG1heDogdmFsaWRhdGVEYXRlLFxuICAgIG1heENhbGN1bGF0ZWRGcm9tVG9kYXk6IHZhbGlkYXRlQ2FsY3VsYXRlZERhdGUsXG4gICAgbWluOiB2YWxpZGF0ZURhdGUsXG4gICAgbWluQ2FsY3VsYXRlZEZyb21Ub2RheTogdmFsaWRhdGVDYWxjdWxhdGVkRGF0ZSxcbiAgICBwbGFjZWhvbGRlcjogaXNTdHJpbmcsXG4gICAgcG9zdGZpeDogaXNTdHJpbmcsXG4gICAgcHJlZml4OiBpc1N0cmluZyxcbiAgICBzaXplOiAoeDogVEt3aWtVSUlucHV0RGF0ZVNpemUpID0+IFZLd2lrVUlJbnB1dERhdGVTaXplLmluY2x1ZGVzKHgpXG4gIH07XG5cbiAgcmV0dXJuIG1ldGhvZHNba2V5XSAmJiBtZXRob2RzW2tleV0odmFsdWUpO1xufTtcbiJdfQ==