UNPKG

@jsoldi/hkt

Version:

Higher kinded types for typescript and a few utility monads.

25 lines 1.04 kB
import { monad } from "../../classes/monad.js"; import { memo } from "../../core/utils.js"; import { free } from "../free/free.js"; import { contCore } from "./contCore.js"; import { contFunctorFree } from "./contFunctorFree.js"; import { contMonad } from "./contMonad.js"; import { contMonadFree } from "./contMonadFree.js"; import { contVoid } from "./contVoid.js"; /** The continuation factory. */ export const cont = (() => { const getTrivial = memo(() => contMonad(monad.trivial)); const getTrampoline = memo(() => contMonadFree(free.trampoline)); const getTrampolineAsync = memo(() => contMonadFree(free.trampolineAsync)); return { get trivial() { return getTrivial(); }, get void() { return contVoid; }, get trampoline() { return getTrampoline(); }, get trampolineAsync() { return getTrampolineAsync(); }, ofType: contCore, ofMonad: contMonad, ofFunctorFree: contFunctorFree, ofMonadFree: contMonadFree, }; })(); //# sourceMappingURL=cont.js.map