Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/msaaddev/promise-it
A simple Node.js package that helps you not to look up JavaScript promise syntax every time you use it.
https://github.com/msaaddev/promise-it
nodejs-promise promise promisify
Last synced: 2 months ago
JSON representation
A simple Node.js package that helps you not to look up JavaScript promise syntax every time you use it.
- Host: GitHub
- URL: https://github.com/msaaddev/promise-it
- Owner: msaaddev
- License: mit
- Created: 2022-05-21T23:34:24.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-05-29T09:30:34.000Z (over 2 years ago)
- Last Synced: 2024-10-31T18:37:02.565Z (3 months ago)
- Topics: nodejs-promise, promise, promisify
- Language: JavaScript
- Homepage:
- Size: 242 KB
- Stars: 9
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- Changelog: changelog.md
- Contributing: contributing.md
- License: LICENSE
- Code of conduct: code-of-conduct.md
Awesome Lists containing this project
README
![cover](assets/cover.png)
A simple Node.js package that helps you not to look up JavaScript promise syntax every time you use it.![separator](assets/separator.jpeg)
- **Simple**: Adds abstraction to the promise syntax
- **Easy to use**: No need to learn JavaScript promise syntax
- **Promise**: Turns any function into a promise
- **All promises**: Provides a way to chain all promises and returns the result collectively
- **Any promise**: Takes array of promise and returns a promise that resolves when any of the promise is resolved
- **All settled promises**: Takes array of promise and returns a promise that resolves when all promises are settled
## Install
```sh
# install the package
npm install @msaaddev/promise-it
```
## API
#### promiseIt()
Promisify a callback function
#### promiseItAll()
Creates a Promise that is resolved with an array of results when all of the provided Promises resolve, or rejected when any Promise is rejected.
#### promiseItAny()
Promisify any of the given callback functions
#### promiseItAllSettled()
Creates a Promise that is resolved with an array of results when all of the provided Promises resolve or reject.
## Usage
- promiseIt()
```js
const { promiseIt } = require('@msaaddev/promise-it');(async () => {
const callback = (resolve, reject) => {
exec(`networkQuality`, error => {
if (error) {
handleError(error);
reject(error);
}
resolve('All good. Ran networkQuality.');
});
};try {
const promise = await promiseIt(callback);
console.log(promise);
} catch (err) {
console.log(err);
}
})();
```- promiseItAll()
```js
const { promiseItAll } = require('@msaaddev/promise-it');
const { exec } = require('child_process');(async () => {
const callback = (resolve, reject) => {
exec(`networkQuality`, error => {
if (error) {
handleError(error);
reject(error);
}
resolve('All good. Ran networkQuality.');
});
};const callback2 = (resolve, reject) => {
exec(`networkQuality -v`, error => {
if (error) {
reject(error);
}
resolve('All good. Ran networkQuality -v.');
});
};try {
const allPromises = await promiseItAll(callback, callback2);
console.log(allPromises);
} catch (err) {
console.log(err);
}
})();
```- promiseItAny()
```js
const { promiseItAny } = require('@msaaddev/promise-it');
const { exec } = require('child_process');(async () => {
const callback = (resolve, reject) => {
exec(`networkQuality`, error => {
if (error) {
handleError(error);
reject(error);
}
resolve('All good. Ran networkQuality.');
});
};const callback2 = (resolve, reject) => {
exec(`networkQuality -v`, error => {
if (error) {
reject(error);
}
resolve('All good. Ran networkQuality -v.');
});
};try {
const anyPromise = await promiseItAny(callback, callback2);
console.log(anyPromise);
} catch (err) {
console.log(err);
}
})();
```- promiseItAllSettled()
```js
const { promiseItAllSettled } = require('@msaaddev/promise-it');
const { exec } = require('child_process');const { promiseIt, promiseItAll, promiseItAny } = require('./index');
const { exec } = require('child_process');(async () => {
const callback = (resolve, reject) => {
exec(`networkQuality`, error => {
if (error) {
handleError(error);
reject(error);
}
resolve('All good. Ran networkQuality.');
});
};const callback2 = (resolve, reject) => {
exec(`networkQuality -v`, error => {
if (error) {
reject(error);
}
resolve('All good. Ran networkQuality -v.');
});
};try {
const allSettledPromise = await promiseItAllSettled(
callback,
callback2
);
console.log(allSettledPromise);
} catch (err) {
console.log(err);
}
})();
```## 👨🏻💻 Contributing
Make sure you read the [contributing guidelines](https://github.com/msaaddev/new-tailwind-app/blob/master/contributing.md) before opening a PR.
## ⚡️ Other Projects
I have curated a [detailed list](https://github.com/msaaddev/open-source) of all the open-source projects I have authored. Do take out a moment and take a look.
## 🔑 License & Conduct
- MIT © [Saad Irfan](https://github.com/msaaddev)
- [Code of Conduct](https://github.com/msaaddev/new-tailwind-app/blob/master/code-of-conduct.md)