Skip to content

Commit 9958bdf

Browse files
authored
Merge pull request #37 from goodmind/master
Add TypeScript type declaration
2 parents 4491180 + 1dc24d3 commit 9958bdf

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)