Skip to content

Commit

Permalink
fixup! feat(typings): initial commit for typings
Browse files Browse the repository at this point in the history
  • Loading branch information
tusharmath committed Jul 17, 2017
1 parent 5919526 commit 7928811
Showing 1 changed file with 52 additions and 47 deletions.
99 changes: 52 additions & 47 deletions index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,118 +9,123 @@ declare module 'fluture' {
interface FunctionReturning<T> {
(...t: any[]): T
}
abstract class Future<T, S> {
fork (reject: RejectFunction<S>, resolve: ResolveFunction<T>): void

interface Cancel {
(): void
}

export abstract class Future<L, R> {
fork (reject: RejectFunction<L>, resolve: ResolveFunction<R>): Cancel
}

function after<T, S> (duration: number, value: string): Future<T, S>
export function after<T, S> (duration: number, value: string): Future<T, S>

export function and<L, R> (a: Future<L, R>, b: Future<L, R>): Future<L, R>

function and<A, B> (a: Future<A, any>, b: Future<B, any>): Future<A | B, any>

// TODO: Need Help
function ap<T, S> (): Future<T, S>
export function ap<T, S> (): Future<T, S>

function attempt<T, S> (f: () => T): Future<T, S>
export function attempt<T, S> (f: () => T): Future<T, S>

function bimap<A, B, AA, BB> (left: (a: A) => AA,
right: (a: B) => BB): Future<AA, any>
export function bimap<A, B, AA, BB> (left: (a: A) => AA,
right: (a: B) => BB): Future<AA, any>

function both<A, B> (a: Future<A, any>, b: Future<B, any>): Future<[A, B], any>
export function both<A, B> (a: Future<A, any>, b: Future<B, any>): Future<[A, B], any>

function cache<T, S> (f: Future<T, any>): Future<T, S>
export function cache<T, S> (f: Future<T, any>): Future<T, S>

function chain<T, S> (fn: (s: S) => Future<Future<T, any>, any>, src: Future<S, any>): Future<T, S>
export function chain<T, S> (fn: (s: S) => Future<Future<T, any>, any>, src: Future<S, any>): Future<T, S>

function encase2<T, S, A, B> (fn: (a: A, b: B) => T, a: A, b: B): Future<T, S>
export function encase2<T, S, A, B> (fn: (a: A, b: B) => T, a: A, b: B): Future<T, S>

function encase3<T, S, A, B, C> (fn: (a: A, b: B, c: C) => T, a: A, b: B, c: C): Future<T, S>
export function encase3<T, S, A, B, C> (fn: (a: A, b: B, c: C) => T, a: A, b: B, c: C): Future<T, S>

function encase<T, S> (fn: FunctionReturning<T>, ...t: any[]): Future<T, S>
function encase<T, S> (fn: FunctionReturning<T>): {(...t: any[]): Future<T, S>}
export function encase<T, S> (fn: FunctionReturning<T>, ...t: any[]): Future<T, S>
export function encase<T, S> (fn: FunctionReturning<T>): {(...t: any[]): Future<T, S>}


// TODO: Need Help
function encaseN2<T, S> (): Future<T, S>
export function encaseN2<T, S> (): Future<T, S>

// TODO: Need Help
function encaseN3<T, S> (): Future<T, S>
export function encaseN3<T, S> (): Future<T, S>

// TODO: Need Help
function encaseN<T, S> (): Future<T, S>
export function encaseN<T, S> (): Future<T, S>

// TODO: Need Help
function encaseP2<T, S> (): Future<T, S>
export function encaseP2<T, S> (): Future<T, S>

// TODO: Need Help
function encaseP3<T, S> (): Future<T, S>
export function encaseP3<T, S> (): Future<T, S>

// TODO: Need Help
function encaseP<T, S> (): Future<T, S>
export function encaseP<T, S> (): Future<T, S>

// TODO: Need Help
function extractLeft<T, S> (): Future<T, S>
export function extractLeft<T, S> (): Future<T, S>

// TODO: Need Help
function extractRight<T, S> (): Future<T, S>
export function extractRight<T, S> (): Future<T, S>

function fold<A, AA, B, BB> (a: (x: A) => AA, b: (x: B) => BB): Future<BB | AA, any>
export function fold<A, AA, B, BB> (a: (x: A) => AA, b: (x: B) => BB): Future<BB | AA, any>

// TODO: Need Help
function fork<T, S> (): Future<T, S>
export function fork<T, S> (): Future<T, S>

// TODO: Need Help
function go<T, S> (): Future<T, S>
export function go<T, S> (): Future<T, S>

// TODO: Need Help
function hook<T, S> (): Future<T, S>
export function hook<T, S> (): Future<T, S>

function isFuture<T, S> (fut: any): boolean
export function isFuture<T, S> (fut: any): boolean

// TODO: Need Help
function isNever<T, S> (): boolean
export function isNever<T, S> (): boolean

// TODO: Need Help
function lastly<T, S> (): Future<T, S>
export function lastly<T, S> (): Future<T, S>

// TODO: Need Help
function map<T, S> (): Future<T, S>
export function map<T, S, M> (fn: (value: T) => M, future: Future<T, S>): Future<M, S>

// TODO: Need Help
function mapRej<T, S> (): Future<T, S>
export function mapRej<T, S> (): Future<T, S>

// TODO: Need Help
function never<T, S> (): Future<T, S>
export function never<T, S> (): Future<T, S>

// TODO: Need Help
function node<T, S> (): Future<T, S>
export function node<T, S> (): Future<T, S>

function of<T, S> (value: T): Future<T, S>
export function of<T, S> (value: T): Future<T, S>

function or<A, B> (a: Future<A, any>, b: Future<B, any>): Future<A | B, any>
export function or<L, R> (a: Future<L, R>, b: Future<L, R>): Future<L, R>

// TODO: Need Help
function par<T, S> (): Future<T, S>
export function par<T, S> (): Future<T, S>

function parallel<T, S> (concurrency: number, futures: Array<Future<any, any>>): Future<Array<T>, any>
export function parallel<T, S> (concurrency: number, futures: Array<Future<any, any>>): Future<Array<T>, any>

function promise<T> (f: Future<T, any>): Promise<T>
export function promise<T> (f: Future<T, any>): Promise<T>

function race<A, B> (a: Future<A, any>, b: Future<B, any>): Future<A | B, any>
export function race<A, B> (a: Future<A, any>, b: Future<B, any>): Future<A | B, any>

function reject<T, S> (value: T): Future<T, S>
export function reject<T, S> (value: T): Future<T, S>

// TODO: Need Help
function rejectAfter<T, S> (): Future<T, S>
export function rejectAfter<T, S> (): Future<T, S>

// TODO: Need Help
function seq<T, S> (): Future<T, S>
export function seq<T, S> (): Future<T, S>

// TODO: Need Help
function swap<T, S> (): Future<T, S>
export function swap<T, S> (): Future<T, S>

// TODO: Need Help
function tryP<T, S> (): Future<T, S>
export function tryP<T, S> (): Future<T, S>

// TODO: Need Help
function value<T, S> (): Future<T, S>
export function value<T, S> (): Future<T, S>
}

0 comments on commit 7928811

Please sign in to comment.