co-use
co using your choice of promise implementation
Last updated 3 years ago by overlookmotel .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install co-use 
SYNC missed versions from official npm registry.

co-use.js

co using your choice of promise implementation

Current status

NPM version Build Status Dependency Status Dev dependency Status Coverage Status

What's it for?

co is a brilliant module which allows you to code async code in a sync style using generators and yield.

Functions which use co return a promise.

The problem is that the promise implementation used within co is the native Javascript Promise and co doesn't make it possible to use an alternative implementation, for example bluebird.

This module adds an extra method .use() which allows the use of any promise implementation you like within co.

Usage

co.use(Promise)

Creates a new instance of co, which uses the Promise implementation provided.

var Bluebird = require('bluebird');
var co = require('co-use').use(Bluebird);

// now use `co` in the usual way
var p = co(function* () {});

console.log(p instanceof Bluebird); // true

Other methods

All other methods are the same as normal co.

Building co-use

I requested that this functionality be included in co (PR) but so far it has not.

So this module is made by loading co and wrapping the code to add the .use() method. I will endeavour to update this module when new versions of co are released. The version of co currently used is v4.6.0.

If you wish to build co-use with the most recent version of co, do the following:

  1. Fork co-use from Github
  2. Go to the directory of the fork
  3. Run the following code:
npm install
npm run build

Please feel free to raise a PR with the updated build.

Tests

Use npm test to run the tests. Use npm run cover to check coverage.

Changelog

See changelog.md

Issues

If you discover a bug, please raise an issue on Github. https://github.com/overlookmotel/co-use/issues

Contribution

Pull requests are very welcome. Please:

  • ensure all tests pass before submitting PR
  • add an entry to changelog
  • add tests for new features
  • document new functionality/API additions in README

Current Tags

  • 1.1.0                                ...           latest (3 years ago)

4 Versions

  • 1.1.0                                ...           3 years ago
  • 1.0.1                                ...           3 years ago
  • 1.0.0                                ...           3 years ago
  • 0.1.0                                ...           3 years ago
Maintainers (1)
Downloads
Today 8
This Week 53
This Month 288
Last Day 25
Last Week 72
Last Month 546
Dependencies (0)
None
Dev Dependencies (10)
Dependents (2)

Copyright 2014 - 2016 © taobao.org |