# pull-async

> create pull-stream from async callback

Latest version **1.0.0** (published 2016-07-23) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install pull-async
pnpm add pull-async
yarn add pull-async
bun add pull-async
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2016-07-23 |
| First published | 2016-07-23 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 3 |
| Author | Mikey |
| Maintainers | ahdinosaur |

## Links

- npm: https://www.npmjs.com/package/pull-async
- Repository: https://github.com/ahdinosaur/pull-async
- Homepage: https://github.com/ahdinosaur/pull-async#readme
- Issues: https://github.com/ahdinosaur/pull-async/issues
- npm.io page: https://npm.io/package/pull-async

## Recent versions

- 1.0.0 (latest) — 2016-07-23

## README

# pull-async

create source [`pull-stream`](https://pull-stream.github.io) from async callback (more specifically, a [_continuable_](https://github.com/Raynos/continuable))

```shell
npm install --save pull-async
```

if you want to resolve multiple values, use [`pull-defer`](https://github.com/pull-stream/pull-defer).

## example

```js
const pull = require('pull-stream')
const xhr = require('xhr')

pull(
  pullAsync((cb) => {
    xhr.get('/things', cb)
  }),
  pull.log()
)
// [{...}, {...}, {...}, ...]
```

## usage

### `pullAsync = require('pull-async')`

### `source = pullAsync(continuable)`

a [_continuable_](https://github.com/Raynos/continuable) is a function that takes in a single argument: an error-first `callback`.

returns a source stream that will resolve the continuable into a single error or value, then end the stream.

## source

```js
function pullAsync (continuable) {
  var done
  return function (abort, cb) {
    if (abort) return cb(abort)
    if (done) return cb(true)
    continuable(function (err, data) {
      done = true
      cb(err, data)
    })
  }
}
```

## license

The Apache License

Copyright &copy; 2016 Michael Williams

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

---
_Source: https://npm.io/package/pull-async · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
