Socket
Socket
Sign inDemoInstall

bluebird-tools

Package Overview
Dependencies
2
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    bluebird-tools

Tools to improve the bluebird promises with control flow and logging.


Version published
Weekly downloads
14
increased by1300%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

Bluebird Tools

Tools to improve the bluebird promises with control flow and logging.

Install

npm install --save bluebird-tools

How to use

const Promise = require('bluebird-tools');

Control Flow

Promise.iif(condition, success, fail) -> promise

Calls success if pass the condition or calls fail

Promise.iif(x => x === 1, x => console.log('success', x), x => console.log('fail', x));
promise.iif(condition, success, fail) -> promise

Calls success if pass the condition or calls fail

Promise.resolve(1)
   .iif(x => x === 1, x => console.log('success', x), x => console.log('fail', x));
promise.for(start, end, method) -> promise

Calls method passing the iterator and the resolved value

Promise.resolve(123)
   .for(0, 5, (i, val) => console.log('iterator:', i, 'value:', val));
/* output:
iterator: 0 value: 123
iterator: 1 value: 123
iterator: 2 value: 123
iterator: 3 value: 123
iterator: 4 value: 123
*/
promise.when(condition, success) -> promise

Calls success if pass the condition or calls fail

Promise.resolve(1)
   .when(x => x === 1, x => console.log('success', x));
Promise.when(condition, success) -> promise

Calls success if pass the condition or calls fail

Promise.when(x => x === 1, x => console.log('success', x));
promise.unless(condition, fail) -> promise

Calls success if pass the condition or calls fail

Promise.resolve(1)
   .unless(x => x === 2, x => console.log('fail', x));
Promise.unless(condition, fail) -> promise

Calls success if pass the condition or calls fail

Promise.unless(x => x === 2, x => console.log('fail', x));
promise.thenMonitor(name, method) -> promise

Calls method monitoring starting and ending

Promise.resolve()
   .thenMonitor('something', () => executeSomething());
   // logs:
   // - starting something
   // - finishing something - 65.564ms
promise.whenMonitor(name, conditional, method) -> promise

If conditional is true, calls method monitoring starting and ending

Promise.resolve(3)
   .whenMonitor('something', x => x === 3, () => executeSomething());
   // logs:
   // - starting something
   // - finishing something - 1.234ms
promise.unlessMonitor(name, conditional, method) -> promise

If conditional is false, calls method monitoring starting and ending

Promise.resolve(3)
   .unlessMonitor('something', x => x === 2, () => executeSomething());
   // logs:
   // - starting something
   // - finishing something - 1.234ms
promise.iifMonitor(name, conditional, method) -> promise

If conditional is true, calls success or, if is false, calls fail, monitoring starting and ending

Promise.resolve(3)
   .iifMonitor('something', x => x === 3,
    () => executeSomething(), () => executeSomethingElse());
   // logs:
   // - starting something
   // - process something has success
   // - finishing something - 1.234ms
Promise.monitor(name, method) -> promise

Calls method, monitoring starting and ending

Promise.monitor('something', () => executeSomething());
   // logs:
   // - starting something
   // - finishing something - 1.234ms

Logging

Configure logging for all Promise with the logging function. Default levels to call the log:

  • silly
  • debug
  • verbose
  • info
  • warning
  • error
Promise.configureLog(logging)
const winston = require('winston');

// configure winston

Promise.configureLog(function logging(level, text, ...args) {
	winston.log(level, text, ...args);
});
Promise.log(level, text, ...args) -> promise
Promise.log('info', 'testing log', 1, 2, 3);
promise.log(level, text, ...args) -> promise
Promise.resolve().log('info', 'testing log', 1, 2, 3);
promise.silly(text, ...args) -> promise
Promise.resolve().silly('testing log', 1, 2, 3);
promise.debug(text, ...args) -> promise
Promise.resolve().debug('testing log', 1, 2, 3);
promise.verbose(text, ...args) -> promise
Promise.resolve().verbose('testing log', 1, 2, 3);
promise.info(text, ...args) -> promise
Promise.resolve().info('testing log', 1, 2, 3);
promise.warning(text, ...args) -> promise
Promise.resolve().warning('testing log', 1, 2, 3);
promise.error(text, ...args) -> promise
Promise.resolve().error('testing log', 1, 2, 3);
promise.whenLog(level, conditional, text, ...args) -> promise
Promise.resolve(1).whenLog('into', x => x === 1, 'testing log', 1, 2, 3);
promise.unlessLog(level, conditional, text, ...args) -> promise
Promise.resolve(1).unlessLog('into', x => x === 2, 'testing log', 1, 2, 3);

Manipulating promises

Promise.convert(promise) -> promise

Converts a native promise to a BluebirdTools promise

Promise.convert(promise)
promise.isBluebird -> bool

Converts a native promise to a BluebirdTools promise

if (Promise.resolve().isBluebird) { // true
}

Keywords

FAQs

Last updated on 05 Apr 2017

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc