UNPKG

@contract-case/case-core

Version:

Core functionality for the ContractCase contract testing suite

55 lines 3.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.makeLogger = void 0; const pretty_format_1 = require("pretty-format"); const case_plugin_base_1 = require("@contract-case/case-plugin-base"); const versionString_1 = require("../../entities/versionString"); const caseVersionString = (parentVersions = []) => `(${parentVersions.concat([`ContractCase@${versionString_1.caseVersion}`]).join('->')})`; const timestampString = () => new Date().toLocaleString(Intl.DateTimeFormat().resolvedOptions().locale, { year: 'numeric', month: 'numeric', day: 'numeric', hour: 'numeric', minute: 'numeric', second: 'numeric', hourCycle: 'h24', timeZoneName: 'short', // TODO: Use `shortOffset` when all current node versions support it fractionalSecondDigits: 3, }); const mapAdditional = (additional) => additional .map((value) => (0, pretty_format_1.format)(value, { indent: 2, printBasicPrototype: false })) .join('\n'); const makeLogger = (matchContext, printer) => ({ warn(message, ...additional) { if ((0, case_plugin_base_1.shouldLog)(matchContext, 'warn')) { return printer.log('warn', timestampString(), caseVersionString(), '[WARNING]', (0, case_plugin_base_1.locationString)(matchContext), message, mapAdditional(additional)); } return Promise.resolve(); }, error(message, ...additional) { if ((0, case_plugin_base_1.shouldLog)(matchContext, 'error')) { return printer.log('error', timestampString(), caseVersionString(), '[ERROR]', (0, case_plugin_base_1.locationString)(matchContext), message, mapAdditional(additional)); } return Promise.resolve(); }, debug(message, ...additional) { if ((0, case_plugin_base_1.shouldLog)(matchContext, 'debug')) { return printer.log('debug', timestampString(), caseVersionString(), '[DEBUG]', (0, case_plugin_base_1.locationString)(matchContext), message, mapAdditional(additional)); } return Promise.resolve(); }, maintainerDebug(message, ...additional) { if ((0, case_plugin_base_1.shouldLog)(matchContext, 'maintainerDebug')) { return printer.log('maintainerDebug', timestampString(), caseVersionString(matchContext['_case:currentRun:context:parentVersions']), '[MAINTAINER-DEBUG]', (0, case_plugin_base_1.locationString)(matchContext), message, mapAdditional(additional)); } return Promise.resolve(); }, deepMaintainerDebug(message, ...additional) { if ((0, case_plugin_base_1.shouldLog)(matchContext, 'deepMaintainerDebug')) { return printer.log('deepMaintainerDebug', timestampString(), caseVersionString(matchContext['_case:currentRun:context:parentVersions']), '[DEEP-MAINTAINER-DEBUG]', (0, case_plugin_base_1.locationString)(matchContext), message, mapAdditional(additional)); } return Promise.resolve(); }, }); exports.makeLogger = makeLogger; //# sourceMappingURL=consoleLogger.js.map