@allgemein/config 1.1.6 → 1.3.0

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.
Files changed (64) hide show
  1. package/LICENSE +2 -2
  2. package/README.md +8 -8
  3. package/browser.js +1 -2
  4. package/browser.js.map +1 -1
  5. package/config/Config.js +6 -30
  6. package/config/Config.js.map +1 -1
  7. package/config/ConfigHandler.js +1 -2
  8. package/config/ConfigHandler.js.map +1 -1
  9. package/config/ConfigJar.js +2 -26
  10. package/config/ConfigJar.js.map +1 -1
  11. package/config/ConfigSupport.d.ts +2 -2
  12. package/config/ConfigSupport.js +4 -27
  13. package/config/ConfigSupport.js.map +1 -1
  14. package/config/IConfigData.js +1 -2
  15. package/config/IConfigData.js.map +1 -1
  16. package/config/IConfigOptions.js +1 -2
  17. package/config/IConfigOptions.js.map +1 -1
  18. package/config/IJarOptions.js +1 -2
  19. package/config/IJarOptions.js.map +1 -1
  20. package/config/IOptions.js +1 -2
  21. package/config/IOptions.js.map +1 -1
  22. package/config/Source.js +1 -2
  23. package/config/Source.js.map +1 -1
  24. package/config/handler/DirectoryConfig.js +21 -42
  25. package/config/handler/DirectoryConfig.js.map +1 -1
  26. package/config/handler/FileConfig.js +16 -17
  27. package/config/handler/FileConfig.js.map +1 -1
  28. package/config/handler/FileSource.js +2 -3
  29. package/config/handler/FileSource.js.map +1 -1
  30. package/config/handler/IDirectoryConfigOptions.js +1 -2
  31. package/config/handler/IDirectoryConfigOptions.js.map +1 -1
  32. package/config/handler/IFileConfigOptions.js +1 -2
  33. package/config/handler/IFileConfigOptions.js.map +1 -1
  34. package/config/handler/IFilePath.js +1 -2
  35. package/config/handler/IFilePath.js.map +1 -1
  36. package/config/handler/SystemConfig.js +1 -2
  37. package/config/handler/SystemConfig.js.map +1 -1
  38. package/config/handler/index.js +1 -2
  39. package/config/handler/index.js.map +1 -1
  40. package/filesupport/FileSupport.js +1 -2
  41. package/filesupport/FileSupport.js.map +1 -1
  42. package/filesupport/IFileSupport.js +1 -2
  43. package/filesupport/IFileSupport.js.map +1 -1
  44. package/filesupport/IFileSupportInfo.js +1 -2
  45. package/filesupport/IFileSupportInfo.js.map +1 -1
  46. package/filesupport/types/JsonFileSupport.js +1 -2
  47. package/filesupport/types/JsonFileSupport.js.map +1 -1
  48. package/filesupport/types/PropertiesFileSupport.js +1 -2
  49. package/filesupport/types/PropertiesFileSupport.js.map +1 -1
  50. package/filesupport/types/XmlFileSupport.js +1 -2
  51. package/filesupport/types/XmlFileSupport.js.map +1 -1
  52. package/filesupport/types/YamlFileSupport.js +1 -2
  53. package/filesupport/types/YamlFileSupport.js.map +1 -1
  54. package/index.js +1 -2
  55. package/index.js.map +1 -1
  56. package/package.json +12 -63
  57. package/supports/InterpolationSupport.js +1 -2
  58. package/supports/InterpolationSupport.js.map +1 -1
  59. package/types.d.ts +1 -1
  60. package/types.js +1 -2
  61. package/types.js.map +1 -1
  62. package/utils/Utils.d.ts +3 -3
  63. package/utils/Utils.js +18 -42
  64. package/utils/Utils.js.map +1 -1
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License
2
2
 
3
- Copyright (c) 2017 Robert Kania
3
+ Copyright (c) 2018 Robert Kania
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person
6
6
  obtaining a copy of this software and associated documentation
@@ -20,4 +20,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20
20
  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21
21
  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22
22
  TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
  [![Dependency Status](https://david-dm.org/allgemein-node/config.svg)](https://david-dm.org/allgemein-node/config)
7
7
 
8
8
 
9
- Commons-config is a configurable configuration content handler which supports
9
+ @allgemein/config is a configurable configuration content handler which supports
10
10
  multiple configuration infrastructures and file formats.
11
11
 
12
12
  Feature:
@@ -32,7 +32,7 @@ Feature:
32
32
  ### System configuration
33
33
 
34
34
  ```ts
35
- import {Config} from "commons-config";
35
+ import {Config} from "@allgemein/config";
36
36
 
37
37
  Config.options({
38
38
  configs: [
@@ -63,7 +63,7 @@ Sample file structure:
63
63
  Sample code:
64
64
 
65
65
  ```ts
66
- import {Config} from "commons-config";
66
+ import {Config} from "@allgemein/config";
67
67
 
68
68
  Config.options({
69
69
  configs: [
@@ -104,7 +104,7 @@ Sample file structure:
104
104
  Sample code:
105
105
 
106
106
  ```ts
107
- import {Config} from "commons-config";
107
+ import {Config} from "@allgemein/config";
108
108
 
109
109
  Config.options({
110
110
  configs: [
@@ -148,7 +148,7 @@ Sample file structure:
148
148
  Sample file structure:
149
149
 
150
150
  ```ts
151
- import {Config} from "commons-config";
151
+ import {Config} from "@allgemein/config";
152
152
 
153
153
  Config.options({
154
154
  configs: [
@@ -187,7 +187,7 @@ Config.options({
187
187
  Integration in javascript source code:
188
188
 
189
189
  ```js
190
- const commons_config = require('commons-config')
190
+ const commons_config = require('@allgemein/config')
191
191
  const Config = commons_config.Config
192
192
 
193
193
  Config.options({ ... })
@@ -196,7 +196,7 @@ Config.options({ ... })
196
196
  Integration in typescript source code:
197
197
 
198
198
  ```js
199
- import {Config} from "commons-config";
199
+ import {Config} from "@allgemein/config";
200
200
 
201
201
  Config.options({ ... })
202
202
  ```
@@ -210,4 +210,4 @@ Config.options({ ... })
210
210
 
211
211
  ## Links
212
212
 
213
- * [https://www.npmjs.com/package/commons-config](https://www.npmjs.com/package/commons-config)
213
+ * [https://www.npmjs.com/package/@allgemein/config](https://www.npmjs.com/package/@allgemein/config)
package/browser.js CHANGED
@@ -24,5 +24,4 @@ Object.defineProperty(exports, "NAMING_BY_DIRECTORYPATH", { enumerable: true, ge
24
24
  Object.defineProperty(exports, "NAMING_BY_FILENAME", { enumerable: true, get: function () { return types_1.NAMING_BY_FILENAME; } });
25
25
  Object.defineProperty(exports, "NAMING_BY_FULLPATH", { enumerable: true, get: function () { return types_1.NAMING_BY_FULLPATH; } });
26
26
  Object.defineProperty(exports, "SELECTOR_SEPARATOR", { enumerable: true, get: function () { return types_1.SELECTOR_SEPARATOR; } });
27
-
28
- //# sourceMappingURL=browser.js.map
27
+ //# sourceMappingURL=browser.js.map
package/browser.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/browser.ts"],"names":[],"mappings":";;;AAAA,QAAQ;AACR,uCAAoC;AAA5B,8FAAA,KAAK,OAAA;AAEb,SAAS;AACT,0CAAuC;AAA/B,gGAAA,MAAM,OAAA;AACd,wDAAwD;AACxD,gDAA6C;AAArC,sGAAA,SAAS,OAAA;AAIjB,wDAAqD;AAA7C,8GAAA,aAAa,OAAA;AAGrB,0CAAuC;AAA/B,gGAAA,MAAM,OAAA;AAEd,eAAe;AACf,8DAA2D;AAAnD,4GAAA,YAAY,OAAA;AAGpB,iCAGiB;AAFf,yGAAA,gBAAgB,OAAA;AAAE,4GAAA,mBAAmB,OAAA;AAAE,gHAAA,uBAAuB,OAAA;AAAE,2GAAA,kBAAkB,OAAA;AAClF,2GAAA,kBAAkB,OAAA;AAAwB,2GAAA,kBAAkB,OAAA","file":"browser.js","sourcesContent":["// Utils\nexport {Utils} from './utils/Utils';\n\n// Config\nexport {Config} from './config/Config';\n// export {ConfigHandler} from './config/ConfigHandler';\nexport {ConfigJar} from './config/ConfigJar';\n\nexport {IConfigData} from './config/IConfigData';\nexport {IConfigOptions} from './config/IConfigOptions';\nexport {ConfigSupport} from './config/ConfigSupport';\nexport {IJarOptions} from './config/IJarOptions';\nexport {IOptions} from './config/IOptions';\nexport {Source} from './config/Source';\n\n// SystemConfig\nexport {SystemConfig} from './config/handler/SystemConfig';\n\n\nexport {\n DEFAULT_JAR_NAME, NAMING_BY_DIRECTORY, NAMING_BY_DIRECTORYPATH, NAMING_BY_FILENAME,\n NAMING_BY_FULLPATH, NamingResolvePattern, SELECTOR_SEPARATOR\n} from './types';\n"],"sourceRoot":"."}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":";;;AAAA,QAAQ;AACR,uCAAoC;AAA5B,8FAAA,KAAK,OAAA;AAEb,SAAS;AACT,0CAAuC;AAA/B,gGAAA,MAAM,OAAA;AACd,wDAAwD;AACxD,gDAA6C;AAArC,sGAAA,SAAS,OAAA;AAIjB,wDAAqD;AAA7C,8GAAA,aAAa,OAAA;AAGrB,0CAAuC;AAA/B,gGAAA,MAAM,OAAA;AAEd,eAAe;AACf,8DAA2D;AAAnD,4GAAA,YAAY,OAAA;AAGpB,iCAGiB;AAFf,yGAAA,gBAAgB,OAAA;AAAE,4GAAA,mBAAmB,OAAA;AAAE,gHAAA,uBAAuB,OAAA;AAAE,2GAAA,kBAAkB,OAAA;AAClF,2GAAA,kBAAkB,OAAA;AAAwB,2GAAA,kBAAkB,OAAA"}
package/config/Config.js CHANGED
@@ -1,30 +1,6 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.Config = void 0;
27
- const _ = __importStar(require("lodash"));
28
4
  const Utils_1 = require("../utils/Utils");
29
5
  const ConfigJar_1 = require("./ConfigJar");
30
6
  const ConfigHandler_1 = require("./ConfigHandler");
@@ -32,6 +8,7 @@ const FileSupport_1 = require("../filesupport/FileSupport");
32
8
  const types_1 = require("../types");
33
9
  const InterpolationSupport_1 = require("../supports/InterpolationSupport");
34
10
  const base_1 = require("@allgemein/base");
11
+ const lodash_1 = require("lodash");
35
12
  class Config {
36
13
  constructor() {
37
14
  this.$options = {};
@@ -157,10 +134,10 @@ class Config {
157
134
  if (!this.$options.handlers || this.$options.handlers.length === 0) {
158
135
  this.$options.handlers = ConfigHandler_1.ConfigHandler.DEFAULT_HANDLER;
159
136
  }
160
- if (!_.isEmpty(this.$options.workdir)) {
137
+ if (!(0, lodash_1.isEmpty)(this.$options.workdir)) {
161
138
  base_1.PlatformUtils.setWorkDir(this.$options.workdir);
162
139
  }
163
- else if (_.has(this.$options, 'workdir')) {
140
+ else if ((0, lodash_1.has)(this.$options, 'workdir')) {
164
141
  // reset workdir, it is set to null
165
142
  base_1.PlatformUtils.setWorkDir(null);
166
143
  }
@@ -200,12 +177,12 @@ class Config {
200
177
  }
201
178
  static get(path = null, namespace_or_fallback, fallback) {
202
179
  if (path == null) {
203
- const data = _.cloneDeep(this.jarsData);
180
+ const data = (0, lodash_1.cloneDeep)(this.jarsData);
204
181
  if (this.hasJar('system')) {
205
182
  data.shift();
206
183
  }
207
184
  if (data.length > 1) {
208
- return _.merge(data.shift(), ...data);
185
+ return (0, lodash_1.merge)(data.shift(), ...data);
209
186
  }
210
187
  return data;
211
188
  }
@@ -249,5 +226,4 @@ Config.DEFAULT_OPTIONS = {
249
226
  ]
250
227
  };
251
228
  Config.$self = null;
252
-
253
- //# sourceMappingURL=Config.js.map
229
+ //# sourceMappingURL=Config.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/config/Config.ts"],"names":[],"mappings":"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","file":"Config.js","sourcesContent":["import * as _ from 'lodash';\nimport {Utils} from '../utils/Utils';\n\nimport {ConfigJar} from './ConfigJar';\nimport {IOptions} from './IOptions';\nimport {IConfigData} from './IConfigData';\n\nimport {ConfigHandler} from './ConfigHandler';\nimport {FileSupport} from '../filesupport/FileSupport';\nimport {IJarOptions} from './IJarOptions';\nimport {DEFAULT_JAR_NAME} from '../types';\nimport {ConfigSupport} from './ConfigSupport';\nimport {InterpolationSupport} from '../supports/InterpolationSupport';\nimport {PlatformUtils} from '@allgemein/base';\n\n\nexport class Config {\n\n private static DEFAULT_OPTIONS: IOptions = {\n fileSupport: FileSupport.DEFAULT_TYPES,\n // handlers: {}DEFAULT_HANDLER,\n configs: [\n {\n type: 'system'\n }\n ]\n };\n\n private static $self: Config = null;\n\n private $options: IOptions = {};\n\n private $jars: { [k: string]: ConfigJar } = {};\n\n private $init: boolean = false;\n\n\n private constructor() {\n\n }\n\n static instance(init: boolean = true): Config {\n if (!this.$self) {\n this.$self = new Config();\n }\n\n if (!this.$self.isInitialized() && init) {\n this.$self._options(this.DEFAULT_OPTIONS);\n }\n\n return this.$self;\n }\n\n isInitialized() {\n return this.$init;\n }\n\n\n static jar(name: string | IJarOptions = 'default', jar?: ConfigJar): ConfigJar {\n return this.instance(false)._jar(name, jar);\n }\n\n _jar(name: string | IJarOptions = 'default', jar?: ConfigJar, override: boolean = false): ConfigJar {\n let options: IJarOptions = {namespace: DEFAULT_JAR_NAME};\n let _name: string = null;\n if (!Utils.isString(name)) {\n options = <IJarOptions>name;\n _name = options.namespace;\n } else {\n _name = <string>name;\n options.namespace = _name;\n }\n\n if (this.$jars[_name] && !jar) {\n // jar already exists\n if (options && override) {\n this.$jars[_name] = ConfigJar.create(options);\n }\n } else if (this.$jars[_name] && jar) {\n if (!override) {\n throw new Error('config jar is already set');\n }\n this.$jars[_name] = jar;\n } else if (!this.$jars[_name] && jar) {\n this.$jars[_name] = jar;\n } else {\n this.$jars[_name] = ConfigJar.create(options);\n }\n return this.$jars[_name];\n }\n\n // TODO return immutable\n static get jars(): ConfigJar[] {\n return this.instance(false)._jars;\n }\n\n get _jars(): ConfigJar[] {\n const self = this;\n const jars: ConfigJar[] = [];\n Object.keys(this.$jars).forEach(k => {\n jars.push(self.$jars[k]);\n });\n return jars;\n }\n\n\n static all(): IConfigData[] {\n return this.instance(false)._jarsData;\n }\n\n static get jarsData(): IConfigData[] {\n return this.instance(false)._jarsData;\n }\n\n get _jarsData(): IConfigData[] {\n const self = this;\n const jars: IConfigData[] = [];\n Object.keys(this.$jars).forEach(k => {\n jars.push(self.$jars[k].data);\n });\n return jars;\n }\n\n\n static hasJar(name: string): boolean {\n return this.instance(false)._hasJar(name);\n }\n\n _hasJar(name: string): boolean {\n return !!this.$jars[name];\n }\n\n static options(options: IOptions = null, append: boolean = true): IOptions {\n return this.instance()._options(options, append);\n }\n\n\n _options(_options: IOptions = null, append: boolean = true): IOptions {\n if (_options == null) {\n return this.$options;\n }\n\n this.$init = true;\n\n let options: IOptions = {};\n if (!_options.configs) {\n // Test if configs key was ignored\n if (Utils.isArray(_options) && _options.length > 0) {\n if (_options[0].type) {\n // okay configs was ignored, prepend it!\n options = <IOptions>{configs: _options};\n } else {\n options = {};\n }\n } else {\n options = _options;\n }\n } else {\n options = _options;\n }\n\n if (append) {\n this.$options = Utils.merge(this.$options, options);\n } else {\n // clear current jars\n this.$jars = {};\n Object.assign(this.$options, options);\n }\n\n\n if (this.$options.fileSupport) {\n FileSupport.reload(this.$options.fileSupport);\n }\n\n if (!this.$options.handlers || this.$options.handlers.length === 0) {\n this.$options.handlers = ConfigHandler.DEFAULT_HANDLER;\n }\n\n if (!_.isEmpty(this.$options.workdir)) {\n PlatformUtils.setWorkDir(this.$options.workdir);\n } else if (_.has(this.$options, 'workdir')) {\n // reset workdir, it is set to null\n PlatformUtils.setWorkDir(null);\n }\n\n ConfigHandler.reload(this.$options.handlers);\n\n for (const _config of this.$options.configs) {\n const handler: ConfigSupport<any> = ConfigHandler.getHandlerByType(_config.type, _config, this._jarsData);\n if (handler) {\n const jar = handler.create();\n\n if (jar) {\n _config.state = true;\n if (Utils.isArray(jar)) {\n for (const _jar of <ConfigJar[]>jar) {\n const _inst_jar = Config.jar(_jar.namespace);\n InterpolationSupport.exec(_config, _inst_jar.data);\n _inst_jar.merge(_jar.data);\n _inst_jar.sources(_jar.sources());\n }\n } else {\n const _jar = <ConfigJar>jar;\n const _inst_jar = Config.jar(_jar.namespace);\n InterpolationSupport.exec(_config, _inst_jar.data);\n // InterpolationSupport.exec(_inst_jar.data,this._jarsData);\n _inst_jar.merge(_jar.data);\n _inst_jar.sources(_jar.sources());\n }\n } else {\n _config.state = false;\n }\n } else {\n throw new Error('handler doesn\\'t exists');\n }\n }\n return this.$options;\n }\n\n\n static get(path: string = null, namespace_or_fallback?: any, fallback?: any) {\n if (path == null) {\n const data = _.cloneDeep(this.jarsData);\n if (this.hasJar('system')) {\n data.shift();\n }\n if (data.length > 1) {\n return _.merge(data.shift(), ...data);\n }\n return data;\n }\n\n let jars: ConfigJar[] = this.jars;\n\n if (Utils.isString(namespace_or_fallback) && this.hasJar(namespace_or_fallback)) {\n jars = [this.jar(namespace_or_fallback)];\n } else {\n fallback = namespace_or_fallback;\n jars = this.jars;\n }\n\n let _value: any = null;\n for (let i = 0; i < jars.length; i++) {\n _value = jars[i].get(path);\n if (_value) {\n break;\n }\n }\n\n if (!_value && fallback) {\n return fallback;\n }\n return _value;\n }\n\n\n static set(path: string, value: any, namespace: string = 'default'): boolean {\n const jar: ConfigJar = Config.jar(namespace);\n return jar.set(path, value);\n }\n\n static clear(): void {\n this.$self = null;\n PlatformUtils.setWorkDir(null);\n }\n\n\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../src/config/Config.ts"],"names":[],"mappings":"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"}
@@ -57,5 +57,4 @@ ConfigHandler.DEFAULT_HANDLER = [
57
57
  DirectoryConfig_1.DirectoryConfig
58
58
  ];
59
59
  ConfigHandler.$supports = {};
60
-
61
- //# sourceMappingURL=ConfigHandler.js.map
60
+ //# sourceMappingURL=ConfigHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/config/ConfigHandler.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AACpD,qDAAgD;AAIhD,+DAA0D;AAC1D,0CAAqC;AACrC,0CAA8D;AAG9D,MAAa,aAAa;IAWtB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,cAAqD,aAAa,CAAC,eAAe;QAC5F,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC7B,WAAW,GAAG,CAAC,WAAW,CAAC,CAAC;SAC/B;QACD,IAAI,OAAO,GAAG,kBAAW,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAE5D,OAAO,GAAG,aAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAe,EAAE,EAAE;YAEhC,IAAI,CAAC,GAAQ,IAAI,CAAC;YAClB,IAAI;gBACA,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;aACnC;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,OAAO;aACV;YAED,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;QAErC,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IACjD,CAAC;IAED,MAAM,CAAC,eAAe;QAClB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,MAAM;QACT,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,GAAW,EAAE,IAAmB,EAAE,YAAwB,EAAE;QAChF,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACrB,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;SACpE;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAGD,MAAM,CAAC,KAAK;QACR,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;IACvB,CAAC;;AA9DL,sCAgEC;AA9DU,6BAAe,GAAuB;IACzC,2BAAY;IACZ,uBAAU;IACV,iCAAe;CAClB,CAAC;AAGa,uBAAS,GAA8B,EAAE,CAAC","file":"ConfigHandler.js","sourcesContent":["import {SystemConfig} from \"./handler/SystemConfig\";\nimport {FileConfig} from \"./handler/FileConfig\";\nimport {ConfigSupport} from \"./ConfigSupport\";\nimport {IConfigOptions} from \"./IConfigOptions\";\nimport {IConfigData} from \"./IConfigData\";\nimport {DirectoryConfig} from \"./handler/DirectoryConfig\";\nimport {Utils} from \"../utils/Utils\";\nimport {ClassLoader, StringOrFunction} from \"@allgemein/base\";\n\n\nexport class ConfigHandler {\n\n static DEFAULT_HANDLER: StringOrFunction[] = [\n SystemConfig,\n FileConfig,\n DirectoryConfig\n ];\n\n\n private static $supports: { [k: string]: Function } = {};\n\n /**\n * Loades classes in *.js or *.ts files from given directories, verifing if they implement the\n * IConfigSupport interface.\n *\n * @param directories\n */\n static reload(directories: StringOrFunction | StringOrFunction[] = ConfigHandler.DEFAULT_HANDLER): boolean {\n this.reset();\n\n let self = this;\n if (!Array.isArray(directories)) {\n directories = [directories];\n }\n let classes = ClassLoader.importClassesFromAny(directories);\n\n classes = Utils.uniqArr(classes);\n classes.forEach((klass: Function) => {\n\n let l: any = null;\n try {\n l = Reflect.construct(klass, [])\n } catch (err) {\n console.error(err);\n return;\n }\n\n self.$supports[l.type()] = klass;\n\n });\n\n return Object.keys(this.$supports).length > 0\n }\n\n static getHandlerTypes(): string[] {\n return Object.keys(this.$supports);\n }\n\n static amount() {\n return Object.keys(this.$supports).length;\n }\n\n static getHandlerByType(ext: string, opts:IConfigOptions, _jarsData:IConfigData = []): ConfigSupport<any> {\n if (this.$supports[ext]) {\n return Reflect.construct(this.$supports[ext], [opts, _jarsData]);\n }\n return null\n }\n\n\n static reset() {\n this.$supports = {}\n }\n\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"file":"ConfigHandler.js","sourceRoot":"","sources":["../../../src/config/ConfigHandler.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AACpD,qDAAgD;AAIhD,+DAA0D;AAC1D,0CAAqC;AACrC,0CAA8D;AAG9D,MAAa,aAAa;IAWtB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,cAAqD,aAAa,CAAC,eAAe;QAC5F,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9B,WAAW,GAAG,CAAC,WAAW,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,OAAO,GAAG,kBAAW,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAE5D,OAAO,GAAG,aAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAe,EAAE,EAAE;YAEhC,IAAI,CAAC,GAAQ,IAAI,CAAC;YAClB,IAAI,CAAC;gBACD,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YACpC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,OAAO;YACX,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;QAErC,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IACjD,CAAC;IAED,MAAM,CAAC,eAAe;QAClB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,MAAM;QACT,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,GAAW,EAAE,IAAmB,EAAE,YAAwB,EAAE;QAChF,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAGD,MAAM,CAAC,KAAK;QACR,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;IACvB,CAAC;;AA9DL,sCAgEC;AA9DU,6BAAe,GAAuB;IACzC,2BAAY;IACZ,uBAAU;IACV,iCAAe;CAClB,CAAC;AAGa,uBAAS,GAA8B,EAAE,CAAC"}
@@ -1,30 +1,7 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.ConfigJar = void 0;
27
- const _ = __importStar(require("lodash"));
4
+ const _ = require("lodash");
28
5
  const Utils_1 = require("../utils/Utils");
29
6
  const InterpolationSupport_1 = require("../supports/InterpolationSupport");
30
7
  const Config_1 = require("./Config");
@@ -105,5 +82,4 @@ class ConfigJar {
105
82
  }
106
83
  }
107
84
  exports.ConfigJar = ConfigJar;
108
-
109
- //# sourceMappingURL=ConfigJar.js.map
85
+ //# sourceMappingURL=ConfigJar.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/config/ConfigJar.ts"],"names":[],"mappings":"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","file":"ConfigJar.js","sourcesContent":["import {IConfigData} from \"./IConfigData\";\nimport {IJarOptions} from \"./IJarOptions\";\nimport * as _ from \"lodash\";\nimport {Utils} from \"../utils/Utils\";\nimport {InterpolationSupport} from \"../supports/InterpolationSupport\";\nimport {Config} from \"./Config\";\nimport {Source} from \"./Source\";\n\nconst DEFAULT_JAR_OPTS: IJarOptions = {\n namespace: 'default',\n standalone: false,\n interpolate: true\n};\n\nexport class ConfigJar {\n\n private _options: IJarOptions;\n\n // private _config:\n\n private _data: IConfigData = {};\n\n /**\n *\n */\n private _source: Source[] = [];\n\n constructor(options: IJarOptions = DEFAULT_JAR_OPTS) {\n this._options = _.defaults(options,DEFAULT_JAR_OPTS)\n }\n\n get namespace() {\n return this._options.namespace\n }\n\n get data() {\n return this._data\n }\n\n get(path: string): any {\n return Utils.get(this._data, path)\n }\n\n set(path: string, value: any): boolean {\n return Utils.set(this._data, path, value)\n }\n\n merge(data: IConfigData | Source, opts: { interpolate: boolean } = {interpolate: true}) {\n\n let source = data;\n if (data instanceof Source) {\n source = Utils.clone(data);\n this._source.push(<Source>source);\n data = (<Source>source).data;\n\n if ((<Source>source).prefix) {\n let _data = {};\n Utils.set(_data, (<Source>source).prefix, data);\n data = _data\n }\n }\n\n\n if (this._options.interpolate && opts.interpolate) {\n // interpolate first then merge\n let collection: IConfigData[] = Config.jarsData;\n\n // interpolate against self execute\n if (!Config.hasJar(this.namespace) && !Utils.isEmpty(this._data)) {\n collection.push(this._data)\n }\n collection.unshift(data);\n InterpolationSupport.exec(data, collection)\n }\n\n this._data = Utils.merge(this._data, data)\n }\n\n /**\n * Execute interpolation over the config data\n */\n runInterpolation() {\n InterpolationSupport.exec(this._data)\n }\n\n interpolateAgainst(data: IConfigData) {\n InterpolationSupport.exec(data, this._data);\n return data;\n }\n\n static create(options: IJarOptions = {namespace: 'default'}): ConfigJar {\n if (!options.namespace) {\n options.namespace = 'default'\n }\n let jar = new ConfigJar(options);\n return jar\n }\n\n\n sources(source?: Source[]): Source[] {\n if (source) {\n this._source = this._source.concat(source)\n }\n return this._source\n }\n\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"file":"ConfigJar.js","sourceRoot":"","sources":["../../../src/config/ConfigJar.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { ConfigJar } from "./ConfigJar";
2
- import { IConfigData } from "./IConfigData";
1
+ import { ConfigJar } from './ConfigJar';
2
+ import { IConfigData } from './IConfigData';
3
3
  export declare abstract class ConfigSupport<T> {
4
4
  $options: T;
5
5
  constructor(options: T, jarsData?: IConfigData[]);
@@ -1,36 +1,14 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.ConfigSupport = void 0;
27
- const _ = __importStar(require("lodash"));
28
4
  const InterpolationSupport_1 = require("../supports/InterpolationSupport");
5
+ const lodash_1 = require("lodash");
29
6
  class ConfigSupport {
30
7
  constructor(options, jarsData = []) {
31
8
  this.$options = options;
32
9
  // if not globally definied then load directly
33
- if (options && options['type'] != 'system' && !_.isEmpty(jarsData)) {
10
+ // @ts-ignore
11
+ if (options && options['type'] !== 'system' && !(0, lodash_1.isEmpty)(jarsData)) {
34
12
  try {
35
13
  InterpolationSupport_1.InterpolationSupport.exec(this.$options, jarsData);
36
14
  }
@@ -40,5 +18,4 @@ class ConfigSupport {
40
18
  }
41
19
  }
42
20
  exports.ConfigSupport = ConfigSupport;
43
-
44
- //# sourceMappingURL=ConfigSupport.js.map
21
+ //# sourceMappingURL=ConfigSupport.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/config/ConfigSupport.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA4B;AAG5B,2EAAsE;AAItE,MAAsB,aAAa;IAI/B,YAAY,OAAW,EAAE,WAAuB,EAAE;QAC9C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,8CAA8C;QAC9C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAChE,IAAG;gBACC,2CAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;aACrD;YAAA,OAAM,CAAC,EAAC;aAER;SACJ;IAEL,CAAC;CASJ;AAzBD,sCAyBC","file":"ConfigSupport.js","sourcesContent":["import * as _ from 'lodash';\nimport {ConfigJar} from \"./ConfigJar\";\nimport {IConfigData} from \"./IConfigData\";\nimport {InterpolationSupport} from \"../supports/InterpolationSupport\";\n\n\n\nexport abstract class ConfigSupport<T> {\n\n $options:T;\n\n constructor(options : T, jarsData:IConfigData[]=[]) {\n this.$options = options;\n\n // if not globally definied then load directly\n if (options && options['type'] != 'system' && !_.isEmpty(jarsData)) {\n try{\n InterpolationSupport.exec(this.$options, jarsData)\n }catch(e){\n\n }\n }\n\n }\n\n abstract type() : string\n\n abstract create() : ConfigJar|ConfigJar[];\n\n\n\n\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"file":"ConfigSupport.js","sourceRoot":"","sources":["../../../src/config/ConfigSupport.ts"],"names":[],"mappings":";;;AAEA,2EAAsE;AACtE,mCAA+B;AAG/B,MAAsB,aAAa;IAIjC,YAAY,OAAU,EAAE,WAA0B,EAAE;QAClD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,8CAA8C;QAC9C,aAAa;QACb,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAA,gBAAO,EAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC;gBACH,2CAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;YAEb,CAAC;QACH,CAAC;IAEH,CAAC;CAOF;AAxBD,sCAwBC"}
@@ -1,4 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
-
4
- //# sourceMappingURL=IConfigData.js.map
3
+ //# sourceMappingURL=IConfigData.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/config/IConfigData.ts"],"names":[],"mappings":"","file":"IConfigData.js","sourcesContent":["\nexport interface IConfigData {\n [key:string]:any\n}"],"sourceRoot":".."}
1
+ {"version":3,"file":"IConfigData.js","sourceRoot":"","sources":["../../../src/config/IConfigData.ts"],"names":[],"mappings":""}
@@ -1,4 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
-
4
- //# sourceMappingURL=IConfigOptions.js.map
3
+ //# sourceMappingURL=IConfigOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/config/IConfigOptions.ts"],"names":[],"mappings":"","file":"IConfigOptions.js","sourcesContent":["export interface IConfigOptions {\n namespace?: string\n type?: string,\n noCache?: boolean\n\n /**\n * Allow free key definitions\n */\n [k: string]: any\n\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"file":"IConfigOptions.js","sourceRoot":"","sources":["../../../src/config/IConfigOptions.ts"],"names":[],"mappings":""}
@@ -1,4 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
-
4
- //# sourceMappingURL=IJarOptions.js.map
3
+ //# sourceMappingURL=IJarOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/config/IJarOptions.ts"],"names":[],"mappings":"","file":"IJarOptions.js","sourcesContent":["\nexport interface IJarOptions {\n namespace?: string\n standalone?: boolean\n [k:string]:any\n}"],"sourceRoot":".."}
1
+ {"version":3,"file":"IJarOptions.js","sourceRoot":"","sources":["../../../src/config/IJarOptions.ts"],"names":[],"mappings":""}
@@ -1,4 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
-
4
- //# sourceMappingURL=IOptions.js.map
3
+ //# sourceMappingURL=IOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/config/IOptions.ts"],"names":[],"mappings":"","file":"IOptions.js","sourcesContent":["import {IConfigOptions} from \"./IConfigOptions\";\nimport {StringOrFunction} from \"@allgemein/base\";\n\n\nexport interface IOptions {\n\n /**\n * Directories with implementiations of IConfigReader\n */\n handlers?: StringOrFunction[],\n\n /**\n * Directories|Files|Classes with implementiations of IFileSupport\n */\n fileSupport?: StringOrFunction[],\n\n /**\n * Enable interpolation support\n */\n interpolate?: boolean\n\n /**\n * Configurations\n */\n configs?: IConfigOptions[]\n\n /**\n * Workdir for relative paths\n */\n workdir?: string\n\n /**\n * Allow free key definitions\n */\n [k: string]: any\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"file":"IOptions.js","sourceRoot":"","sources":["../../../src/config/IOptions.ts"],"names":[],"mappings":""}
package/config/Source.js CHANGED
@@ -10,5 +10,4 @@ class Source {
10
10
  }
11
11
  }
12
12
  exports.Source = Source;
13
-
14
- //# sourceMappingURL=Source.js.map
13
+ //# sourceMappingURL=Source.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/config/Source.ts"],"names":[],"mappings":";;;AAGA,MAAa,MAAM;IAQf,YAAY,IAAQ;QANpB,WAAM,GAAU,MAAM,CAAC;QAEvB,SAAI,GAAe,IAAI,CAAC;QAExB,WAAM,GAAW,IAAI,CAAC;QAGlB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;CACJ;AAXD,wBAWC","file":"Source.js","sourcesContent":["import {IConfigData} from \"./IConfigData\";\nimport {Utils} from \"../utils/Utils\";\n\nexport class Source {\n\n source:string = 'none';\n\n data:IConfigData = null;\n\n prefix: string = null;\n\n constructor(opts:any){\n Object.assign(this,opts)\n }\n}"],"sourceRoot":".."}
1
+ {"version":3,"file":"Source.js","sourceRoot":"","sources":["../../../src/config/Source.ts"],"names":[],"mappings":";;;AAGA,MAAa,MAAM;IAQf,YAAY,IAAQ;QANpB,WAAM,GAAU,MAAM,CAAC;QAEvB,SAAI,GAAe,IAAI,CAAC;QAExB,WAAM,GAAW,IAAI,CAAC;QAGlB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;CACJ;AAXD,wBAWC"}
@@ -1,45 +1,20 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
2
  Object.defineProperty(exports, "__esModule", { value: true });
29
3
  exports.DirectoryConfig = void 0;
30
- const _ = __importStar(require("lodash"));
31
4
  const Utils_1 = require("../../utils/Utils");
32
5
  const types_1 = require("../../types");
33
6
  const ConfigSupport_1 = require("../ConfigSupport");
34
- const multimatch_1 = __importDefault(require("multimatch"));
35
7
  const FileConfig_1 = require("./FileConfig");
36
8
  const base_1 = require("@allgemein/base");
9
+ const micromatch_1 = require("micromatch");
10
+ const lodash_1 = require("lodash");
11
+ const glob_1 = require("glob");
37
12
  /**
38
13
  * Load config
39
14
  */
40
15
  class DirectoryConfig extends ConfigSupport_1.ConfigSupport {
41
16
  constructor(options, jarsData = []) {
42
- super(_.defaultsDeep(options, DirectoryConfig.DEFAULT_DIRECTORY_OPTIONS), jarsData);
17
+ super((0, lodash_1.defaultsDeep)(options, DirectoryConfig.DEFAULT_DIRECTORY_OPTIONS), jarsData);
43
18
  }
44
19
  type() {
45
20
  return 'directory';
@@ -49,11 +24,11 @@ class DirectoryConfig extends ConfigSupport_1.ConfigSupport {
49
24
  if (!base_1.PlatformUtils.fileExist(dirname) || !base_1.PlatformUtils.isDir(dirname)) {
50
25
  throw new Error('wrong directory ' + dirname);
51
26
  }
52
- const list = base_1.PlatformUtils.load('glob').sync(dirname + '/**');
27
+ const list = (0, glob_1.globSync)(dirname + '/**');
53
28
  const regex = Utils_1.Utils.escapeRegExp(this.$options.patternSeparator);
54
29
  const patternRegex = new RegExp(regex, 'g');
55
30
  const files = [];
56
- const self = this;
31
+ // const self = this;
57
32
  list.forEach(file_or_dir => {
58
33
  let path = file_or_dir.replace(dirname + '', '');
59
34
  if (!path) {
@@ -61,9 +36,9 @@ class DirectoryConfig extends ConfigSupport_1.ConfigSupport {
61
36
  return;
62
37
  }
63
38
  path = path.replace(/^\//, '');
64
- if (self.$options.exclude && self.$options.exclude.length > 0) {
39
+ if (this.$options.exclude && this.$options.exclude.length > 0) {
65
40
  // findes if path is excluded
66
- const result = (0, multimatch_1.default)([path], self.$options.exclude);
41
+ const result = (0, micromatch_1.match)([path], this.$options.exclude, { dot: true });
67
42
  if (result.length && result[0] === path) {
68
43
  return;
69
44
  }
@@ -84,18 +59,18 @@ class DirectoryConfig extends ConfigSupport_1.ConfigSupport {
84
59
  file: file,
85
60
  pattern: []
86
61
  };
87
- const prefixing = DirectoryConfig.resolveName(self.$options.prefixing, paths, filename, types_1.SELECTOR_SEPARATOR);
62
+ const prefixing = DirectoryConfig.resolveName(this.$options.prefixing, paths, filename, types_1.SELECTOR_SEPARATOR);
88
63
  if (prefixing) {
89
64
  fileCfg.prefix = prefixing;
90
65
  }
91
- const namespacing = DirectoryConfig.resolveName(self.$options.namespaceing, paths, filename, self.$options.namespaceSeparator);
66
+ const namespacing = DirectoryConfig.resolveName(this.$options.namespaceing, paths, filename, this.$options.namespaceSeparator);
92
67
  if (namespacing) {
93
68
  fileCfg.namespace = namespacing;
94
69
  }
95
70
  if (this.$options.suffixPattern) {
96
71
  this.$options.suffixPattern.forEach(pattern => {
97
72
  const _paths = [filename, pattern];
98
- fileCfg.pattern.push(_paths.join(self.$options.patternSeparator));
73
+ fileCfg.pattern.push(_paths.join(this.$options.patternSeparator));
99
74
  });
100
75
  }
101
76
  files.push(fileCfg);
@@ -134,12 +109,17 @@ class DirectoryConfig extends ConfigSupport_1.ConfigSupport {
134
109
  files.forEach(_options => {
135
110
  const fileCfg = new FileConfig_1.FileConfig(_options);
136
111
  const jar = fileCfg.create();
137
- if (jars[jar.namespace]) {
138
- jars[jar.namespace].merge(jar.data);
139
- jars[jar.namespace].sources(jar.sources());
112
+ if (jar) {
113
+ if (jars[jar.namespace]) {
114
+ jars[jar.namespace].merge(jar.data);
115
+ jars[jar.namespace].sources(jar.sources());
116
+ }
117
+ else {
118
+ jars[jar.namespace] = jar;
119
+ }
140
120
  }
141
121
  else {
142
- jars[jar.namespace] = jar;
122
+ throw new Error('Unknown problem with configuration file ' + JSON.stringify(_options));
143
123
  }
144
124
  });
145
125
  const _jars = [];
@@ -159,5 +139,4 @@ DirectoryConfig.DEFAULT_DIRECTORY_OPTIONS = {
159
139
  prefixing: null,
160
140
  suffixPattern: []
161
141
  };
162
-
163
- //# sourceMappingURL=DirectoryConfig.js.map
142
+ //# sourceMappingURL=DirectoryConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/config/handler/DirectoryConfig.ts"],"names":[],"mappings":"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","file":"DirectoryConfig.js","sourcesContent":["import * as _ from 'lodash';\nimport {IDirectoryConfigOptions} from './IDirectoryConfigOptions';\nimport {ConfigJar} from '../ConfigJar';\nimport {Utils} from '../../utils/Utils';\nimport {IFilePath} from './IFilePath';\nimport {IFileConfigOptions} from './IFileConfigOptions';\nimport {\n DEFAULT_JAR_NAME,\n NAMING_BY_DIRECTORY,\n NAMING_BY_DIRECTORYPATH,\n NAMING_BY_FILENAME,\n NAMING_BY_FULLPATH,\n NamingResolvePattern,\n SELECTOR_SEPARATOR\n} from '../../types';\nimport {ConfigSupport} from '../ConfigSupport';\nimport multimatch from 'multimatch';\nimport {FileConfig} from './FileConfig';\nimport {IConfigData} from '../IConfigData';\nimport {PlatformUtils} from '@allgemein/base';\n\n\n/**\n * Load config\n */\nexport class DirectoryConfig extends ConfigSupport<IDirectoryConfigOptions> {\n\n static DEFAULT_DIRECTORY_OPTIONS: IDirectoryConfigOptions = {\n\n namespace: DEFAULT_JAR_NAME,\n\n dirname: null,\n\n namespaceing: null,\n\n namespaceSeparator: '.',\n\n patternSeparator: '-',\n\n prefixing: null,\n\n suffixPattern: []\n\n };\n\n\n constructor(options: IDirectoryConfigOptions, jarsData: IConfigData[] = []) {\n super(_.defaultsDeep(options, DirectoryConfig.DEFAULT_DIRECTORY_OPTIONS), jarsData);\n }\n\n type(): string {\n return 'directory';\n }\n\n listFilesInDirectory(): IFileConfigOptions[] {\n const dirname = PlatformUtils.pathNormAndResolve(this.$options.dirname);\n if (!PlatformUtils.fileExist(dirname) || !PlatformUtils.isDir(dirname)) {\n throw new Error('wrong directory ' + dirname);\n }\n const list: string[] = PlatformUtils.load('glob').sync(dirname + '/**');\n const regex: string = Utils.escapeRegExp(this.$options.patternSeparator);\n\n const patternRegex = new RegExp(regex, 'g');\n const files: IFileConfigOptions[] = [];\n const self = this;\n\n list.forEach(file_or_dir => {\n let path = file_or_dir.replace(dirname + '', '');\n\n if (!path) {\n // equals dirname\n return;\n }\n\n path = path.replace(/^\\//, '');\n if (self.$options.exclude && self.$options.exclude.length > 0) {\n // findes if path is excluded\n const result = multimatch([path], self.$options.exclude);\n if (result.length && result[0] === path) {\n return;\n }\n }\n\n const is_file = PlatformUtils.isFile(file_or_dir);\n const paths = path.replace(/^\\//, '').split('/');\n\n if (is_file) {\n const filename_ext = paths.pop();\n const filename = PlatformUtils.filename(filename_ext);\n\n if (!patternRegex.test(filename)) {\n\n const file: IFilePath = {\n dirname: file_or_dir.replace(filename_ext, ''),\n filename: filename,\n type: PlatformUtils.pathExtname(filename_ext, false)\n };\n\n const fileCfg: IFileConfigOptions = {\n namespace: this.$options.namespace ? this.$options.namespace : DEFAULT_JAR_NAME,\n file: file,\n pattern: []\n };\n\n const prefixing = DirectoryConfig.resolveName(self.$options.prefixing, paths, filename, SELECTOR_SEPARATOR);\n if (prefixing) {\n fileCfg.prefix = prefixing;\n }\n\n const namespacing = DirectoryConfig.resolveName(self.$options.namespaceing, paths, filename, self.$options.namespaceSeparator);\n if (namespacing) {\n fileCfg.namespace = namespacing;\n }\n\n if (this.$options.suffixPattern) {\n this.$options.suffixPattern.forEach(pattern => {\n const _paths = [filename, pattern];\n fileCfg.pattern.push(_paths.join(self.$options.patternSeparator));\n });\n }\n files.push(fileCfg);\n }\n } else {\n\n }\n\n });\n\n return files;\n }\n\n static resolveName(named: NamingResolvePattern, paths: string[], filename: string, separator: string = '.'): string {\n let v = null;\n if (named) {\n const _paths = Utils.clone(paths);\n switch (named) {\n case NAMING_BY_DIRECTORY:\n v = _paths.pop();\n break;\n case NAMING_BY_DIRECTORYPATH:\n v = _paths.join(separator);\n break;\n case NAMING_BY_FILENAME:\n v = filename;\n break;\n case NAMING_BY_FULLPATH:\n _paths.push(filename);\n v = _paths.join(separator);\n break;\n }\n }\n return v;\n }\n\n\n create(): ConfigJar[] {\n const files = this.listFilesInDirectory();\n const jars: { [k: string]: ConfigJar } = {};\n\n files.forEach(_options => {\n const fileCfg = new FileConfig(_options);\n const jar = fileCfg.create();\n if (jars[jar.namespace]) {\n jars[jar.namespace].merge(jar.data);\n jars[jar.namespace].sources(jar.sources());\n } else {\n jars[jar.namespace] = jar;\n }\n\n });\n\n const _jars: ConfigJar[] = [];\n Object.keys(jars).forEach(_k => {\n _jars.push(jars[_k]);\n });\n\n return _jars;\n }\n\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"file":"DirectoryConfig.js","sourceRoot":"","sources":["../../../../src/config/handler/DirectoryConfig.ts"],"names":[],"mappings":"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"}