logging-ts
Version:
Composable loggers for TypeScript
33 lines (32 loc) • 724 B
JavaScript
import { io } from 'fp-ts/es6/IO';
import { pipeable } from 'fp-ts/es6/pipeable';
import { getLoggerM } from '.';
var T = getLoggerM(io);
/**
* @since 0.3.0
*/
export var URI = 'LoggerIO';
/**
* @since 0.3.0
*/
export var filter = T.filter;
/**
* @since 0.3.0
*/
export var getMonoid = T.getMonoid;
/**
* @since 0.3.0
*/
export var loggerIO = {
URI: URI,
contramap: T.contramap
};
export 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; }); }); }; }; };
}
var contramap = pipeable(loggerIO).contramap;
export {
/**
* @since 0.3.0
*/
contramap };