@allgemein/config 1.1.1 → 1.1.4

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 (36) hide show
  1. package/README.md +1 -1
  2. package/browser.d.ts +0 -1
  3. package/browser.js +2 -3
  4. package/browser.js.map +1 -1
  5. package/config/Config.js +39 -15
  6. package/config/Config.js.map +1 -1
  7. package/config/ConfigHandler.js +2 -2
  8. package/config/ConfigHandler.js.map +1 -1
  9. package/config/ConfigJar.js +24 -1
  10. package/config/ConfigJar.js.map +1 -1
  11. package/config/ConfigSupport.js +24 -1
  12. package/config/ConfigSupport.js.map +1 -1
  13. package/config/handler/DirectoryConfig.js +52 -26
  14. package/config/handler/DirectoryConfig.js.map +1 -1
  15. package/config/handler/FileConfig.js +1 -1
  16. package/config/handler/FileConfig.js.map +1 -1
  17. package/config/handler/FileSource.js +1 -1
  18. package/config/handler/FileSource.js.map +1 -1
  19. package/config/handler/index.js +5 -1
  20. package/config/handler/index.js.map +1 -1
  21. package/filesupport/types/JsonFileSupport.js.map +1 -1
  22. package/filesupport/types/PropertiesFileSupport.d.ts +2 -2
  23. package/filesupport/types/PropertiesFileSupport.js +1 -1
  24. package/filesupport/types/PropertiesFileSupport.js.map +1 -1
  25. package/filesupport/types/XmlFileSupport.d.ts +2 -2
  26. package/filesupport/types/XmlFileSupport.js +2 -2
  27. package/filesupport/types/XmlFileSupport.js.map +1 -1
  28. package/index.d.ts +2 -1
  29. package/index.js +3 -2
  30. package/index.js.map +1 -1
  31. package/package.json +31 -24
  32. package/supports/InterpolationSupport.d.ts +1 -1
  33. package/supports/InterpolationSupport.js +4 -3
  34. package/supports/InterpolationSupport.js.map +1 -1
  35. package/utils/Utils.js +24 -1
  36. package/utils/Utils.js.map +1 -1
package/README.md CHANGED
@@ -111,7 +111,7 @@ Config.options({
111
111
  {
112
112
  type: 'directory',
113
113
  dirname: './config',
114
- prefixing: 'by_dirname'
114
+ prefixing: 'by_dirname',
115
115
  suffixPattern: [
116
116
  '${env.stage}',
117
117
  '${os.hostname}',
package/browser.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  export { Utils } from './utils/Utils';
2
2
  export { Config } from './config/Config';
3
- export { ConfigHandler } from './config/ConfigHandler';
4
3
  export { ConfigJar } from './config/ConfigJar';
5
4
  export { IConfigData } from './config/IConfigData';
6
5
  export { IConfigOptions } from './config/IConfigOptions';
package/browser.js CHANGED
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SELECTOR_SEPARATOR = exports.NAMING_BY_FULLPATH = exports.NAMING_BY_FILENAME = exports.NAMING_BY_DIRECTORYPATH = exports.NAMING_BY_DIRECTORY = exports.DEFAULT_JAR_NAME = exports.SystemConfig = exports.Source = exports.ConfigSupport = exports.ConfigJar = exports.ConfigHandler = exports.Config = exports.Utils = void 0;
3
+ exports.SELECTOR_SEPARATOR = exports.NAMING_BY_FULLPATH = exports.NAMING_BY_FILENAME = exports.NAMING_BY_DIRECTORYPATH = exports.NAMING_BY_DIRECTORY = exports.DEFAULT_JAR_NAME = exports.SystemConfig = exports.Source = exports.ConfigSupport = exports.ConfigJar = exports.Config = exports.Utils = void 0;
4
4
  // Utils
5
5
  var Utils_1 = require("./utils/Utils");
6
6
  Object.defineProperty(exports, "Utils", { enumerable: true, get: function () { return Utils_1.Utils; } });
7
7
  // Config
8
8
  var Config_1 = require("./config/Config");
9
9
  Object.defineProperty(exports, "Config", { enumerable: true, get: function () { return Config_1.Config; } });
10
- var ConfigHandler_1 = require("./config/ConfigHandler");
11
- Object.defineProperty(exports, "ConfigHandler", { enumerable: true, get: function () { return ConfigHandler_1.ConfigHandler; } });
10
+ // export {ConfigHandler} from './config/ConfigHandler';
12
11
  var ConfigJar_1 = require("./config/ConfigJar");
13
12
  Object.defineProperty(exports, "ConfigJar", { enumerable: true, get: function () { return ConfigJar_1.ConfigJar; } });
14
13
  var ConfigSupport_1 = require("./config/ConfigSupport");
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,wDAAqD;AAA7C,8GAAA,aAAa,OAAA;AACrB,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';\nexport {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,"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":"."}
package/config/Config.js CHANGED
@@ -1,7 +1,30 @@
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
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.Config = void 0;
4
- const _ = require("lodash");
27
+ const _ = __importStar(require("lodash"));
5
28
  const Utils_1 = require("../utils/Utils");
6
29
  const ConfigJar_1 = require("./ConfigJar");
7
30
  const ConfigHandler_1 = require("./ConfigHandler");
@@ -66,8 +89,8 @@ class Config {
66
89
  return this.instance(false)._jars;
67
90
  }
68
91
  get _jars() {
69
- let self = this;
70
- let jars = [];
92
+ const self = this;
93
+ const jars = [];
71
94
  Object.keys(this.$jars).forEach(k => {
72
95
  jars.push(self.$jars[k]);
73
96
  });
@@ -80,8 +103,8 @@ class Config {
80
103
  return this.instance(false)._jarsData;
81
104
  }
82
105
  get _jarsData() {
83
- let self = this;
84
- let jars = [];
106
+ const self = this;
107
+ const jars = [];
85
108
  Object.keys(this.$jars).forEach(k => {
86
109
  jars.push(self.$jars[k].data);
87
110
  });
@@ -142,23 +165,23 @@ class Config {
142
165
  base_1.PlatformUtils.setWorkDir(null);
143
166
  }
144
167
  ConfigHandler_1.ConfigHandler.reload(this.$options.handlers);
145
- for (let _config of this.$options.configs) {
146
- let handler = ConfigHandler_1.ConfigHandler.getHandlerByType(_config.type, _config, this._jarsData);
168
+ for (const _config of this.$options.configs) {
169
+ const handler = ConfigHandler_1.ConfigHandler.getHandlerByType(_config.type, _config, this._jarsData);
147
170
  if (handler) {
148
- let jar = handler.create();
171
+ const jar = handler.create();
149
172
  if (jar) {
150
173
  _config.state = true;
151
174
  if (Utils_1.Utils.isArray(jar)) {
152
- for (let _jar of jar) {
153
- let _inst_jar = Config.jar(_jar.namespace);
175
+ for (const _jar of jar) {
176
+ const _inst_jar = Config.jar(_jar.namespace);
154
177
  InterpolationSupport_1.InterpolationSupport.exec(_config, _inst_jar.data);
155
178
  _inst_jar.merge(_jar.data);
156
179
  _inst_jar.sources(_jar.sources());
157
180
  }
158
181
  }
159
182
  else {
160
- let _jar = jar;
161
- let _inst_jar = Config.jar(_jar.namespace);
183
+ const _jar = jar;
184
+ const _inst_jar = Config.jar(_jar.namespace);
162
185
  InterpolationSupport_1.InterpolationSupport.exec(_config, _inst_jar.data);
163
186
  // InterpolationSupport.exec(_inst_jar.data,this._jarsData);
164
187
  _inst_jar.merge(_jar.data);
@@ -177,7 +200,7 @@ class Config {
177
200
  }
178
201
  static get(path = null, namespace_or_fallback, fallback) {
179
202
  if (path == null) {
180
- let data = _.cloneDeep(this.jarsData);
203
+ const data = _.cloneDeep(this.jarsData);
181
204
  if (this.hasJar('system')) {
182
205
  data.shift();
183
206
  }
@@ -197,8 +220,9 @@ class Config {
197
220
  let _value = null;
198
221
  for (let i = 0; i < jars.length; i++) {
199
222
  _value = jars[i].get(path);
200
- if (_value)
223
+ if (_value) {
201
224
  break;
225
+ }
202
226
  }
203
227
  if (!_value && fallback) {
204
228
  return fallback;
@@ -206,7 +230,7 @@ class Config {
206
230
  return _value;
207
231
  }
208
232
  static set(path, value, namespace = 'default') {
209
- let jar = Config.jar(namespace);
233
+ const jar = Config.jar(namespace);
210
234
  return jar.set(path, value);
211
235
  }
212
236
  static clear() {
@@ -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 let self = this;\n let 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 let self = this;\n let 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 (let _config of this.$options.configs) {\n let handler: ConfigSupport<any> = ConfigHandler.getHandlerByType(_config.type, _config, this._jarsData);\n if (handler) {\n let jar = handler.create();\n\n if (jar) {\n _config.state = true;\n if (Utils.isArray(jar)) {\n for (let _jar of <ConfigJar[]>jar) {\n let _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 let _jar = <ConfigJar>jar;\n let _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 let 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) break;\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 let 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,"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":".."}
@@ -4,7 +4,7 @@ exports.ConfigHandler = void 0;
4
4
  const SystemConfig_1 = require("./handler/SystemConfig");
5
5
  const FileConfig_1 = require("./handler/FileConfig");
6
6
  const DirectoryConfig_1 = require("./handler/DirectoryConfig");
7
- const __1 = require("../");
7
+ const Utils_1 = require("../utils/Utils");
8
8
  const base_1 = require("@allgemein/base");
9
9
  class ConfigHandler {
10
10
  /**
@@ -20,7 +20,7 @@ class ConfigHandler {
20
20
  directories = [directories];
21
21
  }
22
22
  let classes = base_1.ClassLoader.importClassesFromAny(directories);
23
- classes = __1.Utils.uniqArr(classes);
23
+ classes = Utils_1.Utils.uniqArr(classes);
24
24
  classes.forEach((klass) => {
25
25
  let l = null;
26
26
  try {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/config/ConfigHandler.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AACpD,qDAAgD;AAIhD,+DAA0D;AAC1D,2BAA0B;AAC1B,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,SAAK,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 \"../\";\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,"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,7 +1,30 @@
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
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.ConfigJar = void 0;
4
- const _ = require("lodash");
27
+ const _ = __importStar(require("lodash"));
5
28
  const Utils_1 = require("../utils/Utils");
6
29
  const InterpolationSupport_1 = require("../supports/InterpolationSupport");
7
30
  const Config_1 = require("./Config");
@@ -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\";\n\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,"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,7 +1,30 @@
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
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.ConfigSupport = void 0;
4
- const _ = require("lodash");
27
+ const _ = __importStar(require("lodash"));
5
28
  const InterpolationSupport_1 = require("../supports/InterpolationSupport");
6
29
  class ConfigSupport {
7
30
  constructor(options, jarsData = []) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/config/ConfigSupport.ts"],"names":[],"mappings":";;;AAAA,4BAA4B;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,"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,11 +1,37 @@
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
+ };
2
28
  Object.defineProperty(exports, "__esModule", { value: true });
3
29
  exports.DirectoryConfig = void 0;
4
- const _ = require("lodash");
30
+ const _ = __importStar(require("lodash"));
5
31
  const Utils_1 = require("../../utils/Utils");
6
32
  const types_1 = require("../../types");
7
33
  const ConfigSupport_1 = require("../ConfigSupport");
8
- const multimatch = require("multimatch");
34
+ const multimatch_1 = __importDefault(require("multimatch"));
9
35
  const FileConfig_1 = require("./FileConfig");
10
36
  const base_1 = require("@allgemein/base");
11
37
  /**
@@ -19,15 +45,15 @@ class DirectoryConfig extends ConfigSupport_1.ConfigSupport {
19
45
  return 'directory';
20
46
  }
21
47
  listFilesInDirectory() {
22
- let dirname = base_1.PlatformUtils.pathNormAndResolve(this.$options.dirname);
48
+ const dirname = base_1.PlatformUtils.pathNormAndResolve(this.$options.dirname);
23
49
  if (!base_1.PlatformUtils.fileExist(dirname) || !base_1.PlatformUtils.isDir(dirname)) {
24
50
  throw new Error('wrong directory ' + dirname);
25
51
  }
26
- let list = base_1.PlatformUtils.load('glob').sync(dirname + '/**');
27
- let regex = Utils_1.Utils.escapeRegExp(this.$options.patternSeparator);
28
- let patternRegex = new RegExp(regex, 'g');
29
- let files = [];
30
- let self = this;
52
+ const list = base_1.PlatformUtils.load('glob').sync(dirname + '/**');
53
+ const regex = Utils_1.Utils.escapeRegExp(this.$options.patternSeparator);
54
+ const patternRegex = new RegExp(regex, 'g');
55
+ const files = [];
56
+ const self = this;
31
57
  list.forEach(file_or_dir => {
32
58
  let path = file_or_dir.replace(dirname + '', '');
33
59
  if (!path) {
@@ -37,38 +63,38 @@ class DirectoryConfig extends ConfigSupport_1.ConfigSupport {
37
63
  path = path.replace(/^\//, '');
38
64
  if (self.$options.exclude && self.$options.exclude.length > 0) {
39
65
  // findes if path is excluded
40
- let result = multimatch([path], self.$options.exclude);
41
- if (result.length && result[0] == path) {
66
+ const result = (0, multimatch_1.default)([path], self.$options.exclude);
67
+ if (result.length && result[0] === path) {
42
68
  return;
43
69
  }
44
70
  }
45
- let is_file = base_1.PlatformUtils.isFile(file_or_dir);
46
- let paths = path.replace(/^\//, '').split('/');
71
+ const is_file = base_1.PlatformUtils.isFile(file_or_dir);
72
+ const paths = path.replace(/^\//, '').split('/');
47
73
  if (is_file) {
48
- let filename_ext = paths.pop();
49
- let filename = base_1.PlatformUtils.filename(filename_ext);
74
+ const filename_ext = paths.pop();
75
+ const filename = base_1.PlatformUtils.filename(filename_ext);
50
76
  if (!patternRegex.test(filename)) {
51
- let file = {
77
+ const file = {
52
78
  dirname: file_or_dir.replace(filename_ext, ''),
53
79
  filename: filename,
54
80
  type: base_1.PlatformUtils.pathExtname(filename_ext, false)
55
81
  };
56
- let fileCfg = {
57
- namespace: types_1.DEFAULT_JAR_NAME,
82
+ const fileCfg = {
83
+ namespace: this.$options.namespace ? this.$options.namespace : types_1.DEFAULT_JAR_NAME,
58
84
  file: file,
59
85
  pattern: []
60
86
  };
61
- let prefixing = DirectoryConfig.resolveName(self.$options.prefixing, paths, filename, types_1.SELECTOR_SEPARATOR);
87
+ const prefixing = DirectoryConfig.resolveName(self.$options.prefixing, paths, filename, types_1.SELECTOR_SEPARATOR);
62
88
  if (prefixing) {
63
89
  fileCfg.prefix = prefixing;
64
90
  }
65
- let namespacing = DirectoryConfig.resolveName(self.$options.namespaceing, paths, filename, self.$options.namespaceSeparator);
91
+ const namespacing = DirectoryConfig.resolveName(self.$options.namespaceing, paths, filename, self.$options.namespaceSeparator);
66
92
  if (namespacing) {
67
93
  fileCfg.namespace = namespacing;
68
94
  }
69
95
  if (this.$options.suffixPattern) {
70
96
  this.$options.suffixPattern.forEach(pattern => {
71
- let _paths = [filename, pattern];
97
+ const _paths = [filename, pattern];
72
98
  fileCfg.pattern.push(_paths.join(self.$options.patternSeparator));
73
99
  });
74
100
  }
@@ -83,7 +109,7 @@ class DirectoryConfig extends ConfigSupport_1.ConfigSupport {
83
109
  static resolveName(named, paths, filename, separator = '.') {
84
110
  let v = null;
85
111
  if (named) {
86
- let _paths = Utils_1.Utils.clone(paths);
112
+ const _paths = Utils_1.Utils.clone(paths);
87
113
  switch (named) {
88
114
  case types_1.NAMING_BY_DIRECTORY:
89
115
  v = _paths.pop();
@@ -103,11 +129,11 @@ class DirectoryConfig extends ConfigSupport_1.ConfigSupport {
103
129
  return v;
104
130
  }
105
131
  create() {
106
- let files = this.listFilesInDirectory();
107
- let jars = {};
132
+ const files = this.listFilesInDirectory();
133
+ const jars = {};
108
134
  files.forEach(_options => {
109
- let fileCfg = new FileConfig_1.FileConfig(_options);
110
- let jar = fileCfg.create();
135
+ const fileCfg = new FileConfig_1.FileConfig(_options);
136
+ const jar = fileCfg.create();
111
137
  if (jars[jar.namespace]) {
112
138
  jars[jar.namespace].merge(jar.data);
113
139
  jars[jar.namespace].sources(jar.sources());
@@ -116,7 +142,7 @@ class DirectoryConfig extends ConfigSupport_1.ConfigSupport {
116
142
  jars[jar.namespace] = jar;
117
143
  }
118
144
  });
119
- let _jars = [];
145
+ const _jars = [];
120
146
  Object.keys(jars).forEach(_k => {
121
147
  _jars.push(jars[_k]);
122
148
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/config/handler/DirectoryConfig.ts"],"names":[],"mappings":"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","file":"DirectoryConfig.js","sourcesContent":["import {IDirectoryConfigOptions} from './IDirectoryConfigOptions';\nimport {ConfigJar} from '../ConfigJar';\nimport * as _ from 'lodash';\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 * as 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 let dirname = PlatformUtils.pathNormAndResolve(this.$options.dirname);\n if (!PlatformUtils.fileExist(dirname) || !PlatformUtils.isDir(dirname)) {\n throw new Error('wrong directory ' + dirname);\n }\n let list: string[] = PlatformUtils.load('glob').sync(dirname + '/**');\n let regex: string = Utils.escapeRegExp(this.$options.patternSeparator);\n\n let patternRegex = new RegExp(regex, 'g');\n let files: IFileConfigOptions[] = [];\n let 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 let result = multimatch([path], self.$options.exclude);\n if (result.length && result[0] == path) {\n return;\n }\n }\n\n let is_file = PlatformUtils.isFile(file_or_dir);\n let paths = path.replace(/^\\//, '').split('/');\n\n if (is_file) {\n let filename_ext = paths.pop();\n let filename = PlatformUtils.filename(filename_ext);\n\n if (!patternRegex.test(filename)) {\n\n let file: IFilePath = {\n dirname: file_or_dir.replace(filename_ext, ''),\n filename: filename,\n type: PlatformUtils.pathExtname(filename_ext, false)\n };\n\n let fileCfg: IFileConfigOptions = {\n namespace: DEFAULT_JAR_NAME,\n file: file,\n pattern: []\n };\n\n let prefixing = DirectoryConfig.resolveName(self.$options.prefixing, paths, filename, SELECTOR_SEPARATOR);\n if (prefixing) {\n fileCfg.prefix = prefixing;\n }\n\n let 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 let _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 let _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 let files = this.listFilesInDirectory();\n let jars: { [k: string]: ConfigJar } = {};\n\n files.forEach(_options => {\n let fileCfg = new FileConfig(_options);\n let 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 let _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,"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,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FileConfig = void 0;
4
+ const base_1 = require("@allgemein/base");
4
5
  const ConfigSupport_1 = require("../ConfigSupport");
5
6
  const ConfigJar_1 = require("../ConfigJar");
6
7
  const FileSupport_1 = require("../../filesupport/FileSupport");
7
8
  const FileSource_1 = require("./FileSource");
8
- const base_1 = require("@allgemein/base");
9
9
  /**
10
10
  * Read configuration from file
11
11
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/config/handler/FileConfig.ts"],"names":[],"mappings":"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","file":"FileConfig.js","sourcesContent":["import {ConfigSupport} from '../ConfigSupport';\nimport {ConfigJar} from '../ConfigJar';\nimport {IFileConfigOptions} from './IFileConfigOptions';\nimport {FileSupport} from '../../filesupport/FileSupport';\nimport {IConfigData} from '../IConfigData';\nimport {IFilePath} from './IFilePath';\nimport {FileSource} from './FileSource';\nimport {IJarOptions} from '../IJarOptions';\nimport {PlatformUtils} from '@allgemein/base';\n\n\n/**\n * Read configuration from file\n */\nexport class FileConfig extends ConfigSupport<IFileConfigOptions> {\n\n\n constructor(options: IFileConfigOptions, jarsData: IConfigData[] = []) {\n super(options, jarsData);\n }\n\n type() {\n return 'file';\n }\n\n\n private readFile(file: IFilePath): IConfigData {\n let supportedTypes = FileSupport.getSupportedTypes();\n let used_path = null;\n let used_ext = null;\n\n while (!used_ext && supportedTypes.length > 0) {\n let ext = supportedTypes.shift();\n used_path = file.dirname + '/' + file.filename + '.' + ext;\n if (PlatformUtils.fileExist(used_path)) {\n used_ext = ext;\n }\n }\n\n if (!used_ext || !used_path) {\n return null;\n }\n\n file.type = used_ext;\n let supportInfo = FileSupport.getInfoByExtension(used_ext);\n if (!supportInfo.enabled) {\n throw new Error(`${used_ext} support not enabled`);\n }\n\n let support = FileSupport.getSupportByExtension(used_ext);\n let content: any = null;\n let data: IConfigData = null;\n\n if (supportInfo.readable) {\n data = support.read(used_path);\n } else if (supportInfo.parseable) {\n content = PlatformUtils.readFileSync(used_path);\n data = support.parse(content);\n } else {\n throw new Error('is not readable or parseable');\n }\n return data;\n\n }\n\n private readFiles(paths: IFilePath[]): FileSource[] {\n let self = this;\n let collection: FileSource[] = [];\n\n paths.forEach((path, index) => {\n let data = self.readFile(path);\n if (data === null) {\n // file not found\n return;\n }\n /*\n if (!data && index === 0) {\n // TODO make this configurable\n console.log(paths)\n throw new Error('base file doesn\\'t exists')\n } else\n */\n if (data) {\n let source = new FileSource({data: data, file: path, prefix: this.$options.prefix});\n collection.push(source);\n }\n });\n\n return collection;\n }\n\n private explodeFilePath(path: string | IFilePath): IFilePath {\n let file: IFilePath = null;\n if (typeof path === 'string') {\n let filepath = PlatformUtils.pathNormilize(PlatformUtils.pathResolve(path));\n file = {\n dirname: PlatformUtils.dirname(filepath),\n filename: PlatformUtils.filename(filepath),\n type: PlatformUtils.pathExtname(filepath),\n };\n } else {\n file = path;\n file.dirname = PlatformUtils.pathNormilize(PlatformUtils.pathResolve(file.dirname));\n // TODO check if extension is falsely set in filename\n }\n return file;\n }\n\n\n private attachPatternFiles(basefile: IFilePath): IFilePath[] {\n\n let files: IFilePath[] = [];\n if (this.$options.pattern) {\n let self = this;\n\n\n this.$options.pattern.forEach(pattern => {\n // TODO works only in posix systems!\n let subfile: IFilePath = null;\n if (/^\\.?\\//.test(pattern)) {\n // full or app relative path given!\n subfile = self.explodeFilePath(pattern);\n } else {\n subfile = self.explodeFilePath(basefile.dirname + '/' + pattern);\n }\n files.push(subfile);\n });\n }\n\n return files;\n }\n\n\n create(): ConfigJar {\n let files: IFilePath[] = [];\n let basefile = this.explodeFilePath(this.$options.file);\n files.push(basefile);\n\n let additional_files = this.attachPatternFiles(basefile);\n if (additional_files.length) {\n files = files.concat(additional_files);\n }\n\n let sources = this.readFiles(files);\n\n if (sources.length == 0) {\n return null;\n }\n\n let jar = ConfigJar.create(<IJarOptions>this.$options);\n sources.forEach(_source => {\n jar.merge(_source);\n });\n return jar;\n }\n\n\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../../src/config/handler/FileConfig.ts"],"names":[],"mappings":"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","file":"FileConfig.js","sourcesContent":["import {PlatformUtils} from '@allgemein/base';\nimport {ConfigSupport} from '../ConfigSupport';\nimport {ConfigJar} from '../ConfigJar';\nimport {IFileConfigOptions} from './IFileConfigOptions';\nimport {FileSupport} from '../../filesupport/FileSupport';\nimport {IConfigData} from '../IConfigData';\nimport {IFilePath} from './IFilePath';\nimport {FileSource} from './FileSource';\nimport {IJarOptions} from '../IJarOptions';\n\n\n/**\n * Read configuration from file\n */\nexport class FileConfig extends ConfigSupport<IFileConfigOptions> {\n\n\n constructor(options: IFileConfigOptions, jarsData: IConfigData[] = []) {\n super(options, jarsData);\n }\n\n type() {\n return 'file';\n }\n\n\n private readFile(file: IFilePath): IConfigData {\n let supportedTypes = FileSupport.getSupportedTypes();\n let used_path = null;\n let used_ext = null;\n\n while (!used_ext && supportedTypes.length > 0) {\n let ext = supportedTypes.shift();\n used_path = file.dirname + '/' + file.filename + '.' + ext;\n if (PlatformUtils.fileExist(used_path)) {\n used_ext = ext;\n }\n }\n\n if (!used_ext || !used_path) {\n return null;\n }\n\n file.type = used_ext;\n let supportInfo = FileSupport.getInfoByExtension(used_ext);\n if (!supportInfo.enabled) {\n throw new Error(`${used_ext} support not enabled`);\n }\n\n let support = FileSupport.getSupportByExtension(used_ext);\n let content: any = null;\n let data: IConfigData = null;\n\n if (supportInfo.readable) {\n data = support.read(used_path);\n } else if (supportInfo.parseable) {\n content = PlatformUtils.readFileSync(used_path);\n data = support.parse(content);\n } else {\n throw new Error('is not readable or parseable');\n }\n return data;\n\n }\n\n private readFiles(paths: IFilePath[]): FileSource[] {\n let self = this;\n let collection: FileSource[] = [];\n\n paths.forEach((path, index) => {\n let data = self.readFile(path);\n if (data === null) {\n // file not found\n return;\n }\n /*\n if (!data && index === 0) {\n // TODO make this configurable\n console.log(paths)\n throw new Error('base file doesn\\'t exists')\n } else\n */\n if (data) {\n let source = new FileSource({data: data, file: path, prefix: this.$options.prefix});\n collection.push(source);\n }\n });\n\n return collection;\n }\n\n private explodeFilePath(path: string | IFilePath): IFilePath {\n let file: IFilePath = null;\n if (typeof path === 'string') {\n let filepath = PlatformUtils.pathNormilize(PlatformUtils.pathResolve(path));\n file = {\n dirname: PlatformUtils.dirname(filepath),\n filename: PlatformUtils.filename(filepath),\n type: PlatformUtils.pathExtname(filepath),\n };\n } else {\n file = path;\n file.dirname = PlatformUtils.pathNormilize(PlatformUtils.pathResolve(file.dirname));\n // TODO check if extension is falsely set in filename\n }\n return file;\n }\n\n\n private attachPatternFiles(basefile: IFilePath): IFilePath[] {\n\n let files: IFilePath[] = [];\n if (this.$options.pattern) {\n let self = this;\n\n\n this.$options.pattern.forEach(pattern => {\n // TODO works only in posix systems!\n let subfile: IFilePath = null;\n if (/^\\.?\\//.test(pattern)) {\n // full or app relative path given!\n subfile = self.explodeFilePath(pattern);\n } else {\n subfile = self.explodeFilePath(basefile.dirname + '/' + pattern);\n }\n files.push(subfile);\n });\n }\n\n return files;\n }\n\n\n create(): ConfigJar {\n let files: IFilePath[] = [];\n let basefile = this.explodeFilePath(this.$options.file);\n files.push(basefile);\n\n let additional_files = this.attachPatternFiles(basefile);\n if (additional_files.length) {\n files = files.concat(additional_files);\n }\n\n let sources = this.readFiles(files);\n\n if (sources.length == 0) {\n return null;\n }\n\n let jar = ConfigJar.create(<IJarOptions>this.$options);\n sources.forEach(_source => {\n jar.merge(_source);\n });\n return jar;\n }\n\n\n}\n"],"sourceRoot":"../.."}
@@ -4,7 +4,7 @@ exports.FileSource = void 0;
4
4
  const Source_1 = require("../Source");
5
5
  class FileSource extends Source_1.Source {
6
6
  constructor(opts) {
7
- super({ ...opts, source: 'file' });
7
+ super(Object.assign(Object.assign({}, opts), { source: 'file' }));
8
8
  }
9
9
  }
10
10
  exports.FileSource = FileSource;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/config/handler/FileSource.ts"],"names":[],"mappings":";;;AACA,sCAAiC;AAGjC,MAAa,UAAW,SAAQ,eAAM;IAKpC,YAAY,IAAS;QACnB,KAAK,CAAC,EAAC,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;IACnC,CAAC;CAEF;AATD,gCASC","file":"FileSource.js","sourcesContent":["import {IFilePath} from './IFilePath';\nimport {Source} from '../Source';\n\n\nexport class FileSource extends Source {\n\n file: IFilePath;\n\n\n constructor(opts: any) {\n super({...opts, source: 'file'});\n }\n\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../../src/config/handler/FileSource.ts"],"names":[],"mappings":";;;AACA,sCAAiC;AAGjC,MAAa,UAAW,SAAQ,eAAM;IAKpC,YAAY,IAAS;QACnB,KAAK,iCAAK,IAAI,KAAE,MAAM,EAAE,MAAM,IAAE,CAAC;IACnC,CAAC;CAEF;AATD,gCASC","file":"FileSource.js","sourcesContent":["import {IFilePath} from './IFilePath';\nimport {Source} from '../Source';\n\n\nexport class FileSource extends Source {\n\n file: IFilePath;\n\n\n constructor(opts: any) {\n super({...opts, source: 'file'});\n }\n\n}\n"],"sourceRoot":"../.."}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/config/handler/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAA+B;AAC/B,+CAA6B","file":"index.js","sourcesContent":["export * from './SystemConfig';\nexport * from './FileConfig';\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../../src/config/handler/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,+CAA6B","file":"index.js","sourcesContent":["export * from './SystemConfig';\nexport * from './FileConfig';\n"],"sourceRoot":"../.."}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/filesupport/types/JsonFileSupport.ts"],"names":[],"mappings":";;;AAMA,MAAa,eAAe;IAExB,cAAc;QACV,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,OAAc;QAChB,IAAI,SAAS,GAAiB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,SAAS,CAAC;IACrB,CAAC;CAEJ;AAXD,0CAWC","file":"JsonFileSupport.js","sourcesContent":["\nimport {IConfigData} from \"../../config/IConfigData\";\nimport {IFileSupport} from \"../IFileSupport\";\n\n\n\nexport class JsonFileSupport implements IFileSupport{\n\n supportedTypes(): string | string[] {\n return 'json';\n }\n\n parse(content:string):IConfigData{\n let rawConfig : IConfigData = JSON.parse(content);\n return rawConfig;\n }\n\n}"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../../src/filesupport/types/JsonFileSupport.ts"],"names":[],"mappings":";;;AAGA,MAAa,eAAe;IAExB,cAAc;QACV,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,OAAc;QAChB,IAAI,SAAS,GAAiB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,SAAS,CAAC;IACrB,CAAC;CAEJ;AAXD,0CAWC","file":"JsonFileSupport.js","sourcesContent":["import {IConfigData} from \"../../config/IConfigData\";\nimport {IFileSupport} from \"../IFileSupport\";\n\nexport class JsonFileSupport implements IFileSupport{\n\n supportedTypes(): string | string[] {\n return 'json';\n }\n\n parse(content:string):IConfigData{\n let rawConfig : IConfigData = JSON.parse(content);\n return rawConfig;\n }\n\n}\n"],"sourceRoot":"../.."}
@@ -1,5 +1,5 @@
1
- import { IConfigData } from "../../config/IConfigData";
2
- import { IFileSupport } from "../IFileSupport";
1
+ import { IConfigData } from '../../config/IConfigData';
2
+ import { IFileSupport } from '../IFileSupport';
3
3
  export declare class PropertiesFileSupport implements IFileSupport {
4
4
  requirements(): void;
5
5
  supportedTypes(): string | string[];
@@ -20,7 +20,7 @@ class PropertiesFileSupport {
20
20
  }
21
21
  parse(content) {
22
22
  let cfg = null;
23
- let opts = lodash_1.clone(OPTIONS);
23
+ const opts = (0, lodash_1.clone)(OPTIONS);
24
24
  cfg = Prop.parse(content, opts);
25
25
  return cfg;
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/filesupport/types/PropertiesFileSupport.ts"],"names":[],"mappings":";;;AAEA,mCAA4B;AAC5B,0CAA8C;AAE9C,IAAI,IAAQ,CAAC;AAEb,MAAM,OAAO,GAAG;IACZ,IAAI,EAAE,KAAK;IACX,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,KAAK;CACjB,CAAA;AAED,MAAa,qBAAqB;IAE9B,YAAY;QACR,IAAI,GAAG,oBAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,cAAc;QACV,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,OAAe;QACjB,IAAI,GAAG,GAAiB,IAAI,CAAC;QAC7B,IAAI,IAAI,GAAG,cAAK,CAAC,OAAO,CAAC,CAAA;QACzB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC;IACf,CAAC;CAGJ;AAlBD,sDAkBC","file":"PropertiesFileSupport.js","sourcesContent":["import {IConfigData} from \"../../config/IConfigData\";\nimport {IFileSupport} from \"../IFileSupport\";\nimport {clone} from \"lodash\"\nimport {PlatformUtils} from \"@allgemein/base\";\n\nlet Prop:any;\n\nconst OPTIONS = {\n path: false,\n namespaces: true,\n sections: true,\n variables: true,\n include: false\n}\n\nexport class PropertiesFileSupport implements IFileSupport {\n\n requirements(): void {\n Prop = PlatformUtils.load('properties');\n }\n\n supportedTypes(): string | string[] {\n return ['conf', 'properties', 'ini'];\n }\n\n parse(content: string): IConfigData {\n let cfg : IConfigData = null;\n let opts = clone(OPTIONS)\n cfg = Prop.parse(content, opts);\n return cfg;\n }\n\n\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../../src/filesupport/types/PropertiesFileSupport.ts"],"names":[],"mappings":";;;AAEA,mCAA6B;AAC7B,0CAA8C;AAE9C,IAAI,IAAS,CAAC;AAEd,MAAM,OAAO,GAAG;IACd,IAAI,EAAE,KAAK;IACX,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAa,qBAAqB;IAEhC,YAAY;QACV,IAAI,GAAG,oBAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,IAAI,GAAG,GAAgB,IAAI,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,CAAC;QAC5B,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC;CAGF;AAlBD,sDAkBC","file":"PropertiesFileSupport.js","sourcesContent":["import {IConfigData} from '../../config/IConfigData';\nimport {IFileSupport} from '../IFileSupport';\nimport {clone} from 'lodash';\nimport {PlatformUtils} from '@allgemein/base';\n\nlet Prop: any;\n\nconst OPTIONS = {\n path: false,\n namespaces: true,\n sections: true,\n variables: true,\n include: false\n};\n\nexport class PropertiesFileSupport implements IFileSupport {\n\n requirements(): void {\n Prop = PlatformUtils.load('properties');\n }\n\n supportedTypes(): string | string[] {\n return ['conf', 'properties', 'ini'];\n }\n\n parse(content: string): IConfigData {\n let cfg: IConfigData = null;\n const opts = clone(OPTIONS);\n cfg = Prop.parse(content, opts);\n return cfg;\n }\n\n\n}\n"],"sourceRoot":"../.."}
@@ -1,5 +1,5 @@
1
- import { IConfigData } from "../../config/IConfigData";
2
- import { IFileSupport } from "../IFileSupport";
1
+ import { IConfigData } from '../../config/IConfigData';
2
+ import { IFileSupport } from '../IFileSupport';
3
3
  export declare class XmlFileSupport implements IFileSupport {
4
4
  requirements(): void;
5
5
  supportedTypes(): string | string[];
@@ -14,9 +14,9 @@ class XmlFileSupport {
14
14
  if (!XML) {
15
15
  XML = base_1.PlatformUtils.load('x2js');
16
16
  }
17
- let x2js = new XML();
17
+ const x2js = new XML();
18
18
  let rawConfig = x2js.xml2js(content);
19
- let rootKeys = Object.keys(rawConfig);
19
+ const rootKeys = Object.keys(rawConfig);
20
20
  if (rootKeys.length == 1) {
21
21
  rawConfig = rawConfig[rootKeys[0]];
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/filesupport/types/XmlFileSupport.ts"],"names":[],"mappings":";;;AAIA,0CAA8C;AAE9C,IAAI,GAAO,CAAC;AAEZ,MAAa,cAAc;IAEvB,YAAY;QACR,oBAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC9B,CAAC;IAED,cAAc;QACV,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,OAAc;QAChB,IAAG,CAAC,GAAG,EAAC;YACJ,GAAG,GAAG,oBAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SACnC;QACD,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,SAAS,GAAiB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,IAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;YACrB,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SACtC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CAEJ;AAvBD,wCAuBC","file":"XmlFileSupport.js","sourcesContent":["\n\nimport {IConfigData} from \"../../config/IConfigData\";\nimport {IFileSupport} from \"../IFileSupport\";\nimport {PlatformUtils} from \"@allgemein/base\";\n\nlet XML:any;\n\nexport class XmlFileSupport implements IFileSupport{\n\n requirements():void {\n PlatformUtils.load('x2js')\n }\n\n supportedTypes(): string | string[] {\n return 'xml';\n }\n\n parse(content:string):IConfigData{\n if(!XML){\n XML = PlatformUtils.load('x2js')\n }\n let x2js = new XML();\n let rawConfig : IConfigData = x2js.xml2js(content);\n let rootKeys = Object.keys(rawConfig);\n if(rootKeys.length == 1) {\n rawConfig = rawConfig[rootKeys[0]];\n }\n return rawConfig;\n }\n\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../../src/filesupport/types/XmlFileSupport.ts"],"names":[],"mappings":";;;AAEA,0CAA8C;AAE9C,IAAI,GAAQ,CAAC;AAEb,MAAa,cAAc;IAEzB,YAAY;QACV,oBAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,cAAc;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,IAAG,CAAC,GAAG,EAAC;YACN,GAAG,GAAG,oBAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAClC;QACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,SAAS,GAAgB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,IAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;YACvB,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SACpC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CAEF;AAvBD,wCAuBC","file":"XmlFileSupport.js","sourcesContent":["import {IConfigData} from '../../config/IConfigData';\nimport {IFileSupport} from '../IFileSupport';\nimport {PlatformUtils} from '@allgemein/base';\n\nlet XML: any;\n\nexport class XmlFileSupport implements IFileSupport{\n\n requirements(): void {\n PlatformUtils.load('x2js');\n }\n\n supportedTypes(): string | string[] {\n return 'xml';\n }\n\n parse(content: string): IConfigData{\n if(!XML){\n XML = PlatformUtils.load('x2js');\n }\n const x2js = new XML();\n let rawConfig: IConfigData = x2js.xml2js(content);\n const rootKeys = Object.keys(rawConfig);\n if(rootKeys.length == 1) {\n rawConfig = rawConfig[rootKeys[0]];\n }\n return rawConfig;\n }\n\n}\n"],"sourceRoot":"../.."}
package/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- export { ConfigJar, ConfigHandler, Config, IConfigOptions, IOptions, ConfigSupport, IConfigData, IJarOptions, Source, SystemConfig, Utils } from './browser';
1
+ export { ConfigJar, Config, IConfigOptions, IOptions, ConfigSupport, IConfigData, IJarOptions, Source, SystemConfig, Utils } from './browser';
2
+ export { ConfigHandler } from './config/ConfigHandler';
2
3
  export { DEFAULT_JAR_NAME, NAMING_BY_DIRECTORY, NAMING_BY_DIRECTORYPATH, NAMING_BY_FILENAME, NAMING_BY_FULLPATH, NamingResolvePattern, SELECTOR_SEPARATOR } from './types';
3
4
  export { IFileSupportInfo } from './filesupport/IFileSupportInfo';
4
5
  export { IFileSupport } from './filesupport/IFileSupport';
package/index.js CHANGED
@@ -1,15 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InterpolationSupport = exports.DirectoryConfig = exports.FileConfig = exports.FileSource = exports.YamlFileSupport = exports.XmlFileSupport = exports.JsonFileSupport = exports.FileSupport = exports.SELECTOR_SEPARATOR = exports.NAMING_BY_FULLPATH = exports.NAMING_BY_FILENAME = exports.NAMING_BY_DIRECTORYPATH = exports.NAMING_BY_DIRECTORY = exports.DEFAULT_JAR_NAME = exports.Utils = exports.SystemConfig = exports.Source = exports.ConfigSupport = exports.Config = exports.ConfigHandler = exports.ConfigJar = void 0;
3
+ exports.InterpolationSupport = exports.DirectoryConfig = exports.FileConfig = exports.FileSource = exports.YamlFileSupport = exports.XmlFileSupport = exports.JsonFileSupport = exports.FileSupport = exports.SELECTOR_SEPARATOR = exports.NAMING_BY_FULLPATH = exports.NAMING_BY_FILENAME = exports.NAMING_BY_DIRECTORYPATH = exports.NAMING_BY_DIRECTORY = exports.DEFAULT_JAR_NAME = exports.ConfigHandler = exports.Utils = exports.SystemConfig = exports.Source = exports.ConfigSupport = exports.Config = exports.ConfigJar = void 0;
4
4
  // browser
5
5
  var browser_1 = require("./browser");
6
6
  Object.defineProperty(exports, "ConfigJar", { enumerable: true, get: function () { return browser_1.ConfigJar; } });
7
- Object.defineProperty(exports, "ConfigHandler", { enumerable: true, get: function () { return browser_1.ConfigHandler; } });
8
7
  Object.defineProperty(exports, "Config", { enumerable: true, get: function () { return browser_1.Config; } });
9
8
  Object.defineProperty(exports, "ConfigSupport", { enumerable: true, get: function () { return browser_1.ConfigSupport; } });
10
9
  Object.defineProperty(exports, "Source", { enumerable: true, get: function () { return browser_1.Source; } });
11
10
  Object.defineProperty(exports, "SystemConfig", { enumerable: true, get: function () { return browser_1.SystemConfig; } });
12
11
  Object.defineProperty(exports, "Utils", { enumerable: true, get: function () { return browser_1.Utils; } });
12
+ var ConfigHandler_1 = require("./config/ConfigHandler");
13
+ Object.defineProperty(exports, "ConfigHandler", { enumerable: true, get: function () { return ConfigHandler_1.ConfigHandler; } });
13
14
  var types_1 = require("./types");
14
15
  Object.defineProperty(exports, "DEFAULT_JAR_NAME", { enumerable: true, get: function () { return types_1.DEFAULT_JAR_NAME; } });
15
16
  Object.defineProperty(exports, "NAMING_BY_DIRECTORY", { enumerable: true, get: function () { return types_1.NAMING_BY_DIRECTORY; } });
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/index.ts"],"names":[],"mappings":";;;AAAA,UAAU;AACV,qCAYmB;AAXjB,oGAAA,SAAS,OAAA;AACT,wGAAA,aAAa,OAAA;AACb,iGAAA,MAAM,OAAA;AAGN,wGAAA,aAAa,OAAA;AAGb,iGAAA,MAAM,OAAA;AACN,uGAAA,YAAY,OAAA;AACZ,gGAAA,KAAK,OAAA;AAGP,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;AAM9D,yDAAsD;AAA9C,0GAAA,WAAW,OAAA;AAEnB,kBAAkB;AAClB,uEAAoE;AAA5D,kHAAA,eAAe,OAAA;AACvB,qEAAkE;AAA1D,gHAAA,cAAc,OAAA;AACtB,uEAAoE;AAA5D,kHAAA,eAAe,OAAA;AAKvB,0DAAuD;AAA/C,wGAAA,UAAU,OAAA;AAClB,0DAAuD;AAA/C,wGAAA,UAAU,OAAA;AAIlB,oEAAiE;AAAzD,kHAAA,eAAe,OAAA;AAEvB,uBAAuB;AACvB,wEAAqE;AAA7D,4HAAA,oBAAoB,OAAA","file":"index.js","sourcesContent":["// browser\nexport {\n ConfigJar,\n ConfigHandler,\n Config,\n IConfigOptions,\n IOptions,\n ConfigSupport,\n IConfigData,\n IJarOptions,\n Source,\n SystemConfig,\n Utils\n} from './browser';\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\n// FileSupport\nexport {IFileSupportInfo} from './filesupport/IFileSupportInfo';\nexport {IFileSupport} from './filesupport/IFileSupport';\nexport {FileSupport} from './filesupport/FileSupport';\n\n// Supported types\nexport {JsonFileSupport} from './filesupport/types/JsonFileSupport';\nexport {XmlFileSupport} from './filesupport/types/XmlFileSupport';\nexport {YamlFileSupport} from './filesupport/types/YamlFileSupport';\n\n// FileConfig\nexport {IFilePath} from './config/handler/IFilePath';\nexport {IFileConfigOptions} from './config/handler/IFileConfigOptions';\nexport {FileSource} from './config/handler/FileSource';\nexport {FileConfig} from './config/handler/FileConfig';\n\n// DirectoryConfig\nexport {IDirectoryConfigOptions} from './config/handler/IDirectoryConfigOptions';\nexport {DirectoryConfig} from './config/handler/DirectoryConfig';\n\n// InterpolationSupport\nexport {InterpolationSupport} from './supports/InterpolationSupport';\n\n\n\n"],"sourceRoot":"."}
1
+ {"version":3,"sources":["../../../src/index.ts"],"names":[],"mappings":";;;AAAA,UAAU;AACV,qCAWmB;AAVjB,oGAAA,SAAS,OAAA;AACT,iGAAA,MAAM,OAAA;AAGN,wGAAA,aAAa,OAAA;AAGb,iGAAA,MAAM,OAAA;AACN,uGAAA,YAAY,OAAA;AACZ,gGAAA,KAAK,OAAA;AAGP,wDAAqD;AAA7C,8GAAA,aAAa,OAAA;AAErB,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;AAM9D,yDAAsD;AAA9C,0GAAA,WAAW,OAAA;AAEnB,kBAAkB;AAClB,uEAAoE;AAA5D,kHAAA,eAAe,OAAA;AACvB,qEAAkE;AAA1D,gHAAA,cAAc,OAAA;AACtB,uEAAoE;AAA5D,kHAAA,eAAe,OAAA;AAKvB,0DAAuD;AAA/C,wGAAA,UAAU,OAAA;AAClB,0DAAuD;AAA/C,wGAAA,UAAU,OAAA;AAIlB,oEAAiE;AAAzD,kHAAA,eAAe,OAAA;AAEvB,uBAAuB;AACvB,wEAAqE;AAA7D,4HAAA,oBAAoB,OAAA","file":"index.js","sourcesContent":["// browser\nexport {\n ConfigJar,\n Config,\n IConfigOptions,\n IOptions,\n ConfigSupport,\n IConfigData,\n IJarOptions,\n Source,\n SystemConfig,\n Utils\n} from './browser';\n\nexport {ConfigHandler} from './config/ConfigHandler';\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\n// FileSupport\nexport {IFileSupportInfo} from './filesupport/IFileSupportInfo';\nexport {IFileSupport} from './filesupport/IFileSupport';\nexport {FileSupport} from './filesupport/FileSupport';\n\n// Supported types\nexport {JsonFileSupport} from './filesupport/types/JsonFileSupport';\nexport {XmlFileSupport} from './filesupport/types/XmlFileSupport';\nexport {YamlFileSupport} from './filesupport/types/YamlFileSupport';\n\n// FileConfig\nexport {IFilePath} from './config/handler/IFilePath';\nexport {IFileConfigOptions} from './config/handler/IFileConfigOptions';\nexport {FileSource} from './config/handler/FileSource';\nexport {FileConfig} from './config/handler/FileConfig';\n\n// DirectoryConfig\nexport {IDirectoryConfigOptions} from './config/handler/IDirectoryConfigOptions';\nexport {DirectoryConfig} from './config/handler/DirectoryConfig';\n\n// InterpolationSupport\nexport {InterpolationSupport} from './supports/InterpolationSupport';\n\n\n\n"],"sourceRoot":"."}
package/package.json CHANGED
@@ -1,9 +1,11 @@
1
1
  {
2
2
  "name": "@allgemein/config",
3
- "version": "1.1.1",
3
+ "version": "1.1.4",
4
4
  "description": "@allgemein/config is a configurable configuration content handler which supports multiple configuration infrastructures and file formats.",
5
- "main": "index.js",
6
- "browser": "browser.js",
5
+ "main": "./index.js",
6
+ "browser": {
7
+ "./index.js": "./browser.js"
8
+ },
7
9
  "directories": {
8
10
  "doc": "docs/de"
9
11
  },
@@ -31,38 +33,43 @@
31
33
  },
32
34
  "homepage": "https://github.com/allgemein-node/config#readme",
33
35
  "devDependencies": {
34
- "@allgemein/packaging": "^1.1.0",
35
- "@testdeck/mocha": "^0.1.2",
36
- "@types/chai": "^4.2.14",
37
- "@types/glob": "^7.1.3",
38
- "@types/lodash": "^4.14.168",
39
- "@types/mocha": "^8.2.0",
40
- "@types/node": "^14.14.25",
41
- "chai": "^4.3.0",
42
- "codecov": "^3.8.1",
43
- "codelyzer": "^6.0.1",
44
- "del": "6.0.0",
45
- "glob": "^7.1.6",
36
+ "@allgemein/packaging": "^1.2.18",
37
+ "@testdeck/mocha": "^0.2.0",
38
+ "@types/chai": "^4.3.1",
39
+ "@types/glob": "^7.2.0",
40
+ "@types/lodash": "^4.14.182",
41
+ "@types/mocha": "^9.1.1",
42
+ "@types/node": "^18.0.6",
43
+ "chai": "^4.3.6",
44
+ "codecov": "^3.8.2",
45
+ "codelyzer": "^6.0.2",
46
+ "del": "6.1.1",
47
+ "glob": "^8.0.3",
46
48
  "gulp": "4.0.2",
47
49
  "gulp-bump": "3.2.0",
48
50
  "gulp-clean": "^0.4.0",
49
- "gulp-mocha": "^7.0.2",
50
- "gulp-replace": "^1.0.0",
51
+ "gulp-mocha": "^8.0.0",
52
+ "gulp-replace": "^1.1.3",
51
53
  "gulp-shell": "0.8.0",
52
54
  "gulp-sourcemaps": "3.0.0",
53
55
  "gulp-typescript": "5.0.1",
54
- "js-yaml": "^4.0.0",
56
+ "js-yaml": "^4.1.0",
55
57
  "merge-stream": "^2.0.0",
56
- "mocha": "^8.2.1",
58
+ "mocha": "^10.0.0",
57
59
  "nyc": "^15.1.0",
58
60
  "properties": "^1.2.1",
59
- "ts-node": "^9.1.1",
60
- "tslint": "^5.20.1",
61
- "typescript": "4.1.3",
62
- "x2js": "^3.4.0"
61
+ "ts-node": "^10.9.1",
62
+ "typescript": "4.7.4",
63
+ "x2js": "^3.4.3",
64
+ "@typescript-eslint/eslint-plugin": "^5.30.7",
65
+ "@typescript-eslint/parser": "^5.30.7",
66
+ "eslint": "8.20.0",
67
+ "eslint-plugin-import": "2.26.0",
68
+ "eslint-plugin-mocha": "10.0.5",
69
+ "eslint-plugin-prettier": "4.2.1"
63
70
  },
64
71
  "dependencies": {
65
- "@allgemein/base": "^1.5.1",
72
+ "@allgemein/base": "^1.6.10",
66
73
  "multimatch": "^5.0.0"
67
74
  },
68
75
  "private": false,
@@ -1,4 +1,4 @@
1
- import { IConfigData } from "../config/IConfigData";
1
+ import { IConfigData } from '../config/IConfigData';
2
2
  export declare class InterpolationSupport {
3
3
  static exec(data: IConfigData, ...lookup: any[]): void;
4
4
  }
@@ -17,14 +17,15 @@ class InterpolationSupport {
17
17
  Utils_1.Utils.walk(data, (x) => {
18
18
  let v = x.value;
19
19
  if (typeof v === 'string' && REGEX.test(v)) {
20
- let match = v.match(REGEX);
20
+ const match = v.match(REGEX);
21
21
  match.forEach(_match => {
22
- let path = _match.replace(/^\${|}$/g, '');
22
+ const path = _match.replace(/^\${|}$/g, '');
23
23
  let _value = null;
24
24
  for (let i = 0; i < lookup.length; i++) {
25
25
  _value = Utils_1.Utils.get(lookup[i], path);
26
- if (_value)
26
+ if (_value) {
27
27
  break;
28
+ }
28
29
  }
29
30
  if (_value) {
30
31
  if (x.index !== null) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/supports/InterpolationSupport.ts"],"names":[],"mappings":";;;AAEA,0CAAqC;AAErC,MAAM,KAAK,GAAG,YAAY,CAAC;AAG3B,MAAa,oBAAoB;IAE7B,iBAAiB;IAEjB,MAAM,CAAC,IAAI,CAAC,IAAiB,EAAE,GAAG,MAAa;QAE3C,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAChB,MAAM,GAAG,CAAC,IAAI,CAAC,CAAA;SAClB;aAAI;YACD,IAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC;gBACxB,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;aACrB;SACJ;QAED,aAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAM,EAAE,EAAE;YACxB,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;YAChB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACxC,IAAI,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBACnB,IAAI,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBAC1C,IAAI,MAAM,GAAG,IAAI,CAAC;oBAElB,KAAI,IAAI,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,MAAM,CAAC,MAAM,EAAC,CAAC,EAAE,EAAC;wBAC5B,MAAM,GAAG,aAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;wBACpC,IAAG,MAAM;4BAAE,MAAM;qBACpB;oBAGD,IAAI,MAAM,EAAE;wBAER,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE;4BAClB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;yBAC3D;6BAAM;4BACH,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;yBAClD;qBACJ;yBAAM;wBACH,gCAAgC;wBAChC,2EAA2E;qBAC9E;gBACL,CAAC,CAAC,CAAA;aACL;QACL,CAAC,CAAC,CAAA;IAEN,CAAC;CAEJ;AA7CD,oDA6CC","file":"InterpolationSupport.js","sourcesContent":["import {ConfigJar} from \"../config/ConfigJar\";\nimport {IConfigData} from \"../config/IConfigData\";\nimport {Utils} from \"../utils/Utils\";\n\nconst REGEX = /\\${[^}]+}/g;\n\n\nexport class InterpolationSupport {\n\n // private lookup\n\n static exec(data: IConfigData, ...lookup: any[]): void {\n\n if (!lookup.length) {\n lookup = [data]\n }else{\n if(Array.isArray(lookup[0])){\n lookup = lookup[0]\n }\n }\n\n Utils.walk(data, (x: any) => {\n let v = x.value;\n if (typeof v === 'string' && REGEX.test(v)) {\n let match = v.match(REGEX);\n match.forEach(_match => {\n let path = _match.replace(/^\\${|}$/g, '');\n let _value = null;\n\n for(let i=0;i<lookup.length;i++){\n _value = Utils.get(lookup[i], path);\n if(_value) break;\n }\n\n\n if (_value) {\n\n if (x.index !== null) {\n x.parent[x.key][x.index] = v = v.replace(_match, _value)\n } else {\n x.parent[x.key] = v = v.replace(_match, _value)\n }\n } else {\n // not found ignore replacement!\n // throw new Error('value not found for match ' + _match + ' path=' + path)\n }\n })\n }\n })\n\n }\n\n}"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../../src/supports/InterpolationSupport.ts"],"names":[],"mappings":";;;AACA,0CAAqC;AAErC,MAAM,KAAK,GAAG,YAAY,CAAC;AAG3B,MAAa,oBAAoB;IAE/B,iBAAiB;IAEjB,MAAM,CAAC,IAAI,CAAC,IAAiB,EAAE,GAAG,MAAa;QAE7C,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;SACjB;aAAI;YACH,IAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC;gBAC1B,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;aACpB;SACF;QAED,aAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAM,EAAE,EAAE;YAC1B,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;YAChB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC7B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBACrB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBAC5C,IAAI,MAAM,GAAG,IAAI,CAAC;oBAElB,KAAI,IAAI,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,MAAM,CAAC,MAAM,EAAC,CAAC,EAAE,EAAC;wBAC9B,MAAM,GAAG,aAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;wBACpC,IAAG,MAAM,EAAE;4BACT,MAAM;yBACP;qBACF;oBAGD,IAAI,MAAM,EAAE;wBAEV,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE;4BACpB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;yBAC1D;6BAAM;4BACL,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;yBACjD;qBACF;yBAAM;wBACL,gCAAgC;wBAChC,2EAA2E;qBAC5E;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;CAEF;AA/CD,oDA+CC","file":"InterpolationSupport.js","sourcesContent":["import {IConfigData} from '../config/IConfigData';\nimport {Utils} from '../utils/Utils';\n\nconst REGEX = /\\${[^}]+}/g;\n\n\nexport class InterpolationSupport {\n\n // private lookup\n\n static exec(data: IConfigData, ...lookup: any[]): void {\n\n if (!lookup.length) {\n lookup = [data];\n }else{\n if(Array.isArray(lookup[0])){\n lookup = lookup[0];\n }\n }\n\n Utils.walk(data, (x: any) => {\n let v = x.value;\n if (typeof v === 'string' && REGEX.test(v)) {\n const match = v.match(REGEX);\n match.forEach(_match => {\n const path = _match.replace(/^\\${|}$/g, '');\n let _value = null;\n\n for(let i=0;i<lookup.length;i++){\n _value = Utils.get(lookup[i], path);\n if(_value) {\n break;\n }\n }\n\n\n if (_value) {\n\n if (x.index !== null) {\n x.parent[x.key][x.index] = v = v.replace(_match, _value);\n } else {\n x.parent[x.key] = v = v.replace(_match, _value);\n }\n } else {\n // not found ignore replacement!\n // throw new Error('value not found for match ' + _match + ' path=' + path)\n }\n });\n }\n });\n\n }\n\n}\n"],"sourceRoot":".."}
package/utils/Utils.js CHANGED
@@ -1,9 +1,32 @@
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
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.Utils = void 0;
4
27
  // import {merge, mergeDeep} from "typescript-object-utils";
5
28
  // import * as merge from 'deepmerge'
6
- const _ = require("lodash");
29
+ const _ = __importStar(require("lodash"));
7
30
  class Utils {
8
31
  /**
9
32
  * https://stackoverflow.com/questions/1960473/unique-values-in-an-array
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/Utils.ts"],"names":[],"mappings":"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","file":"Utils.js","sourcesContent":["// import {merge, mergeDeep} from \"typescript-object-utils\";\n// import * as merge from 'deepmerge'\nimport * as _ from 'lodash';\n\n\nexport class Utils {\n\n /**\n * https://stackoverflow.com/questions/1960473/unique-values-in-an-array\n * @param arr\n * @returns {any[]}\n */\n static unique_array(arr: any[]): any[] {\n return arr.filter((v, i, a) => a.indexOf(v) === i);\n }\n\n static escapeRegExp(text: string): string {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n }\n\n static clone(obj: any) {\n return _.cloneDeep(obj)\n }\n\n /*\n static mergeArray(dest: any[], source: any[], options?: merge.Options) {\n let res = _.concat(dest, source);\n return Utils.uniqArr(res)\n }\n*/\n\n static uniqArr(res: any[]) {\n return _.uniqBy(res, (entry: any) => {\n let x = null\n if (_.isFunction(entry)) {\n x = entry.toString();\n } else {\n x = JSON.stringify(entry);\n }\n return x\n });\n }\n\n\n static merge(...args: any[]): any {\n let first = _.cloneDeep(args.shift());\n return _.mergeWith(first, ...args, (dest: any, source: any) => {\n if (_.isArray(dest)) {\n let res = _.concat(dest, source);\n return Utils.uniqArr(res)\n } else if (_.isPlainObject(dest)) {\n return Utils.merge(dest, source);\n } else {\n return source;\n }\n\n });\n //return merge.all(args, {arrayMerge: this.mergeArray})\n //return _.merge(...args);//merge.all(args)\n /*\n let tmp:any={}\n args.forEach(_x => {tmp = mergeDeep(tmp,_x)})\n return tmp\n */\n }\n\n static walk(root: any, fn: Function) {\n function walk(obj: any, location: any[] = []) {\n if (obj === null || obj === undefined) return;\n\n Object.keys(obj).forEach((key) => {\n\n // Value is an array, call walk on each item in the array\n if (Array.isArray(obj[key])) {\n obj[key].forEach((el: any, j: number) => {\n fn({\n value: el,\n key: key,\n index: j,\n location: [...location, ...[key], ...[j]],\n parent: obj,\n isLeaf: false\n });\n walk(el, [...location, ...[key], ...[j]])\n })\n\n // Value is an object, walk the keys of the object\n } else if (typeof obj[key] === 'object') {\n fn({\n value: obj[key],\n key: key,\n parent: obj,\n index: null,\n location: [...location, ...[key]],\n isLeaf: false\n });\n walk(obj[key], [...location, ...[key]])\n\n // We've reached a leaf node, call fn on the leaf with the location\n } else {\n fn({\n value: obj[key],\n key: key,\n parent: obj,\n index: null,\n location: [...location, ...[key]],\n isLeaf: true\n })\n }\n })\n }\n\n walk(root)\n }\n\n static get(arr: any, path: string = null): any {\n if (path) {\n let paths = path.split('.');\n let first: string | number = paths.shift();\n if (/^[1-9]+\\d*$/.test(first)) {\n first = parseInt(first)\n }\n if (arr.hasOwnProperty(first)) {\n let pointer: any = arr[first];\n if (paths.length === 0) {\n return pointer\n } else {\n return Utils.get(pointer, paths.join('.'))\n }\n } else {\n // not found\n return null\n }\n\n }\n return arr\n\n }\n\n static splitTyped(arr: string, sep: string = '.'): any[] {\n let paths = arr.split('.');\n let normPaths: any[] = [];\n paths.forEach(function (_x) {\n if (typeof _x === 'string' && /\\d+/.test(_x)) {\n normPaths.push(parseInt(_x))\n } else {\n normPaths.push(_x)\n }\n\n });\n return normPaths\n }\n\n static set(arr: any, path: string | any[], value: any): boolean {\n let paths = null;\n let first: string | number = null;\n\n if (typeof path === 'string') {\n paths = Utils.splitTyped(path)\n } else {\n paths = path\n }\n first = paths.shift();\n let next = paths.length > 0 ? paths[0] : null;\n\n\n if (!arr.hasOwnProperty(first)) {\n // new, key doesn't exists\n if (typeof next === 'number') {\n // if next value is a number then this must be an array!\n arr[first] = []\n } else {\n arr[first] = {}\n }\n } else {\n if (Array.isArray(arr)) {\n if (!(typeof first === 'number')) {\n return false\n }\n } else if (Array.isArray(arr[first])) {\n if (!(typeof next === 'number')) {\n return false\n }\n } else if (!Utils.isObject(arr[first])) {\n // primative\n if (Utils.isObject(value)) {\n return false\n }\n } else {\n if (typeof next === 'number') {\n // must be array\n if (!Array.isArray(arr[first])) {\n return false\n }\n }\n }\n }\n\n if (paths.length > 0) {\n return Utils.set(arr[first], paths, value)\n } else {\n arr[first] = value;\n return true\n }\n }\n\n static isArray(o: any) {\n return _.isArray(o)\n }\n\n static isObject(o: any) {\n return _.isObject(o)\n }\n\n\n static isString(o: any) {\n return _.isString(o)\n }\n\n\n static isEmpty(o: any) {\n return _.isEmpty(o)\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../../src/utils/Utils.ts"],"names":[],"mappings":"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","file":"Utils.js","sourcesContent":["// import {merge, mergeDeep} from \"typescript-object-utils\";\n// import * as merge from 'deepmerge'\nimport * as _ from 'lodash';\n\n\nexport class Utils {\n\n /**\n * https://stackoverflow.com/questions/1960473/unique-values-in-an-array\n * @param arr\n * @returns {any[]}\n */\n static unique_array(arr: any[]): any[] {\n return arr.filter((v, i, a) => a.indexOf(v) === i);\n }\n\n static escapeRegExp(text: string): string {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n }\n\n static clone(obj: any) {\n return _.cloneDeep(obj)\n }\n\n /*\n static mergeArray(dest: any[], source: any[], options?: merge.Options) {\n let res = _.concat(dest, source);\n return Utils.uniqArr(res)\n }\n*/\n\n static uniqArr(res: any[]) {\n return _.uniqBy(res, (entry: any) => {\n let x = null\n if (_.isFunction(entry)) {\n x = entry.toString();\n } else {\n x = JSON.stringify(entry);\n }\n return x\n });\n }\n\n\n static merge(...args: any[]): any {\n let first = _.cloneDeep(args.shift());\n return _.mergeWith(first, ...args, (dest: any, source: any) => {\n if (_.isArray(dest)) {\n let res = _.concat(dest, source);\n return Utils.uniqArr(res)\n } else if (_.isPlainObject(dest)) {\n return Utils.merge(dest, source);\n } else {\n return source;\n }\n\n });\n //return merge.all(args, {arrayMerge: this.mergeArray})\n //return _.merge(...args);//merge.all(args)\n /*\n let tmp:any={}\n args.forEach(_x => {tmp = mergeDeep(tmp,_x)})\n return tmp\n */\n }\n\n static walk(root: any, fn: Function) {\n function walk(obj: any, location: any[] = []) {\n if (obj === null || obj === undefined) return;\n\n Object.keys(obj).forEach((key) => {\n\n // Value is an array, call walk on each item in the array\n if (Array.isArray(obj[key])) {\n obj[key].forEach((el: any, j: number) => {\n fn({\n value: el,\n key: key,\n index: j,\n location: [...location, ...[key], ...[j]],\n parent: obj,\n isLeaf: false\n });\n walk(el, [...location, ...[key], ...[j]])\n })\n\n // Value is an object, walk the keys of the object\n } else if (typeof obj[key] === 'object') {\n fn({\n value: obj[key],\n key: key,\n parent: obj,\n index: null,\n location: [...location, ...[key]],\n isLeaf: false\n });\n walk(obj[key], [...location, ...[key]])\n\n // We've reached a leaf node, call fn on the leaf with the location\n } else {\n fn({\n value: obj[key],\n key: key,\n parent: obj,\n index: null,\n location: [...location, ...[key]],\n isLeaf: true\n })\n }\n })\n }\n\n walk(root)\n }\n\n static get(arr: any, path: string = null): any {\n if (path) {\n let paths = path.split('.');\n let first: string | number = paths.shift();\n if (/^[1-9]+\\d*$/.test(first)) {\n first = parseInt(first)\n }\n if (arr.hasOwnProperty(first)) {\n let pointer: any = arr[first];\n if (paths.length === 0) {\n return pointer\n } else {\n return Utils.get(pointer, paths.join('.'))\n }\n } else {\n // not found\n return null\n }\n\n }\n return arr\n\n }\n\n static splitTyped(arr: string, sep: string = '.'): any[] {\n let paths = arr.split('.');\n let normPaths: any[] = [];\n paths.forEach(function (_x) {\n if (typeof _x === 'string' && /\\d+/.test(_x)) {\n normPaths.push(parseInt(_x))\n } else {\n normPaths.push(_x)\n }\n\n });\n return normPaths\n }\n\n static set(arr: any, path: string | any[], value: any): boolean {\n let paths = null;\n let first: string | number = null;\n\n if (typeof path === 'string') {\n paths = Utils.splitTyped(path)\n } else {\n paths = path\n }\n first = paths.shift();\n let next = paths.length > 0 ? paths[0] : null;\n\n\n if (!arr.hasOwnProperty(first)) {\n // new, key doesn't exists\n if (typeof next === 'number') {\n // if next value is a number then this must be an array!\n arr[first] = []\n } else {\n arr[first] = {}\n }\n } else {\n if (Array.isArray(arr)) {\n if (!(typeof first === 'number')) {\n return false\n }\n } else if (Array.isArray(arr[first])) {\n if (!(typeof next === 'number')) {\n return false\n }\n } else if (!Utils.isObject(arr[first])) {\n // primative\n if (Utils.isObject(value)) {\n return false\n }\n } else {\n if (typeof next === 'number') {\n // must be array\n if (!Array.isArray(arr[first])) {\n return false\n }\n }\n }\n }\n\n if (paths.length > 0) {\n return Utils.set(arr[first], paths, value)\n } else {\n arr[first] = value;\n return true\n }\n }\n\n static isArray(o: any) {\n return _.isArray(o)\n }\n\n static isObject(o: any) {\n return _.isObject(o)\n }\n\n\n static isString(o: any) {\n return _.isString(o)\n }\n\n\n static isEmpty(o: any) {\n return _.isEmpty(o)\n }\n}\n"],"sourceRoot":".."}