From bb8a0105a15f215bba8a23e59cdf120a3b9f7afe Mon Sep 17 00:00:00 2001 From: Alex Kaminskii Date: Tue, 29 Nov 2022 15:20:16 +0100 Subject: [PATCH] fix(player):export storage selectors --- frontend/app/player/index.ts | 10 +++-- frontend/app/player/web/storageSelectors.ts | 43 +++++++++++++++++++++ 2 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 frontend/app/player/web/storageSelectors.ts diff --git a/frontend/app/player/index.ts b/frontend/app/player/index.ts index 45ac6c40e..0a2df3d82 100644 --- a/frontend/app/player/index.ts +++ b/frontend/app/player/index.ts @@ -1,8 +1,10 @@ -export * from './web/assist/AssistManager'; -export * from './web/assist/LocalStream'; -export * from './web/WebPlayer'; -export * from './web/types'; export * from './common/types'; export * from './create'; + +export * from './web/assist/AssistManager'; +export * from './web/assist/LocalStream'; +export * from './web/WebPlayer'; +export * from './web/storageSelectors'; +export * from './web/types'; export type { MarkedTarget } from './web/TargetMarker' diff --git a/frontend/app/player/web/storageSelectors.ts b/frontend/app/player/web/storageSelectors.ts new file mode 100644 index 000000000..fc6fc7318 --- /dev/null +++ b/frontend/app/player/web/storageSelectors.ts @@ -0,0 +1,43 @@ +import { State } from './Lists' + +enum StorageType { + REDUX = "redux", + MOBX = "mobx", + VUEX = "vuex", + NGRX = "ngrx", + ZUSTAND = "zustand", + NONE = 0, +} + +export const STORAGE_TYPES = StorageType + +export function selectStorageType(state: State): StorageType { + if (!state.reduxList) return STORAGE_TYPES.NONE + if (state.reduxList.length > 0) { + return STORAGE_TYPES.REDUX + } else if (state.vuexList.length > 0) { + return STORAGE_TYPES.VUEX + } else if (state.mobxList.length > 0) { + return STORAGE_TYPES.MOBX + } else if (state.ngrxList.length > 0) { + return STORAGE_TYPES.NGRX + } else if (state.zustandList.length > 0) { + return STORAGE_TYPES.ZUSTAND + } + return STORAGE_TYPES.NONE +} + +export function selectStorageList(state: State) { + const key = selectStorageType(state) + if (key !== StorageType.NONE) { + return state[`${key}List`] + } + return [] +} +export function selectStorageListNow(state: State) { + const key = selectStorageType(state) + if (key !== StorageType.NONE) { + return state[`${key}ListNow`] + } + return [] +}