kwikui
Version:
KwikID's UI Component Library in Angular
23 lines • 4.62 kB
JavaScript
import { isNotEmptyValue } from "kwikid-toolkit";
import { VKwikUIInputFileSize, VKwikUIInputFileVariant } from "./input-files.definitions";
export const isValidKeyValue = (key, value) => {
const isBoolean = (x) => typeof x === "boolean";
const isNumber = (x) => typeof x === "number";
const isString = (x) => typeof x === "string";
const methods = {
accept: (x) => isString(x) && isNotEmptyValue(x),
disabled: isBoolean,
formControlName: (x) => isString(x) && isNotEmptyValue(x),
icon: (x) => isString(x) && isNotEmptyValue(x),
id: (x) => isString(x) && isNotEmptyValue(x),
label: (x) => isString(x) && isNotEmptyValue(x),
link: (x) => isString(x) && isNotEmptyValue(x),
maxFileSize: isNumber,
multiple: isBoolean,
showAddedFiles: isBoolean,
size: (x) => VKwikUIInputFileSize.includes(x),
variant: (x) => VKwikUIInputFileVariant.includes(x)
};
return methods[key] && methods[key](value);
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZXMudmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWt1aS9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9pbnB1dHMvaW5wdXQtZmlsZXMvaW5wdXQtZmlsZXMudmFsaWRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUdMLG9CQUFvQixFQUNwQix1QkFBdUIsRUFDeEIsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBVSxFQUFXLEVBQUU7SUFDbEUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFNBQVMsQ0FBQztJQUN6RCxNQUFNLFFBQVEsR0FBRyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDO0lBQ3RELE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUM7SUFFdEQsTUFBTSxPQUFPLEdBQUc7UUFDZCxNQUFNLEVBQUUsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3hELFFBQVEsRUFBRSxTQUFTO1FBQ25CLGVBQWUsRUFBRSxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDakUsSUFBSSxFQUFFLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQztRQUN0RCxFQUFFLEVBQUUsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3BELEtBQUssRUFBRSxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDdkQsSUFBSSxFQUFFLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQztRQUN0RCxXQUFXLEVBQUUsUUFBUTtRQUNyQixRQUFRLEVBQUUsU0FBUztRQUNuQixjQUFjLEVBQUUsU0FBUztRQUN6QixJQUFJLEVBQUUsQ0FBQyxDQUF1QixFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ25FLE9BQU8sRUFBRSxDQUFDLENBQTBCLEVBQUUsRUFBRSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7S0FDN0UsQ0FBQztJQUVGLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM3QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc05vdEVtcHR5VmFsdWUgfSBmcm9tIFwia3dpa2lkLXRvb2xraXRcIjtcbmltcG9ydCB7XG4gIFRLd2lrVUlJbnB1dEZpbGVTaXplLFxuICBUS3dpa1VJSW5wdXRGaWxlVmFyaWFudCxcbiAgVkt3aWtVSUlucHV0RmlsZVNpemUsXG4gIFZLd2lrVUlJbnB1dEZpbGVWYXJpYW50XG59IGZyb20gXCIuL2lucHV0LWZpbGVzLmRlZmluaXRpb25zXCI7XG5cbmV4cG9ydCBjb25zdCBpc1ZhbGlkS2V5VmFsdWUgPSAoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBib29sZWFuID0+IHtcbiAgY29uc3QgaXNCb29sZWFuID0gKHg6IGJvb2xlYW4pID0+IHR5cGVvZiB4ID09PSBcImJvb2xlYW5cIjtcbiAgY29uc3QgaXNOdW1iZXIgPSAoeDogbnVtYmVyKSA9PiB0eXBlb2YgeCA9PT0gXCJudW1iZXJcIjtcbiAgY29uc3QgaXNTdHJpbmcgPSAoeDogc3RyaW5nKSA9PiB0eXBlb2YgeCA9PT0gXCJzdHJpbmdcIjtcblxuICBjb25zdCBtZXRob2RzID0ge1xuICAgIGFjY2VwdDogKHg6IHN0cmluZykgPT4gaXNTdHJpbmcoeCkgJiYgaXNOb3RFbXB0eVZhbHVlKHgpLFxuICAgIGRpc2FibGVkOiBpc0Jvb2xlYW4sXG4gICAgZm9ybUNvbnRyb2xOYW1lOiAoeDogc3RyaW5nKSA9PiBpc1N0cmluZyh4KSAmJiBpc05vdEVtcHR5VmFsdWUoeCksXG4gICAgaWNvbjogKHg6IHN0cmluZykgPT4gaXNTdHJpbmcoeCkgJiYgaXNOb3RFbXB0eVZhbHVlKHgpLFxuICAgIGlkOiAoeDogc3RyaW5nKSA9PiBpc1N0cmluZyh4KSAmJiBpc05vdEVtcHR5VmFsdWUoeCksXG4gICAgbGFiZWw6ICh4OiBzdHJpbmcpID0+IGlzU3RyaW5nKHgpICYmIGlzTm90RW1wdHlWYWx1ZSh4KSxcbiAgICBsaW5rOiAoeDogc3RyaW5nKSA9PiBpc1N0cmluZyh4KSAmJiBpc05vdEVtcHR5VmFsdWUoeCksXG4gICAgbWF4RmlsZVNpemU6IGlzTnVtYmVyLFxuICAgIG11bHRpcGxlOiBpc0Jvb2xlYW4sXG4gICAgc2hvd0FkZGVkRmlsZXM6IGlzQm9vbGVhbixcbiAgICBzaXplOiAoeDogVEt3aWtVSUlucHV0RmlsZVNpemUpID0+IFZLd2lrVUlJbnB1dEZpbGVTaXplLmluY2x1ZGVzKHgpLFxuICAgIHZhcmlhbnQ6ICh4OiBUS3dpa1VJSW5wdXRGaWxlVmFyaWFudCkgPT4gVkt3aWtVSUlucHV0RmlsZVZhcmlhbnQuaW5jbHVkZXMoeClcbiAgfTtcblxuICByZXR1cm4gbWV0aG9kc1trZXldICYmIG1ldGhvZHNba2V5XSh2YWx1ZSk7XG59O1xuIl19