Skip to content
Keith Rosenberg edited this page Jul 21, 2014 · 106 revisions

co libraries

Libraries that support Co via thunk or promise style return values:

  • co-child-process - spawn a child process with stdin support
  • co-prompt - terminal user input utilities
  • co-walk - walk a file tree and return a list of files
  • check-sum - assert multiple checksums on a stream in parallel
  • cogent - simpler HTTP requests using co
  • hash-stream - yield the hash of a stream or file
  • moko - generator powered models
  • octokit.js - a GitHub API client using promises
  • pswd - hash and compare passwords with pbkdf2
  • raw-body - get and validate the raw body of a readable stream
  • save-to - save a stream to a file
  • unglob - unglob a list of files/globs based on a directory or another list of files

HTTP Servers

Libraries specifically for use with HTTP servers.

  • body - Parse HTTP requests bodies with thunks
  • co-body - parse request bodies
  • co-busboy - parse multipart bodies
  • co-multipart - parse multipart bodies and save to disk
  • co-render - template rendering built on consolidate.js
  • co-views - higher level template rendering based on co-render
  • koa - Expressive middleware for node.js using generators

Flow Control

  • co-assert-timeout - Assert a timeout on a thunk or generator function
  • co-control - Kick off async processes but don't pause code execution until you need the result.
  • co-defer – setImmediate and stuff with generators
  • co-each - parallel foreach
  • co-first – Yield the first async value returned for the co generator library
  • co-flow – Flexible execution flow addons (all, any, wait) for co
  • co-gate – Gate module to guard asynchronous API with a callback
  • co-gather - similar with co-parallel, but will gather all the results even error happened
  • co-limiter - Limits how many generators can be ran at the same time
  • co-parallel - parallel execution with concurrency support
  • co-priority-queue - A simple priority queue
  • co-process - Concurrent producer/consumer processing
  • co-queue - A FIFO queue
  • co-read - consume readable streams
  • co-retry - Automatically retry generators that fail
  • co-select – Yield the first async value returned for the co generator library
  • co-sleep – setTimeout that works with the co generator framework
  • co-spawn – setImmediate for the co generator framework
  • co-thread - execute N light-weight threads (generator functions) in parallel
  • co-wait – setTimeout generator style
  • co-write - write to streams, respecting backpressure
  • archan – Array-like generator-based channels
  • chan - A go style channel implementation for JavaScript that works nicely with co.
  • chanel - parallel execution with concurrency and "streaming" support
  • comm - Rust-inspired communication primitives for asynchronous message passing.
  • coo – Flow control library based on co
  • defer - setImmediate, setTimeout, etc. with generators
  • parchan – Order-preserving channels for parallel execution
  • co-filter - Parallel filter generator function
  • co-reject - Parallel reject generator function
  • co-ware - Easily create your own middleware layer using generators
  • composedly - Create compositions of middleware and named it

API Wrappers

Libraries that more-or-less just wrap other libraries.

Streams

Clone this wiki locally