1.8.0 • Published 7 years ago

bluebird-tools v1.8.0

Weekly downloads
3
License
MIT
Repository
github
Last release
7 years ago

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
}
1.8.0

7 years ago

1.7.0

7 years ago

1.6.0

7 years ago

1.5.0

7 years ago

1.4.0

7 years ago

1.3.2

7 years ago

1.3.1

7 years ago

1.3.0

7 years ago

1.2.0

7 years ago

1.1.0

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago