@allgemein/config 1.1.3 → 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.
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/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":";;;AAAA,4BAA4B;AAC5B,0CAAqC;AAErC,2CAAsC;AAItC,mDAA8C;AAC9C,4DAAuD;AAEvD,oCAA0C;AAE1C,2EAAsE;AACtE,0CAA8C;AAG9C,MAAa,MAAM;IAqBjB;QAPQ,aAAQ,GAAa,EAAE,CAAC;QAExB,UAAK,GAA+B,EAAE,CAAC;QAEvC,UAAK,GAAY,KAAK,CAAC;IAK/B,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,OAAgB,IAAI;QAClC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,EAAE,CAAC;SAC3B;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,IAAI,EAAE;YACvC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAC3C;QAED,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAGD,MAAM,CAAC,GAAG,CAAC,OAA6B,SAAS,EAAE,GAAe;QAChE,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,OAA6B,SAAS,EAAE,GAAe,EAAE,WAAoB,KAAK;QACrF,IAAI,OAAO,GAAgB,EAAC,SAAS,EAAE,wBAAgB,EAAC,CAAC;QACzD,IAAI,KAAK,GAAW,IAAI,CAAC;QACzB,IAAI,CAAC,aAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACzB,OAAO,GAAgB,IAAI,CAAC;YAC5B,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC;SAC3B;aAAM;YACL,KAAK,GAAW,IAAI,CAAC;YACrB,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;SAC3B;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;YAC7B,qBAAqB;YACrB,IAAI,OAAO,IAAI,QAAQ,EAAE;gBACvB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,qBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aAC/C;SACF;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE;YACnC,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;aAC9C;YACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;SACzB;aAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE;YACpC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,qBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAC/C;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,wBAAwB;IACxB,MAAM,KAAK,IAAI;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;IACpC,CAAC;IAED,IAAI,KAAK;QACP,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,IAAI,GAAgB,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,MAAM,CAAC,GAAG;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;IACxC,CAAC;IAED,MAAM,KAAK,QAAQ;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;IACxC,CAAC;IAED,IAAI,SAAS;QACX,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,IAAI,GAAkB,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,MAAM,CAAC,MAAM,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,UAAoB,IAAI,EAAE,SAAkB,IAAI;QAC7D,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAGD,QAAQ,CAAC,WAAqB,IAAI,EAAE,SAAkB,IAAI;QACxD,IAAI,QAAQ,IAAI,IAAI,EAAE;YACpB,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,OAAO,GAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACrB,kCAAkC;YAClC,IAAI,aAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClD,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;oBACpB,wCAAwC;oBACxC,OAAO,GAAa,EAAC,OAAO,EAAE,QAAQ,EAAC,CAAC;iBACzC;qBAAM;oBACL,OAAO,GAAG,EAAE,CAAC;iBACd;aACF;iBAAM;gBACL,OAAO,GAAG,QAAQ,CAAC;aACpB;SACF;aAAM;YACL,OAAO,GAAG,QAAQ,CAAC;SACpB;QAED,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,QAAQ,GAAG,aAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;SACrD;aAAM;YACL,qBAAqB;YACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;SACvC;QAGD,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC7B,yBAAW,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;SAC/C;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAClE,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,6BAAa,CAAC,eAAe,CAAC;SACxD;QAED,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACrC,oBAAa,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SACjD;aAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE;YAC1C,mCAAmC;YACnC,oBAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAChC;QAED,6BAAa,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE7C,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACzC,IAAI,OAAO,GAAuB,6BAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACxG,IAAI,OAAO,EAAE;gBACX,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAE3B,IAAI,GAAG,EAAE;oBACP,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;oBACrB,IAAI,aAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;wBACtB,KAAK,IAAI,IAAI,IAAiB,GAAG,EAAE;4BACjC,IAAI,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;4BAC3C,2CAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;4BACnD,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAC3B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;yBACnC;qBACF;yBAAM;wBACL,IAAI,IAAI,GAAc,GAAG,CAAC;wBAC1B,IAAI,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAC3C,2CAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;wBACnD,4DAA4D;wBAC5D,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC3B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;qBACnC;iBACF;qBAAM;oBACL,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;iBACvB;aACF;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;aAC5C;SACF;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAGD,MAAM,CAAC,GAAG,CAAC,OAAe,IAAI,EAAE,qBAA2B,EAAE,QAAc;QACzE,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;gBACzB,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;YACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnB,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;aACvC;YACD,OAAO,IAAI,CAAC;SACb;QAED,IAAI,IAAI,GAAgB,IAAI,CAAC,IAAI,CAAC;QAElC,IAAI,aAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE;YAC/E,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;SAC1C;aAAM;YACL,QAAQ,GAAG,qBAAqB,CAAC;YACjC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SAClB;QAED,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,MAAM;gBAAE,MAAM;SACnB;QAED,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE;YACvB,OAAO,QAAQ,CAAC;SACjB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAGD,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,KAAU,EAAE,YAAoB,SAAS;QAChE,IAAI,GAAG,GAAc,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,KAAK;QACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,oBAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;;AAtPH,wBAyPC;AAvPgB,sBAAe,GAAa;IACzC,WAAW,EAAE,yBAAW,CAAC,aAAa;IACtC,+BAA+B;IAC/B,OAAO,EAAE;QACP;YACE,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEa,YAAK,GAAW,IAAI,CAAC","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":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA4B;AAC5B,0CAAqC;AAErC,2CAAsC;AAItC,mDAA8C;AAC9C,4DAAuD;AAEvD,oCAA0C;AAE1C,2EAAsE;AACtE,0CAA8C;AAG9C,MAAa,MAAM;IAqBjB;QAPQ,aAAQ,GAAa,EAAE,CAAC;QAExB,UAAK,GAA+B,EAAE,CAAC;QAEvC,UAAK,GAAY,KAAK,CAAC;IAK/B,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,OAAgB,IAAI;QAClC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,EAAE,CAAC;SAC3B;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,IAAI,EAAE;YACvC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAC3C;QAED,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAGD,MAAM,CAAC,GAAG,CAAC,OAA6B,SAAS,EAAE,GAAe;QAChE,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,OAA6B,SAAS,EAAE,GAAe,EAAE,WAAoB,KAAK;QACrF,IAAI,OAAO,GAAgB,EAAC,SAAS,EAAE,wBAAgB,EAAC,CAAC;QACzD,IAAI,KAAK,GAAW,IAAI,CAAC;QACzB,IAAI,CAAC,aAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACzB,OAAO,GAAgB,IAAI,CAAC;YAC5B,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC;SAC3B;aAAM;YACL,KAAK,GAAW,IAAI,CAAC;YACrB,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;SAC3B;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;YAC7B,qBAAqB;YACrB,IAAI,OAAO,IAAI,QAAQ,EAAE;gBACvB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,qBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aAC/C;SACF;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE;YACnC,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;aAC9C;YACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;SACzB;aAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE;YACpC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,qBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAC/C;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,wBAAwB;IACxB,MAAM,KAAK,IAAI;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;IACpC,CAAC;IAED,IAAI,KAAK;QACP,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,IAAI,GAAgB,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,MAAM,CAAC,GAAG;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;IACxC,CAAC;IAED,MAAM,KAAK,QAAQ;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;IACxC,CAAC;IAED,IAAI,SAAS;QACX,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,IAAI,GAAkB,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,MAAM,CAAC,MAAM,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,UAAoB,IAAI,EAAE,SAAkB,IAAI;QAC7D,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAGD,QAAQ,CAAC,WAAqB,IAAI,EAAE,SAAkB,IAAI;QACxD,IAAI,QAAQ,IAAI,IAAI,EAAE;YACpB,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,OAAO,GAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACrB,kCAAkC;YAClC,IAAI,aAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClD,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;oBACpB,wCAAwC;oBACxC,OAAO,GAAa,EAAC,OAAO,EAAE,QAAQ,EAAC,CAAC;iBACzC;qBAAM;oBACL,OAAO,GAAG,EAAE,CAAC;iBACd;aACF;iBAAM;gBACL,OAAO,GAAG,QAAQ,CAAC;aACpB;SACF;aAAM;YACL,OAAO,GAAG,QAAQ,CAAC;SACpB;QAED,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,QAAQ,GAAG,aAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;SACrD;aAAM;YACL,qBAAqB;YACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;SACvC;QAGD,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC7B,yBAAW,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;SAC/C;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAClE,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,6BAAa,CAAC,eAAe,CAAC;SACxD;QAED,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACrC,oBAAa,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SACjD;aAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE;YAC1C,mCAAmC;YACnC,oBAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAChC;QAED,6BAAa,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE7C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YAC3C,MAAM,OAAO,GAAuB,6BAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1G,IAAI,OAAO,EAAE;gBACX,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAE7B,IAAI,GAAG,EAAE;oBACP,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;oBACrB,IAAI,aAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;wBACtB,KAAK,MAAM,IAAI,IAAiB,GAAG,EAAE;4BACnC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;4BAC7C,2CAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;4BACnD,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAC3B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;yBACnC;qBACF;yBAAM;wBACL,MAAM,IAAI,GAAc,GAAG,CAAC;wBAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAC7C,2CAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;wBACnD,4DAA4D;wBAC5D,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC3B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;qBACnC;iBACF;qBAAM;oBACL,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;iBACvB;aACF;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;aAC5C;SACF;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAGD,MAAM,CAAC,GAAG,CAAC,OAAe,IAAI,EAAE,qBAA2B,EAAE,QAAc;QACzE,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;gBACzB,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;YACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnB,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;aACvC;YACD,OAAO,IAAI,CAAC;SACb;QAED,IAAI,IAAI,GAAgB,IAAI,CAAC,IAAI,CAAC;QAElC,IAAI,aAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE;YAC/E,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;SAC1C;aAAM;YACL,QAAQ,GAAG,qBAAqB,CAAC;YACjC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SAClB;QAED,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,MAAM,EAAE;gBACV,MAAM;aACP;SACF;QAED,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE;YACvB,OAAO,QAAQ,CAAC;SACjB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAGD,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,KAAU,EAAE,YAAoB,SAAS;QAChE,MAAM,GAAG,GAAc,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,KAAK;QACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,oBAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;;AAxPH,wBA2PC;AAzPgB,sBAAe,GAAa;IACzC,WAAW,EAAE,yBAAW,CAAC,aAAa;IACtC,+BAA+B;IAC/B,OAAO,EAAE;QACP;YACE,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEa,YAAK,GAAW,IAAI,CAAC","file":"Config.js","sourcesContent":["import * as _ from 'lodash';\nimport {Utils} from '../utils/Utils';\n\nimport {ConfigJar} from './ConfigJar';\nimport {IOptions} from './IOptions';\nimport {IConfigData} from './IConfigData';\n\nimport {ConfigHandler} from './ConfigHandler';\nimport {FileSupport} from '../filesupport/FileSupport';\nimport {IJarOptions} from './IJarOptions';\nimport {DEFAULT_JAR_NAME} from '../types';\nimport {ConfigSupport} from './ConfigSupport';\nimport {InterpolationSupport} from '../supports/InterpolationSupport';\nimport {PlatformUtils} from '@allgemein/base';\n\n\nexport class Config {\n\n private static DEFAULT_OPTIONS: IOptions = {\n fileSupport: FileSupport.DEFAULT_TYPES,\n // handlers: {}DEFAULT_HANDLER,\n configs: [\n {\n type: 'system'\n }\n ]\n };\n\n private static $self: Config = null;\n\n private $options: IOptions = {};\n\n private $jars: { [k: string]: ConfigJar } = {};\n\n private $init: boolean = false;\n\n\n private constructor() {\n\n }\n\n static instance(init: boolean = true): Config {\n if (!this.$self) {\n this.$self = new Config();\n }\n\n if (!this.$self.isInitialized() && init) {\n this.$self._options(this.DEFAULT_OPTIONS);\n }\n\n return this.$self;\n }\n\n isInitialized() {\n return this.$init;\n }\n\n\n static jar(name: string | IJarOptions = 'default', jar?: ConfigJar): ConfigJar {\n return this.instance(false)._jar(name, jar);\n }\n\n _jar(name: string | IJarOptions = 'default', jar?: ConfigJar, override: boolean = false): ConfigJar {\n let options: IJarOptions = {namespace: DEFAULT_JAR_NAME};\n let _name: string = null;\n if (!Utils.isString(name)) {\n options = <IJarOptions>name;\n _name = options.namespace;\n } else {\n _name = <string>name;\n options.namespace = _name;\n }\n\n if (this.$jars[_name] && !jar) {\n // jar already exists\n if (options && override) {\n this.$jars[_name] = ConfigJar.create(options);\n }\n } else if (this.$jars[_name] && jar) {\n if (!override) {\n throw new Error('config jar is already set');\n }\n this.$jars[_name] = jar;\n } else if (!this.$jars[_name] && jar) {\n this.$jars[_name] = jar;\n } else {\n this.$jars[_name] = ConfigJar.create(options);\n }\n return this.$jars[_name];\n }\n\n // TODO return immutable\n static get jars(): ConfigJar[] {\n return this.instance(false)._jars;\n }\n\n get _jars(): ConfigJar[] {\n const self = this;\n const jars: ConfigJar[] = [];\n Object.keys(this.$jars).forEach(k => {\n jars.push(self.$jars[k]);\n });\n return jars;\n }\n\n\n static all(): IConfigData[] {\n return this.instance(false)._jarsData;\n }\n\n static get jarsData(): IConfigData[] {\n return this.instance(false)._jarsData;\n }\n\n get _jarsData(): IConfigData[] {\n const self = this;\n const jars: IConfigData[] = [];\n Object.keys(this.$jars).forEach(k => {\n jars.push(self.$jars[k].data);\n });\n return jars;\n }\n\n\n static hasJar(name: string): boolean {\n return this.instance(false)._hasJar(name);\n }\n\n _hasJar(name: string): boolean {\n return !!this.$jars[name];\n }\n\n static options(options: IOptions = null, append: boolean = true): IOptions {\n return this.instance()._options(options, append);\n }\n\n\n _options(_options: IOptions = null, append: boolean = true): IOptions {\n if (_options == null) {\n return this.$options;\n }\n\n this.$init = true;\n\n let options: IOptions = {};\n if (!_options.configs) {\n // Test if configs key was ignored\n if (Utils.isArray(_options) && _options.length > 0) {\n if (_options[0].type) {\n // okay configs was ignored, prepend it!\n options = <IOptions>{configs: _options};\n } else {\n options = {};\n }\n } else {\n options = _options;\n }\n } else {\n options = _options;\n }\n\n if (append) {\n this.$options = Utils.merge(this.$options, options);\n } else {\n // clear current jars\n this.$jars = {};\n Object.assign(this.$options, options);\n }\n\n\n if (this.$options.fileSupport) {\n FileSupport.reload(this.$options.fileSupport);\n }\n\n if (!this.$options.handlers || this.$options.handlers.length === 0) {\n this.$options.handlers = ConfigHandler.DEFAULT_HANDLER;\n }\n\n if (!_.isEmpty(this.$options.workdir)) {\n PlatformUtils.setWorkDir(this.$options.workdir);\n } else if (_.has(this.$options, 'workdir')) {\n // reset workdir, it is set to null\n PlatformUtils.setWorkDir(null);\n }\n\n ConfigHandler.reload(this.$options.handlers);\n\n for (const _config of this.$options.configs) {\n const handler: ConfigSupport<any> = ConfigHandler.getHandlerByType(_config.type, _config, this._jarsData);\n if (handler) {\n const jar = handler.create();\n\n if (jar) {\n _config.state = true;\n if (Utils.isArray(jar)) {\n for (const _jar of <ConfigJar[]>jar) {\n const _inst_jar = Config.jar(_jar.namespace);\n InterpolationSupport.exec(_config, _inst_jar.data);\n _inst_jar.merge(_jar.data);\n _inst_jar.sources(_jar.sources());\n }\n } else {\n const _jar = <ConfigJar>jar;\n const _inst_jar = Config.jar(_jar.namespace);\n InterpolationSupport.exec(_config, _inst_jar.data);\n // InterpolationSupport.exec(_inst_jar.data,this._jarsData);\n _inst_jar.merge(_jar.data);\n _inst_jar.sources(_jar.sources());\n }\n } else {\n _config.state = false;\n }\n } else {\n throw new Error('handler doesn\\'t exists');\n }\n }\n return this.$options;\n }\n\n\n static get(path: string = null, namespace_or_fallback?: any, fallback?: any) {\n if (path == null) {\n const data = _.cloneDeep(this.jarsData);\n if (this.hasJar('system')) {\n data.shift();\n }\n if (data.length > 1) {\n return _.merge(data.shift(), ...data);\n }\n return data;\n }\n\n let jars: ConfigJar[] = this.jars;\n\n if (Utils.isString(namespace_or_fallback) && this.hasJar(namespace_or_fallback)) {\n jars = [this.jar(namespace_or_fallback)];\n } else {\n fallback = namespace_or_fallback;\n jars = this.jars;\n }\n\n let _value: any = null;\n for (let i = 0; i < jars.length; i++) {\n _value = jars[i].get(path);\n if (_value) {\n break;\n }\n }\n\n if (!_value && fallback) {\n return fallback;\n }\n return _value;\n }\n\n\n static set(path: string, value: any, namespace: string = 'default'): boolean {\n const jar: ConfigJar = Config.jar(namespace);\n return jar.set(path, value);\n }\n\n static clear(): void {\n this.$self = null;\n PlatformUtils.setWorkDir(null);\n }\n\n\n}\n"],"sourceRoot":".."}
@@ -1,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\";\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":";;;AAAA,0CAA8C;AAC9C,oDAA+C;AAC/C,4CAAuC;AAEvC,+DAA0D;AAG1D,6CAAwC;AAIxC;;GAEG;AACH,MAAa,UAAW,SAAQ,6BAAiC;IAG/D,YAAY,OAA2B,EAAE,WAA0B,EAAE;QACnE,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAGO,QAAQ,CAAC,IAAe;QAC9B,IAAI,cAAc,GAAG,yBAAW,CAAC,iBAAiB,EAAE,CAAC;QACrD,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,IAAI,QAAQ,GAAG,IAAI,CAAC;QAEpB,OAAO,CAAC,QAAQ,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7C,IAAI,GAAG,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC;YACjC,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC;YAC3D,IAAI,oBAAa,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;gBACtC,QAAQ,GAAG,GAAG,CAAC;aAChB;SACF;QAED,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE;YAC3B,OAAO,IAAI,CAAC;SACb;QAED,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,WAAW,GAAG,yBAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,sBAAsB,CAAC,CAAC;SACpD;QAED,IAAI,OAAO,GAAG,yBAAW,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,OAAO,GAAQ,IAAI,CAAC;QACxB,IAAI,IAAI,GAAgB,IAAI,CAAC;QAE7B,IAAI,WAAW,CAAC,QAAQ,EAAE;YACxB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAChC;aAAM,IAAI,WAAW,CAAC,SAAS,EAAE;YAChC,OAAO,GAAG,oBAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC/B;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QACD,OAAO,IAAI,CAAC;IAEd,CAAC;IAEO,SAAS,CAAC,KAAkB;QAClC,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,UAAU,GAAiB,EAAE,CAAC;QAElC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,IAAI,KAAK,IAAI,EAAE;gBACjB,iBAAiB;gBACjB,OAAO;aACR;YACD;;;;;;cAME;YACF,IAAI,IAAI,EAAE;gBACR,IAAI,MAAM,GAAG,IAAI,uBAAU,CAAC,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAC,CAAC,CAAC;gBACpF,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,eAAe,CAAC,IAAwB;QAC9C,IAAI,IAAI,GAAc,IAAI,CAAC;QAC3B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,IAAI,QAAQ,GAAG,oBAAa,CAAC,aAAa,CAAC,oBAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5E,IAAI,GAAG;gBACL,OAAO,EAAE,oBAAa,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACxC,QAAQ,EAAE,oBAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC1C,IAAI,EAAE,oBAAa,CAAC,WAAW,CAAC,QAAQ,CAAC;aAC1C,CAAC;SACH;aAAM;YACL,IAAI,GAAG,IAAI,CAAC;YACZ,IAAI,CAAC,OAAO,GAAG,oBAAa,CAAC,aAAa,CAAC,oBAAa,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACpF,qDAAqD;SACtD;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAGO,kBAAkB,CAAC,QAAmB;QAE5C,IAAI,KAAK,GAAgB,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACzB,IAAI,IAAI,GAAG,IAAI,CAAC;YAGhB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACtC,oCAAoC;gBACpC,IAAI,OAAO,GAAc,IAAI,CAAC;gBAC9B,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;oBAC1B,mCAAmC;oBACnC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;iBACzC;qBAAM;oBACL,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC;iBAClE;gBACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,MAAM;QACJ,IAAI,KAAK,GAAgB,EAAE,CAAC;QAC5B,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErB,IAAI,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,gBAAgB,CAAC,MAAM,EAAE;YAC3B,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;SACxC;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEpC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,GAAG,GAAG,qBAAS,CAAC,MAAM,CAAc,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACxB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;CAGF;AA/ID,gCA+IC","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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allgemein/config",
3
- "version": "1.1.3",
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
5
  "main": "./index.js",
6
6
  "browser": {
@@ -33,38 +33,43 @@
33
33
  },
34
34
  "homepage": "https://github.com/allgemein-node/config#readme",
35
35
  "devDependencies": {
36
- "@allgemein/packaging": "^1.1.0",
37
- "@testdeck/mocha": "^0.1.2",
38
- "@types/chai": "^4.2.14",
39
- "@types/glob": "^7.1.3",
40
- "@types/lodash": "^4.14.168",
41
- "@types/mocha": "^8.2.0",
42
- "@types/node": "^14.14.25",
43
- "chai": "^4.3.0",
44
- "codecov": "^3.8.1",
45
- "codelyzer": "^6.0.1",
46
- "del": "6.0.0",
47
- "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",
48
48
  "gulp": "4.0.2",
49
49
  "gulp-bump": "3.2.0",
50
50
  "gulp-clean": "^0.4.0",
51
- "gulp-mocha": "^7.0.2",
52
- "gulp-replace": "^1.0.0",
51
+ "gulp-mocha": "^8.0.0",
52
+ "gulp-replace": "^1.1.3",
53
53
  "gulp-shell": "0.8.0",
54
54
  "gulp-sourcemaps": "3.0.0",
55
55
  "gulp-typescript": "5.0.1",
56
- "js-yaml": "^4.0.0",
56
+ "js-yaml": "^4.1.0",
57
57
  "merge-stream": "^2.0.0",
58
- "mocha": "^8.2.1",
58
+ "mocha": "^10.0.0",
59
59
  "nyc": "^15.1.0",
60
60
  "properties": "^1.2.1",
61
- "ts-node": "^9.1.1",
62
- "tslint": "^5.20.1",
63
- "typescript": "4.1.3",
64
- "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"
65
70
  },
66
71
  "dependencies": {
67
- "@allgemein/base": "^1.5.1",
72
+ "@allgemein/base": "^1.6.10",
68
73
  "multimatch": "^5.0.0"
69
74
  },
70
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":".."}