11export { Xstream } from './xstream'
22export { FantasyX } from './fantasyx'
3+
34export * from './typeclasses/applicative'
45export * from './typeclasses/functor'
56export * from './typeclasses/apply'
@@ -8,130 +9,3 @@ export * from './typeclasses/flatmap'
89export * from './typeclasses/cartesian'
910export * from './typeclasses/semigroup'
1011export * from './typeclasses/traversable'
11- // export function fromPlan<E extends Stream, I, S>(plan: Plan<E, I, S>): FantasyX<E, I, S, void> {
12- // return new FantasyX<E, I, S, void>((intent$: Subject<E, I>) => {
13- // let { update$, actions } = plan(intent$)
14- // return {
15- // actions,
16- // update$: streamOps.map<Update<S>, State<S, void>>(
17- // f => State.modify<S>(f), update$
18- // )
19- // }
20- // })
21- // }
22-
23- // export function fromEvent<E extends Stream, I extends Event, S>(
24- // type: string, name: string, defaultVal?: string
25- // ): FantasyX<E, I, S, string> {
26- // return new FantasyX<E, I, S, string>(intent$ => {
27- // return {
28- // update$: streamOps.merge<State<S, string>>(
29- // typeof defaultVal != 'undefined' ? streamOps.just<State<S, string>>(State.pure<S, string>(defaultVal)) : streamOps.empty<State<S, string>>(),
30- // streamOps.map<Event, State<S, string>>(
31- // e => State.pure<S, string>((e.target as HTMLFormElement).value),
32- // streamOps.filter<I>(i => {
33- // let target = i.target as HTMLFormElement
34- // return target.tagName == 'INPUT' && target.name == name
35- // }, (intent$ as _<I>[E])))
36- // )
37- // }
38- // })
39- // }
40-
41- // export function pure<E extends Stream, I, S, A>(a: A) {
42- // return new FantasyX<E, I, S, A>(intent$ => {
43- // return {
44- // update$: streamOps.just<State<S, A>>(State.pure<S, A>(a))
45- // }
46- // })
47- // }
48-
49- // export function ap<E extends Stream, I, S, A, B>(
50- // ff: FantasyX<E, I, S, (a: A) => B>,
51- // fa: FantasyX<E, I, S, A>
52- // ): FantasyX<E, I, S, B> {
53- // return ff.combine((f, a) => f(a), fa)
54- // }
55-
56- // export function empty<E extends Stream, I, S, A>() {
57- // return new FantasyX<E, I, S, A>(intent$ => {
58- // return {
59- // update$: streamOps.empty<State<S, A>>()
60- // }
61- // })
62- // }
63-
64- // export function map<E extends Stream, I, S, A, B>(
65- // f: (s: A) => B, fa: FantasyX<E, I, S, A>
66- // ): FantasyX<E, I, S, B> {
67- // return fa.map(f)
68- // }
69-
70-
71- // export function traverse<E extends Stream, I, S, A>(
72- // f: (a: A, index?: number) => FantasyX<E, I, S, A>, xs: A[]
73- // ): FantasyX<E, I, S, A[]> {
74- // return xs.reduce((acc, i, index) => acc.concat(f(i, index).map(x => [x])), pure<E, I, S, A[]>([]))
75- // }
76-
77- // export function fold<E extends Stream, I, S, A, B>(
78- // f: (acc: B, i: A) => B, base: B, fa: FantasyX<E, I, S, A>
79- // ): FantasyX<E, I, S, B> {
80- // return fa.fold(f, base)
81- // }
82-
83- // export function lift<E extends Stream, I, S, A, B>(
84- // f: (s: A) => B
85- // ): (fa: FantasyX<E, I, S, A>) => FantasyX<E, I, S, B> {
86- // return fa => fa.map(f)
87- // }
88-
89- // export function lift2<E extends Stream, I, S, A, B, C>(
90- // f: (a: A, b: B) => C
91- // ): (fa1: FantasyX<E, I, S, A>, fa2: FantasyX<E, I, S, B>) => FantasyX<E, I, S, C> {
92- // return (fa1, fa2) => fa1.combine(f, fa2)
93- // }
94-
95- // export function lift3<E extends Stream, I, S, A, B, C, D>(
96- // f: (a: A, b: B, c: C) => D
97- // ): (fa1: FantasyX<E, I, S, A>, fa2: FantasyX<E, I, S, B>, fa3: FantasyX<E, I, S, C>) => FantasyX<E, I, S, D> {
98- // return (fa1, fa2, fa3) => fa1.combine3(f, fa2, fa3)
99- // }
100-
101- // export function lift4<E extends Stream, I, S, A, B, C, D, F>(
102- // f: (a: A, b: B, c: C, d: D) => F
103- // ): (fa1: FantasyX<E, I, S, A>, fa2: FantasyX<E, I, S, B>, fa3: FantasyX<E, I, S, C>, fa4: FantasyX<E, I, S, D>) => FantasyX<E, I, S, F> {
104- // return (fa1, fa2, fa3, fa4) => fa1.combine4(f, fa2, fa3, fa4)
105- // }
106-
107- // export function lift5<E extends Stream, I, S, A, B, C, D, F, G>(
108- // f: (
109- // s1: A,
110- // s2: B,
111- // s3: C,
112- // s4: D,
113- // s5: F
114- // ) => G
115- // ): (
116- // fa1: FantasyX<E, I, S, A>,
117- // fa2: FantasyX<E, I, S, B>,
118- // fa3: FantasyX<E, I, S, C>,
119- // fa4: FantasyX<E, I, S, D>,
120- // fa5: FantasyX<E, I, S, F>
121- // ) => FantasyX<E, I, S, G> {
122- // return (fa1, fa2, fa3, fa4, fa5) => fa1.combine5(f, fa2, fa3, fa4, fa5)
123- // }
124-
125- // export function concat<E extends Stream, I, S, A>(
126- // fa: FantasyX<E, I, S, A>,
127- // fb: FantasyX<E, I, S, A>
128- // ): FantasyX<E, I, S, A> {
129- // return fa.concat(fb)
130- // }
131-
132- // export function merge<E extends Stream, I, S, A, B>(
133- // fa: FantasyX<E, I, S, A>,
134- // fb: FantasyX<E, I, S, B>
135- // ): FantasyX<E, I, S, A | B> {
136- // return fa.merge(fb)
137- // }
0 commit comments