@triviality/core
Version:
Purely typed service container
28 lines (27 loc) • 1.28 kB
TypeScript
import { ServiceFunctionReferenceConfiguration } from './BaseServiceFactoryReference';
import { ServiceTag, SF } from '../ServiceFactory';
import { FeatureFactory, FF } from '../FeatureFactory';
import { ServiceFactoryReference } from './ServiceFactoryReference';
import { ImmutableServiceReferenceList } from './ImmutableServiceReferenceList';
import { TaggedServiceFactoryReference } from './TaggedServiceFactoryReference';
import { Override } from './Override';
/**
* TODO: remove extends.
*/
export declare class MergedTaggedServiceFunctionReference extends TaggedServiceFactoryReference {
private original;
constructor(original: TaggedServiceFactoryReference, tag: string, feature: FeatureFactory<any>);
override(override: Override): void;
get configuration(): ServiceFunctionReferenceConfiguration;
getUuid(): string;
callServiceFactory(thisReference: Record<ServiceTag, SF>): void;
getService(): unknown;
setContainerConfiguration(_configuration: ServiceFunctionReferenceConfiguration): void;
getFactory(): SF<any>;
getFeature(): FF;
getProxy(): SF<any>;
hasServiceInstance(): boolean;
addDependency(dependency: ServiceFactoryReference): void;
getDependencies(): ImmutableServiceReferenceList;
label(): string;
}