Skip to content

Commit 1dc24d3

Browse files
committed
Add TypeScript type declaration
1 parent abf5f27 commit 1dc24d3

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

index.d.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { Middleware, Action } from 'redux'
2+
import { Stream } from 'xstream'
3+
import { Sources, Sinks } from '@cycle/run'
4+
5+
type CycleMiddleware = Middleware & {
6+
makeActionDriver<T>(): (outgoing$: Stream<Action>) => T
7+
makeStateDriver<T>(): () => T
8+
}
9+
10+
type Main<So, Si> = (sources: So) => Si
11+
12+
export function createCycleMiddleware(): CycleMiddleware
13+
14+
export function combineCycles<A1 extends Sources, A2 extends Sinks>(main: Main<A1, A2>[]): Main<A1, A2>
15+
export function combineCycles<A1 extends Sources, A2 extends Sinks, B1 extends Sources, B2 extends Sinks>(main1: Main<A1, A2>, main2: Main<B1, B2>): Main<A1 & B1, A2 & B2>
16+
export function combineCycles<A1 extends Sources, A2 extends Sinks, B1 extends Sources, B2 extends Sinks, C1 extends Sources, C2 extends Sinks>(main1: Main<A1, A2>, main2: Main<B1, B2>, main3: Main<C1, C2>): Main<A1 & B1 & C1, A2 & B2 & C2>
17+
export function combineCycles<A1 extends Sources, A2 extends Sinks, B1 extends Sources, B2 extends Sinks, C1 extends Sources, C2 extends Sinks, D1 extends Sources, D2 extends Sinks>(main1: Main<A1, A2>, main2: Main<B1, B2>, main3: Main<C1, C2>, main4: Main<D1, D2>): Main<A1 & B1 & C1 & D1, A2 & B2 & C2 & D2>
18+
export function combineCycles<A1 extends Sources, A2 extends Sinks, B1 extends Sources, B2 extends Sinks, C1 extends Sources, C2 extends Sinks, D1 extends Sources, D2 extends Sinks, E1 extends Sources, E2 extends Sinks>(main1: Main<A1, A2>, main2: Main<B1, B2>, main3: Main<C1, C2>, main4: Main<D1, D2>, main5: Main<E1, E2>): Main<A1 & B1 & C1 & D1 & E1, A2 & B2 & C2 & D2 & E2>
19+
export function combineCycles<A1 extends Sources, A2 extends Sinks, B1 extends Sources, B2 extends Sinks, C1 extends Sources, C2 extends Sinks, D1 extends Sources, D2 extends Sinks, E1 extends Sources, E2 extends Sinks, F1 extends Sources, F2 extends Sinks>(main1: Main<A1, A2>, main2: Main<B1, B2>, main3: Main<C1, C2>, main4: Main<D1, D2>, main5: Main<E1, E2>, main6: Main<F1, F2>): Main<A1 & B1 & C1 & D1 & E1 & F1, A2 & B2 & C2 & D2 & E2 & F2>
20+
export function combineCycles<A1 extends Sources, A2 extends Sinks, B1 extends Sources, B2 extends Sinks, C1 extends Sources, C2 extends Sinks, D1 extends Sources, D2 extends Sinks, E1 extends Sources, E2 extends Sinks, F1 extends Sources, F2 extends Sinks, G1 extends Sources, G2 extends Sinks>(main1: Main<A1, A2>, main2: Main<B1, B2>, main3: Main<C1, C2>, main4: Main<D1, D2>, main5: Main<E1, E2>, main6: Main<F1, F2>, main7: Main<G1, G2>): Main<A1 & B1 & C1 & D1 & E1 & F1 & G1, A2 & B2 & C2 & D2 & E2 & F2 & G2>
21+
export function combineCycles<A1 extends Sources, A2 extends Sinks, B1 extends Sources, B2 extends Sinks, C1 extends Sources, C2 extends Sinks, D1 extends Sources, D2 extends Sinks, E1 extends Sources, E2 extends Sinks, F1 extends Sources, F2 extends Sinks, G1 extends Sources, G2 extends Sinks, H1 extends Sources, H2 extends Sinks>(main1: Main<A1, A2>, main2: Main<B1, B2>, main3: Main<C1, C2>, main4: Main<D1, D2>, main5: Main<E1, E2>, main6: Main<F1, F2>, main7: Main<G1, G2>, main8: Main<H1, H2>): Main<A1 & B1 & C1 & D1 & E1 & F2 & G2 & H2, A2 & B2 & C2 & D2 & E2 & F2 & G2 & H2>
22+
export function combineCycles<A1 extends Sources, A2 extends Sinks, B1 extends Sources, B2 extends Sinks, C1 extends Sources, C2 extends Sinks, D1 extends Sources, D2 extends Sinks, E1 extends Sources, E2 extends Sinks, F1 extends Sources, F2 extends Sinks, G1 extends Sources, G2 extends Sinks, H1 extends Sources, H2 extends Sinks, I1 extends Sources, I2 extends Sinks>(main1: Main<A1, A2>, main2: Main<B1, B2>, main3: Main<C1, C2>, main4: Main<D1, D2>, main5: Main<E1, E2>, main6: Main<F1, F2>, main7: Main<G1, G2>, main8: Main<H1, H2>, main9: Main<I1, I2>): Main<A1 & B1 & C1 & D1 & E1 & F1 & G1 & H1 & I1, A2 & B2 & C2 & D2 & E2 & F2 & G2 & H2 & I2>

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"name": "redux-cycles",
33
"version": "0.4.0",
44
"description": "Bring functional reactive programming to Redux using Cycle.js",
5+
"typings": "index.d.ts",
56
"main": "dist",
67
"files": [
78
"dist"

0 commit comments

Comments
 (0)