File tree Expand file tree Collapse file tree 2 files changed +16
-3
lines changed Expand file tree Collapse file tree 2 files changed +16
-3
lines changed Original file line number Diff line number Diff line change @@ -14,7 +14,17 @@ describe("createListener", () => {
1414 onFooBar ( 0 , "1" )
1515 expect ( receivedValue ) . toEqual ( { foo : 0 , bar : "1" } )
1616 } )
17- it ( 'returns a tuple with a void observable and its corresponding event-emitter when no "event creator" is provided' , ( ) => {
17+ it ( 'returns a tuple with a typed observable and its corresponding event-emitter when no "event creator" is provided' , ( ) => {
18+ const [ foo$ , onFoo ] = createListener < string > ( )
19+ let receivedValue
20+ foo$ . subscribe ( ( val ) => {
21+ receivedValue = val
22+ } )
23+ expect ( receivedValue ) . toBe ( undefined )
24+ onFoo ( "foo" )
25+ expect ( receivedValue ) . toEqual ( "foo" )
26+ } )
27+ it ( 'returns a tuple with a void observable and its corresponding event-emitter when no "event creator" and no type is provided' , ( ) => {
1828 const [ clicks$ , onClick ] = createListener ( )
1929 let count = 0
2030 clicks$ . subscribe ( ( ) => {
Original file line number Diff line number Diff line change 11import { Observable , Subject } from "rxjs"
22
3- const defaultMapper : any = ( ) => { }
3+ const defaultMapper : any = ( v : unknown ) => v
44
55export function createListener < A extends unknown [ ] , T > (
66 mapper : ( ...args : A ) => T ,
77) : [ Observable < T > , ( ...args : A ) => void ]
8- export function createListener ( ) : [ Observable < void > , ( ) => void ]
8+ export function createListener < T = void > ( ) : [
9+ Observable < T > ,
10+ ( payload : T ) => void ,
11+ ]
912
1013export function createListener < A extends unknown [ ] , T > (
1114 mapper : ( ...args : A ) => T = defaultMapper ,
You can’t perform that action at this time.
0 commit comments