A JavaScript/TypeScript library providing concurrency primitives (Coroutine, Channel, select, AtomicPromise, Cancellation), functional utilities (Maybe, Either, Sequence, Cache), and data structures (List, Queue, Stack, MultiMap). Current stable version is 0.0.810, with ongoing active development. It focuses on structured concurrency and monadic patterns, offering Supervisor-based error handling and cancellation. Differentiators include a unique channel-based coroutine system and a wide range of utility modules in a single package. Targeted at modern browsers (Chrome, Firefox, Edge Chromium) and Node.js environments.
npm install spicaNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Demonstrates creating a Channel, sending a value, using select to receive from channel with a timeout, and executing within a Supervisor.
Use provided primitives consistently; avoid combining with raw Promise constructs unless converted via AtomicPromise.
Change import { Cache } from 'spica/cache' to import { Cache } from 'spica'.Migrate usage from Observer to Coaggregator.
Use ES module imports (import statements) or upgrade to a version that supports CJS (if available).
Update code to handle synchronous iteration results.
Use import { Cache } from 'spica' instead of import { Cache } from 'spica/cache'.Ensure you are using ES module import statements: import { Coroutine } from 'spica'.Verify the import path and ensure the library is correctly installed and imported.
No dependency data recorded yet.