import { BaseRpcContext } from '../ctx-host/base-rpc.context'; import { RequestContext } from '../interfaces'; export class RequestContextHost< TData = any, TContext extends BaseRpcContext = any, > implements RequestContext { constructor( public readonly pattern: string | Record, public readonly data: TData, public readonly context: TContext, ) {} static create( pattern: string | Record, data: TData, context: TContext, ): RequestContext { const host = new RequestContextHost(pattern, data, context); return host; } public getData(): TData { return this.data; } public getPattern(): string | Record { return this.pattern; } public getContext(): TContext { return this.context; } }