Skip to content

Commit 89d4d46

Browse files
committed
Merge remote-tracking branch 'upstream/master' into fix/event-callback-observables-order
2 parents 9f079a9 + e3f671d commit 89d4d46

File tree

3 files changed

+1325
-1178
lines changed

3 files changed

+1325
-1178
lines changed

package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,29 +21,29 @@
2121
"url": "[email protected]:LeetCode-OpenSource/rxjs-hooks.git"
2222
},
2323
"devDependencies": {
24-
"@types/jest": "^24.0.23",
24+
"@types/jest": "^25.1.0",
2525
"@types/lodash": "^4.14.149",
2626
"@types/react-dom": "^16.9.4",
2727
"@types/react-test-renderer": "^16.9.1",
2828
"@types/sinon": "^7.5.1",
2929
"@types/sinon-chai": "^3.2.3",
3030
"@types/webpack": "^4.41.0",
3131
"codecov": "^3.6.1",
32-
"fork-ts-checker-webpack-plugin": "^3.1.1",
32+
"fork-ts-checker-webpack-plugin": "^4.0.1",
3333
"happypack": "^5.0.1",
3434
"html-webpack-plugin": "^3.2.0",
35-
"husky": "^3.1.0",
36-
"jest": "^24.9.0",
37-
"lint-staged": "^9.5.0",
35+
"husky": "^4.0.0",
36+
"jest": "^25.1.0",
37+
"lint-staged": "^10.0.1",
3838
"prettier": "^1.19.1",
3939
"react": "16.12.0",
4040
"react-dom": "16.12.0",
4141
"react-test-renderer": "16.12.0",
4242
"rxjs": "^6.5.3",
43-
"sinon": "^7.5.0",
43+
"sinon": "^9.0.0",
4444
"source-map-loader": "^0.2.4",
4545
"standard": "^14.3.1",
46-
"ts-jest": "^24.2.0",
46+
"ts-jest": "^25.0.0",
4747
"ts-loader": "^6.2.1",
4848
"tslint": "^5.20.1",
4949
"tslint-config-prettier": "^1.18.0",

src/use-observable.ts

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,13 @@ import useConstant from 'use-constant'
44

55
import { RestrictArray } from './type'
66

7-
export type InputFactory<State, Inputs = undefined> = Inputs extends undefined
8-
? (state$: Observable<State>) => Observable<State>
9-
: (inputs$: Observable<RestrictArray<Inputs>>, state$: Observable<State>) => Observable<State>
10-
11-
export function useObservable<State>(inputFactory: InputFactory<State>): State | null
12-
export function useObservable<State>(inputFactory: InputFactory<State>, initialState: State): State
13-
export function useObservable<State, Inputs>(
14-
inputFactory: InputFactory<State, Inputs>,
15-
initialState: State,
16-
inputs: RestrictArray<Inputs>,
17-
): State
18-
7+
export type InputFactory<State> = (state$: Observable<State>) => Observable<State>;
8+
export type InputFactoryWithInputs<State, Inputs> = (inputs$: Observable<RestrictArray<Inputs>>, state$: Observable<State>) => Observable<State>;
9+
export function useObservable<State>(inputFactory: InputFactory<State>): State | null;
10+
export function useObservable<State>(inputFactory: InputFactory<State>, initialState: State): State;
11+
export function useObservable<State, Inputs>(inputFactory: InputFactoryWithInputs<State, Inputs>, initialState: State, inputs: RestrictArray<Inputs>): State;
1912
export function useObservable<State, Inputs extends ReadonlyArray<any>>(
20-
inputFactory: InputFactory<State, Inputs>,
13+
inputFactory: InputFactoryWithInputs<State, Inputs>,
2114
initialState?: State,
2215
inputs?: RestrictArray<Inputs>,
2316
): State | null {
@@ -38,7 +31,7 @@ export function useObservable<State, Inputs extends ReadonlyArray<any>>(
3831
state$: Observable<State | undefined>,
3932
) => Observable<State>)(inputs$, state$) as BehaviorSubject<State>
4033
} else {
41-
output$ = (inputFactory as (state$: Observable<State | undefined>) => Observable<State>)(
34+
output$ = (inputFactory as unknown as (state$: Observable<State | undefined>) => Observable<State>)(
4235
state$,
4336
) as BehaviorSubject<State>
4437
}

0 commit comments

Comments
 (0)