UNPKG

@difizen/mana-syringe

Version:

12 lines 752 B
import type { Newable } from '@difizen/mana-common'; import type { Contribution } from '../contribution/index'; import { Syringe } from '../core'; export interface PrioritizedContribution<O = any, T = any> { canHandle: (option: O) => number; handle: (option: O) => T; } export declare class PrioritizedContributionManager<O = any, T extends PrioritizedContribution<O> = PrioritizedContribution> { protected findContribution(option: O, provider: Contribution.Provider<T>): T; } export declare const prioritizedContributionFactory: <O = any, T = any>() => (token: Syringe.Token<PrioritizedContribution<O, T>>, contribution: PrioritizedContribution<O, T>) => (target: Newable<T>) => void; //# sourceMappingURL=prioritized-contribution.d.ts.map