@spinajs/configuration 2.0.179 → 2.0.181

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,274 +1,274 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
11
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
12
- /* eslint-disable @typescript-eslint/no-unsafe-argument */
13
- /* eslint-disable @typescript-eslint/ban-ts-comment */
14
- /* eslint-disable prettier/prettier */
15
- /* eslint-disable @typescript-eslint/no-var-requires */
16
- /* eslint-disable @typescript-eslint/no-unsafe-call */
17
- import { join, normalize, resolve } from 'path';
18
- import Ajv from 'ajv';
19
- import _ from 'lodash';
20
- import { InternalLogger } from '@spinajs/internal-logger';
21
- import { InvalidArgument, InvalidOperation } from '@spinajs/exceptions';
22
- import { ConfigurationSource, Configuration, } from '@spinajs/configuration-common';
23
- import { Autoinject, Container, Injectable, DI } from '@spinajs/di';
24
- import { InvalidConfiguration } from './exception.js';
25
- import { mergeArrays, parseArgv } from './util.js';
26
- import config from './config/configuration.js';
27
- import './sources.js';
28
- import { default as ajvMergePath } from 'ajv-merge-patch';
29
- import { default as ajvFormats } from 'ajv-formats';
30
- import { default as ajvKeywords } from 'ajv-keywords';
31
- /**
32
- * HACK:
33
- * Becouse of ajv not supporting esm default exports we need to
34
- * check for default export module property and if not provided use module itself
35
- */
36
- let FrameworkConfiguration = class FrameworkConfiguration extends Configuration {
37
- get RootConfig() {
38
- return this.Config;
39
- }
40
- /**
41
- *
42
- * @param app - application name, pass it when you run in application mode
43
- * @param baseDir - configuration base dir, where to look for application configs
44
- * @param cfgCustomPaths - custom cfg paths eg. to load config from non standard folders ( usefull in tests )
45
- */
46
- constructor(options) {
47
- super();
48
- /**
49
- * Apps configuration base dir, where to look for app config
50
- */
51
- this.AppBaseDir = './';
52
- /**
53
- * Current running app name
54
- */
55
- this.RunApp = '';
56
- /**
57
- * Loaded & merged configuration
58
- */
59
- this.Config = {};
60
- this.CustomConfigPaths = options?.cfgCustomPaths ?? [];
61
- this.RunApp = options?.app ?? parseArgv('--app');
62
- this.AppBaseDir = options?.appBaseDir ?? parseArgv('--apppath') ?? join(process.cwd(), '../apps/');
63
- }
64
- /**
65
- * Get config value for given property. If value not exists it returns default value, if default value is not provided returns undefined
66
- *
67
- * @param path - path to property eg. ["system","dirs"]
68
- * @param defaultValue - optional, if value at specified path not exists returns default value
69
- */
70
- get(path, defaultValue) {
71
- return _.get(this.Config, path, defaultValue);
72
- }
73
- /**
74
- * Sets at given path configuration value. Use when you want to override config
75
- * loaded from files programatically
76
- *
77
- * @param path - config path
78
- * @param value - value to set
79
- */
80
- set(path, value) {
81
- this.Config = _.set(this.Config, path, value);
82
- }
83
- /**
84
- * Merge existing config value with new options instead overriding
85
- *
86
- * @param path - cfg path
87
- * @param value - value to merge
88
- */
89
- merge(path, value) {
90
- _.mergeWith(this.get(path), value, mergeArrays);
91
- }
92
- async resolve() {
93
- if (!this.Container.hasRegistered(ConfigurationSource)) {
94
- throw new InvalidOperation('No configuration sources configured. Please ensure that config module have any source to read from !');
95
- }
96
- if (this.CustomConfigPaths) {
97
- // when using DI for resolving, options are injected and not type checked
98
- // double check for this
99
- if (!Array.isArray(this.CustomConfigPaths)) {
100
- throw new InvalidArgument(`ConfigurationConfigPaths should be an array`);
101
- }
102
- this.CustomConfigPaths.forEach((p) => {
103
- InternalLogger.trace(`Custom config path at: ${p}`, 'Configuration');
104
- });
105
- }
106
- if (this.RunApp) {
107
- InternalLogger.info(`Run app is ${this.RunApp}`, 'Configuration');
108
- }
109
- InternalLogger.info(`App base dir is ${this.AppBaseDir}`, 'Configuration');
110
- this.initValidator();
111
- this.applyAppDirs();
112
- // add default configuration of this module
113
- // so we dont need to import it
114
- this.set('configuration', config);
115
- /**
116
- * Load and validate data from cfg sources
117
- * in proper order
118
- */
119
- this.loadSources();
120
- await this.load();
121
- this.validate();
122
- this.configure();
123
- }
124
- async mergeSource(sType) {
125
- const source = this.Container.resolve(sType);
126
- const sCfg = await source.Load(this);
127
- this.Sources.push(source);
128
- if (sCfg) {
129
- _.mergeWith(sCfg, mergeArrays);
130
- }
131
- }
132
- /**
133
- * Reloads configuration data
134
- */
135
- async load() {
136
- this.Config = {};
137
- // add env variables to config
138
- const env = DI.get('process.env');
139
- this.set('process.env', {
140
- ...process.env,
141
- ...env,
142
- APP_ENV: env?.APP_ENV ?? process.env.NODE_ENV ?? 'development',
143
- });
144
- InternalLogger.info(`APP_ENV set to ${this.get('process.env.APP_ENV')}`, 'Configuration');
145
- _.mergeWith(this.Config, this.onLoad(), mergeArrays);
146
- for (const source of this.Sources) {
147
- const rCfg = await source.Load(this);
148
- if (rCfg) {
149
- _.mergeWith(this.Config, rCfg, mergeArrays);
150
- }
151
- }
152
- /**
153
- * Merge from DI container
154
- * eg. when custom modules have config and dont want to use files
155
- * eg. in webpack environment
156
- */
157
- this.Container.resolve(Array.ofType('__configuration__')).forEach((c) => {
158
- Object.keys(c).forEach((k) => {
159
- this.merge(k, c[`${k}`]);
160
- });
161
- });
162
- }
163
- onLoad() {
164
- return null;
165
- }
166
- loadSources() {
167
- this.Sources = this.Container.resolve(Array.ofType(ConfigurationSource), [
168
- this.RunApp,
169
- this.CustomConfigPaths,
170
- this.AppBaseDir,
171
- ]);
172
- // sort asc sources
173
- this.Sources.sort((a, b) => {
174
- return a.Order < b.Order ? -1 : a.Order > b.Order ? 1 : 0;
175
- });
176
- }
177
- validate() {
178
- this.ValidationSchemas.forEach((s) => {
179
- const config = this.get(s.$configurationModule);
180
- if (!config) {
181
- InternalLogger.warn(`Cannot validate configuration for module ${s.$configurationModule}, configuration is not set`, 'Configuration');
182
- return;
183
- }
184
- const result = this.Validator.validate(s, config);
185
- if (!result) {
186
- const error = new InvalidConfiguration('Validation error', this.Validator.errors);
187
- // @ts-ignore
188
- this.Validator.errors.forEach((ve) => {
189
- InternalLogger.error('Invalid configuration ! Message: %s, path: %s, keyword: %s, schemaPath: %s, configuration module: %s', 'Configuration', ve.message, ve.instancePath, ve.keyword, ve.schemaPath, s.$configurationModule);
190
- });
191
- throw error;
192
- }
193
- });
194
- }
195
- initValidator() {
196
- const options = {
197
- logger: {
198
- log: (msg) => InternalLogger.info(msg, 'Configuration'),
199
- warn: (msg) => InternalLogger.warn(msg, 'Configuration'),
200
- error: (msg) => InternalLogger.error(msg, 'Configuration'),
201
- },
202
- // enable all errors on validation, not only first one that occurred
203
- allErrors: true,
204
- // remove properties that are not defined in schema
205
- removeAdditional: true,
206
- // set default values if possible
207
- useDefaults: true,
208
- // The option coerceTypes allows you to have your data types coerced to the types specified in your schema type keywords
209
- coerceTypes: true,
210
- };
211
- // @ts-ignore
212
- if (Ajv.default) {
213
- // @ts-ignore
214
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
215
- this.Validator = new Ajv.default(options);
216
- }
217
- else {
218
- // @ts-ignore
219
- this.Validator = new Ajv(options);
220
- }
221
- // add $merge & $patch for json schema
222
- ajvMergePath(this.Validator);
223
- // add common formats validation eg: date time
224
- ajvFormats.default(this.Validator);
225
- // add keywords
226
- ajvKeywords.default(this.Validator);
227
- // in strict mode ajv will throw when
228
- // unknown keyword in schema is met
229
- // we use $configurationModule keyword to identify
230
- // to match config module with config schema
231
- this.Validator.addKeyword('$configurationModule');
232
- /**
233
- * load all registered configuration json schemas
234
- * for config value validation
235
- */
236
- this.ValidationSchemas = this.Container.get(Array.ofType('__configurationSchema__'), true);
237
- }
238
- dir(toJoin) {
239
- return normalize(join(resolve(this.AppBaseDir), toJoin));
240
- }
241
- /**
242
- * adds app dirs to system.dirs config
243
- */
244
- applyAppDirs() {
245
- if (!this.RunApp) {
246
- return;
247
- }
248
- for (const prop of Object.keys(this.get(['system', 'dirs'], []))) {
249
- this.get(['system', 'dirs', prop]).push(this.dir(`/${this.RunApp}/${prop}`));
250
- }
251
- }
252
- /**
253
- * runs configuration func on files
254
- * eg. when you want to configure stuff at beginning eq. external libs
255
- */
256
- configure() {
257
- for (const prop of Object.keys(this.Config)) {
258
- const subconfig = this.Config[`${prop}`];
259
- if (subconfig.configure && typeof subconfig.configure === 'function') {
260
- subconfig.configure.apply(this);
261
- }
262
- }
263
- }
264
- };
265
- __decorate([
266
- Autoinject(),
267
- __metadata("design:type", Container)
268
- ], FrameworkConfiguration.prototype, "Container", void 0);
269
- FrameworkConfiguration = __decorate([
270
- Injectable(Configuration),
271
- __metadata("design:paramtypes", [Object])
272
- ], FrameworkConfiguration);
273
- export { FrameworkConfiguration };
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ /* eslint-disable @typescript-eslint/no-unsafe-assignment */
11
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access */
12
+ /* eslint-disable @typescript-eslint/no-unsafe-argument */
13
+ /* eslint-disable @typescript-eslint/ban-ts-comment */
14
+ /* eslint-disable prettier/prettier */
15
+ /* eslint-disable @typescript-eslint/no-var-requires */
16
+ /* eslint-disable @typescript-eslint/no-unsafe-call */
17
+ import { join, normalize, resolve } from 'path';
18
+ import Ajv from 'ajv';
19
+ import _ from 'lodash';
20
+ import { InternalLogger } from '@spinajs/internal-logger';
21
+ import { InvalidArgument, InvalidOperation } from '@spinajs/exceptions';
22
+ import { ConfigurationSource, Configuration, } from '@spinajs/configuration-common';
23
+ import { Autoinject, Container, Injectable, DI } from '@spinajs/di';
24
+ import { InvalidConfiguration } from './exception.js';
25
+ import { mergeArrays, parseArgv } from './util.js';
26
+ import config from './config/configuration.js';
27
+ import './sources.js';
28
+ import { default as ajvMergePath } from 'ajv-merge-patch';
29
+ import { default as ajvFormats } from 'ajv-formats';
30
+ import { default as ajvKeywords } from 'ajv-keywords';
31
+ /**
32
+ * HACK:
33
+ * Becouse of ajv not supporting esm default exports we need to
34
+ * check for default export module property and if not provided use module itself
35
+ */
36
+ let FrameworkConfiguration = class FrameworkConfiguration extends Configuration {
37
+ get RootConfig() {
38
+ return this.Config;
39
+ }
40
+ /**
41
+ *
42
+ * @param app - application name, pass it when you run in application mode
43
+ * @param baseDir - configuration base dir, where to look for application configs
44
+ * @param cfgCustomPaths - custom cfg paths eg. to load config from non standard folders ( usefull in tests )
45
+ */
46
+ constructor(options) {
47
+ super();
48
+ /**
49
+ * Apps configuration base dir, where to look for app config
50
+ */
51
+ this.AppBaseDir = './';
52
+ /**
53
+ * Current running app name
54
+ */
55
+ this.RunApp = '';
56
+ /**
57
+ * Loaded & merged configuration
58
+ */
59
+ this.Config = {};
60
+ this.CustomConfigPaths = options?.cfgCustomPaths ?? [];
61
+ this.RunApp = options?.app ?? parseArgv('--app');
62
+ this.AppBaseDir = options?.appBaseDir ?? parseArgv('--apppath') ?? join(process.cwd(), '../apps/');
63
+ }
64
+ /**
65
+ * Get config value for given property. If value not exists it returns default value, if default value is not provided returns undefined
66
+ *
67
+ * @param path - path to property eg. ["system","dirs"]
68
+ * @param defaultValue - optional, if value at specified path not exists returns default value
69
+ */
70
+ get(path, defaultValue) {
71
+ return _.get(this.Config, path, defaultValue);
72
+ }
73
+ /**
74
+ * Sets at given path configuration value. Use when you want to override config
75
+ * loaded from files programatically
76
+ *
77
+ * @param path - config path
78
+ * @param value - value to set
79
+ */
80
+ set(path, value) {
81
+ this.Config = _.set(this.Config, path, value);
82
+ }
83
+ /**
84
+ * Merge existing config value with new options instead overriding
85
+ *
86
+ * @param path - cfg path
87
+ * @param value - value to merge
88
+ */
89
+ merge(path, value) {
90
+ _.mergeWith(this.get(path), value, mergeArrays);
91
+ }
92
+ async resolve() {
93
+ if (!this.Container.hasRegistered(ConfigurationSource)) {
94
+ throw new InvalidOperation('No configuration sources configured. Please ensure that config module have any source to read from !');
95
+ }
96
+ if (this.CustomConfigPaths) {
97
+ // when using DI for resolving, options are injected and not type checked
98
+ // double check for this
99
+ if (!Array.isArray(this.CustomConfigPaths)) {
100
+ throw new InvalidArgument(`ConfigurationConfigPaths should be an array`);
101
+ }
102
+ this.CustomConfigPaths.forEach((p) => {
103
+ InternalLogger.trace(`Custom config path at: ${p}`, 'Configuration');
104
+ });
105
+ }
106
+ if (this.RunApp) {
107
+ InternalLogger.info(`Run app is ${this.RunApp}`, 'Configuration');
108
+ }
109
+ InternalLogger.info(`App base dir is ${this.AppBaseDir}`, 'Configuration');
110
+ this.initValidator();
111
+ this.applyAppDirs();
112
+ // add default configuration of this module
113
+ // so we dont need to import it
114
+ this.set('configuration', config);
115
+ /**
116
+ * Load and validate data from cfg sources
117
+ * in proper order
118
+ */
119
+ this.loadSources();
120
+ await this.load();
121
+ this.validate();
122
+ this.configure();
123
+ }
124
+ async mergeSource(sType) {
125
+ const source = this.Container.resolve(sType);
126
+ const sCfg = await source.Load(this);
127
+ this.Sources.push(source);
128
+ if (sCfg) {
129
+ _.mergeWith(sCfg, mergeArrays);
130
+ }
131
+ }
132
+ /**
133
+ * Reloads configuration data
134
+ */
135
+ async load() {
136
+ this.Config = {};
137
+ // add env variables to config
138
+ const env = DI.get('process.env');
139
+ this.set('process.env', {
140
+ ...process.env,
141
+ ...env,
142
+ APP_ENV: env?.APP_ENV ?? process.env.NODE_ENV ?? 'development',
143
+ });
144
+ InternalLogger.info(`APP_ENV set to ${this.get('process.env.APP_ENV')}`, 'Configuration');
145
+ _.mergeWith(this.Config, this.onLoad(), mergeArrays);
146
+ for (const source of this.Sources) {
147
+ const rCfg = await source.Load(this);
148
+ if (rCfg) {
149
+ _.mergeWith(this.Config, rCfg, mergeArrays);
150
+ }
151
+ }
152
+ /**
153
+ * Merge from DI container
154
+ * eg. when custom modules have config and dont want to use files
155
+ * eg. in webpack environment
156
+ */
157
+ this.Container.resolve(Array.ofType('__configuration__')).forEach((c) => {
158
+ Object.keys(c).forEach((k) => {
159
+ this.merge(k, c[`${k}`]);
160
+ });
161
+ });
162
+ }
163
+ onLoad() {
164
+ return null;
165
+ }
166
+ loadSources() {
167
+ this.Sources = this.Container.resolve(Array.ofType(ConfigurationSource), [
168
+ this.RunApp,
169
+ this.CustomConfigPaths,
170
+ this.AppBaseDir,
171
+ ]);
172
+ // sort asc sources
173
+ this.Sources.sort((a, b) => {
174
+ return a.Order < b.Order ? -1 : a.Order > b.Order ? 1 : 0;
175
+ });
176
+ }
177
+ validate() {
178
+ this.ValidationSchemas.forEach((s) => {
179
+ const config = this.get(s.$configurationModule);
180
+ if (!config) {
181
+ InternalLogger.warn(`Cannot validate configuration for module ${s.$configurationModule}, configuration is not set`, 'Configuration');
182
+ return;
183
+ }
184
+ const result = this.Validator.validate(s, config);
185
+ if (!result) {
186
+ const error = new InvalidConfiguration('Validation error', this.Validator.errors);
187
+ // @ts-ignore
188
+ this.Validator.errors.forEach((ve) => {
189
+ InternalLogger.error('Invalid configuration ! Message: %s, path: %s, keyword: %s, schemaPath: %s, configuration module: %s', 'Configuration', ve.message, ve.instancePath, ve.keyword, ve.schemaPath, s.$configurationModule);
190
+ });
191
+ throw error;
192
+ }
193
+ });
194
+ }
195
+ initValidator() {
196
+ const options = {
197
+ logger: {
198
+ log: (msg) => InternalLogger.info(msg, 'Configuration'),
199
+ warn: (msg) => InternalLogger.warn(msg, 'Configuration'),
200
+ error: (msg) => InternalLogger.error(msg, 'Configuration'),
201
+ },
202
+ // enable all errors on validation, not only first one that occurred
203
+ allErrors: true,
204
+ // remove properties that are not defined in schema
205
+ removeAdditional: true,
206
+ // set default values if possible
207
+ useDefaults: true,
208
+ // The option coerceTypes allows you to have your data types coerced to the types specified in your schema type keywords
209
+ coerceTypes: true,
210
+ };
211
+ // @ts-ignore
212
+ if (Ajv.default) {
213
+ // @ts-ignore
214
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
215
+ this.Validator = new Ajv.default(options);
216
+ }
217
+ else {
218
+ // @ts-ignore
219
+ this.Validator = new Ajv(options);
220
+ }
221
+ // add $merge & $patch for json schema
222
+ ajvMergePath(this.Validator);
223
+ // add common formats validation eg: date time
224
+ ajvFormats.default(this.Validator);
225
+ // add keywords
226
+ ajvKeywords.default(this.Validator);
227
+ // in strict mode ajv will throw when
228
+ // unknown keyword in schema is met
229
+ // we use $configurationModule keyword to identify
230
+ // to match config module with config schema
231
+ this.Validator.addKeyword('$configurationModule');
232
+ /**
233
+ * load all registered configuration json schemas
234
+ * for config value validation
235
+ */
236
+ this.ValidationSchemas = this.Container.get(Array.ofType('__configurationSchema__'), true);
237
+ }
238
+ dir(toJoin) {
239
+ return normalize(join(resolve(this.AppBaseDir), toJoin));
240
+ }
241
+ /**
242
+ * adds app dirs to system.dirs config
243
+ */
244
+ applyAppDirs() {
245
+ if (!this.RunApp) {
246
+ return;
247
+ }
248
+ for (const prop of Object.keys(this.get(['system', 'dirs'], []))) {
249
+ this.get(['system', 'dirs', prop]).push(this.dir(`/${this.RunApp}/${prop}`));
250
+ }
251
+ }
252
+ /**
253
+ * runs configuration func on files
254
+ * eg. when you want to configure stuff at beginning eq. external libs
255
+ */
256
+ configure() {
257
+ for (const prop of Object.keys(this.Config)) {
258
+ const subconfig = this.Config[`${prop}`];
259
+ if (subconfig.configure && typeof subconfig.configure === 'function') {
260
+ subconfig.configure.apply(this);
261
+ }
262
+ }
263
+ }
264
+ };
265
+ __decorate([
266
+ Autoinject(),
267
+ __metadata("design:type", Container)
268
+ ], FrameworkConfiguration.prototype, "Container", void 0);
269
+ FrameworkConfiguration = __decorate([
270
+ Injectable(Configuration),
271
+ __metadata("design:paramtypes", [Object])
272
+ ], FrameworkConfiguration);
273
+ export { FrameworkConfiguration };
274
274
  //# sourceMappingURL=configuration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/configuration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/configuration.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,22 @@
1
- import { IConfigEntryOptions } from '@spinajs/configuration-common';
2
- import { Class } from '@spinajs/di';
3
- /**
4
- * Injects configuration value to given class property
5
- *
6
- * @param path - path to configuration value eg. "app.dirs.stats"
7
- * @param dafaultValue - default value if path not exists
8
- * @returns
9
- */
10
- export declare function Config(path: string, options?: IConfigEntryOptions): (target?: any, key?: string) => any;
11
- /**
12
- * Inject service based on configuration.
13
- * Configuration could be object or string containing service
14
- *
15
- * If array is provided in configuration, service is resolved by name
16
- * stored in 'service' property and returnes as Map\<serviceName, instance\>
17
- *
18
- * @param path - configuration path where service type is stored
19
- * @param type - if type is provided, it will override type obtain from reflection. Use it specific with arrays and maps, becouse ts reflection module cannot extract array and map type data
20
- */
21
- export declare function AutoinjectService(path: string, type?: Class<unknown>): any;
1
+ import { IConfigEntryOptions } from '@spinajs/configuration-common';
2
+ import { Class } from '@spinajs/di';
3
+ /**
4
+ * Injects configuration value to given class property
5
+ *
6
+ * @param path - path to configuration value eg. "app.dirs.stats"
7
+ * @param dafaultValue - default value if path not exists
8
+ * @returns
9
+ */
10
+ export declare function Config(path: string, options?: IConfigEntryOptions): (target?: any, key?: string) => any;
11
+ /**
12
+ * Inject service based on configuration.
13
+ * Configuration could be object or string containing service
14
+ *
15
+ * If array is provided in configuration, service is resolved by name
16
+ * stored in 'service' property and returnes as Map\<serviceName, instance\>
17
+ *
18
+ * @param path - configuration path where service type is stored
19
+ * @param type - if type is provided, it will override type obtain from reflection. Use it specific with arrays and maps, becouse ts reflection module cannot extract array and map type data
20
+ */
21
+ export declare function AutoinjectService(path: string, type?: Class<unknown>): any;
22
22
  //# sourceMappingURL=decorators.d.ts.map