node-promise-es6

An ES6 promise adapter for the Node.js API for use with ES7 async/await

Usage no npm install needed!

<script type="module">
  import nodePromiseEs6 from 'https://cdn.skypack.dev/node-promise-es6';
</script>

README

node-promise-es6

Build Status

ES6 promise adapters for the Node.js API for use with ES7 async/await.

Installing

node-promise-es6 is available as an npm package.

Usage

Wrapped APIs

fs

import {fs} from 'node-promise-es6';

async function run() {
  console.log(await fs.readdir('.'));
}

child_process

import {childProcess} from 'node-promise-es6';

async function run() {
  const {stdout, stderr} = await childProcess.exec('ls .');
  console.log(stdout, stderr);
}

Utilities

promisify

import {promisify} from 'node-promise-es6';

function callbackFn(x, y, callback) {
  callback(null, x, y);
}

async function run() {
  const promiseFn = promisify(callbackFn, ['x', 'y']);
  const {x, y} = await promiseFn(1, 2);
  console.log(x === 1 && y === 2);
}

A helper for wrapping Node.js-style callback-taking functions (error object as first argument) in a Promise API.

Development

Getting Started

The application requires the following external dependencies:

  • Node.js

The rest of the dependencies are handled through:

npm install

Run tests with:

npm test