Plugin for
dush
that makes it a Deferred promise and adds.resolve
,.reject
,.than
and.catch
methods for more better error handling experience
You might also be interested indush.
By usingcommitizenandconventional commit messages, maintaining meaningfulChangeLog and commit history based onglobal conventions, followingStandardJScode style throughESLintand having always up-to-date dependencies through integrations likeGreenKeeperandDavid-DMservice, this package has top quality.
By followingSemantic Versioningthroughstandard-versionreleasing tool, this package is very stable and its tests are passing both onWindows (AppVeyor) andLinux (CircleCI)with results from 100% to400%test coverage, reported respectively byCodeCovandnyc (istanbul).
If you have any problems, consider openingan issue, ping me on twitter (@tunnckoCore), join thesupport chatroom or queue alive sessionon CodeMentor with me. If you don't have any problems, you're using it somewhere or you just enjoy this product, then please considerdonating some cashat PayPal, since this isOPEN Open Sourceproject made with love atSofia, Bulgaria🇧🇬.
(TOC generated byverbusingmarkdown-toc)
Install withnpm
$ npm install dush-promise --save
or install usingyarn
$ yarn add dush-promise
For more use-cases see thetests
constdushPromise=require('dush-promise')
Adds a Promise methods such as
.resolve
,.reject
.then
and.catch
to yourdushapplication. Useful from inside plugins. This plugin also emitserror
event whenapp.reject
is used.
Params
opts
{Object}:optional, passed directly tonative-promise-deferredreturns
{Function}:a plugin function that should be passed to.use
method ofdush
Example
vardush=require('dush')
varpromise=require('dush-promise')
varapp=dush().use(promise())
console.log(app.then)
console.log(app.catch)
console.log(app.reject)
console.log(app.resolve)
Handle resolved promise with
onresolved
or rejected promise withonrejected
.It is as any usual Promise.then
method.
Params
onresolved
{Function}onrejected
{Function}returns
{Promise}
Example
app.then((res)=>{
console.log(res)// => 123
})
app.resolve(123)
// or handle rejected promise
app.then(null,(er)=>{
console.log('err!',er)// => Error: foo bar
})
app.reject(newError('foo bar'))
Catch a rejected promise error. This method is mirror of any usual promise
.catch
method.
Params
onrejected
{Function}returns
{Promise}
Example
app.on('error',(err)=>{
console.log('er!',err)// => Error: sad err
})
app.catch((err)=>{
console.log('oops, error!',err)// => Error: sad err
})
app.reject(newError('sad err'))
As any usual
Promise.resolve
method.
Params
val
{any}returns
{Promise}
Example
app.use((app)=>{
app.foo=()=>{
returnapp.resolve(1222)
}
})
constpromise=app.foo()
promise.then((val)=>{
console.log('res:',val)// => 1222
})
As any usual
Promise.reject
method.
Params
err
{Error}returns
{Promise}
Example
app.on('error',(err)=>{
console.log('some error:',err)// => Error: quxie
})
app.reject(newError('quxie'))
- dush-methods:Plugin for
dush
and anything based on it. It adds helper.define
and.delegate
methods |homepage - dush-no-chaining:A plugin that removes the emitter methods chaining support for
dush
,base
,minibase
or anything based on them |homepage - dush-options:Adds
.option
,.enable
and.disable
methods to yourdush
application |homepage - dush-router:A simple regex-based router for
dush
,base
,minibase
and anything based on them. Works on Browser and Node.js |homepage - dush-tap-report:A simple TAP report producer based on event system. A plugin for
dush
event emitter or anything based on it |homepage - dush:Microscopic & functional event emitter in ~260 bytes, extensible through plugins. |homepage
- minibase-create-plugin:Utility forminibaseandbasethat helps you create plugins |homepage
- minibase:Minimalist alternative for Base. Build complex APIs with small units called plugins. Works well with most of the already existing…more|homepage
- native-or-another:Guaranteed way for getting a Promise. Always native Promise if available, otherwise looks for common promise libraries and loads which…more|homepage
- native-promise-deferred:A deferred Promise, using
native-or-another
behind and so it work on Node.js v0.10 too! |homepage - native-promise:Get native
Promise
or falsey value if not available. |homepage
Pull requests and stars are always welcome. For bugs and feature requests,please create an issue.
Please read thecontributing guidelinesfor advice on opening issues, pull requests, and coding standards.
If you need some help and can spent some cash, feel free tocontact me at CodeMentor.iotoo.
In short:If you want to contribute to that project, please follow these things
- Please DO NOT editREADME.md,CHANGELOG.mdand.verb.mdfiles. See"Building docs"section.
- Ensure anything is okey by installing the dependencies and run the tests. See"Running tests"section.
- Always use
npm run commit
to commit changes instead ofgit commit
,because it is interactive and user-friendly. It usescommitizenbehind the scenes, which follows Conventional Changelog idealogy. - Do NOT bump the version in package.json. For that we use
npm run release
,which isstandard-versionand follows Conventional Changelog idealogy.
Thanks a lot!:)
Documentation and that readme is generated usingverb-generate-readme,which is averbgenerator, so you need to install both of them and then runverb
command like that
$ npm install verbose/verb#dev verb-generate-readme --global && verb
Please don't edit the README directly. Any changes to the readme must be made in.verb.md.
Clone repository and run the following in that cloned directory
$ npm install && npm test
Charlike Mike Reagent
Copyright © 2017,Charlike Mike Reagent.Released under theMIT License.
This file was generated byverb-generate-readme,v0.4.3, on April 02, 2017.
Project scaffolded usingcharlikecli.