From c929c7e210e52d04e5ff91e583a0490e72a5f03f Mon Sep 17 00:00:00 2001 From: Josep M Sobrepere Date: Sun, 21 Jun 2020 15:43:29 +0200 Subject: [PATCH] Remove circular dependencies --- src/SUSPENSE.ts | 1 + src/connectFactoryObservable.ts | 8 ++++---- src/connectObservable.ts | 4 ++-- src/index.tsx | 2 +- src/operators/distinct-share-replay.ts | 3 ++- src/operators/react-enhancer.ts | 3 ++- src/operators/suspend.ts | 2 +- src/useObservable.ts | 3 ++- 8 files changed, 15 insertions(+), 11 deletions(-) create mode 100644 src/SUSPENSE.ts diff --git a/src/SUSPENSE.ts b/src/SUSPENSE.ts new file mode 100644 index 0000000..70fbda4 --- /dev/null +++ b/src/SUSPENSE.ts @@ -0,0 +1 @@ +export const SUSPENSE = Symbol("SUSPENSE") diff --git a/src/connectFactoryObservable.ts b/src/connectFactoryObservable.ts index ed5ac0f..fbcd188 100644 --- a/src/connectFactoryObservable.ts +++ b/src/connectFactoryObservable.ts @@ -1,10 +1,10 @@ import { Observable, NEVER, concat } from "rxjs" -import { BehaviorObservable } from "./BehaviorObservable" import { distinctShareReplay } from "./operators/distinct-share-replay" -import { ConnectorOptions, defaultConnectorOptions } from "./options" -import { SUSPENSE } from "./" -import { useObservable } from "./useObservable" import reactEnhancer from "./operators/react-enhancer" +import { ConnectorOptions, defaultConnectorOptions } from "./options" +import { BehaviorObservable } from "./BehaviorObservable" +import { SUSPENSE } from "./SUSPENSE" +import { useObservable } from "./useObservable" export function connectFactoryObservable< A extends (number | string | boolean | null)[], diff --git a/src/connectObservable.ts b/src/connectObservable.ts index be465b6..777b5af 100644 --- a/src/connectObservable.ts +++ b/src/connectObservable.ts @@ -1,8 +1,8 @@ import { Observable, NEVER, concat } from "rxjs" -import { distinctShareReplay } from "./" +import { distinctShareReplay } from "./operators/distinct-share-replay" +import reactEnhancer from "./operators/react-enhancer" import { useObservable } from "./useObservable" import { ConnectorOptions, defaultConnectorOptions } from "./options" -import reactEnhancer from "./operators/react-enhancer" export function connectObservable( observable: Observable, diff --git a/src/index.tsx b/src/index.tsx index 4e03e4e..c80b52f 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,4 +1,4 @@ -export const SUSPENSE = Symbol("SUSPENSE") +export { SUSPENSE } from "./SUSPENSE" export { BehaviorObservable } from "./BehaviorObservable" export { connectObservable } from "./connectObservable" export { connectFactoryObservable } from "./connectFactoryObservable" diff --git a/src/operators/distinct-share-replay.ts b/src/operators/distinct-share-replay.ts index d15cfac..a1736de 100644 --- a/src/operators/distinct-share-replay.ts +++ b/src/operators/distinct-share-replay.ts @@ -1,5 +1,6 @@ import { Observable, Subscription, Subject } from "rxjs" -import { SUSPENSE, BehaviorObservable } from "../" +import { SUSPENSE } from "../SUSPENSE" +import { BehaviorObservable } from "../BehaviorObservable" function defaultTeardown() {} diff --git a/src/operators/react-enhancer.ts b/src/operators/react-enhancer.ts index 766b8e3..861bd02 100644 --- a/src/operators/react-enhancer.ts +++ b/src/operators/react-enhancer.ts @@ -1,6 +1,7 @@ import { Observable, of, Subscription, Subject, race } from "rxjs" import { delay, takeUntil, take, filter, tap } from "rxjs/operators" -import { BehaviorObservable, SUSPENSE } from "../" +import { BehaviorObservable } from "../BehaviorObservable" +import { SUSPENSE } from "../SUSPENSE" const IS_SSR = typeof window === "undefined" || diff --git a/src/operators/suspend.ts b/src/operators/suspend.ts index 88860f2..ddb7faf 100644 --- a/src/operators/suspend.ts +++ b/src/operators/suspend.ts @@ -1,6 +1,6 @@ import { ObservableInput, from } from "rxjs" import { startWith } from "rxjs/operators" -import { SUSPENSE } from "../" +import { SUSPENSE } from "../SUSPENSE" export const suspend = (source$: ObservableInput) => from(source$).pipe(startWith(SUSPENSE)) diff --git a/src/useObservable.ts b/src/useObservable.ts index 6e6a9f6..2426127 100644 --- a/src/useObservable.ts +++ b/src/useObservable.ts @@ -1,5 +1,6 @@ import { useEffect, useReducer } from "react" -import { BehaviorObservable, SUSPENSE } from "./" +import { SUSPENSE } from "./SUSPENSE" +import { BehaviorObservable } from "./BehaviorObservable" const reducer = ( _: any,