$ npm install unwrapper
A simple module that unwraps an array when deemed necessary for the result passed to a given function. The threshold in which it is deemed necessary is determined by the length of the array returned. A length of 1 is assumed to be something you want unwrapped.
npm i unwrapper --save
var unwrap = require('unwrapper');
var api = require('./api');
//
// Pretend this API returns an [] even when you expect it to be a single entity
//
api.get('/books-by', 'barney rubble', unwrap(function (err, result) {
// expect `result` to be a single object.
}));
unwrap(fn, def, pred)
unwrap(fn, pred)
unwrap(fn);
fn
: Function to executedef
: Optional Default value to use if no results returnedpred
: Predicate function for more advanced decisions than an Array of length 1
In some scenarios you may want to only unwrap certain Arrays of length one (e.g. listing directories of a length 1). In this case you can pass a pred
argument to unwrapper
:
unwrap(fn, function (err, result) {
//
// Result will always be the first element in the Array
// - return true to unwrap
// - return false to NOT unwrap
//
return result.expected === 'some-expected-value';
});
© 2010 - cnpmjs.org x YWFE | Home | YWFE