Improve distinctShareReplay

This commit is contained in:
Josep M Sobrepere 2020-06-23 00:10:59 +02:00
parent beee11d93a
commit aec21425df
4 changed files with 20 additions and 8 deletions

View File

@ -1,9 +1,18 @@
import { Observable } from "rxjs"
import { distinctShareReplay as internalDistinctShareReplay } from "./operators/distinct-share-replay"
// support for React Suspense
export { SUSPENSE } from "./SUSPENSE"
export { BehaviorObservable } from "./BehaviorObservable"
export { connectObservable } from "./connectObservable"
export { connectFactoryObservable } from "./connectFactoryObservable"
export { distinctShareReplay } from "./operators/distinct-share-replay"
export { createInput } from "./createInput"
export { suspend } from "./operators/suspend"
export { suspended } from "./operators/suspended"
export { switchMapSuspended } from "./operators/switchMapSuspended"
// core
export { connectObservable } from "./connectObservable"
export { connectFactoryObservable } from "./connectFactoryObservable"
export const distinctShareReplay = internalDistinctShareReplay as <T>(
compareFn?: (a: T, b: T) => boolean,
) => (source$: Observable<T>) => Observable<T>
// utils
export { createInput } from "./createInput"

View File

@ -1,4 +1,5 @@
import { BehaviorObservable, distinctShareReplay, SUSPENSE } from "../../src"
import { distinctShareReplay, SUSPENSE } from "../../src"
import { BehaviorObservable } from "../../src/BehaviorObservable"
import { EMPTY_VALUE } from "../../src/operators/distinct-share-replay"
import { cold } from "jest-marbles"
import { TestScheduler } from "rxjs/testing"

View File

@ -1,5 +1,6 @@
import reactEnhancer from "../../src/operators/react-enhancer"
import { BehaviorObservable, distinctShareReplay, SUSPENSE } from "../../src"
import { distinctShareReplay, SUSPENSE } from "../../src"
import { BehaviorObservable } from "../../src/BehaviorObservable"
import { TestScheduler } from "rxjs/testing"
import { Subject } from "rxjs"

View File

@ -4,7 +4,8 @@ import { defer, of, Subject, NEVER, concat } from "rxjs"
import { renderHook, act } from "@testing-library/react-hooks"
import { useObservable } from "../src/useObservable"
import reactEnhancer from "../src/operators/react-enhancer"
import { SUSPENSE, BehaviorObservable, distinctShareReplay } from "../src"
import { SUSPENSE, distinctShareReplay } from "../src"
import { BehaviorObservable } from "../src/BehaviorObservable"
const wait = (ms: number) => new Promise(res => setTimeout(res, ms))