logging-ts
Version:
Composable loggers for TypeScript
32 lines (31 loc) • 827 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var IO_1 = require("fp-ts/lib/IO");
var pipeable_1 = require("fp-ts/lib/pipeable");
var _1 = require(".");
var T = _1.getLoggerM(IO_1.io);
/**
* @since 0.3.0
*/
exports.URI = 'LoggerIO';
/**
* @since 0.3.0
*/
exports.filter = T.filter;
/**
* @since 0.3.0
*/
exports.getMonoid = T.getMonoid;
/**
* @since 0.3.0
*/
exports.loggerIO = {
URI: exports.URI,
contramap: T.contramap
};
function withLogger(M) {
return function (logger) { return function (message) { return function (ma) { return M.chain(ma, function (a) { return M.map(M.fromIO(logger(message(a))), function () { return a; }); }); }; }; };
}
exports.withLogger = withLogger;
var contramap = pipeable_1.pipeable(exports.loggerIO).contramap;
exports.contramap = contramap;