@decaf-ts/core
Version:
Core persistence module for the decaf framework
33 lines • 1.32 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ContextualLoggedClass = void 0;
const logging_1 = require("@decaf-ts/logging");
const db_decorators_1 = require("@decaf-ts/db-decorators");
class ContextualLoggedClass extends logging_1.LoggedClass {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
logFor(ctx, ...args) {
return ctx.logger.for(this);
}
logCtx(args, method) {
return ContextualLoggedClass.logCtx.call(this, args, method);
}
static logCtx(args, method) {
if (args.length < 1)
throw new db_decorators_1.InternalError("No context provided");
const ctx = args.pop();
if (!(ctx instanceof db_decorators_1.Context))
throw new db_decorators_1.InternalError("No context provided");
if (args.filter((a) => a instanceof db_decorators_1.Context).length > 1)
throw new Error("here");
const log = (this
? ctx.logger.for(this).for(method)
: ctx.logger.clear().for(this).for(method));
return {
ctx: ctx,
log: method ? log.for(method) : log,
ctxArgs: [...args, ctx],
};
}
}
exports.ContextualLoggedClass = ContextualLoggedClass;
//# sourceMappingURL=ContextualLoggedClass.js.map