UNPKG

@adjust/core

Version:

A framework for creating highly customisable open source software

24 lines (23 loc) 1.45 kB
import { ParameterizedModule } from "../../module/module"; import { AbstractModuleProvider } from "./abstractModuleProvider"; import { InterfaceID } from "../_types/interfaceID"; import { NormalizedRequest } from "../_types/request"; import { ModuleInterface } from "../../module/_types/moduleInterface"; import { PublicModuleMethods } from "../../module/_types/publicModuleMethods"; import { ModuleProxy } from "../../module/moduleProxy"; export declare class InstanceModuleProvider<M extends ModuleInterface> extends AbstractModuleProvider<M> { protected module: ParameterizedModule; protected connectionListener: (module: M["parent"]) => void; /** * Creates a module provider that is able to provide an already existing module * @param type The type of module that gets created * @param moduleClass The module class to create the instances from * @param filter The filter to apply to choose wherther or not to use this module * @param connectionListener A method that gets called when a new 'parent' connects */ constructor(type: InterfaceID<M>, module: ParameterizedModule | ModuleProxy, filter?: (request: NormalizedRequest<M>) => number, connectionListener?: (module: M["parent"]) => void); /** @override*/ getPriority(request: NormalizedRequest<M>): number; /** @override */ getModule(request: NormalizedRequest<M>): M["child"] & PublicModuleMethods; }