
Security News
PEP 810 Proposes Explicit Lazy Imports for Python 3.15
An opt-in lazy import keyword aims to speed up Python startups, especially CLIs, without the ecosystem-wide risks that sank PEP 690.
fluture-observe
Advanced tools
Consume a Fluture Future, observing changes to its state as the consumption is happening.
$ npm install --save fluture-observe
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/fluture-observe@1.1.1/dist/umd.js
This file adds flutureObserve
to the global scope, or use CommonJS/AMD
when available.
import {observe, cata} from 'fluture-observe/index.js';
const consume = observe (cata ({
Idle: () => {
console.log ('Computation is idle.');
},
Pending: cancel => {
console.log ('Computation is pending. Send SIGINT to cancel it');
process.once ('SIGINT', cancel);
},
Canceled: future => {
console.log ('Computation was canceled. Send SIGINT to restart it');
process.once ('SIGINT', () => consume (future));
},
Crashed: error => {
console.error ('I am sorry to inform you:', error);
process.exit (1);
},
Rejected: reason => {
console.log ('The computation rejected with reason', reason);
},
Resolved: value => {
console.log ('The computation resolved with value', value);
}
}));
Computation :: Type
A Daggy tagged union type representing the state of the consumption of
a Future. The Cancel
and Future
types below are imported
types from Fluture.
data Computation a b = Idle
| Pending Cancel
| Cancelled (Future a b)
| Crashed Error
| Rejected a
| Resolved b
Constructor details are documented below.
Idle :: Computation a b
Represents a not running computation.
Pending :: Cancel -> Computation a b
Represents a running computation which can be cancelled.
Canceled :: Future a b -> Computation a b
Represents a computation that was cancelled and can be restarted.
Crashed :: Error -> Computation a b
Represents a computation which encountered an exception while running.
Rejected :: a -> Computation a b
Represents a computation which rejected with a reason.
Resolved :: b -> Computation a b
Represents a computation which resolved with a value.
cata :: { Idle :: () -> c, Pending :: Cancel -> c, Canceled :: Future a b -> c, Crashed :: Error -> c, Rejected :: a -> c, Resolved :: b -> c } -> Computation a b -> c
Daggy's catamorphism as a curried function.
observe :: (Computation a b -> Any) -> Future a b -> Undefined
Consume a Future, observing changes to its state. See usage.
FAQs
Consume a Future, observing changes to its state
We found that fluture-observe demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
An opt-in lazy import keyword aims to speed up Python startups, especially CLIs, without the ecosystem-wide risks that sank PEP 690.
Security News
Socket CEO Feross Aboukhadijeh discusses the recent npm supply chain attacks on PodRocket, covering novel attack vectors and how developers can protect themselves.
Security News
Maintainers back GitHub’s npm security overhaul but raise concerns about CI/CD workflows, enterprise support, and token management.