@livelike/react-native
Version:
LiveLike React Native package
59 lines (58 loc) • 1.79 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.timelineWidgetStoreActions = exports.timelineWidgetStore = void 0;
var _store = require("./store");
const initialTimelineWidgetStoreValue = {};
const timelineWidgetStore = exports.timelineWidgetStore = (0, _store.createStore)(initialTimelineWidgetStoreValue);
const timelineWidgetStoreActions = exports.timelineWidgetStoreActions = {
updateTimelineWidgetStateAction(_ref) {
let {
programId,
widgetTimelineState
} = _ref;
const prevTimelineWidgetsState = timelineWidgetStore.get()[programId];
timelineWidgetStore.set({
...timelineWidgetStore.get(),
[programId]: {
...prevTimelineWidgetsState,
...widgetTimelineState
}
});
},
updateTimelineWidgetsAction(_ref2) {
let {
programId,
widgets,
prepend
} = _ref2;
const prevTimelineWidgetsState = timelineWidgetStore.get()[programId];
let updatedWidgets = (prevTimelineWidgetsState === null || prevTimelineWidgetsState === void 0 ? void 0 : prevTimelineWidgetsState.widgets) ?? [];
const widgetIdSet = new Set();
for (const {
widgetId
} of updatedWidgets) {
widgetIdSet.add(widgetId);
}
const filteredWidgets = widgets.filter(_ref3 => {
let {
widgetId
} = _ref3;
return !widgetIdSet.has(widgetId);
});
if (prepend) {
updatedWidgets = [...filteredWidgets, ...updatedWidgets];
} else {
updatedWidgets = [...updatedWidgets, ...filteredWidgets];
}
timelineWidgetStore.set({
...timelineWidgetStore.get(),
[programId]: {
...prevTimelineWidgetsState,
widgets: updatedWidgets
}
});
}
};
//# sourceMappingURL=timelineWidget.js.map