UNPKG

@typed/content-hash

Version:

Content hash a directory of HTML/JS/CSS files and other static assets

64 lines 2.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.debug = exports.error = exports.info = exports.logEntry = exports.levelToTextColor = exports.levelToIconColor = exports.levelToIcon = exports.LogLevel = void 0; const tslib_1 = require("tslib"); const Env_1 = require("@typed/fp/Env"); const FxEnv_1 = require("@typed/fp/FxEnv"); const colors = (0, tslib_1.__importStar)(require("typed-colors")); const figures = (0, tslib_1.__importStar)(require("typed-figures")); var LogLevel; (function (LogLevel) { LogLevel[LogLevel["Debug"] = 0] = "Debug"; LogLevel[LogLevel["Info"] = 1] = "Info"; LogLevel[LogLevel["Error"] = 2] = "Error"; })(LogLevel = exports.LogLevel || (exports.LogLevel = {})); const levelToIcon = (level) => { switch (level) { case LogLevel.Debug: return figures.squareSmallFilled; case LogLevel.Error: return figures.warning; case LogLevel.Info: return figures.info; } }; exports.levelToIcon = levelToIcon; const levelToIconColor = (level, message) => { switch (level) { case LogLevel.Debug: return colors.white(message); case LogLevel.Error: return colors.red(message); case LogLevel.Info: return colors.blue(message); } }; exports.levelToIconColor = levelToIconColor; const levelToTextColor = (level, message) => { switch (level) { case LogLevel.Debug: return colors.dim(message); case LogLevel.Error: return colors.red(message); case LogLevel.Info: return colors.white(message); } }; exports.levelToTextColor = levelToTextColor; function logEntry(entry) { const eff = (0, FxEnv_1.Do)(function* (_) { const { logLevel, logger, logPrefix } = yield* _((0, Env_1.ask)()); if (logLevel <= entry.level) { yield* _(logger(`${logPrefix} ${(0, exports.levelToIconColor)(entry.level, (0, exports.levelToIcon)(entry.level))} ${(0, exports.levelToTextColor)(entry.level, entry.message)}`.trim())); } }); return eff; } exports.logEntry = logEntry; const info = (message) => logEntry({ level: LogLevel.Info, message }); exports.info = info; const error = (message) => logEntry({ level: LogLevel.Error, message }); exports.error = error; const debug = (message) => logEntry({ level: LogLevel.Debug, message }); exports.debug = debug; //# sourceMappingURL=logging.js.map