@livelike/react-native
Version:
LiveLike React Native package
46 lines (45 loc) • 1.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useInteractedWidgetOption = useInteractedWidgetOption;
var _javascript = require("@livelike/javascript");
var _react = require("react");
var _useWidgetChoices = require("./useWidgetChoices");
var _useWidgetInteractions = require("./useWidgetInteractions");
var _useWidgetOptions = require("./useWidgetOptions");
function useInteractedWidgetOption(_ref) {
let {
widgetId
} = _ref;
const widgetInteractions = (0, _useWidgetInteractions.useWidgetInteractions)({
widgetId
});
const widgetOptions = (0, _useWidgetOptions.useWidgetOptions)({
widgetId
});
const widgetChoices = (0, _useWidgetChoices.useWidgetChoices)({
widgetId
});
return (0, _react.useMemo)(() => {
if (!(widgetInteractions !== null && widgetInteractions !== void 0 && widgetInteractions.length)) {
return undefined;
}
if (_javascript.CHOICE_WIDGET_KIND.includes(widgetInteractions[0].widget_kind)) {
if (!(widgetChoices !== null && widgetChoices !== void 0 && widgetChoices.length)) {
return undefined;
}
return widgetChoices.find(option => option.id === widgetInteractions[0].choice_id);
}
if (!(widgetOptions !== null && widgetOptions !== void 0 && widgetOptions.length)) {
return undefined;
}
return widgetOptions.find(option => widgetInteractions.find(_ref2 => {
let {
option_id
} = _ref2;
return option.id === option_id;
}));
}, [widgetInteractions, widgetOptions]);
}
//# sourceMappingURL=useInteractedWidgetOption.js.map