webcom-as-promised
Version:
Promise wrapper for webcom library
55 lines (46 loc) • 1.82 kB
Markdown
# Webcom as Promised
### Promise wrapper for [Webcom](https://github.com/webcom-components/webcom-npm) library.
[](https://travis-ci.org/EhabGamal/webcom-as-promised)
[](https://codeclimate.com/github/EhabGamal/webcom-as-promised/maintainability)
[](https://github.com/EhabGamal/webcom-as-promised)
[](https://github.com/webcom-components/webcom-npm)
[](https://github.com/EhabGamal/webcom-as-promised/blob/master/LICENSE)
> ### The promised wrapper that will protect you from falling into the callback hell.
## Installation
```
npm i webcom-as-promised
```
## Example
```node
const Webcom = require('webcom-as-promised');
const webcomRef = new Webcom('YOUR NAMESPACE URL');
webcomRef
.authWithPassword({
"email":"email@example.com",
"password": "$0ME_P@$$W0RD"
})
.then((auth) => {
console.log(`Whola! authed sucessfully!`);
return webcomRef.child('sub_child').valueAsync();
})
.then((v) => v.val())
.then((val) => console.log(`Value sub_child is ${val}`))
.catch(console.log);
```
## Promisified APIs
| Callback API | Promise API |
|:--------:|:-------:|
|value|valueAsync|
|update|updateAsync|
|set|setAsync|
|remove|removeAsync|
|push|pushAsync|
|resume|resumeAsync|
|logout|logoutAsync|
## New APIs
1. `confirmEmail`
2. `resetPassword`
3. `getPathFromRoot`
4. `navigateFromRoot`
## Thanks
All thanks to [Mohamad Gamal](https://github.com/MohamadGamal) for his contribution in developing this wrapper.