UNPKG

logging-ts

Version:

Composable loggers for TypeScript

33 lines (32 loc) 724 B
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 };