logify
Version:
Logging framework for node and the browser
39 lines (31 loc) • 1.04 kB
JavaScript
;
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
Object.defineProperty(exports, '__esModule', {
value: true
});
exports['default'] = create;
var _filter = require('./filter');
var _filter2 = _interopRequireDefault(_filter);
function create(field, pattern) {
var fn = undefined;
if (typeof pattern === 'function') {
fn = function (entry) {
return pattern(entry[field]);
};
} else if (typeof pattern === 'string') {
fn = function test(entry) {
return field[entry] === pattern;
};
} else if (pattern instanceof RegExp) {
fn = function test(entry) {
return pattern.test(entry[field]);
};
} else {
throw new Error('Pattern should be a string!');
}
for (var _len = arguments.length, appenders = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
appenders[_key - 2] = arguments[_key];
}
return _filter2['default'].apply(undefined, [fn].concat(appenders));
}
module.exports = exports['default'];