UNPKG

@decaf-ts/core

Version:

Core persistence module for the decaf framework

33 lines 1.32 kB
"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