import { PluginOpaqueId } from '../../server' ; import { IContextContainer , ContextContainer , HandlerFunction } from '../../utils/context' ; import { CoreContext } from '../core_context' ; interface SetupDeps { pluginDependencies : ReadonlyMap < PluginOpaqueId , PluginOpaqueId [ ] > ; } internal export class ContextService { constructor ( private readonly core ) { } public setup ( { pluginDependencies } ) { return { createContextContainer : < THandler extends HandlerFunction < any > > ( ) => { return new ContextContainer < THandler > ( pluginDependencies , this . core . coreId ) ; } , } ; } } example public export interface ContextSetup { /**
     * Creates a new  IContextContainer for a service owner.
      createContextContainer < THandler extends HandlerFunction < any > > ( ) : IContextContainer < THandler > ; }