UNPKG

2.73 kBTypeScriptView Raw
1import { Provider, Scope, Type } from '@nestjs/common';
2import { Module } from './module';
3export declare const INSTANCE_METADATA_SYMBOL: unique symbol;
4export declare const INSTANCE_ID_SYMBOL: unique symbol;
5export interface ContextId {
6 readonly id: number;
7}
8export interface InstancePerContext<T> {
9 instance: T;
10 isResolved?: boolean;
11 isPending?: boolean;
12 donePromise?: Promise<void>;
13}
14export interface PropertyMetadata {
15 key: string;
16 wrapper: InstanceWrapper;
17}
18export declare class InstanceWrapper<T = any> {
19 readonly name: any;
20 readonly async?: boolean;
21 readonly host?: Module;
22 readonly scope?: Scope;
23 readonly isAlias: boolean;
24 metatype: Type<T> | Function;
25 inject?: (string | symbol | Function | Type<any>)[];
26 forwardRef?: boolean;
27 private readonly values;
28 private readonly [INSTANCE_METADATA_SYMBOL];
29 private readonly [INSTANCE_ID_SYMBOL];
30 private transientMap?;
31 private isTreeStatic;
32 constructor(metadata?: Partial<InstanceWrapper<T>> & Partial<InstancePerContext<T>>);
33 readonly id: string;
34 instance: T;
35 readonly isNotMetatype: boolean;
36 readonly isTransient: boolean;
37 getInstanceByContextId(contextId: ContextId, inquirerId?: string): InstancePerContext<T>;
38 getInstanceByInquirerId(contextId: ContextId, inquirerId: string): InstancePerContext<T>;
39 setInstanceByContextId(contextId: ContextId, value: InstancePerContext<T>, inquirerId?: string): void;
40 setInstanceByInquirerId(contextId: ContextId, inquirerId: string, value: InstancePerContext<T>): void;
41 addCtorMetadata(index: number, wrapper: InstanceWrapper): void;
42 getCtorMetadata(): InstanceWrapper[];
43 addPropertiesMetadata(key: string, wrapper: InstanceWrapper): void;
44 getPropertiesMetadata(): PropertyMetadata[];
45 addEnhancerMetadata(wrapper: InstanceWrapper): void;
46 getEnhancersMetadata(): InstanceWrapper[];
47 isDependencyTreeStatic(lookupRegistry?: string[]): boolean;
48 cloneStaticInstance(contextId: ContextId): InstancePerContext<T>;
49 cloneTransientInstance(contextId: ContextId, inquirerId: string): InstancePerContext<T>;
50 createPrototype(contextId: ContextId): any;
51 isInRequestScope(contextId: ContextId, inquirer?: InstanceWrapper | undefined): boolean;
52 isLazyTransient(contextId: ContextId, inquirer: InstanceWrapper | undefined): boolean;
53 isExplicitlyRequested(contextId: ContextId, inquirer?: InstanceWrapper): boolean;
54 isStatic(contextId: ContextId, inquirer: InstanceWrapper | undefined): boolean;
55 getStaticTransientInstances(): InstancePerContext<T>[];
56 mergeWith(provider: Provider): void;
57 private isNewable;
58 private isWrapperListStatic;
59 private initialize;
60}