[ICO]NameLast modifiedSizeDescription
[PARENTDIR]Parent Directory  -  
[DIR]test/2023-06-13 07:16 -  
[TXT]README.md2015-09-12 16:20 821 d768d73 docs [كارل مبارك]
[   ]package.json2023-06-13 07:17 1.6K3e510ca test new git [كارل مبارك]
[   ]index.js2015-09-12 20:42 408 3e510ca test new git [كارل مبارك]
[   ]LICENSE2015-09-11 17:36 1.1K 
# call-me-maybe [![Build Status](https://travis-ci.org/limulus/call-me-maybe.svg?branch=master)](https://travis-ci.org/limulus/call-me-maybe)

Let your JS API users either give you a callback or receive a promise.

## Usage

```javascript
var maybe = require("call-me-maybe")

module.exports = function asyncFunc (cb) {
  return maybe(cb, new Promise(function(resolve, reject) {
    // ...
  }))
}
```

## API

### maybe(cb, promise)

If the callback `cb` is truthy, returns `undefined` and will call `cb` when `promise` is settled. The parameters passed to `cb` are standard error-first:

  - If `promise` is fulfilled, then it is called with the result of the promise: `cb(null, result)`
  - If `promise` is rejected, then it is called with the rejection error: `cb(err)`

If `cb` is falsey, then `promise` is retuned.