typed-dom
Version:
A value-level and type-level DOM builder.
12 lines (11 loc) • 583 B
TypeScript
import { Functor } from './functor';
export declare abstract class Applicative<a> extends Functor<a> {
abstract fmap<b>(f: (a: a) => b): Applicative<b>;
abstract ap<a, b>(this: Applicative<(a: a) => b>, a: Applicative<a>): Applicative<b>;
abstract bind<b>(f: (a: a) => Applicative<b>): Applicative<b>;
}
export declare namespace Applicative {
function pure<a>(a: a): Applicative<a>;
function ap<a, b>(af: Applicative<(a: a) => b>, aa: Applicative<a>): Applicative<b>;
function ap<a, b>(af: Applicative<(a: a) => b>): (aa: Applicative<a>) => Applicative<b>;
}