πΊ Debug on tap.
Helps afford the creation of data-driven, narrative user journeys, aka. log level 'human'.
then()
and tap()
methods of your promises as well as functional pipelines.'use strict';
var debug = require('debug')('icebox:checker');
var see = require('tap-debug')(debug);
var checkIcebox = require('./icebox').get;
function checkIceboxForPlums() {
var hasPlums = function(icebox) {
return icebox.plum > 0;
};
return checkIcebox('plum').
tap(see(':speak_no_evil: There are ${plum} plums in the icebox.')).
then(hasPlums);
}
See these examples for further usage instructions.
require('tap-debug')(debugFn, options)
Takes a debugFn
such as visionmedia/debug and a configuration options
object.
{
stringifyValue: false,
stringifyValueSeparator: ': ',
stringifyValueFormatter: 'inspect',
emojify: true,
colorify: true
}
tapDebug(message[, options])(object)
A curried tap()
able version of the debugger.
See above for a working example.
.debug(message[, object, options])
A ternary version of the curried tap()
able version of the debugger.
var see = require('tap-debug')();
see.debug('hello there');
.ifElse(predicate, ifMessage, elseMessage[, options])(object)
A curried tap()
able version of the debugger, which will switch its message depending on whether the predicate
function supplied returns true
or false
on being called with the object
.
var see = require('tap-debug')();
// ...
promise.tap(see.ifElse(isNull, 'This promise was null', 'This promise was not null.'));
.switchCase(getCase, caseMessages[, options])(object)
A curried tap()
able version of the debugger, which can switch its message depending on whether the getCase
function supplied returns a key which matches a message in caseMessages
on being called with the object
.
var see = require('tap-debug')();
// ...
promise.tap(see.switchCase(getCase, {
'case-one': 'This is the first message.',
'case-two': 'This is the second message.',
'default': 'This is the default message.'
}));