@dazejs/framework
Version:
Daze.js - A powerful web framework for Node.js
35 lines (34 loc) • 1.32 kB
TypeScript
/// <reference types="node" />
import { EventEmitter } from 'events';
declare const BIND: unique symbol;
export declare class Container extends EventEmitter {
binds: Map<any, any>;
instances: Map<any, any>;
tags: any;
paths: Map<any, any>;
static instance: any;
singleton(abstract: any, concrete?: any, callable?: boolean): this;
multiton(abstract: any, concrete?: any, callable?: boolean): void;
isShared(abstract: any): any;
bound(abstract: any): boolean;
exists(abstract: any): boolean;
[BIND](abstract: any, concrete: any, shared?: boolean, callable?: boolean): this | undefined;
make(abstract: any, args?: any[], force?: boolean): any;
private invokeFunction;
private invokeConstructor;
private invokeInjectAbleClass;
private isBuildInType;
private bindConstructorParams;
private bindMethodParams;
private bindProperty;
private bindParams;
bindPath(abstract: any, path: string): void;
getPath(abstract: any): any;
static tag(abstract: any, tag: string): void;
static get(abstract: any, args?: any[]): any;
static bind(abstract: any, concrete?: any, shared?: boolean, callable?: boolean): any;
static has(abstract: any): any;
static getInstance(): any;
static setInstance(instance: any): void;
}
export {};