Home Reference Source Repository
import {Monad} from 'monad-ts/src/monad.js'
public class | source

Monad

Implements:

Class Monad - Base abstract class.

Method Summary

Public Methods
public abstract

bind(f: MF<T, U>|D<T>, v: *): Promise<U> | Pr<U> | Error | boolean | void

Binds transformation function and underlying value to the monad.

Protected Methods
protected

fail(e: Error | string): Error

Takes Error or string return Error.

protected

just(f: function(v: T), v: T): Pr<U>

Produces result after execution f(v).

Public Methods

public abstract bind(f: MF<T, U>|D<T>, v: *): Promise<U> | Pr<U> | Error | boolean | void source

Binds transformation function and underlying value to the monad.

Params:

NameTypeAttributeDescription
f MF<T, U>|D<T>

transformation function.

v *

underlying value.

Return:

Promise<U> | Pr<U> | Error | boolean | void

Protected Methods

protected fail(e: Error | string): Error source

Takes Error or string return Error.

Params:

NameTypeAttributeDescription
e Error | string

Error obj. or string.

Return:

Error

protected just(f: function(v: T), v: T): Pr<U> source

Produces result after execution f(v).

Params:

NameTypeAttributeDescription
f function(v: T)

transformation function for a monad.

v T

underlying value.

Return:

Pr<U>

extracts transformed value by f(v).