# Class DIConfiguration

Class
Module
import { DIConfiguration } from "@tsed/di"
Source/packages/di/src/types/common/services/DIConfiguration.ts

# Overview

class DIConfiguration {
    readonly default: Map<string, any>;
    protected map: Map<string, any>;
    constructor(initialProps?: {});
    get version(): string;
    set version(v: string);
    get rootDir(): string;
    set rootDir(value: string);
    get env(): Env;
    set env(value: Env);
    get scopes(): Record<string, ProviderScope>;
    set scopes(value: Record<string, ProviderScope>);
    get resolvers(): DIResolver[];
    set resolvers(resolvers: DIResolver[]);
    get imports(): (TokenProvider | TokenProviderOpts)[];
    set imports(imports: (TokenProvider | TokenProviderOpts)[]);
    get routes(): TokenRoute[];
    set routes(routes: TokenRoute[]);
    get logger(): Partial<DILoggerOptions>;
    set logger(value: Partial<DILoggerOptions>);
    get debug(): boolean;
    set debug(debug: boolean);
<span class="token function">forEach</span><span class="token punctuation">(</span>callbackfn<span class="token punctuation">:</span> <span class="token punctuation">(</span>value<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">,</span> index<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">,</span> map<span class="token punctuation">:</span> Map&lt;<span class="token keyword">string</span><span class="token punctuation">,</span> <span class="token keyword">any</span>&gt;<span class="token punctuation">)</span> =&gt; <span class="token keyword">void</span><span class="token punctuation">,</span> thisArg?<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">void</span><span class="token punctuation">;</span>

<span class="token function">set</span><span class="token punctuation">(</span>propertyKey<span class="token punctuation">:</span> <span class="token keyword">string</span> | <a href="/api/specs/schema/types/decorators/operations/Partial.html"><span class="token">Partial</span></a>&lt;TsED.<a href="/api/di/types/common/decorators/Configuration.html"><span class="token">Configuration</span></a>&gt;<span class="token punctuation">,</span> value?<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">)</span><span class="token punctuation">:</span> this<span class="token punctuation">;</span>
<span class="token function">setRaw</span><span class="token punctuation">(</span>propertyKey<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">,</span> value<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">)</span><span class="token punctuation">:</span> this<span class="token punctuation">;</span>

get&lt;T<span class="token punctuation"> = </span><span class="token keyword">any</span>&gt;<span class="token punctuation">(</span>propertyKey<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">,</span> defaultValue?<span class="token punctuation">:</span> T<span class="token punctuation">)</span><span class="token punctuation">:</span> T<span class="token punctuation">;</span>

<span class="token function">resolve</span><span class="token punctuation">(</span>value<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">;</span>
<span class="token keyword">protected</span> <span class="token function">getRaw</span><span class="token punctuation">(</span>propertyKey<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">,</span> defaultValue?<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">;</span>

}

# Members

readonly default: Map<string, any>;

protected map: Map<string, any>;

get version(): string;

set version(v: string);

get rootDir(): string;

set rootDir(value: string);

get env(): Env;

set env(value: Env);

get scopes(): Record<string, ProviderScope>;

set scopes(value: Record<string, ProviderScope>);

get resolvers(): DIResolver[];

set resolvers(resolvers: DIResolver[]);

get imports(): (TokenProvider | TokenProviderOpts)[];

set imports(imports: (TokenProvider | TokenProviderOpts)[]);

get routes(): TokenRoute[];

set routes(routes: TokenRoute[]);

get logger(): Partial<DILoggerOptions>;

set logger(value: Partial<DILoggerOptions>);

get debug(): boolean;

set debug(debug: boolean);

forEach(callbackfn: (value: any, index: string, map: Map<string, any>) => void, thisArg?: any): void;

set(propertyKey: string | Partial<TsED.Configuration>, value?: any): this;

setRaw(propertyKey: string, value: any): this;

get<T = any>(propertyKey: string, defaultValue?: T): T;

resolve(value: any): any;

protected getRaw(propertyKey: string, defaultValue?: any): any;