mirror of
https://github.com/reduxjs/redux-devtools.git
synced 2025-07-27 00:19:55 +03:00
Resolve Symbol.observable at store creation time
This commit is contained in:
parent
4ca5e23253
commit
8c48a73c28
|
@ -0,0 +1,3 @@
|
|||
export default function getSymbolObservable() {
|
||||
return (typeof Symbol === 'function' && Symbol.observable) || '@@observable';
|
||||
}
|
|
@ -1,16 +1,16 @@
|
|||
import difference from 'lodash/difference';
|
||||
import union from 'lodash/union';
|
||||
import isPlainObject from 'lodash/isPlainObject';
|
||||
import $$observable from './symbol-observable';
|
||||
import {
|
||||
Action,
|
||||
Observable,
|
||||
Observer,
|
||||
PreloadedState,
|
||||
Reducer,
|
||||
Store,
|
||||
StoreEnhancer,
|
||||
StoreEnhancerStoreCreator,
|
||||
} from 'redux';
|
||||
import getSymbolObservable from './getSymbolObservable';
|
||||
|
||||
export const ActionTypes = {
|
||||
PERFORM_ACTION: 'PERFORM_ACTION',
|
||||
|
@ -903,6 +903,8 @@ export function unliftStore<
|
|||
return action;
|
||||
}
|
||||
|
||||
const $$observable = getSymbolObservable();
|
||||
|
||||
return {
|
||||
liftedStore,
|
||||
|
||||
|
@ -924,10 +926,9 @@ export function unliftStore<
|
|||
);
|
||||
},
|
||||
|
||||
[$$observable](): Observable<S> {
|
||||
[$$observable]() {
|
||||
return {
|
||||
...(liftedStore as any)[$$observable](),
|
||||
subscribe(observer) {
|
||||
subscribe(observer: Observer<S>) {
|
||||
if (typeof observer !== 'object') {
|
||||
throw new TypeError('Expected the observer to be an object.');
|
||||
}
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
declare global {
|
||||
interface SymbolConstructor {
|
||||
readonly observable: symbol;
|
||||
}
|
||||
}
|
||||
|
||||
const $$observable = /* #__PURE__ */ (() =>
|
||||
(typeof Symbol === 'function' && Symbol.observable) || '@@observable')();
|
||||
|
||||
export default $$observable;
|
Loading…
Reference in New Issue
Block a user