UNPKG

logging-ts

Version:

Composable loggers for TypeScript

32 lines (31 loc) 827 B
"use strict"; 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;