UNPKG

@livelike/react-native

Version:

LiveLike React Native package

59 lines (58 loc) 1.79 kB
"use strict"; 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