UNPKG

@livelike/react-native

Version:

LiveLike React Native package

53 lines 1.57 kB
import { createStore } from './store'; const initialTimelineWidgetStoreValue = {}; export const timelineWidgetStore = createStore(initialTimelineWidgetStoreValue); export const 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