@edirect/form-engine
Version:
Achieve form logic reusage with forms expressed in json format.
45 lines (44 loc) • 1.95 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.handler = void 0;
const handler = ({
field,
data: {
event
}
}) => {
var _a, _b, _c, _d, _e, _f;
let parsedEventValue = undefined;
let metadata = undefined;
//HTML event values here
const eventMapper = {
number: () => {
var _a;
return parseInt((_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.value);
},
checkbox: () => {
var _a;
return !!((_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.checked);
}
};
parsedEventValue = eventMapper[(_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.type] ? eventMapper[(_b = event === null || event === void 0 ? void 0 : event.target) === null || _b === void 0 ? void 0 : _b.type]() : (_c = event === null || event === void 0 ? void 0 : event.target) === null || _c === void 0 ? void 0 : _c.value;
if (Array.isArray(event) || typeof event !== 'object' || typeof event === 'string' || typeof event === 'number') {
parsedEventValue = event;
}
if (event === null || event === void 0 ? void 0 : event.id) {
parsedEventValue = event === null || event === void 0 ? void 0 : event.id;
metadata = event;
}
if (event === null || event === void 0 ? void 0 : event.options) {
parsedEventValue = event === null || event === void 0 ? void 0 : event.options;
}
const isDeletingValue = (parsedEventValue === null || parsedEventValue === void 0 ? void 0 : parsedEventValue.toString().length) < (((_f = (_e = (_d = field.data) === null || _d === void 0 ? void 0 : _d.value) === null || _e === void 0 ? void 0 : _e.toString()) === null || _f === void 0 ? void 0 : _f.length) || 0);
return {
parsedEventValue,
metadata,
isDeletingValue
};
};
exports.handler = handler;