UNPKG

@decaf-ts/core

Version:

Core persistence module for the decaf framework

29 lines 1.11 kB
import { LoggedClass } from "@decaf-ts/logging"; import { Context as BaseContext, InternalError } from "@decaf-ts/db-decorators"; export class ContextualLoggedClass extends 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 InternalError("No context provided"); const ctx = args.pop(); if (!(ctx instanceof BaseContext)) throw new InternalError("No context provided"); if (args.filter((a) => a instanceof BaseContext).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], }; } } //# sourceMappingURL=ContextualLoggedClass.js.map