openreplay/frontend/app/player/web/storageSelectors.ts
Андрей Бабушкин b822b1c067 applied eslint
2025-02-26 20:31:01 +01:00

42 lines
1 KiB
TypeScript

import { State } from './Lists';
export enum StorageType {
REDUX = 'redux',
MOBX = 'mobx',
VUEX = 'vuex',
NGRX = 'ngrx',
ZUSTAND = 'zustand',
NONE = 0,
}
export const STORAGE_TYPES = StorageType; // TODO: update name everywhere
export function selectStorageType(state: State): StorageType {
if (state.reduxList?.length > 0) {
return StorageType.REDUX;
} if (state.vuexList?.length > 0) {
return StorageType.VUEX;
} if (state.mobxList?.length > 0) {
return StorageType.MOBX;
} if (state.ngrxList?.length > 0) {
return StorageType.NGRX;
} if (state.zustandList?.length > 0) {
return StorageType.ZUSTAND;
}
return StorageType.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 [];
}