From b995fa8441e06dc755fd4b940be23c892ec18e20 Mon Sep 17 00:00:00 2001 From: Alex Kaminskii Date: Tue, 22 Nov 2022 17:27:54 +0100 Subject: [PATCH] fix(player):actually wrap store instead of state & MessageManager init fix --- frontend/app/player/_web/MessageManager.ts | 2 +- frontend/app/player/create.ts | 24 ++++++++++------------ 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/frontend/app/player/_web/MessageManager.ts b/frontend/app/player/_web/MessageManager.ts index 8eeb74f19..b092483e2 100644 --- a/frontend/app/player/_web/MessageManager.ts +++ b/frontend/app/player/_web/MessageManager.ts @@ -126,7 +126,7 @@ export default class MessageManager extends Screen { this.sessionStart = this.session.startedAt this.lists = new Lists(initialLists) - initialLists && initialLists.event.forEach((e: Record) => { // TODO: to one of "Moveable" module + initialLists?.event?.forEach((e: Record) => { // TODO: to one of "Moveable" module if (e.type === EVENT_TYPES.LOCATION) { this.locationEventManager.append(e); } diff --git a/frontend/app/player/create.ts b/frontend/app/player/create.ts index c212fd769..2bb60f7a9 100644 --- a/frontend/app/player/create.ts +++ b/frontend/app/player/create.ts @@ -4,31 +4,29 @@ import type { Store } from './player/types' import WebPlayer, { State as WebState} from './_web/WebPlayer' type WebPlayerStore = Store -export type IWebState = WebState export type IWebPlayer = WebPlayer export type IWebPlayerStore = WebPlayerStore -export function createWebPlayer(session: Record, wrapState?: (s:IWebState) => IWebState): [IWebPlayer, IWebPlayerStore] { - let state: WebState = { +export function createWebPlayer(session: Record, wrapStore?: (s:IWebPlayerStore) => IWebPlayerStore): [IWebPlayer, IWebPlayerStore] { + let store: WebPlayerStore = new SimpleStore({ ...WebPlayer.INITIAL_STATE, + }) + if (wrapStore) { + store = wrapStore(store) } - if (wrapState) { - state = wrapState(state) - } - const store: WebPlayerStore = new SimpleStore(state) const player = new WebPlayer(store, session, null, false) return [player, store] } -export function createLiveWebPlayer(session: Record, config: RTCIceServer[], wrapState?: (s:IWebState) => IWebState): [IWebPlayer, IWebPlayerStore] { - let state: WebState = { + +export function createLiveWebPlayer(session: Record, config: RTCIceServer[], wrapStore?: (s:IWebPlayerStore) => IWebPlayerStore): [IWebPlayer, IWebPlayerStore] { + let store: WebPlayerStore = new SimpleStore({ ...WebPlayer.INITIAL_STATE, + }) + if (wrapStore) { + store = wrapStore(store) } - if (wrapState) { - state = wrapState(state) - } - const store: WebPlayerStore = new SimpleStore(state) const player = new WebPlayer(store, session, config, true) return [player, store]