Brings back Fluture's fluent method API, for the nostalgic developer.
$ npm install --save fluenture
On Node 12 and up, this module can be loaded directly with import
or
require
. On Node versions below 12, require
or the esm-loader can
be used.
You can load the EcmaScript module from various content delivery networks:
There's a UMD file included in the NPM package, also available via jsDelivr: https://cdn.jsdelivr.net/npm/[email protected]/dist/umd.js
This file adds fluenture
to the global scope, or use CommonJS/AMD
when available.
import {resolve, reject} from 'fluture';
import {fluent} from 'fluenture';
fluent (resolve (42))
.map (x => x / 2)
.chain (x => reject (x + 21))
.swap ()
.fork (console.error, console.log)
We're using the Fluenture a b
type here to denote instances of Future
that were enhanced with a fluent method API. One can think of the
Fluenture
type as a subtype of Future
: any instances of it are also
instances of Future
.
Enhance a Future with the fluent method API.
This function is idempotent.
Strip a fluent Future (or "Fluenture") from its method API.
This function is idempotent.
This function is equivalent to Fluture's built-in pipe
function, with
once exception; If a Future is returned from the given function, it is
automatically wrapped using fluent
, so as to keep the fluent
method chain intact.
Fluent pipe
.
Fluent alt
.
Fluent and
.
Fluent ap
.
Fluent bichain
.
Fluent bimap
.
Fluent both
.
Fluent cache
.
Fluent chain
.
Fluent chainRej
.
Fluent coalesce
.
Fluent lastly
.
Fluent map
.
Fluent mapRej
.
Fluent pap
.
Fluent race
.
Fluent swap
.
Fluent done
.
Fluent fork
.
Fluent forkCatch
.
Fluent promise
.
Fluent value
.