@contract-case/case-core
Version:
Core functionality for the ContractCase contract testing suite
55 lines • 3.03 kB
JavaScript
;
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