@triviality/core
Version:
Purely typed service container
27 lines (26 loc) • 1.27 kB
TypeScript
import { ServiceFactoryReference } from './ServiceFactoryReference';
import { ServiceTag, SF } from '../ServiceFactory';
import { TaggedServiceFactoryReference } from './TaggedServiceFactoryReference';
export declare class ImmutableServiceReferenceList {
private readonly references;
constructor(references?: ServiceFactoryReference[]);
/**
* This dependency is depended on the other dependency.
*/
add(dependency: ServiceFactoryReference): ImmutableServiceReferenceList;
getService(tag: ServiceTag): TaggedServiceFactoryReference;
taggedPairs(): [ServiceTag, TaggedServiceFactoryReference][];
async(): ImmutableServiceReferenceList;
notASync(): ImmutableServiceReferenceList;
filter(accept: (reference: ServiceFactoryReference) => boolean): ImmutableServiceReferenceList;
serviceFactoryObject(): Record<ServiceTag, SF>;
has(needle: ServiceFactoryReference): boolean;
hasTagged(needle: ServiceTag): boolean;
toArray(): ServiceFactoryReference[];
remove(reference: ServiceFactoryReference): ImmutableServiceReferenceList;
last(): ServiceFactoryReference;
forEach(iterator: (dependency: ServiceFactoryReference) => void): void;
isEmpty(): boolean;
isNotEmpty(): boolean;
count(): number;
}