rage-framework
Version:
## How to Install *server-side* ```bash npm install @rage-framework/server ```
35 lines (34 loc) • 1.19 kB
TypeScript
import { Token } from './Token';
import { ObjectType } from './types/ObjectType';
import { ServiceIdentifier } from './types/ServiceIdentifier';
import { ServiceMetadata } from './types/ServiceMetadata';
export declare class ContainerInstance {
id: any;
private services;
constructor(id: any);
has<T>(type: ObjectType<T>): boolean;
has<T>(id: string): boolean;
has<T>(id: Token<T>): boolean;
get<T>(type: ObjectType<T>): T;
get<T>(id: string): T;
get<T>(id: Token<T>): T;
get<T>(id: {
service: T;
}): T;
getMany<T>(id: string): T[];
getMany<T>(id: Token<T>): T[];
set<T, K extends keyof T>(service: ServiceMetadata<T, K>): this;
set(type: Function, value: any): this;
set(name: string, value: any): this;
set(token: Token<any>, value: any): this;
set(token: ServiceIdentifier, value: any): this;
set<T, K extends keyof T>(values: ServiceMetadata<T, K>[]): this;
remove(...ids: ServiceIdentifier[]): this;
reset(): this;
private filterServices;
private findService;
private getServiceValue;
private initializeParams;
private isTypePrimitive;
private applyPropertyHandlers;
}