@allgemein/base 1.6.0 → 1.6.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/MetadataStorage.js +4 -4
- package/MetadataStorage.js.map +1 -1
- package/browser.d.ts +1 -1
- package/browser.js +3 -1
- package/browser.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.js +3 -1
- package/index.js.map +1 -1
- package/locking/LockFactory.js +3 -3
- package/locking/LockFactory.js.map +1 -1
- package/logging/AbstractLogger.js +3 -3
- package/logging/AbstractLogger.js.map +1 -1
- package/logging/Logger.js +1 -1
- package/logging/Logger.js.map +1 -1
- package/package.json +19 -12
- package/shared.d.ts +2 -1
- package/shared.js +3 -1
- package/shared.js.map +1 -1
- package/utils/ArrayUtils.d.ts +4 -0
- package/utils/ArrayUtils.js +91 -0
- package/utils/ArrayUtils.js.map +1 -0
- package/utils/ClassLoader.js +6 -6
- package/utils/ClassLoader.js.map +1 -1
- package/utils/ClassUtils.js +6 -6
- package/utils/ClassUtils.js.map +1 -1
- package/utils/FileUtils.d.ts +2 -2
- package/utils/FileUtils.js.map +1 -1
- package/utils/JsonUtils.js +2 -2
- package/utils/JsonUtils.js.map +1 -1
- package/utils/PlatformUtils.js +1 -1
- package/utils/PlatformUtils.js.map +1 -1
- package/utils/PlatformUtilsBrowser.js +1 -1
- package/utils/PlatformUtilsBrowser.js.map +1 -1
- package/utils/Serializer.js +11 -11
- package/utils/Serializer.js.map +1 -1
- package/utils/TreeUtils.js +10 -10
- package/utils/TreeUtils.js.map +1 -1
package/MetadataStorage.js
CHANGED
|
@@ -22,22 +22,22 @@ class MetadataStorage {
|
|
|
22
22
|
* @param initial
|
|
23
23
|
*/
|
|
24
24
|
key(key, initial = []) {
|
|
25
|
-
if (!lodash_1.has(this, key)) {
|
|
25
|
+
if (!(0, lodash_1.has)(this, key)) {
|
|
26
26
|
this[key] = initial;
|
|
27
27
|
}
|
|
28
28
|
return this[key];
|
|
29
29
|
}
|
|
30
30
|
has(path) {
|
|
31
|
-
return lodash_1.has(this, path);
|
|
31
|
+
return (0, lodash_1.has)(this, path);
|
|
32
32
|
}
|
|
33
33
|
get(key) {
|
|
34
|
-
if (lodash_1.has(this, key)) {
|
|
34
|
+
if ((0, lodash_1.has)(this, key)) {
|
|
35
35
|
return this[key];
|
|
36
36
|
}
|
|
37
37
|
return undefined;
|
|
38
38
|
}
|
|
39
39
|
remove(key) {
|
|
40
|
-
if (lodash_1.has(this, key)) {
|
|
40
|
+
if ((0, lodash_1.has)(this, key)) {
|
|
41
41
|
delete this[key];
|
|
42
42
|
}
|
|
43
43
|
}
|
package/MetadataStorage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/MetadataStorage.ts"],"names":[],"mappings":";;;AAAA,mCAA2B;AAG3B,MAAa,eAAe;IAS1B,MAAM,CAAC,CAAC;QACN,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;SACpC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAGD,MAAM,CAAC,GAAG,CAAC,CAAS;QAClB,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAGD,MAAM,CAAC,KAAK;QACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,GAAW,EAAE,UAAe,EAAE;QAChC,IAAI,CAAC,YAAG,
|
|
1
|
+
{"version":3,"sources":["../../../src/MetadataStorage.ts"],"names":[],"mappings":";;;AAAA,mCAA2B;AAG3B,MAAa,eAAe;IAS1B,MAAM,CAAC,CAAC;QACN,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;SACpC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAGD,MAAM,CAAC,GAAG,CAAC,CAAS;QAClB,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAGD,MAAM,CAAC,KAAK;QACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,GAAW,EAAE,UAAe,EAAE;QAChC,IAAI,CAAC,IAAA,YAAG,EAAC,IAAI,EAAE,GAAG,CAAC,EAAE;YACnB,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;SACrB;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAGD,GAAG,CAAC,IAAY;QACd,OAAO,IAAA,YAAG,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;IAGD,GAAG,CAAC,GAAW;QACb,IAAI,IAAA,YAAG,EAAC,IAAI,EAAE,GAAG,CAAC,EAAE;YAClB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;SAClB;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAGD,MAAM,CAAC,GAAW;QAChB,IAAI,IAAA,YAAG,EAAC,IAAI,EAAE,GAAG,CAAC,EAAE;YAClB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;SAClB;IACH,CAAC;CAEF;AA3DD,0CA2DC","file":"MetadataStorage.js","sourcesContent":["import {has} from 'lodash';\n\n\nexport class MetadataStorage {\n\n\n [k: string]: any;\n\n\n static $self: MetadataStorage;\n\n\n static $() {\n if (!this.$self) {\n this.$self = new MetadataStorage();\n }\n return this.$self;\n }\n\n\n static key(k: string): any[] {\n return this.$().key(k);\n }\n\n\n static clear() {\n this.$self = null;\n }\n\n /**\n * Create or get a cached key by object / array\n *\n * @param key\n * @param initial\n */\n key(key: string, initial: any = []): any[] {\n if (!has(this, key)) {\n this[key] = initial;\n }\n return this[key];\n }\n\n\n has(path: string) {\n return has(this, path);\n }\n\n\n get(key: string) {\n if (has(this, key)) {\n return this[key];\n }\n return undefined;\n }\n\n\n remove(key: string) {\n if (has(this, key)) {\n delete this[key];\n }\n }\n\n}\n"],"sourceRoot":"."}
|
package/browser.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { JsonUtils, TreeUtils, CryptUtils, ClassUtils, NotSupportedError, NotYetImplementedError, TodoException, NestedException, Logger, ILogLevel, ILoggerOptions, ILoggerApi, ConsoleLogger, AbstractLogger, MetaArgs, StringOrFunction, ISO8601, C_WARN, C_TRACE, C_INFO, C_ERROR, C_DEBUG, C_CONSOLE, __SOURCE__, C_DEFAULT, MetadataStorage, Semaphore, LockFactory } from './shared';
|
|
1
|
+
export { JsonUtils, TreeUtils, WalkValues, ArrayUtils, CryptUtils, ClassUtils, NotSupportedError, NotYetImplementedError, TodoException, NestedException, Logger, ILogLevel, ILoggerOptions, ILoggerApi, ConsoleLogger, AbstractLogger, MetaArgs, StringOrFunction, ISO8601, C_WARN, C_TRACE, C_INFO, C_ERROR, C_DEBUG, C_CONSOLE, __SOURCE__, C_DEFAULT, MetadataStorage, Semaphore, LockFactory, Serializer } from './shared';
|
|
2
2
|
export { PlatformUtils } from './utils/PlatformUtilsBrowser';
|
package/browser.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PlatformUtils = exports.LockFactory = exports.Semaphore = exports.MetadataStorage = exports.C_DEFAULT = exports.__SOURCE__ = exports.C_CONSOLE = exports.C_DEBUG = exports.C_ERROR = exports.C_INFO = exports.C_TRACE = exports.C_WARN = exports.ISO8601 = exports.MetaArgs = exports.AbstractLogger = exports.ConsoleLogger = exports.Logger = exports.NestedException = exports.TodoException = exports.NotYetImplementedError = exports.NotSupportedError = exports.ClassUtils = exports.CryptUtils = exports.TreeUtils = exports.JsonUtils = void 0;
|
|
3
|
+
exports.PlatformUtils = exports.Serializer = exports.LockFactory = exports.Semaphore = exports.MetadataStorage = exports.C_DEFAULT = exports.__SOURCE__ = exports.C_CONSOLE = exports.C_DEBUG = exports.C_ERROR = exports.C_INFO = exports.C_TRACE = exports.C_WARN = exports.ISO8601 = exports.MetaArgs = exports.AbstractLogger = exports.ConsoleLogger = exports.Logger = exports.NestedException = exports.TodoException = exports.NotYetImplementedError = exports.NotSupportedError = exports.ClassUtils = exports.CryptUtils = exports.ArrayUtils = exports.TreeUtils = exports.JsonUtils = void 0;
|
|
4
4
|
var shared_1 = require("./shared");
|
|
5
5
|
Object.defineProperty(exports, "JsonUtils", { enumerable: true, get: function () { return shared_1.JsonUtils; } });
|
|
6
6
|
Object.defineProperty(exports, "TreeUtils", { enumerable: true, get: function () { return shared_1.TreeUtils; } });
|
|
7
|
+
Object.defineProperty(exports, "ArrayUtils", { enumerable: true, get: function () { return shared_1.ArrayUtils; } });
|
|
7
8
|
Object.defineProperty(exports, "CryptUtils", { enumerable: true, get: function () { return shared_1.CryptUtils; } });
|
|
8
9
|
Object.defineProperty(exports, "ClassUtils", { enumerable: true, get: function () { return shared_1.ClassUtils; } });
|
|
9
10
|
Object.defineProperty(exports, "NotSupportedError", { enumerable: true, get: function () { return shared_1.NotSupportedError; } });
|
|
@@ -26,6 +27,7 @@ Object.defineProperty(exports, "C_DEFAULT", { enumerable: true, get: function ()
|
|
|
26
27
|
Object.defineProperty(exports, "MetadataStorage", { enumerable: true, get: function () { return shared_1.MetadataStorage; } });
|
|
27
28
|
Object.defineProperty(exports, "Semaphore", { enumerable: true, get: function () { return shared_1.Semaphore; } });
|
|
28
29
|
Object.defineProperty(exports, "LockFactory", { enumerable: true, get: function () { return shared_1.LockFactory; } });
|
|
30
|
+
Object.defineProperty(exports, "Serializer", { enumerable: true, get: function () { return shared_1.Serializer; } });
|
|
29
31
|
var PlatformUtilsBrowser_1 = require("./utils/PlatformUtilsBrowser");
|
|
30
32
|
Object.defineProperty(exports, "PlatformUtils", { enumerable: true, get: function () { return PlatformUtilsBrowser_1.PlatformUtils; } });
|
|
31
33
|
|
package/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/browser.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/browser.ts"],"names":[],"mappings":";;;AAAA,mCAgCkB;AA/BhB,mGAAA,SAAS,OAAA;AACT,mGAAA,SAAS,OAAA;AAET,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,2GAAA,iBAAiB,OAAA;AACjB,gHAAA,sBAAsB,OAAA;AACtB,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA;AACf,gGAAA,MAAM,OAAA;AAIN,uGAAA,aAAa,OAAA;AACb,wGAAA,cAAc,OAAA;AACd,kGAAA,QAAQ,OAAA;AAER,iGAAA,OAAO,OAAA;AACP,gGAAA,MAAM,OAAA;AACN,iGAAA,OAAO,OAAA;AACP,gGAAA,MAAM,OAAA;AACN,iGAAA,OAAO,OAAA;AACP,iGAAA,OAAO,OAAA;AACP,mGAAA,SAAS,OAAA;AACT,oGAAA,UAAU,OAAA;AACV,mGAAA,SAAS,OAAA;AACT,yGAAA,eAAe,OAAA;AACf,mGAAA,SAAS,OAAA;AACT,qGAAA,WAAW,OAAA;AACX,oGAAA,UAAU,OAAA;AAEZ,qEAA2D;AAAnD,qHAAA,aAAa,OAAA","file":"browser.js","sourcesContent":["export {\n JsonUtils,\n TreeUtils,\n WalkValues,\n ArrayUtils,\n CryptUtils,\n ClassUtils,\n NotSupportedError,\n NotYetImplementedError,\n TodoException,\n NestedException,\n Logger,\n ILogLevel,\n ILoggerOptions,\n ILoggerApi,\n ConsoleLogger,\n AbstractLogger,\n MetaArgs,\n StringOrFunction,\n ISO8601,\n C_WARN,\n C_TRACE,\n C_INFO,\n C_ERROR,\n C_DEBUG,\n C_CONSOLE,\n __SOURCE__,\n C_DEFAULT,\n MetadataStorage,\n Semaphore,\n LockFactory,\n Serializer\n} from './shared';\nexport {PlatformUtils} from './utils/PlatformUtilsBrowser';\n"],"sourceRoot":"."}
|
package/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { JsonUtils, TreeUtils, CryptUtils, ClassUtils, NotSupportedError, NotYetImplementedError, TodoException, NestedException, Logger, ILogLevel, ILoggerOptions, ILoggerApi, ConsoleLogger, AbstractLogger, MetaArgs, StringOrFunction, ISO8601, C_WARN, C_TRACE, C_INFO, C_ERROR, C_DEBUG, C_CONSOLE, __SOURCE__, C_DEFAULT, MetadataStorage, LockFactory, Semaphore } from './shared';
|
|
1
|
+
export { JsonUtils, TreeUtils, CryptUtils, ArrayUtils, WalkValues, ClassUtils, NotSupportedError, NotYetImplementedError, TodoException, NestedException, Logger, ILogLevel, ILoggerOptions, ILoggerApi, ConsoleLogger, AbstractLogger, MetaArgs, StringOrFunction, ISO8601, C_WARN, C_TRACE, C_INFO, C_ERROR, C_DEBUG, C_CONSOLE, __SOURCE__, C_DEFAULT, MetadataStorage, LockFactory, Semaphore, Serializer } from './shared';
|
|
2
2
|
export { ClassLoader } from './utils/ClassLoader';
|
|
3
3
|
export { PlatformUtils } from './utils/PlatformUtils';
|
|
4
4
|
export { FileUtils } from './utils/FileUtils';
|
package/index.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FileUtils = exports.PlatformUtils = exports.ClassLoader = exports.Semaphore = exports.LockFactory = exports.MetadataStorage = exports.C_DEFAULT = exports.__SOURCE__ = exports.C_CONSOLE = exports.C_DEBUG = exports.C_ERROR = exports.C_INFO = exports.C_TRACE = exports.C_WARN = exports.ISO8601 = exports.MetaArgs = exports.AbstractLogger = exports.ConsoleLogger = exports.Logger = exports.NestedException = exports.TodoException = exports.NotYetImplementedError = exports.NotSupportedError = exports.ClassUtils = exports.CryptUtils = exports.TreeUtils = exports.JsonUtils = void 0;
|
|
3
|
+
exports.FileUtils = exports.PlatformUtils = exports.ClassLoader = exports.Serializer = exports.Semaphore = exports.LockFactory = exports.MetadataStorage = exports.C_DEFAULT = exports.__SOURCE__ = exports.C_CONSOLE = exports.C_DEBUG = exports.C_ERROR = exports.C_INFO = exports.C_TRACE = exports.C_WARN = exports.ISO8601 = exports.MetaArgs = exports.AbstractLogger = exports.ConsoleLogger = exports.Logger = exports.NestedException = exports.TodoException = exports.NotYetImplementedError = exports.NotSupportedError = exports.ClassUtils = exports.ArrayUtils = exports.CryptUtils = exports.TreeUtils = exports.JsonUtils = void 0;
|
|
4
4
|
var shared_1 = require("./shared");
|
|
5
5
|
Object.defineProperty(exports, "JsonUtils", { enumerable: true, get: function () { return shared_1.JsonUtils; } });
|
|
6
6
|
Object.defineProperty(exports, "TreeUtils", { enumerable: true, get: function () { return shared_1.TreeUtils; } });
|
|
7
7
|
Object.defineProperty(exports, "CryptUtils", { enumerable: true, get: function () { return shared_1.CryptUtils; } });
|
|
8
|
+
Object.defineProperty(exports, "ArrayUtils", { enumerable: true, get: function () { return shared_1.ArrayUtils; } });
|
|
8
9
|
Object.defineProperty(exports, "ClassUtils", { enumerable: true, get: function () { return shared_1.ClassUtils; } });
|
|
9
10
|
Object.defineProperty(exports, "NotSupportedError", { enumerable: true, get: function () { return shared_1.NotSupportedError; } });
|
|
10
11
|
Object.defineProperty(exports, "NotYetImplementedError", { enumerable: true, get: function () { return shared_1.NotYetImplementedError; } });
|
|
@@ -26,6 +27,7 @@ Object.defineProperty(exports, "C_DEFAULT", { enumerable: true, get: function ()
|
|
|
26
27
|
Object.defineProperty(exports, "MetadataStorage", { enumerable: true, get: function () { return shared_1.MetadataStorage; } });
|
|
27
28
|
Object.defineProperty(exports, "LockFactory", { enumerable: true, get: function () { return shared_1.LockFactory; } });
|
|
28
29
|
Object.defineProperty(exports, "Semaphore", { enumerable: true, get: function () { return shared_1.Semaphore; } });
|
|
30
|
+
Object.defineProperty(exports, "Serializer", { enumerable: true, get: function () { return shared_1.Serializer; } });
|
|
29
31
|
var ClassLoader_1 = require("./utils/ClassLoader");
|
|
30
32
|
Object.defineProperty(exports, "ClassLoader", { enumerable: true, get: function () { return ClassLoader_1.ClassLoader; } });
|
|
31
33
|
var PlatformUtils_1 = require("./utils/PlatformUtils");
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAgCkB;AA/BhB,mGAAA,SAAS,OAAA;AACT,mGAAA,SAAS,OAAA;AACT,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AAEV,oGAAA,UAAU,OAAA;AACV,2GAAA,iBAAiB,OAAA;AACjB,gHAAA,sBAAsB,OAAA;AACtB,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA;AACf,gGAAA,MAAM,OAAA;AAIN,uGAAA,aAAa,OAAA;AACb,wGAAA,cAAc,OAAA;AACd,kGAAA,QAAQ,OAAA;AAER,iGAAA,OAAO,OAAA;AACP,gGAAA,MAAM,OAAA;AACN,iGAAA,OAAO,OAAA;AACP,gGAAA,MAAM,OAAA;AACN,iGAAA,OAAO,OAAA;AACP,iGAAA,OAAO,OAAA;AACP,mGAAA,SAAS,OAAA;AACT,oGAAA,UAAU,OAAA;AACV,mGAAA,SAAS,OAAA;AACT,yGAAA,eAAe,OAAA;AACf,qGAAA,WAAW,OAAA;AACX,mGAAA,SAAS,OAAA;AACT,oGAAA,UAAU,OAAA;AAIZ,mDAAgD;AAAxC,0GAAA,WAAW,OAAA;AACnB,uDAAoD;AAA5C,8GAAA,aAAa,OAAA;AACrB,+CAA4C;AAApC,sGAAA,SAAS,OAAA","file":"index.js","sourcesContent":["export {\n JsonUtils,\n TreeUtils,\n CryptUtils,\n ArrayUtils,\n WalkValues,\n ClassUtils,\n NotSupportedError,\n NotYetImplementedError,\n TodoException,\n NestedException,\n Logger,\n ILogLevel,\n ILoggerOptions,\n ILoggerApi,\n ConsoleLogger,\n AbstractLogger,\n MetaArgs,\n StringOrFunction,\n ISO8601,\n C_WARN,\n C_TRACE,\n C_INFO,\n C_ERROR,\n C_DEBUG,\n C_CONSOLE,\n __SOURCE__,\n C_DEFAULT,\n MetadataStorage,\n LockFactory,\n Semaphore,\n Serializer\n} from './shared';\n\n\nexport {ClassLoader} from './utils/ClassLoader';\nexport {PlatformUtils} from './utils/PlatformUtils';\nexport {FileUtils} from './utils/FileUtils';\n\n"],"sourceRoot":"."}
|
package/locking/LockFactory.js
CHANGED
|
@@ -25,13 +25,13 @@ class LockFactory extends events_1.EventEmitter {
|
|
|
25
25
|
return sem;
|
|
26
26
|
}
|
|
27
27
|
remove(s) {
|
|
28
|
-
lodash_1.remove(this.semaphores, s);
|
|
29
|
-
if (lodash_1.isEmpty(this.semaphores)) {
|
|
28
|
+
(0, lodash_1.remove)(this.semaphores, s);
|
|
29
|
+
if ((0, lodash_1.isEmpty)(this.semaphores)) {
|
|
30
30
|
this.emit('empty');
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
await() {
|
|
34
|
-
if (lodash_1.isEmpty(this.semaphores)) {
|
|
34
|
+
if ((0, lodash_1.isEmpty)(this.semaphores)) {
|
|
35
35
|
return Promise.resolve();
|
|
36
36
|
}
|
|
37
37
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/locking/LockFactory.ts"],"names":[],"mappings":";;;AAAA,mCAAuC;AACvC,mCAAoC;AACpC,2CAAsC;AAEtC,MAAa,WAAY,SAAQ,qBAAY;IAE3C;QACE,KAAK,EAAE,CAAC;QASF,eAAU,GAAgB,EAAE,CAAC;QARnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IASD,MAAM,CAAC,CAAC;QACN,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;SACnC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,KAAK;QACV,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,MAAM,GAAG,GAAG,IAAI,qBAAS,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,CAAY;QACjB,eAAM,
|
|
1
|
+
{"version":3,"sources":["../../../src/locking/LockFactory.ts"],"names":[],"mappings":";;;AAAA,mCAAuC;AACvC,mCAAoC;AACpC,2CAAsC;AAEtC,MAAa,WAAY,SAAQ,qBAAY;IAE3C;QACE,KAAK,EAAE,CAAC;QASF,eAAU,GAAgB,EAAE,CAAC;QARnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IASD,MAAM,CAAC,CAAC;QACN,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;SACnC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,KAAK;QACV,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,MAAM,GAAG,GAAG,IAAI,qBAAS,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,CAAY;QACjB,IAAA,eAAM,EAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC3B,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACpB;IACH,CAAC;IAGD,KAAK;QACH,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAC5B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;aAAM;YACL,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;oBACtB,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAO,GAAG,KAAK;QAC5B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAe,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5E,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE;YACzC,IAAI;gBACF,CAAC,CAAC,KAAK,EAAE,CAAC;aACX;YAAC,OAAO,CAAC,EAAE;aACX;YACD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAChB;IAEH,CAAC;;AA7DH,kCA+DC;AAvDQ,gBAAI,GAAW,WAAW,CAAC,IAAI,CAAC","file":"LockFactory.js","sourcesContent":["import {isEmpty, remove} from 'lodash';\nimport {EventEmitter} from 'events';\nimport {Semaphore} from './Semaphore';\n\nexport class LockFactory extends EventEmitter {\n\n constructor() {\n super();\n this.setMaxListeners(1000);\n }\n\n\n static NAME: string = LockFactory.name;\n\n static __self__: LockFactory;\n\n private semaphores: Semaphore[] = [];\n\n static $() {\n if (!this.__self__) {\n this.__self__ = new LockFactory();\n }\n return this.__self__;\n }\n\n static reset() {\n this.__self__ = null;\n }\n\n semaphore(max: number) {\n const sem = new Semaphore(max);\n this.semaphores.push(sem);\n return sem;\n }\n\n remove(s: Semaphore) {\n remove(this.semaphores, s);\n if (isEmpty(this.semaphores)) {\n this.emit('empty');\n }\n }\n\n\n await(): Promise<any> {\n if (isEmpty(this.semaphores)) {\n return Promise.resolve();\n } else {\n return new Promise(resolve => {\n this.once('empty', () => {\n resolve(null);\n });\n });\n }\n }\n\n async shutdown(timeout = 10000) {\n await Promise.all(this.semaphores.map(x => <Promise<any>>x.await(timeout)));\n for (const s of this.semaphores.reverse()) {\n try {\n s.purge();\n } catch (e) {\n }\n this.remove(s);\n }\n\n }\n\n}\n"],"sourceRoot":".."}
|
|
@@ -23,7 +23,7 @@ class AbstractLogger {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
isEnabled(set = null) {
|
|
26
|
-
if (!lodash_1.isNull(set)) {
|
|
26
|
+
if (!(0, lodash_1.isNull)(set)) {
|
|
27
27
|
this._enable = set;
|
|
28
28
|
}
|
|
29
29
|
return this._enable;
|
|
@@ -35,13 +35,13 @@ class AbstractLogger {
|
|
|
35
35
|
this._enable = true;
|
|
36
36
|
}
|
|
37
37
|
findLevel(m) {
|
|
38
|
-
return this.levels.find(x => lodash_1.isNumber(m) ? x.nr === m : x.name.toLowerCase() === m.toLowerCase());
|
|
38
|
+
return this.levels.find(x => (0, lodash_1.isNumber)(m) ? x.nr === m : x.name.toLowerCase() === m.toLowerCase());
|
|
39
39
|
}
|
|
40
40
|
addLevel(name) {
|
|
41
41
|
this.levels.push({ nr: this.levelInc++, name: name.toLowerCase() });
|
|
42
42
|
}
|
|
43
43
|
getLevel() {
|
|
44
|
-
return lodash_1.find(this.levels, l => l.nr === this.logLevel);
|
|
44
|
+
return (0, lodash_1.find)(this.levels, l => l.nr === this.logLevel);
|
|
45
45
|
}
|
|
46
46
|
setLevel(level) {
|
|
47
47
|
const l = this.findLevel(level);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/logging/AbstractLogger.ts"],"names":[],"mappings":";;;AAAA,mCAA8C;AAG9C,4CAAuE;AAIvE,MAAsB,cAAc;IAalC,YAAY,IAAoB;QAXxB,aAAQ,GAAG,CAAC,CAAC;QAEX,WAAM,GAAgB,EAAE,CAAC;QAEzB,aAAQ,GAAW,CAAC,CAAC;QAErB,YAAO,GAAY,IAAI,CAAC;QAMhC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,mBAAO,CAAC,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,kBAAM,CAAC,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,kBAAM,CAAC,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,mBAAO,CAAC,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,mBAAO,CAAC,CAAC;QAGvB,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;SAC/C;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAM,CAAC,CAAC,EAAE,CAAC;SAC3C;IAEH,CAAC;IAED,SAAS,CAAC,MAAe,IAAI;QAC3B,IAAI,CAAC,eAAM,
|
|
1
|
+
{"version":3,"sources":["../../../src/logging/AbstractLogger.ts"],"names":[],"mappings":"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","file":"AbstractLogger.js","sourcesContent":["import {isNull, isNumber, find} from 'lodash';\nimport {ILoggerApi} from './ILoggerApi';\nimport {ILogLevel} from './ILogLevel';\nimport {C_DEBUG, C_ERROR, C_INFO, C_TRACE, C_WARN} from '../Constants';\nimport {ILoggerOptions} from './ILoggerOptions';\n\n\nexport abstract class AbstractLogger implements ILoggerApi {\n\n private levelInc = 0;\n\n protected levels: ILogLevel[] = [];\n\n protected logLevel: number = 0;\n\n protected _enable: boolean = true;\n\n protected options: ILoggerOptions;\n\n\n constructor(opts: ILoggerOptions) {\n this.options = opts;\n this.addLevel(C_ERROR);\n this.addLevel(C_WARN);\n this.addLevel(C_INFO);\n this.addLevel(C_DEBUG);\n this.addLevel(C_TRACE);\n\n\n if (opts.level) {\n this.logLevel = this.findLevel(opts.level).nr;\n } else {\n this.logLevel = this.findLevel(C_INFO).nr;\n }\n\n }\n\n isEnabled(set: boolean = null): boolean {\n if (!isNull(set)) {\n this._enable = set;\n }\n return this._enable;\n }\n\n disable() {\n this._enable = false;\n }\n\n enable() {\n this._enable = true;\n }\n\n findLevel(m: string | number) {\n return this.levels.find(x => isNumber(m) ? x.nr === m : x.name.toLowerCase() === m.toLowerCase());\n }\n\n addLevel(name: string) {\n this.levels.push({nr: this.levelInc++, name: name.toLowerCase()});\n }\n\n\n getLevel(): ILogLevel {\n return find(this.levels, l => l.nr === this.logLevel);\n }\n\n setLevel(level: number | string): void {\n const l = this.findLevel(level);\n if (l) {\n this.logLevel = l.nr;\n } else {\n throw new Error('can\\'t find given log level entry ' + level);\n }\n }\n\n debug(...msg: any[]): void {\n this.log(C_DEBUG, ...msg);\n }\n\n\n error(...msg: any[]): void {\n this.log(C_ERROR, ...msg);\n }\n\n\n info(...msg: any[]): void {\n this.log(C_INFO, ...msg);\n }\n\n\n abstract log(level: number | string, ...msg: any[]): void ;\n\n\n trace(...msg: any[]): void {\n this.log(C_TRACE, ...msg);\n }\n\n\n warn(...msg: any[]): void {\n this.log(C_WARN, ...msg);\n }\n\n\n}\n"],"sourceRoot":".."}
|
package/logging/Logger.js
CHANGED
|
@@ -25,7 +25,7 @@ class Logger {
|
|
|
25
25
|
this.$().loggerTypes[type] = cls;
|
|
26
26
|
}
|
|
27
27
|
static getLogger(opts = DEFAULT) {
|
|
28
|
-
if (!this.$().instances[opts.context] || lodash_1.get(opts, 'override', false)) {
|
|
28
|
+
if (!this.$().instances[opts.context] || (0, lodash_1.get)(opts, 'override', false)) {
|
|
29
29
|
const type = this.$().loggerTypes[opts.type];
|
|
30
30
|
if (type) {
|
|
31
31
|
this.$().instances[opts.context] = Reflect.construct(type, [opts]);
|
package/logging/Logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/logging/Logger.ts"],"names":[],"mappings":";;;AAAA,mCAA2B;AAE3B,mDAA8C;AAC9C,4CAA6F;AAI7F,MAAM,OAAO,GAAmB;IAC9B,OAAO,EAAE,qBAAS;IAClB,IAAI,EAAE,qBAAS;CAEhB,CAAC;AAEF,MAAa,MAAM;IAEjB;QAMQ,gBAAW,GAA8B;YAC/C,OAAO,EAAE,6BAAa;SACvB,CAAC;QAEM,cAAS,GAAkC,EAAE,CAAC;IARtD,CAAC;IAUD,MAAM,CAAC,CAAC;QACN,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,EAAE,CAAC;SAC3B;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,IAAY,EAAE,GAAa;QACxC,IAAI,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,OAAuB,OAAO;QAC7C,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,YAAG,
|
|
1
|
+
{"version":3,"sources":["../../../src/logging/Logger.ts"],"names":[],"mappings":";;;AAAA,mCAA2B;AAE3B,mDAA8C;AAC9C,4CAA6F;AAI7F,MAAM,OAAO,GAAmB;IAC9B,OAAO,EAAE,qBAAS;IAClB,IAAI,EAAE,qBAAS;CAEhB,CAAC;AAEF,MAAa,MAAM;IAEjB;QAMQ,gBAAW,GAA8B;YAC/C,OAAO,EAAE,6BAAa;SACvB,CAAC;QAEM,cAAS,GAAkC,EAAE,CAAC;IARtD,CAAC;IAUD,MAAM,CAAC,CAAC;QACN,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,EAAE,CAAC;SAC3B;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,IAAY,EAAE,GAAa;QACxC,IAAI,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,OAAuB,OAAO;QAC7C,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAA,YAAG,EAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE;YACrE,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;aACpE;iBAAM;gBACL,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,6BAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;aAC7E;SAEF;QACD,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAGD,MAAM,CAAC,GAAG,CAAC,QAAyB,kBAAM,EAAE,GAAG,GAAU;QACvD,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,GAAU;QACxB,IAAI,CAAC,GAAG,CAAC,mBAAO,EAAE,GAAG,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,GAAU;QACvB,IAAI,CAAC,GAAG,CAAC,kBAAM,EAAE,GAAG,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,GAAU;QACvB,IAAI,CAAC,GAAG,CAAC,kBAAM,EAAE,GAAG,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,GAAU;QACxB,IAAI,CAAC,GAAG,CAAC,mBAAO,EAAE,GAAG,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,GAAU;QACxB,IAAI,CAAC,GAAG,CAAC,mBAAO,EAAE,GAAG,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CAEF;AAvED,wBAuEC","file":"Logger.js","sourcesContent":["import {get} from 'lodash';\nimport {ILoggerApi} from './ILoggerApi';\nimport {ConsoleLogger} from './ConsoleLogger';\nimport {C_CONSOLE, C_DEBUG, C_DEFAULT, C_ERROR, C_INFO, C_TRACE, C_WARN} from '../Constants';\nimport {ILoggerOptions} from './ILoggerOptions';\n\n\nconst DEFAULT: ILoggerOptions = {\n context: C_DEFAULT,\n type: C_CONSOLE\n\n};\n\nexport class Logger {\n\n private constructor() {\n\n }\n\n private static _self: Logger;\n\n private loggerTypes: { [k: string]: Function } = {\n console: ConsoleLogger\n };\n\n private instances: { [key: string]: ILoggerApi } = {};\n\n static $() {\n if (!this._self) {\n this._self = new Logger();\n }\n return this._self;\n }\n\n static addType(type: string, cls: Function) {\n this.$().loggerTypes[type] = cls;\n }\n\n static getLogger(opts: ILoggerOptions = DEFAULT) {\n if (!this.$().instances[opts.context] || get(opts, 'override', false)) {\n const type = this.$().loggerTypes[opts.type];\n if (type) {\n this.$().instances[opts.context] = Reflect.construct(type, [opts]);\n } else {\n this.$().instances[opts.context] = Reflect.construct(ConsoleLogger, [opts]);\n }\n\n }\n return this.$().instances[opts.context];\n }\n\n\n static log(level: number | string = C_INFO, ...msg: any[]) {\n this.getLogger().log(level, ...msg);\n }\n\n static error(...msg: any[]) {\n this.log(C_ERROR, ...msg);\n }\n\n static warn(...msg: any[]) {\n this.log(C_WARN, ...msg);\n }\n\n static info(...msg: any[]) {\n this.log(C_INFO, ...msg);\n }\n\n static debug(...msg: any[]) {\n this.log(C_DEBUG, ...msg);\n }\n\n static trace(...msg: any[]) {\n this.log(C_TRACE, ...msg);\n }\n\n getInstances() {\n return this.instances;\n }\n\n getTypes() {\n return this.loggerTypes;\n }\n\n}\n"],"sourceRoot":".."}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@allgemein/base",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.4",
|
|
4
4
|
"description": "Library for commons moduls.",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"private": false,
|
|
@@ -29,18 +29,24 @@
|
|
|
29
29
|
},
|
|
30
30
|
"homepage": "https://github.com/allgemein-node/base#readme",
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@allgemein/packaging": "^1.
|
|
32
|
+
"@allgemein/packaging": "^1.2.13",
|
|
33
33
|
"@testdeck/mocha": "^0.1.2",
|
|
34
|
-
"@types/chai": "^4.2.
|
|
34
|
+
"@types/chai": "^4.2.22",
|
|
35
35
|
"@types/expect": "^24.3.0",
|
|
36
|
-
"@types/glob": "^7.1.
|
|
37
|
-
"@types/lodash": "^4.14.
|
|
38
|
-
"@types/mocha": "^
|
|
39
|
-
"@types/node": "^
|
|
36
|
+
"@types/glob": "^7.1.4",
|
|
37
|
+
"@types/lodash": "^4.14.175",
|
|
38
|
+
"@types/mocha": "^9.0.0",
|
|
39
|
+
"@types/node": "^16.10.3",
|
|
40
|
+
"@typescript-eslint/eslint-plugin": "^5.10.1",
|
|
41
|
+
"@typescript-eslint/parser": "^5.10.1",
|
|
40
42
|
"chai": "^4.3.4",
|
|
41
|
-
"codecov": "^3.8.
|
|
43
|
+
"codecov": "^3.8.3",
|
|
42
44
|
"codelyzer": "^6.0.2",
|
|
43
45
|
"del": "6.0.0",
|
|
46
|
+
"eslint": "7.28.0",
|
|
47
|
+
"eslint-plugin-import": "2.23.4",
|
|
48
|
+
"eslint-plugin-mocha": "9.0.0",
|
|
49
|
+
"eslint-plugin-prettier": "3.4.0",
|
|
44
50
|
"gulp": "4.0.2",
|
|
45
51
|
"gulp-bump": "^3.2.0",
|
|
46
52
|
"gulp-clean": "^0.4.0",
|
|
@@ -49,15 +55,16 @@
|
|
|
49
55
|
"gulp-sourcemaps": "3.0.0",
|
|
50
56
|
"gulp-typescript": "5.0.1",
|
|
51
57
|
"merge-stream": "^2.0.0",
|
|
52
|
-
"mocha": "^
|
|
58
|
+
"mocha": "^9.1.2",
|
|
53
59
|
"nyc": "^15.1.0",
|
|
60
|
+
"lodash": "^4.17.21",
|
|
54
61
|
"reflect-metadata": "^0.1.13",
|
|
55
62
|
"std-mocks": "^1.0.1",
|
|
56
|
-
"ts-node": "^
|
|
63
|
+
"ts-node": "^10.2.1",
|
|
57
64
|
"tslint": "^6.1.3",
|
|
58
|
-
"typescript": "4.
|
|
65
|
+
"typescript": "4.4.3"
|
|
59
66
|
},
|
|
60
|
-
"
|
|
67
|
+
"peerDependencies": {
|
|
61
68
|
"lodash": "^4.17.21"
|
|
62
69
|
}
|
|
63
70
|
}
|
package/shared.d.ts
CHANGED
|
@@ -13,8 +13,9 @@ export { NotYetImplementedError } from './exceptions/NotYetImplementedError';
|
|
|
13
13
|
export { NotSupportedError } from './exceptions/NotSupportedError';
|
|
14
14
|
export { ClassUtils } from './utils/ClassUtils';
|
|
15
15
|
export { CryptUtils } from './utils/CryptUtils';
|
|
16
|
-
export { TreeUtils } from './utils/TreeUtils';
|
|
16
|
+
export { TreeUtils, WalkValues } from './utils/TreeUtils';
|
|
17
17
|
export { JsonUtils } from './utils/JsonUtils';
|
|
18
18
|
export { Serializer } from './utils/Serializer';
|
|
19
|
+
export { ArrayUtils } from './utils/ArrayUtils';
|
|
19
20
|
export { LockFactory } from './locking/LockFactory';
|
|
20
21
|
export { Semaphore } from './locking/Semaphore';
|
package/shared.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Semaphore = exports.LockFactory = exports.Serializer = exports.JsonUtils = exports.TreeUtils = exports.CryptUtils = exports.ClassUtils = exports.NotSupportedError = exports.NotYetImplementedError = exports.TodoException = exports.NestedException = exports.Logger = exports.ConsoleLogger = exports.AbstractLogger = exports.MetadataStorage = exports.MetaArgs = exports.ISO8601 = exports.C_WARN = exports.C_TRACE = exports.C_INFO = exports.C_ERROR = exports.C_DEBUG = exports.C_CONSOLE = exports.__SOURCE__ = exports.C_DEFAULT = void 0;
|
|
3
|
+
exports.Semaphore = exports.LockFactory = exports.ArrayUtils = exports.Serializer = exports.JsonUtils = exports.TreeUtils = exports.CryptUtils = exports.ClassUtils = exports.NotSupportedError = exports.NotYetImplementedError = exports.TodoException = exports.NestedException = exports.Logger = exports.ConsoleLogger = exports.AbstractLogger = exports.MetadataStorage = exports.MetaArgs = exports.ISO8601 = exports.C_WARN = exports.C_TRACE = exports.C_INFO = exports.C_ERROR = exports.C_DEBUG = exports.C_CONSOLE = exports.__SOURCE__ = exports.C_DEFAULT = void 0;
|
|
4
4
|
var Constants_1 = require("./Constants");
|
|
5
5
|
Object.defineProperty(exports, "C_DEFAULT", { enumerable: true, get: function () { return Constants_1.C_DEFAULT; } });
|
|
6
6
|
Object.defineProperty(exports, "__SOURCE__", { enumerable: true, get: function () { return Constants_1.__SOURCE__; } });
|
|
@@ -39,6 +39,8 @@ var JsonUtils_1 = require("./utils/JsonUtils");
|
|
|
39
39
|
Object.defineProperty(exports, "JsonUtils", { enumerable: true, get: function () { return JsonUtils_1.JsonUtils; } });
|
|
40
40
|
var Serializer_1 = require("./utils/Serializer");
|
|
41
41
|
Object.defineProperty(exports, "Serializer", { enumerable: true, get: function () { return Serializer_1.Serializer; } });
|
|
42
|
+
var ArrayUtils_1 = require("./utils/ArrayUtils");
|
|
43
|
+
Object.defineProperty(exports, "ArrayUtils", { enumerable: true, get: function () { return ArrayUtils_1.ArrayUtils; } });
|
|
42
44
|
var LockFactory_1 = require("./locking/LockFactory");
|
|
43
45
|
Object.defineProperty(exports, "LockFactory", { enumerable: true, get: function () { return LockFactory_1.LockFactory; } });
|
|
44
46
|
var Semaphore_1 = require("./locking/Semaphore");
|
package/shared.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/shared.ts"],"names":[],"mappings":";;;AAAA,yCAEqB;AADnB,sGAAA,SAAS,OAAA;AAAE,uGAAA,UAAU,OAAA;AAAE,sGAAA,SAAS,OAAA;AAAE,oGAAA,OAAO,OAAA;AAAE,oGAAA,OAAO,OAAA;AAAE,mGAAA,MAAM,OAAA;AAAE,oGAAA,OAAO,OAAA;AAAE,mGAAA,MAAM,OAAA;AAAE,oGAAA,OAAO,OAAA;AAEtF,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AAEvB,2DAAwD;AAAhD,gHAAA,cAAc,OAAA;AACtB,yDAAsD;AAA9C,8GAAA,aAAa,OAAA;AAIrB,2CAAwC;AAAhC,gGAAA,MAAM,OAAA;AAEd,gEAA6D;AAArD,kHAAA,eAAe,OAAA;AACvB,4DAAyD;AAAjD,8GAAA,aAAa,OAAA;AACrB,8EAA2E;AAAnE,gIAAA,sBAAsB,OAAA;AAC9B,oEAAiE;AAAzD,sHAAA,iBAAiB,OAAA;AAEzB,iDAA8C;AAAtC,wGAAA,UAAU,OAAA;AAClB,iDAA8C;AAAtC,wGAAA,UAAU,OAAA;AAClB,+
|
|
1
|
+
{"version":3,"sources":["../../../src/shared.ts"],"names":[],"mappings":";;;AAAA,yCAEqB;AADnB,sGAAA,SAAS,OAAA;AAAE,uGAAA,UAAU,OAAA;AAAE,sGAAA,SAAS,OAAA;AAAE,oGAAA,OAAO,OAAA;AAAE,oGAAA,OAAO,OAAA;AAAE,mGAAA,MAAM,OAAA;AAAE,oGAAA,OAAO,OAAA;AAAE,mGAAA,MAAM,OAAA;AAAE,oGAAA,OAAO,OAAA;AAEtF,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AAEvB,2DAAwD;AAAhD,gHAAA,cAAc,OAAA;AACtB,yDAAsD;AAA9C,8GAAA,aAAa,OAAA;AAIrB,2CAAwC;AAAhC,gGAAA,MAAM,OAAA;AAEd,gEAA6D;AAArD,kHAAA,eAAe,OAAA;AACvB,4DAAyD;AAAjD,8GAAA,aAAa,OAAA;AACrB,8EAA2E;AAAnE,gIAAA,sBAAsB,OAAA;AAC9B,oEAAiE;AAAzD,sHAAA,iBAAiB,OAAA;AAEzB,iDAA8C;AAAtC,wGAAA,UAAU,OAAA;AAClB,iDAA8C;AAAtC,wGAAA,UAAU,OAAA;AAClB,+CAAwD;AAAhD,sGAAA,SAAS,OAAA;AACjB,+CAA4C;AAApC,sGAAA,SAAS,OAAA;AACjB,iDAA8C;AAAtC,wGAAA,UAAU,OAAA;AAClB,iDAA8C;AAAtC,wGAAA,UAAU,OAAA;AAElB,qDAAkD;AAA1C,0GAAA,WAAW,OAAA;AACnB,iDAA8C;AAAtC,sGAAA,SAAS,OAAA","file":"shared.js","sourcesContent":["export {\n C_DEFAULT, __SOURCE__, C_CONSOLE, C_DEBUG, C_ERROR, C_INFO, C_TRACE, C_WARN, ISO8601, StringOrFunction\n} from './Constants';\nexport {MetaArgs} from './MetaArgs';\nexport {MetadataStorage} from './MetadataStorage';\n\nexport {AbstractLogger} from './logging/AbstractLogger';\nexport {ConsoleLogger} from './logging/ConsoleLogger';\nexport {ILoggerApi} from './logging/ILoggerApi';\nexport {ILoggerOptions} from './logging/ILoggerOptions';\nexport {ILogLevel} from './logging/ILogLevel';\nexport {Logger} from './logging/Logger';\n\nexport {NestedException} from './exceptions/NestedException';\nexport {TodoException} from './exceptions/TodoException';\nexport {NotYetImplementedError} from './exceptions/NotYetImplementedError';\nexport {NotSupportedError} from './exceptions/NotSupportedError';\n\nexport {ClassUtils} from './utils/ClassUtils';\nexport {CryptUtils} from './utils/CryptUtils';\nexport {TreeUtils, WalkValues} from './utils/TreeUtils';\nexport {JsonUtils} from './utils/JsonUtils';\nexport {Serializer} from './utils/Serializer';\nexport {ArrayUtils} from './utils/ArrayUtils';\n\nexport {LockFactory} from './locking/LockFactory';\nexport {Semaphore} from './locking/Semaphore';\n\n"],"sourceRoot":"."}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ArrayUtils = void 0;
|
|
4
|
+
const TreeUtils_1 = require("./TreeUtils");
|
|
5
|
+
const lodash_1 = require("lodash");
|
|
6
|
+
class ArrayUtils {
|
|
7
|
+
static merge(source, dest) {
|
|
8
|
+
const changes = [];
|
|
9
|
+
TreeUtils_1.TreeUtils.walk(dest, (x) => {
|
|
10
|
+
// new sub-property
|
|
11
|
+
const location = x.location.join('.');
|
|
12
|
+
if (x.isLeaf) {
|
|
13
|
+
// is leaf - check content
|
|
14
|
+
if ((0, lodash_1.isNull)(x.index) && x.key) {
|
|
15
|
+
// object path
|
|
16
|
+
const value = (0, lodash_1.get)(source, location, undefined);
|
|
17
|
+
if ((0, lodash_1.isUndefined)(value)) {
|
|
18
|
+
// not exists, append to source
|
|
19
|
+
(0, lodash_1.set)(source, location, x.value);
|
|
20
|
+
changes.push({ type: 'missing', key: location });
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
if (value !== x.value) {
|
|
24
|
+
(0, lodash_1.set)(source, location, x.value);
|
|
25
|
+
changes.push({ type: 'value', key: location, src: value, dst: x.value });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else if ((0, lodash_1.isNumber)(x.index)) {
|
|
30
|
+
// array element
|
|
31
|
+
this.mergeHandleArray(source, x, changes);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
throw new Error('no object or array node on leaf');
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
// is branch - check structure
|
|
39
|
+
if ((0, lodash_1.isNull)(x.index) && x.key) {
|
|
40
|
+
// object path
|
|
41
|
+
const value = (0, lodash_1.get)(source, location, undefined);
|
|
42
|
+
if ((0, lodash_1.isUndefined)(value)) {
|
|
43
|
+
// not exists, append to source
|
|
44
|
+
(0, lodash_1.set)(source, location, x.value);
|
|
45
|
+
changes.push({ type: 'missing', key: location });
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else if ((0, lodash_1.isNumber)(x.index)) {
|
|
49
|
+
this.mergeHandleArray(source, x, changes);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
throw new Error('no object or array node on branch');
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
return changes;
|
|
57
|
+
}
|
|
58
|
+
static mergeHandleArray(source, x, changes) {
|
|
59
|
+
// array element
|
|
60
|
+
const parent = (0, lodash_1.clone)(x.location);
|
|
61
|
+
parent.pop();
|
|
62
|
+
const parentLocation = parent.join('.');
|
|
63
|
+
const sourceArray = parent.length === 0 ? source : (0, lodash_1.get)(source, parentLocation, undefined);
|
|
64
|
+
if ((0, lodash_1.isArray)(sourceArray)) {
|
|
65
|
+
// source array exists check if value present
|
|
66
|
+
const exists = sourceArray.find((y) => (0, lodash_1.isEqual)(x, x.value));
|
|
67
|
+
if (!exists) {
|
|
68
|
+
// add missing value
|
|
69
|
+
const position = sourceArray.length;
|
|
70
|
+
sourceArray.push(x.value);
|
|
71
|
+
changes.push({ type: 'push', key: parentLocation, position: position, value: x.value });
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
else if ((0, lodash_1.isUndefined)(sourceArray)) {
|
|
75
|
+
// source parent for appending structure is not the same
|
|
76
|
+
(0, lodash_1.set)(source, parentLocation, [x.value]);
|
|
77
|
+
changes.push({ type: 'create-push', key: parentLocation, position: 0, value: x.value });
|
|
78
|
+
}
|
|
79
|
+
else if ((0, lodash_1.isObjectLike)(sourceArray)) {
|
|
80
|
+
// source parent is an object like entry
|
|
81
|
+
// todo replace this with the array
|
|
82
|
+
throw new Error('structural inconsistencies: needed array to add value found object-like entry [' + parentLocation + ']');
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
throw new Error('structural inconsistencies: needed array to add value found unknown [' + parentLocation + ']');
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
exports.ArrayUtils = ArrayUtils;
|
|
90
|
+
|
|
91
|
+
//# sourceMappingURL=ArrayUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/ArrayUtils.ts"],"names":[],"mappings":"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","file":"ArrayUtils.js","sourcesContent":["import {TreeUtils, WalkValues} from './TreeUtils';\nimport {clone, get, isArray, isEqual, isNull, isNumber, isObjectLike, isUndefined, set} from 'lodash';\n\nexport class ArrayUtils {\n\n static merge(source: any, dest: any) {\n const changes: any[] = [];\n TreeUtils.walk(dest, (x: WalkValues) => {\n // new sub-property\n const location = x.location.join('.');\n\n if (x.isLeaf) {\n // is leaf - check content\n if (isNull(x.index) && x.key) {\n // object path\n const value = get(source, location, undefined);\n if (isUndefined(value)) {\n // not exists, append to source\n set(source, location, x.value);\n changes.push({type: 'missing', key: location});\n } else {\n if (value !== x.value) {\n set(source, location, x.value);\n changes.push({type: 'value', key: location, src: value, dst: x.value});\n }\n }\n } else if (isNumber(x.index)) {\n // array element\n this.mergeHandleArray(source, x, changes);\n } else {\n throw new Error('no object or array node on leaf');\n }\n } else {\n // is branch - check structure\n if (isNull(x.index) && x.key) {\n // object path\n const value = get(source, location, undefined);\n if (isUndefined(value)) {\n // not exists, append to source\n set(source, location, x.value);\n changes.push({type: 'missing', key: location});\n }\n } else if (isNumber(x.index)) {\n this.mergeHandleArray(source, x, changes);\n } else {\n throw new Error('no object or array node on branch');\n }\n }\n });\n return changes;\n }\n\n\n private static mergeHandleArray(source: any, x: WalkValues, changes: any[]) {\n // array element\n const parent = clone(x.location);\n parent.pop();\n const parentLocation = parent.join('.');\n const sourceArray = parent.length === 0 ? source : get(source, parentLocation, undefined);\n if (isArray(sourceArray)) {\n // source array exists check if value present\n const exists = sourceArray.find((y: any) => isEqual(x, x.value));\n if (!exists) {\n // add missing value\n const position = sourceArray.length;\n sourceArray.push(x.value);\n changes.push({type: 'push', key: parentLocation, position: position, value: x.value});\n }\n } else if (isUndefined(sourceArray)) {\n // source parent for appending structure is not the same\n set(source, parentLocation, [x.value]);\n changes.push({type: 'create-push', key: parentLocation, position: 0, value: x.value});\n } else if (isObjectLike(sourceArray)) {\n // source parent is an object like entry\n // todo replace this with the array\n throw new Error('structural inconsistencies: needed array to add value found object-like entry [' + parentLocation + ']');\n } else {\n throw new Error('structural inconsistencies: needed array to add value found unknown [' + parentLocation + ']');\n }\n\n }\n}\n"],"sourceRoot":".."}
|
package/utils/ClassLoader.js
CHANGED
|
@@ -18,7 +18,7 @@ class ClassLoader {
|
|
|
18
18
|
static importClassesFromAny(o) {
|
|
19
19
|
let klasses = [];
|
|
20
20
|
o.forEach(x => {
|
|
21
|
-
if (lodash_1.isString(x)) {
|
|
21
|
+
if ((0, lodash_1.isString)(x)) {
|
|
22
22
|
const _x = PlatformUtils_1.PlatformUtils.pathNormilize(PlatformUtils_1.PlatformUtils.pathResolve(x));
|
|
23
23
|
const exported = ClassLoader.importClassesFromDirectories([_x]);
|
|
24
24
|
klasses = klasses.concat.apply(klasses, exported);
|
|
@@ -34,7 +34,7 @@ class ClassLoader {
|
|
|
34
34
|
}
|
|
35
35
|
static importClassesFromAnyAsync(o) {
|
|
36
36
|
return Promise.all(o.map(async (x) => {
|
|
37
|
-
if (lodash_1.isString(x)) {
|
|
37
|
+
if ((0, lodash_1.isString)(x)) {
|
|
38
38
|
const _x = PlatformUtils_1.PlatformUtils.pathNormilize(PlatformUtils_1.PlatformUtils.pathResolve(x));
|
|
39
39
|
return ClassLoader.importClassesFromDirectoriesAsync([_x]);
|
|
40
40
|
}
|
|
@@ -45,7 +45,7 @@ class ClassLoader {
|
|
|
45
45
|
throw new Error('TODO: unknown ' + x);
|
|
46
46
|
}
|
|
47
47
|
})).then(x => {
|
|
48
|
-
return lodash_1.concat([], ...x);
|
|
48
|
+
return (0, lodash_1.concat)([], ...x);
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
static importClassesFromDirectories(directories, formats = ['.js', '.ts']) {
|
|
@@ -97,7 +97,7 @@ class ClassLoader {
|
|
|
97
97
|
return null;
|
|
98
98
|
}
|
|
99
99
|
}));
|
|
100
|
-
return this.filterClasses(dirs.filter(x => !lodash_1.isNull(x)), []); // this.loadFileClasses(dirs, []);
|
|
100
|
+
return this.filterClasses(dirs.filter(x => !(0, lodash_1.isNull)(x)), []); // this.loadFileClasses(dirs, []);
|
|
101
101
|
}
|
|
102
102
|
/**
|
|
103
103
|
* Loads all json files from the given directory.
|
|
@@ -137,7 +137,7 @@ class ClassLoader {
|
|
|
137
137
|
return ClassUtils_1.ClassUtils.getFunction(klass);
|
|
138
138
|
}
|
|
139
139
|
static filterClasses(exported, allLoaded) {
|
|
140
|
-
if (lodash_1.isArray(exported)) {
|
|
140
|
+
if ((0, lodash_1.isArray)(exported)) {
|
|
141
141
|
exported.forEach(e => this.filterClasses(e, allLoaded));
|
|
142
142
|
}
|
|
143
143
|
else {
|
|
@@ -151,7 +151,7 @@ class ClassLoader {
|
|
|
151
151
|
allLoaded.push(exported.loaded);
|
|
152
152
|
}
|
|
153
153
|
else if (exported.loaded instanceof Object) {
|
|
154
|
-
lodash_1.keys(exported.loaded).forEach(key => this.filterClasses({
|
|
154
|
+
(0, lodash_1.keys)(exported.loaded).forEach(key => this.filterClasses({
|
|
155
155
|
loaded: exported.loaded[key],
|
|
156
156
|
source: exported.source
|
|
157
157
|
}, allLoaded));
|
package/utils/ClassLoader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/ClassLoader.ts"],"names":[],"mappings":"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","file":"ClassLoader.js","sourcesContent":["/**\n *\n * @see https://github.com/typeorm/typeorm/blob/master/src/util/DirectoryExportedClassesLoader.ts\n *\n */\n\nimport {concat, isArray, isNull, isString, keys} from 'lodash';\nimport {PlatformUtils} from './PlatformUtils';\nimport {StringOrFunction} from '../Constants';\nimport {FileUtils} from './FileUtils';\nimport {ClassUtils} from './ClassUtils';\n\n\nconst __SOURCE__ = '__SOURCE__';\n\n/**\n * Loads all exported classes from the given directory.\n */\nexport class ClassLoader {\n\n static importClassesFromAny(o: StringOrFunction[]): Function[] {\n let klasses: Function[] = [];\n o.forEach(x => {\n if (isString(x)) {\n const _x = PlatformUtils.pathNormilize(PlatformUtils.pathResolve(x));\n const exported = ClassLoader.importClassesFromDirectories([_x]);\n klasses = klasses.concat.apply(klasses, exported);\n } else if (x instanceof Function) {\n klasses.push(x);\n } else {\n throw new Error('TODO: unknown ' + x);\n }\n });\n return klasses;\n }\n\n static importClassesFromAnyAsync(o: StringOrFunction[]): Promise<Function[]> {\n return Promise.all(o.map(async x => {\n if (isString(x)) {\n const _x = PlatformUtils.pathNormilize(PlatformUtils.pathResolve(x));\n return ClassLoader.importClassesFromDirectoriesAsync([_x]);\n } else if (x instanceof Function) {\n return [x];\n } else {\n throw new Error('TODO: unknown ' + x);\n }\n })).then(x => {\n return concat([], ...x);\n });\n }\n\n\n static importClassesFromDirectories(directories: string[], formats = ['.js', '.ts']): Function[] {\n\n const allFiles = directories.reduce((allDirs, dir) => {\n const x = PlatformUtils.pathNormilize(dir);\n const y = PlatformUtils.load('glob').sync(x);\n return allDirs.concat(y);\n }, [] as string[]);\n\n const dirs: { loaded: any, source: string }[] = allFiles\n .filter(file => {\n const dtsExtension = file.substring(file.length - 5, file.length);\n return formats.indexOf(PlatformUtils.pathExtname(file)) !== -1 && dtsExtension !== '.d.ts';\n })\n .map(file => {\n const cls = {\n source: file,\n loaded: PlatformUtils.load(PlatformUtils.pathResolve(file))\n };\n return cls;\n });\n\n return this.filterClasses(dirs, []); // this.loadFileClasses(dirs, []);\n }\n\n\n static async importClassesFromDirectoriesAsync(directories: string[], formats = ['.js', '.ts']): Promise<Function[]> {\n let allFiles: string[] = [];\n const promises = [];\n for (const dir of directories) {\n const x = PlatformUtils.pathNormilize(dir);\n promises.push(FileUtils.glob(x));\n }\n await Promise.all(promises).then(r => {\n allFiles = allFiles.concat(...r);\n });\n\n const dirs: { loaded: any, source: string }[] = await Promise.all(allFiles\n .filter(file => {\n const dtsExtension = file.substring(file.length - 5, file.length);\n return formats.indexOf(PlatformUtils.pathExtname(file)) !== -1 && dtsExtension !== '.d.ts';\n })\n .map(file => PlatformUtils.pathResolve(file))\n .filter(file => PlatformUtils.fileExist(file))\n .map(async file => {\n try {\n const cls = {\n source: file,\n loaded: await PlatformUtils.loadAsync(file)\n };\n return cls;\n } catch (e) {\n return null;\n }\n }));\n return this.filterClasses(dirs.filter(x => !isNull(x)), []); // this.loadFileClasses(dirs, []);\n }\n\n\n /**\n * Loads all json files from the given directory.\n */\n static importJsonsFromDirectories(directories: string[], format = '.json'): any[] {\n\n const allFiles = directories.reduce((allDirs, dir) => {\n return allDirs.concat(PlatformUtils.load('glob').sync(PlatformUtils.pathNormilize(dir)));\n }, [] as string[]);\n\n return allFiles\n .filter(file => PlatformUtils.pathExtname(file) === format)\n .map(file => PlatformUtils.load(PlatformUtils.pathResolve(file)));\n }\n\n /**\n * Loads all json files from the given directory.\n */\n static async importJsonsFromDirectoriesAsync(directories: string[], format = '.json'): Promise<any[]> {\n let allFiles: string[] = [];\n const promises = [];\n for (const dir of directories) {\n const x = PlatformUtils.pathNormilize(dir);\n promises.push(FileUtils.glob(x));\n }\n await Promise.all(promises).then(r => {\n allFiles = allFiles.concat(...r);\n });\n\n return allFiles\n .filter(file => PlatformUtils.pathExtname(file) === format)\n .map(file => PlatformUtils.load(PlatformUtils.pathResolve(file)));\n }\n\n\n static getSource(cls: Function): string {\n return ClassUtils.getSource(cls);\n }\n\n\n static getClassName(klass: string | Function) {\n return ClassUtils.getClassName(klass);\n }\n\n\n static getFunction(klass: string | Function) {\n return ClassUtils.getFunction(klass);\n }\n\n\n private static filterClasses(exported: { loaded: any, source: string } | { loaded: any, source: string }[], allLoaded: Function[]) {\n if (isArray(exported)) {\n exported.forEach(e => this.filterClasses(e, allLoaded));\n } else {\n if (exported.loaded instanceof Function) {\n if (Reflect && Reflect['getOwnMetadata']) {\n Reflect['defineMetadata'](__SOURCE__, exported.source, exported.loaded);\n } else {\n exported.loaded.__SOURCE__ = exported.source;\n }\n allLoaded.push(exported.loaded);\n } else if (exported.loaded instanceof Object) {\n keys(exported.loaded).forEach(key => this.filterClasses({\n loaded: exported.loaded[key],\n source: exported.source\n }, allLoaded));\n } else if (exported.loaded instanceof Array) {\n exported.loaded.forEach((i: any) => this.filterClasses({\n loaded: i,\n source: exported.source\n }, allLoaded));\n }\n }\n\n return allLoaded;\n }\n\n\n private static loadFileClasses(exported: any, allLoaded: Function[]) {\n if (exported instanceof Function) {\n allLoaded.push(exported);\n } else if (exported instanceof Object) {\n Object.keys(exported).forEach(key => this.loadFileClasses(exported[key], allLoaded));\n\n } else if (exported instanceof Array) {\n exported.forEach((i: any) => this.loadFileClasses(i, allLoaded));\n }\n\n return allLoaded;\n }\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/ClassLoader.ts"],"names":[],"mappings":"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","file":"ClassLoader.js","sourcesContent":["/**\n *\n * @see https://github.com/typeorm/typeorm/blob/master/src/util/DirectoryExportedClassesLoader.ts\n *\n */\n\nimport {concat, isArray, isNull, isString, keys} from 'lodash';\nimport {PlatformUtils} from './PlatformUtils';\nimport {StringOrFunction} from '../Constants';\nimport {FileUtils} from './FileUtils';\nimport {ClassUtils} from './ClassUtils';\n\n\nconst __SOURCE__ = '__SOURCE__';\n\n/**\n * Loads all exported classes from the given directory.\n */\nexport class ClassLoader {\n\n static importClassesFromAny(o: StringOrFunction[]): Function[] {\n let klasses: Function[] = [];\n o.forEach(x => {\n if (isString(x)) {\n const _x = PlatformUtils.pathNormilize(PlatformUtils.pathResolve(x));\n const exported = ClassLoader.importClassesFromDirectories([_x]);\n klasses = klasses.concat.apply(klasses, exported);\n } else if (x instanceof Function) {\n klasses.push(x);\n } else {\n throw new Error('TODO: unknown ' + x);\n }\n });\n return klasses;\n }\n\n static importClassesFromAnyAsync(o: StringOrFunction[]): Promise<Function[]> {\n return Promise.all(o.map(async x => {\n if (isString(x)) {\n const _x = PlatformUtils.pathNormilize(PlatformUtils.pathResolve(x));\n return ClassLoader.importClassesFromDirectoriesAsync([_x]);\n } else if (x instanceof Function) {\n return [x];\n } else {\n throw new Error('TODO: unknown ' + x);\n }\n })).then(x => {\n return concat([], ...x);\n });\n }\n\n\n static importClassesFromDirectories(directories: string[], formats = ['.js', '.ts']): Function[] {\n\n const allFiles = directories.reduce((allDirs, dir) => {\n const x = PlatformUtils.pathNormilize(dir);\n const y = PlatformUtils.load('glob').sync(x);\n return allDirs.concat(y);\n }, [] as string[]);\n\n const dirs: { loaded: any, source: string }[] = allFiles\n .filter(file => {\n const dtsExtension = file.substring(file.length - 5, file.length);\n return formats.indexOf(PlatformUtils.pathExtname(file)) !== -1 && dtsExtension !== '.d.ts';\n })\n .map(file => {\n const cls = {\n source: file,\n loaded: PlatformUtils.load(PlatformUtils.pathResolve(file))\n };\n return cls;\n });\n\n return this.filterClasses(dirs, []); // this.loadFileClasses(dirs, []);\n }\n\n\n static async importClassesFromDirectoriesAsync(directories: string[], formats = ['.js', '.ts']): Promise<Function[]> {\n let allFiles: string[] = [];\n const promises = [];\n for (const dir of directories) {\n const x = PlatformUtils.pathNormilize(dir);\n promises.push(FileUtils.glob(x));\n }\n await Promise.all(promises).then(r => {\n allFiles = allFiles.concat(...r);\n });\n\n const dirs: { loaded: any, source: string }[] = await Promise.all(allFiles\n .filter(file => {\n const dtsExtension = file.substring(file.length - 5, file.length);\n return formats.indexOf(PlatformUtils.pathExtname(file)) !== -1 && dtsExtension !== '.d.ts';\n })\n .map(file => PlatformUtils.pathResolve(file))\n .filter(file => PlatformUtils.fileExist(file))\n .map(async file => {\n try {\n const cls = {\n source: file,\n loaded: await PlatformUtils.loadAsync(file)\n };\n return cls;\n } catch (e) {\n return null;\n }\n }));\n return this.filterClasses(dirs.filter(x => !isNull(x)), []); // this.loadFileClasses(dirs, []);\n }\n\n\n /**\n * Loads all json files from the given directory.\n */\n static importJsonsFromDirectories(directories: string[], format = '.json'): any[] {\n\n const allFiles = directories.reduce((allDirs, dir) => {\n return allDirs.concat(PlatformUtils.load('glob').sync(PlatformUtils.pathNormilize(dir)));\n }, [] as string[]);\n\n return allFiles\n .filter(file => PlatformUtils.pathExtname(file) === format)\n .map(file => PlatformUtils.load(PlatformUtils.pathResolve(file)));\n }\n\n /**\n * Loads all json files from the given directory.\n */\n static async importJsonsFromDirectoriesAsync(directories: string[], format = '.json'): Promise<any[]> {\n let allFiles: string[] = [];\n const promises = [];\n for (const dir of directories) {\n const x = PlatformUtils.pathNormilize(dir);\n promises.push(FileUtils.glob(x));\n }\n await Promise.all(promises).then(r => {\n allFiles = allFiles.concat(...r);\n });\n\n return allFiles\n .filter(file => PlatformUtils.pathExtname(file) === format)\n .map(file => PlatformUtils.load(PlatformUtils.pathResolve(file)));\n }\n\n\n static getSource(cls: Function): string {\n return ClassUtils.getSource(cls);\n }\n\n\n static getClassName(klass: string | Function) {\n return ClassUtils.getClassName(klass);\n }\n\n\n static getFunction(klass: string | Function) {\n return ClassUtils.getFunction(klass);\n }\n\n\n private static filterClasses(exported: { loaded: any, source: string } | { loaded: any, source: string }[], allLoaded: Function[]) {\n if (isArray(exported)) {\n exported.forEach(e => this.filterClasses(e, allLoaded));\n } else {\n if (exported.loaded instanceof Function) {\n if (Reflect && Reflect['getOwnMetadata']) {\n Reflect['defineMetadata'](__SOURCE__, exported.source, exported.loaded);\n } else {\n exported.loaded.__SOURCE__ = exported.source;\n }\n allLoaded.push(exported.loaded);\n } else if (exported.loaded instanceof Object) {\n keys(exported.loaded).forEach(key => this.filterClasses({\n loaded: exported.loaded[key],\n source: exported.source\n }, allLoaded));\n } else if (exported.loaded instanceof Array) {\n exported.loaded.forEach((i: any) => this.filterClasses({\n loaded: i,\n source: exported.source\n }, allLoaded));\n }\n }\n\n return allLoaded;\n }\n\n\n private static loadFileClasses(exported: any, allLoaded: Function[]) {\n if (exported instanceof Function) {\n allLoaded.push(exported);\n } else if (exported instanceof Object) {\n Object.keys(exported).forEach(key => this.loadFileClasses(exported[key], allLoaded));\n\n } else if (exported instanceof Array) {\n exported.forEach((i: any) => this.loadFileClasses(i, allLoaded));\n }\n\n return allLoaded;\n }\n}\n"],"sourceRoot":".."}
|
package/utils/ClassUtils.js
CHANGED
|
@@ -5,13 +5,13 @@ const lodash_1 = require("lodash");
|
|
|
5
5
|
const Constants_1 = require("../Constants");
|
|
6
6
|
class ClassUtils {
|
|
7
7
|
static getClassName(klass) {
|
|
8
|
-
if (lodash_1.isString(klass)) {
|
|
8
|
+
if ((0, lodash_1.isString)(klass)) {
|
|
9
9
|
return klass;
|
|
10
10
|
}
|
|
11
|
-
else if (lodash_1.isFunction(klass)) {
|
|
11
|
+
else if ((0, lodash_1.isFunction)(klass)) {
|
|
12
12
|
return klass.name;
|
|
13
13
|
}
|
|
14
|
-
else if (lodash_1.isObject(klass)) {
|
|
14
|
+
else if ((0, lodash_1.isObject)(klass)) {
|
|
15
15
|
return klass.constructor.name;
|
|
16
16
|
}
|
|
17
17
|
else {
|
|
@@ -19,14 +19,14 @@ class ClassUtils {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
static getFunction(klass) {
|
|
22
|
-
if (lodash_1.isString(klass)) {
|
|
22
|
+
if ((0, lodash_1.isString)(klass)) {
|
|
23
23
|
// TODO create error class
|
|
24
24
|
throw new Error('class not found! 02');
|
|
25
25
|
}
|
|
26
|
-
else if (lodash_1.isFunction(klass)) {
|
|
26
|
+
else if ((0, lodash_1.isFunction)(klass)) {
|
|
27
27
|
return klass;
|
|
28
28
|
}
|
|
29
|
-
else if (lodash_1.isObject(klass)) {
|
|
29
|
+
else if ((0, lodash_1.isObject)(klass)) {
|
|
30
30
|
return klass.constructor;
|
|
31
31
|
}
|
|
32
32
|
else {
|
package/utils/ClassUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/ClassUtils.ts"],"names":[],"mappings":";;;AAAA,mCAAgH;AAChH,4CAAwC;AAExC,MAAa,UAAU;IACrB,MAAM,CAAC,YAAY,CAAC,KAAwB;QAC1C,IAAI,iBAAQ,
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/ClassUtils.ts"],"names":[],"mappings":";;;AAAA,mCAAgH;AAChH,4CAAwC;AAExC,MAAa,UAAU;IACrB,MAAM,CAAC,YAAY,CAAC,KAAwB;QAC1C,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE;YACnB,OAAO,KAAK,CAAC;SACd;aAAM,IAAI,IAAA,mBAAU,EAAC,KAAK,CAAC,EAAE;YAC5B,OAAO,KAAK,CAAC,IAAI,CAAC;SACnB;aAAM,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE;YAC1B,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;SAC/B;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;IACH,CAAC;IAGD,MAAM,CAAC,WAAW,CAAC,KAAwB;QACzC,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE;YACnB,0BAA0B;YAC1B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SACxC;aAAM,IAAI,IAAA,mBAAU,EAAC,KAAK,CAAC,EAAE;YAC5B,OAAO,KAAK,CAAC;SACd;aAAM,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE;YAC1B,OAAO,KAAK,CAAC,WAAW,CAAC;SAC1B;aAAM;YACL,0BAA0B;YAC1B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SACxC;IACH,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,GAAa;QAC5B,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC,EAAE;YACxC,KAAK,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,sBAAU,EAAE,GAAG,CAAC,CAAC;SACpD;aAAM;YACL,KAAK,GAAG,GAAG,CAAC,sBAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SAClD;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CAEF;AAtCD,gCAsCC","file":"ClassUtils.js","sourcesContent":["import {isNull, isNumber, find, isString, snakeCase, concat, isArray, keys, isFunction, isObject} from 'lodash';\nimport {__SOURCE__} from '../Constants';\n\nexport class ClassUtils {\n static getClassName(klass: string | Function) {\n if (isString(klass)) {\n return klass;\n } else if (isFunction(klass)) {\n return klass.name;\n } else if (isObject(klass)) {\n return klass.constructor.name;\n } else {\n throw new Error('class not found!');\n }\n }\n\n\n static getFunction(klass: string | Function) {\n if (isString(klass)) {\n // TODO create error class\n throw new Error('class not found! 02');\n } else if (isFunction(klass)) {\n return klass;\n } else if (isObject(klass)) {\n return klass.constructor;\n } else {\n // TODO create error class\n throw new Error('class not found! 01');\n }\n }\n\n static getSource(cls: Function): string {\n let _path = null;\n if (Reflect && Reflect['getOwnMetadata']) {\n _path = Reflect['getOwnMetadata'](__SOURCE__, cls);\n } else {\n _path = cls[__SOURCE__] ? cls[__SOURCE__] : null;\n }\n return _path;\n }\n\n}\n"],"sourceRoot":".."}
|
package/utils/FileUtils.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export declare class FileUtils {
|
|
|
8
8
|
static getJsonSync(filepath: string): any;
|
|
9
9
|
static readFile(filename: string): Promise<Buffer>;
|
|
10
10
|
static readFileSync(filename: string): Buffer;
|
|
11
|
-
static writeFileSync(filename: string, content: Buffer | string, options?: fs.WriteFileOptions
|
|
12
|
-
static writeFile(filename: string, content: string | Buffer, options?: fs.WriteFileOptions
|
|
11
|
+
static writeFileSync(filename: string, content: Buffer | string, options?: fs.WriteFileOptions): void;
|
|
12
|
+
static writeFile(filename: string, content: string | Buffer, options?: fs.WriteFileOptions): Promise<void>;
|
|
13
13
|
static deleteFile(dir: string, file: string): Promise<{}>;
|
|
14
14
|
}
|
package/utils/FileUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/FileUtils.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAC9C,6BAA6B;AAC7B,yBAAyB;AAGzB,MAAa,SAAS;IAIpB,MAAM,CAAC,QAAQ;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,KAAK,GAAG,6BAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAGD,MAAM,CAAC,IAAI,CAAC,QAAgB;QAC1B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAU,EAAE,OAAiB,EAAE,EAAE;gBAC3D,IAAI,GAAG,EAAE;oBACP,MAAM,CAAC,GAAG,CAAC,CAAC;iBACb;qBAAM;oBACL,OAAO,CAAC,OAAO,CAAC,CAAC;iBAClB;YACH,CAAC,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAgB;QACnC,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;SAC3C;QAAC,OAAO,CAAC,EAAE;SACX;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,QAAgB;QACjC,IAAI;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;SAC3C;QAAC,OAAO,CAAC,EAAE;SACX;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,MAAM,CAAC,QAAQ,CAAC,QAAgB;QAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBAClC,IAAI,GAAG,EAAE;oBACP,MAAM,CAAC,GAAG,CAAC,CAAC;iBACb;qBAAM;oBACL,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,QAAgB;QAClC,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,QAAgB,EAAE,OAAwB,EAC1C,
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/FileUtils.ts"],"names":[],"mappings":"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","file":"FileUtils.js","sourcesContent":["import {PlatformUtils} from './PlatformUtils';\nimport * as path from 'path';\nimport * as fs from 'fs';\n\n\nexport class FileUtils {\n\n static _GLOB: any = null;\n\n static _getGlob() {\n if (!this._GLOB) {\n this._GLOB = PlatformUtils.load('glob');\n }\n return this._GLOB;\n }\n\n\n static glob(lib_path: string): Promise<string[]> {\n return new Promise((resolve, reject) => {\n this._getGlob()(lib_path, ((err: Error, matches: string[]) => {\n if (err) {\n reject(err);\n } else {\n resolve(matches);\n }\n }));\n });\n }\n\n\n static async getJson(filepath: string): Promise<any> {\n try {\n const data = await this.readFile(filepath);\n return JSON.parse(data.toString('utf-8'));\n } catch (e) {\n }\n return null;\n }\n\n static getJsonSync(filepath: string): any {\n try {\n const data = this.readFileSync(filepath);\n return JSON.parse(data.toString('utf-8'));\n } catch (e) {\n }\n return null;\n }\n\n\n static readFile(filename: string): Promise<Buffer> {\n return new Promise((resolve, reject) => {\n fs.readFile(filename, (err, data) => {\n if (err) {\n reject(err);\n } else {\n resolve(data);\n }\n });\n });\n }\n\n static readFileSync(filename: string): Buffer {\n return fs.readFileSync(filename);\n }\n\n static writeFileSync(filename: string, content: Buffer | string,\n options?: fs.WriteFileOptions): void {\n return fs.writeFileSync(filename, content, options);\n }\n\n static writeFile(filename: string, content: string | Buffer,\n options?: fs.WriteFileOptions): Promise<void> {\n return new Promise((resolve, reject) => {\n fs.writeFile(filename, content, options, (err) => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n });\n }\n\n\n static deleteFile(dir: string, file: string): Promise<{}> {\n return new Promise(function (resolve, reject) {\n const filePath = path.join(dir, file);\n fs.lstat(filePath, function (err, stats) {\n if (err) {\n return reject(err);\n }\n if (stats.isDirectory()) {\n resolve(PlatformUtils.deleteDirectory(filePath));\n } else {\n fs.unlink(filePath, function (err) {\n if (err) {\n return reject(err);\n }\n resolve(null);\n });\n }\n });\n });\n }\n\n}\n"],"sourceRoot":".."}
|
package/utils/JsonUtils.js
CHANGED
|
@@ -12,10 +12,10 @@ class JsonUtils {
|
|
|
12
12
|
}
|
|
13
13
|
static correctTypes(c) {
|
|
14
14
|
TreeUtils_1.TreeUtils.walk(c, x => {
|
|
15
|
-
if (x.value && lodash_1.isString(x.value) && x.value.length < 48 && x.value.length > 0) {
|
|
15
|
+
if (x.value && (0, lodash_1.isString)(x.value) && x.value.length < 48 && x.value.length > 0) {
|
|
16
16
|
if (Constants_1.ISO8601.test(x.value)) {
|
|
17
17
|
const date = new Date(x.value);
|
|
18
|
-
if (lodash_1.isNumber(x.index)) {
|
|
18
|
+
if ((0, lodash_1.isNumber)(x.index)) {
|
|
19
19
|
x.parent[x.index] = date;
|
|
20
20
|
}
|
|
21
21
|
else {
|
package/utils/JsonUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/JsonUtils.ts"],"names":[],"mappings":";;;AAAA,mCAA0C;AAC1C,2CAAsC;AACtC,4CAAqC;AAErC,MAAa,SAAS;IAEpB,MAAM,CAAC,KAAK,CAAC,IAAY;QACvB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,CAAM;QACxB,qBAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YAClB,IAAI,CAAC,CAAC,KAAK,IAAI,iBAAQ,
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/JsonUtils.ts"],"names":[],"mappings":";;;AAAA,mCAA0C;AAC1C,2CAAsC;AACtC,4CAAqC;AAErC,MAAa,SAAS;IAEpB,MAAM,CAAC,KAAK,CAAC,IAAY;QACvB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,CAAM;QACxB,qBAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YAClB,IAAI,CAAC,CAAC,KAAK,IAAI,IAAA,iBAAQ,EAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7E,IAAI,mBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;oBACzB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC/B,IAAI,IAAA,iBAAQ,EAAC,CAAC,CAAC,KAAK,CAAC,EAAE;wBACrB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;qBAC1B;yBAAM;wBACL,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;qBACxB;iBACF;aACF;QACH,CAAC,CACF,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAGD,MAAM,CAAC,SAAS,CAAC,GAAQ;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF;AA7BD,8BA6BC","file":"JsonUtils.js","sourcesContent":["import {isNumber, isString} from 'lodash';\nimport {TreeUtils} from './TreeUtils';\nimport {ISO8601} from '../Constants';\n\nexport class JsonUtils {\n\n static parse(json: string) {\n let _json = JSON.parse(json);\n _json = this.correctTypes(_json);\n return _json;\n }\n\n static correctTypes(c: any) {\n TreeUtils.walk(c, x => {\n if (x.value && isString(x.value) && x.value.length < 48 && x.value.length > 0) {\n if (ISO8601.test(x.value)) {\n const date = new Date(x.value);\n if (isNumber(x.index)) {\n x.parent[x.index] = date;\n } else {\n x.parent[x.key] = date;\n }\n }\n }\n }\n );\n return c;\n }\n\n\n static stringify(obj: any) {\n return JSON.stringify(obj);\n }\n}\n"],"sourceRoot":".."}
|
package/utils/PlatformUtils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/PlatformUtils.ts"],"names":[],"mappings":"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","file":"PlatformUtils.js","sourcesContent":["/**\n * see https://github.com/typeorm/typeorm/blob/master/src/platform/PlatformTools.ts\n */\n\n\nimport * as path from 'path';\nimport * as fs from 'fs';\nimport {isString} from 'lodash';\nimport {FileUtils} from './FileUtils';\n\n\nconst FILEPATH = path.sep === '/' ? /^(\\.|\\.\\/|\\/)([\\w\\/\\.\\-_ ]*)$/ : /^(?:[a-zA-Z]\\:|\\\\\\\\[\\w\\.]+\\\\[\\w.$]+)\\\\(?:[\\w]+\\\\)*\\w([\\w.])+$/;\n\n/**\n * Platform-specific tools.\n */\nexport class PlatformUtils {\n\n /**\n * Type of the currently running platform.\n */\n static type: 'browser' | 'node' = 'node';\n\n static workdir: string = null;\n\n /**\n * Gets global variable where global stuff can be stored.\n */\n static getGlobalVariable(): any {\n return global;\n }\n\n\n /**\n * set workdir\n */\n static setWorkDir(workdir: string) {\n if (isString(workdir)) {\n this.workdir = PlatformUtils.pathResolve(workdir);\n } else {\n this.workdir = null;\n }\n }\n\n\n static join(...args: string[]) {\n return path.join(...args);\n }\n\n /**\n * Loads (\"require\"-s) given file or package.\n * This operation only supports on node platform\n */\n static load(name: string): any {\n\n // if name is not absolute or relative, then try to load package from the node_modules of the directory we are currenly in\n // this is useful when we are using typeorm package globally installed and it accesses drivers\n // that are not installed globally\n\n try {\n if (this.fileExist(name)) {\n const ext = this.pathExtname(name);\n if (ext) {\n // name without ext\n name = name.replace(ext, '');\n }\n }\n return require(name);\n } catch (err) {\n if (!path.isAbsolute(name) && name.substr(0, 2) !== './' && name.substr(0, 3) !== '../') {\n return require(path.resolve(process.cwd() + '/node_modules/' + name));\n }\n\n throw err;\n }\n }\n\n /**\n * Loads (\"require\"-s) given file or package.\n * This operation only supports on node platform\n */\n static loadAsync(name: string): Promise<any> {\n\n // if name is not absolute or relative, then try to load package from the node_modules of the directory we are currenly in\n // this is useful when we are using typeorm package globally installed and it accesses drivers\n // that are not installed globally\n\n try {\n if (this.fileExist(name)) {\n const ext = this.pathExtname(name);\n if (ext) {\n // name without ext\n name = name.replace(ext, '');\n }\n }\n return import(name);\n } catch (err) {\n if (!path.isAbsolute(name) && name.substr(0, 2) !== './' && name.substr(0, 3) !== '../') {\n return import(path.resolve(process.cwd() + '/node_modules/' + name));\n }\n\n throw err;\n }\n }\n\n /**\n * Normalizes given path. Does \"path.normalize\".\n */\n static pathNormilize(pathStr: string): string {\n return path.normalize(pathStr);\n }\n\n /**\n * Gets file extension. Does \"path.extname\".\n */\n static pathExtname(pathStr: string, dotted: boolean = true): string {\n let str = '';\n if (/\\$\\{.*\\}/.test(pathStr)) {\n str = this.withoutInterpolation(pathStr, (str) => {\n return path.extname(str);\n });\n } else {\n str = path.extname(pathStr);\n }\n if (!dotted) {\n str = str.replace('.', '');\n }\n return str;\n }\n\n /**\n * Resolved given path. Does \"path.resolve\".\n */\n static pathResolve(pathStr: string): string {\n if (this.workdir) {\n return path.resolve(this.workdir, pathStr);\n }\n return path.resolve(pathStr);\n }\n\n /**\n * Resolved given path. Does \"path.resolve\".\n */\n static pathNormAndResolve(pathStr: string): string {\n return this.pathNormilize(this.pathResolve(pathStr));\n }\n\n static isFile(pathStr: string): boolean {\n return fs.statSync(pathStr).isFile();\n }\n\n static isDir(pathStr: string): boolean {\n return fs.statSync(pathStr).isDirectory();\n }\n\n /**\n * Synchronously checks if file exist. Does \"fs.existsSync\".\n */\n static fileExist(pathStr: string): boolean {\n return fs.existsSync(pathStr);\n }\n\n /**\n * Synchronously checks if file exist. Does \"fs.existsSync\".\n */\n static fileExistAsync(pathStr: string): Promise<boolean> {\n return new Promise((resolve, reject) => {\n fs.stat(pathStr, err => {\n if (err) {\n reject(err);\n } else {\n resolve(null);\n }\n });\n });\n }\n\n /**\n * Returns the basename of a file\n */\n static basename(pathStr: string): string {\n return path.basename(pathStr);\n }\n\n static withoutInterpolation(str: string, fn: (str: string) => string) {\n if (/\\$\\{.*\\}/.test(str)) {\n // has interpolations\n const regex = new RegExp(/\\$\\{.*\\}/g);\n const m = regex.exec(str);\n const cache = {};\n let inc = 0;\n for (const _m of m) {\n const r = '###' + (inc++) + '###';\n str = str.replace(_m, r);\n cache[r] = _m;\n }\n str = fn(str);\n for (const _m in cache) {\n if (cache.hasOwnProperty(_m)) {\n str = str.replace(_m, cache[_m]);\n }\n }\n }\n return str;\n }\n\n /**\n * Returns the filename only (without extension)\n */\n static filename(pathStr: string): string {\n const base = path.basename(pathStr);\n if (/\\$\\{.*\\}/.test(base)) {\n return this.withoutInterpolation(base, (str) => {\n return str.replace(new RegExp('\\\\' + path.extname(str) + '$'), '');\n });\n }\n return base.replace(new RegExp('\\\\' + path.extname(base) + '$'), '');\n }\n\n\n /**\n * Returns the dirname of the file\n */\n static dirname(pathStr: string): string {\n return path.dirname(pathStr);\n }\n\n\n static testForFilePath(path: string) {\n return FILEPATH.test(path);\n }\n\n /**\n * Normalizes given path. Does \"path.normalize\".\n */\n static pathNormalize(pathStr: string): string {\n return path.normalize(pathStr);\n }\n\n /**\n * Normalizes given path. Does \"path.normalize\".\n */\n static pathResolveAndNormalize(pathStr: string): string {\n return this.pathNormalize(this.pathResolve(pathStr));\n }\n\n\n /**\n * Test if path is absolute.\n */\n static isAbsolute(pathStr: string): boolean {\n return path.isAbsolute(pathStr);\n }\n\n static directory(file: string): string {\n return path.dirname(file);\n }\n\n\n /**\n * Gets environment variable.\n */\n static getEnvVariable(name: string): any {\n return process.env[name];\n }\n\n\n static getHostPath(): string {\n if (process.platform === 'win32') {\n return path.join(process.env.SYSTEMROOT, '/System32/drivers/etc/hosts');\n }\n return '/etc/hosts';\n }\n\n static getHostFileContent(): string {\n return fs.readFileSync(this.getHostPath(), {encoding: 'utf-8'});\n }\n\n static mkdir(targetDir: string, sep: string = path.sep): boolean {\n const initDir = path.isAbsolute(targetDir) ? sep : '';\n targetDir.split(sep).reduce((parentDir, childDir) => {\n const curDir = path.resolve(parentDir, childDir);\n if (!fs.existsSync(curDir)) {\n fs.mkdirSync(curDir);\n }\n return curDir;\n }, initDir);\n return true;\n }\n\n\n static readFile(filename: string): Promise<Buffer> {\n return FileUtils.readFile(filename);\n }\n\n static readFileSync(filename: string): Buffer {\n return FileUtils.readFileSync(filename);\n }\n\n static deleteFile(dir: string, file: string): Promise<{}> {\n return FileUtils.deleteFile(dir, file);\n }\n\n static deleteDirectory(dir: string): Promise<{}> {\n return new Promise(function (resolve, reject) {\n fs.access(dir, function (err) {\n if (err) {\n return reject(err);\n }\n fs.readdir(dir, function (err, files) {\n if (err) {\n return reject(err);\n }\n Promise.all(files.map(function (file) {\n return PlatformUtils.deleteFile(dir, file);\n })).then(function () {\n fs.rmdir(dir, function (err) {\n if (err) {\n return reject(err);\n }\n resolve(null);\n });\n }).catch(reject);\n });\n });\n });\n }\n\n\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/PlatformUtils.ts"],"names":[],"mappings":"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","file":"PlatformUtils.js","sourcesContent":["/**\n * see https://github.com/typeorm/typeorm/blob/master/src/platform/PlatformTools.ts\n */\n\n\nimport * as path from 'path';\nimport * as fs from 'fs';\nimport {isString} from 'lodash';\nimport {FileUtils} from './FileUtils';\n\n\nconst FILEPATH = path.sep === '/' ? /^(\\.|\\.\\/|\\/)([\\w\\/\\.\\-_ ]*)$/ : /^(?:[a-zA-Z]\\:|\\\\\\\\[\\w\\.]+\\\\[\\w.$]+)\\\\(?:[\\w]+\\\\)*\\w([\\w.])+$/;\n\n/**\n * Platform-specific tools.\n */\nexport class PlatformUtils {\n\n /**\n * Type of the currently running platform.\n */\n static type: 'browser' | 'node' = 'node';\n\n static workdir: string = null;\n\n /**\n * Gets global variable where global stuff can be stored.\n */\n static getGlobalVariable(): any {\n return global;\n }\n\n\n /**\n * set workdir\n */\n static setWorkDir(workdir: string) {\n if (isString(workdir)) {\n this.workdir = PlatformUtils.pathResolve(workdir);\n } else {\n this.workdir = null;\n }\n }\n\n\n static join(...args: string[]) {\n return path.join(...args);\n }\n\n /**\n * Loads (\"require\"-s) given file or package.\n * This operation only supports on node platform\n */\n static load(name: string): any {\n\n // if name is not absolute or relative, then try to load package from the node_modules of the directory we are currenly in\n // this is useful when we are using typeorm package globally installed and it accesses drivers\n // that are not installed globally\n\n try {\n if (this.fileExist(name)) {\n const ext = this.pathExtname(name);\n if (ext) {\n // name without ext\n name = name.replace(ext, '');\n }\n }\n return require(name);\n } catch (err) {\n if (!path.isAbsolute(name) && name.substr(0, 2) !== './' && name.substr(0, 3) !== '../') {\n return require(path.resolve(process.cwd() + '/node_modules/' + name));\n }\n\n throw err;\n }\n }\n\n /**\n * Loads (\"require\"-s) given file or package.\n * This operation only supports on node platform\n */\n static loadAsync(name: string): Promise<any> {\n\n // if name is not absolute or relative, then try to load package from the node_modules of the directory we are currenly in\n // this is useful when we are using typeorm package globally installed and it accesses drivers\n // that are not installed globally\n\n try {\n if (this.fileExist(name)) {\n const ext = this.pathExtname(name);\n if (ext) {\n // name without ext\n name = name.replace(ext, '');\n }\n }\n return import(name);\n } catch (err) {\n if (!path.isAbsolute(name) && name.substr(0, 2) !== './' && name.substr(0, 3) !== '../') {\n return import(path.resolve(process.cwd() + '/node_modules/' + name));\n }\n\n throw err;\n }\n }\n\n /**\n * Normalizes given path. Does \"path.normalize\".\n */\n static pathNormilize(pathStr: string): string {\n return path.normalize(pathStr);\n }\n\n /**\n * Gets file extension. Does \"path.extname\".\n */\n static pathExtname(pathStr: string, dotted: boolean = true): string {\n let str = '';\n if (/\\$\\{.*\\}/.test(pathStr)) {\n str = this.withoutInterpolation(pathStr, (str) => {\n return path.extname(str);\n });\n } else {\n str = path.extname(pathStr);\n }\n if (!dotted) {\n str = str.replace('.', '');\n }\n return str;\n }\n\n /**\n * Resolved given path. Does \"path.resolve\".\n */\n static pathResolve(pathStr: string): string {\n if (this.workdir) {\n return path.resolve(this.workdir, pathStr);\n }\n return path.resolve(pathStr);\n }\n\n /**\n * Resolved given path. Does \"path.resolve\".\n */\n static pathNormAndResolve(pathStr: string): string {\n return this.pathNormilize(this.pathResolve(pathStr));\n }\n\n static isFile(pathStr: string): boolean {\n return fs.statSync(pathStr).isFile();\n }\n\n static isDir(pathStr: string): boolean {\n return fs.statSync(pathStr).isDirectory();\n }\n\n /**\n * Synchronously checks if file exist. Does \"fs.existsSync\".\n */\n static fileExist(pathStr: string): boolean {\n return fs.existsSync(pathStr);\n }\n\n /**\n * Synchronously checks if file exist. Does \"fs.existsSync\".\n */\n static fileExistAsync(pathStr: string): Promise<boolean> {\n return new Promise((resolve, reject) => {\n fs.stat(pathStr, err => {\n if (err) {\n reject(err);\n } else {\n resolve(null);\n }\n });\n });\n }\n\n /**\n * Returns the basename of a file\n */\n static basename(pathStr: string): string {\n return path.basename(pathStr);\n }\n\n static withoutInterpolation(str: string, fn: (str: string) => string) {\n if (/\\$\\{.*\\}/.test(str)) {\n // has interpolations\n const regex = new RegExp(/\\$\\{.*\\}/g);\n const m = regex.exec(str);\n const cache = {};\n let inc = 0;\n for (const _m of m) {\n const r = '###' + (inc++) + '###';\n str = str.replace(_m, r);\n cache[r] = _m;\n }\n str = fn(str);\n for (const _m in cache) {\n if (cache.hasOwnProperty(_m)) {\n str = str.replace(_m, cache[_m]);\n }\n }\n }\n return str;\n }\n\n /**\n * Returns the filename only (without extension)\n */\n static filename(pathStr: string): string {\n const base = path.basename(pathStr);\n if (/\\$\\{.*\\}/.test(base)) {\n return this.withoutInterpolation(base, (str) => {\n return str.replace(new RegExp('\\\\' + path.extname(str) + '$'), '');\n });\n }\n return base.replace(new RegExp('\\\\' + path.extname(base) + '$'), '');\n }\n\n\n /**\n * Returns the dirname of the file\n */\n static dirname(pathStr: string): string {\n return path.dirname(pathStr);\n }\n\n\n static testForFilePath(path: string) {\n return FILEPATH.test(path);\n }\n\n /**\n * Normalizes given path. Does \"path.normalize\".\n */\n static pathNormalize(pathStr: string): string {\n return path.normalize(pathStr);\n }\n\n /**\n * Normalizes given path. Does \"path.normalize\".\n */\n static pathResolveAndNormalize(pathStr: string): string {\n return this.pathNormalize(this.pathResolve(pathStr));\n }\n\n\n /**\n * Test if path is absolute.\n */\n static isAbsolute(pathStr: string): boolean {\n return path.isAbsolute(pathStr);\n }\n\n static directory(file: string): string {\n return path.dirname(file);\n }\n\n\n /**\n * Gets environment variable.\n */\n static getEnvVariable(name: string): any {\n return process.env[name];\n }\n\n\n static getHostPath(): string {\n if (process.platform === 'win32') {\n return path.join(process.env.SYSTEMROOT, '/System32/drivers/etc/hosts');\n }\n return '/etc/hosts';\n }\n\n static getHostFileContent(): string {\n return fs.readFileSync(this.getHostPath(), {encoding: 'utf-8'});\n }\n\n static mkdir(targetDir: string, sep: string = path.sep): boolean {\n const initDir = path.isAbsolute(targetDir) ? sep : '';\n targetDir.split(sep).reduce((parentDir, childDir) => {\n const curDir = path.resolve(parentDir, childDir);\n if (!fs.existsSync(curDir)) {\n fs.mkdirSync(curDir);\n }\n return curDir;\n }, initDir);\n return true;\n }\n\n\n static readFile(filename: string): Promise<Buffer> {\n return FileUtils.readFile(filename);\n }\n\n static readFileSync(filename: string): Buffer {\n return FileUtils.readFileSync(filename);\n }\n\n static deleteFile(dir: string, file: string): Promise<{}> {\n return FileUtils.deleteFile(dir, file);\n }\n\n static deleteDirectory(dir: string): Promise<{}> {\n return new Promise(function (resolve, reject) {\n fs.access(dir, function (err) {\n if (err) {\n return reject(err);\n }\n fs.readdir(dir, function (err, files) {\n if (err) {\n return reject(err);\n }\n Promise.all(files.map(function (file) {\n return PlatformUtils.deleteFile(dir, file);\n })).then(function () {\n fs.rmdir(dir, function (err) {\n if (err) {\n return reject(err);\n }\n resolve(null);\n });\n }).catch(reject);\n });\n });\n });\n }\n\n\n}\n"],"sourceRoot":".."}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/PlatformUtilsBrowser.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,mCAAgC;AAChC,uEAAkE;AAGlE,yIAAyI;AAEzI;;GAEG;AACH,MAAa,aAAa;IASxB;;OAEG;IACH,MAAM,CAAC,iBAAiB;QACtB,OAAO,MAAM,CAAC;IAChB,CAAC;IAGD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,OAAe;QAC/B,IAAI,iBAAQ,
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/PlatformUtilsBrowser.ts"],"names":[],"mappings":"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","file":"PlatformUtilsBrowser.js","sourcesContent":["/**\n * see https://github.com/typeorm/typeorm/blob/master/src/platform/PlatformTools.ts\n */\n\nimport {isString} from 'lodash';\nimport {NotSupportedError} from '../exceptions/NotSupportedError';\n\n\n// const FILEPATH = path.sep === '/' ? /^(\\.|\\.\\/|\\/)([\\w\\/\\.\\-_ ]*)$/ : /^(?:[a-zA-Z]\\:|\\\\\\\\[\\w\\.]+\\\\[\\w.$]+)\\\\(?:[\\w]+\\\\)*\\w([\\w.])+$/;\n\n/**\n * Platform-specific tools.\n */\nexport class PlatformUtils {\n\n /**\n * Type of the currently running platform.\n */\n static type: 'browser' | 'node' = 'node';\n\n static workdir: string = null;\n\n /**\n * Gets global variable where global stuff can be stored.\n */\n static getGlobalVariable(): any {\n return global;\n }\n\n\n /**\n * set workdir\n */\n static setWorkDir(workdir: string) {\n if (isString(workdir)) {\n this.workdir = PlatformUtils.pathResolve(workdir);\n } else {\n this.workdir = null;\n }\n }\n\n\n static join(...args: string[]) {\n return args.join('/');\n }\n\n static load(name: string): any {\n throw new NotSupportedError('not supported');\n }\n\n static loadAsync(name: string): Promise<any> {\n throw new NotSupportedError('not supported');\n }\n\n\n /**\n * Normalizes given path. Does \"path.normalize\".\n */\n static pathNormilize(pathStr: string): string {\n throw new NotSupportedError('not supported');\n }\n\n /**\n * Gets file extension. Does \"path.extname\".\n */\n static pathExtname(pathStr: string, dotted: boolean = true): string {\n throw new NotSupportedError('not supported');\n }\n\n /**\n * Resolved given path. Does \"path.resolve\".\n */\n static pathResolve(pathStr: string): string {\n throw new NotSupportedError('not supported');\n }\n\n /**\n * Resolved given path. Does \"path.resolve\".\n */\n static pathNormAndResolve(pathStr: string): string {\n return this.pathNormilize(this.pathResolve(pathStr));\n }\n\n static isFile(pathStr: string): boolean {\n throw new NotSupportedError('not supported');\n }\n\n static isDir(pathStr: string): boolean {\n throw new NotSupportedError('not supported');\n }\n\n /**\n * Synchronously checks if file exist. Does \"fs.existsSync\".\n */\n static fileExist(pathStr: string): boolean {\n throw new NotSupportedError('not supported');\n }\n\n static fileExistAsync(pathStr: string): Promise<boolean> {\n throw new NotSupportedError('not supported');\n }\n\n /**\n * Returns the basename of a file\n */\n static basename(pathStr: string): string {\n throw new NotSupportedError('not supported');\n }\n\n static withoutInterpolation(str: string, fn: (str: string) => string) {\n if (/\\$\\{.*\\}/.test(str)) {\n // has interpolations\n const regex = new RegExp(/\\$\\{.*\\}/g);\n const m = regex.exec(str);\n const cache = {};\n let inc = 0;\n for (const _m of m) {\n const r = '###' + (inc++) + '###';\n str = str.replace(_m, r);\n cache[r] = _m;\n }\n str = fn(str);\n for (const _m in cache) {\n if (cache.hasOwnProperty(_m)) {\n str = str.replace(_m, cache[_m]);\n }\n }\n }\n return str;\n }\n\n /**\n * Returns the filename only (without extension)\n */\n static filename(pathStr: string): string {\n throw new NotSupportedError('not supported');\n }\n\n\n /**\n * Returns the dirname of the file\n */\n static dirname(pathStr: string): string {\n throw new NotSupportedError('not supported');\n }\n\n\n static testForFilePath(path: string) {\n throw new NotSupportedError('not supported');\n }\n\n /**\n * Normalizes given path. Does \"path.normalize\".\n */\n static pathNormalize(pathStr: string): string {\n throw new NotSupportedError('not supported');\n }\n\n /**\n * Normalizes given path. Does \"path.normalize\".\n */\n static pathResolveAndNormalize(pathStr: string): string {\n return this.pathNormalize(this.pathResolve(pathStr));\n }\n\n\n /**\n * Test if path is absolute.\n */\n static isAbsolute(pathStr: string): boolean {\n throw new NotSupportedError('not supported');\n }\n\n static directory(file: string): string {\n throw new NotSupportedError('not supported');\n }\n\n\n /**\n * Gets environment variable.\n */\n static getEnvVariable(name: string): any {\n return process.env[name];\n }\n\n\n static getHostPath(): string {\n throw new NotSupportedError('not supported');\n }\n\n static getHostFileContent(): string {\n throw new NotSupportedError('not supported');\n }\n\n static mkdir(targetDir: string, sep: string = null): boolean {\n throw new NotSupportedError('not supported');\n }\n\n\n static readFile(filename: string): Promise<Buffer> {\n throw new NotSupportedError('not supported');\n }\n\n static readFileSync(filename: string): Buffer {\n throw new NotSupportedError('not supported');\n }\n\n static deleteFile(dir: string, file: string): Promise<{}> {\n throw new NotSupportedError('not supported');\n }\n\n static deleteDirectory(dir: string): Promise<{}> {\n throw new NotSupportedError('not supported');\n }\n\n\n}\n"],"sourceRoot":".."}
|
package/utils/Serializer.js
CHANGED
|
@@ -8,7 +8,7 @@ const ClassUtils_1 = require("./ClassUtils");
|
|
|
8
8
|
const Constants_1 = require("../Constants");
|
|
9
9
|
class Serializer {
|
|
10
10
|
static serialize(data) {
|
|
11
|
-
const x = lodash_1.cloneDeep(data);
|
|
11
|
+
const x = (0, lodash_1.cloneDeep)(data);
|
|
12
12
|
this.serializeObject(x);
|
|
13
13
|
return JsonUtils_1.JsonUtils.stringify(x);
|
|
14
14
|
}
|
|
@@ -18,26 +18,26 @@ class Serializer {
|
|
|
18
18
|
return x;
|
|
19
19
|
}
|
|
20
20
|
static serializeObject(x) {
|
|
21
|
-
if (lodash_1.isObjectLike(x) && !lodash_1.isArray(x)) {
|
|
21
|
+
if ((0, lodash_1.isObjectLike)(x) && !(0, lodash_1.isArray)(x)) {
|
|
22
22
|
this.serializeClass(x);
|
|
23
23
|
TreeUtils_1.TreeUtils.walk(x, (v) => {
|
|
24
|
-
if (lodash_1.isObjectLike(v.value) && !lodash_1.isArray(v.value)) {
|
|
24
|
+
if ((0, lodash_1.isObjectLike)(v.value) && !(0, lodash_1.isArray)(v.value)) {
|
|
25
25
|
this.serializeClass(v.value);
|
|
26
26
|
}
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
|
-
else if (lodash_1.isArray(x)) {
|
|
29
|
+
else if ((0, lodash_1.isArray)(x)) {
|
|
30
30
|
for (let i = 0; i < x.length; i++) {
|
|
31
31
|
this.serializeObject(x[i]);
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
static deserializeObject(x) {
|
|
36
|
-
if (lodash_1.isObjectLike(x) && !lodash_1.isArray(x)) {
|
|
36
|
+
if ((0, lodash_1.isObjectLike)(x) && !(0, lodash_1.isArray)(x)) {
|
|
37
37
|
x = this.deserializeClass(x);
|
|
38
38
|
TreeUtils_1.TreeUtils.walk(x, (y) => {
|
|
39
|
-
if (lodash_1.isObjectLike(y.value) && !lodash_1.isArray(y.value)) {
|
|
40
|
-
if (lodash_1.isNumber(y.index)) {
|
|
39
|
+
if ((0, lodash_1.isObjectLike)(y.value) && !(0, lodash_1.isArray)(y.value)) {
|
|
40
|
+
if ((0, lodash_1.isNumber)(y.index)) {
|
|
41
41
|
y.parent[y.index] = this.deserializeClass(y.value);
|
|
42
42
|
}
|
|
43
43
|
else {
|
|
@@ -46,7 +46,7 @@ class Serializer {
|
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
|
-
else if (lodash_1.isArray(x)) {
|
|
49
|
+
else if ((0, lodash_1.isArray)(x)) {
|
|
50
50
|
for (let i = 0; i < x.length; i++) {
|
|
51
51
|
x[i] = this.deserializeObject(x[i]);
|
|
52
52
|
}
|
|
@@ -60,17 +60,17 @@ class Serializer {
|
|
|
60
60
|
if (!this.TYPES[clsName]) {
|
|
61
61
|
this.TYPES[clsName] = fn.constructor;
|
|
62
62
|
}
|
|
63
|
-
lodash_1.set(x, Constants_1.__CLASS__, clsName);
|
|
63
|
+
(0, lodash_1.set)(x, Constants_1.__CLASS__, clsName);
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
static deserializeClass(x) {
|
|
67
|
-
const clsName = lodash_1.get(x, Constants_1.__CLASS__, null);
|
|
67
|
+
const clsName = (0, lodash_1.get)(x, Constants_1.__CLASS__, null);
|
|
68
68
|
let constructor = null;
|
|
69
69
|
if (this.TYPES[clsName]) {
|
|
70
70
|
constructor = this.TYPES[clsName];
|
|
71
71
|
if (constructor) {
|
|
72
72
|
const y = Reflect.construct(constructor, []);
|
|
73
|
-
lodash_1.assign(y, x);
|
|
73
|
+
(0, lodash_1.assign)(y, x);
|
|
74
74
|
delete y[Constants_1.__CLASS__];
|
|
75
75
|
return y;
|
|
76
76
|
}
|
package/utils/Serializer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/Serializer.ts"],"names":[],"mappings":";;;AAAA,mCAAoF;AACpF,2CAAsC;AACtC,2CAAsC;AACtC,6CAAwC;AACxC,4CAAuC;AAEvC,MAAa,UAAU;IAIrB,MAAM,CAAC,SAAS,CAAC,IAAS;QACxB,MAAM,CAAC,GAAG,kBAAS,
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/Serializer.ts"],"names":[],"mappings":"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","file":"Serializer.js","sourcesContent":["import {assign, cloneDeep, get, isArray, isNumber, isObjectLike, set} from 'lodash';\nimport {JsonUtils} from './JsonUtils';\nimport {TreeUtils} from './TreeUtils';\nimport {ClassUtils} from './ClassUtils';\nimport {__CLASS__} from '../Constants';\n\nexport class Serializer {\n\n static TYPES = {};\n\n static serialize(data: any) {\n const x = cloneDeep(data);\n this.serializeObject(x);\n return JsonUtils.stringify(x);\n }\n\n static deserialize(data: any) {\n let x = JsonUtils.parse(data);\n x = this.deserializeObject(x);\n return x;\n }\n\n static serializeObject(x: any) {\n if (isObjectLike(x) && !isArray(x)) {\n this.serializeClass(x);\n TreeUtils.walk(x, (v) => {\n if (isObjectLike(v.value) && !isArray(v.value)) {\n this.serializeClass(v.value);\n }\n });\n } else if (isArray(x)) {\n for (let i = 0; i < x.length; i++) {\n this.serializeObject(x[i]);\n }\n }\n }\n\n static deserializeObject(x: any) {\n if (isObjectLike(x) && !isArray(x)) {\n x = this.deserializeClass(x);\n TreeUtils.walk(x, (y) => {\n if (isObjectLike(y.value) && !isArray(y.value)) {\n if (isNumber(y.index)) {\n y.parent[y.index] = this.deserializeClass(y.value);\n } else {\n y.parent[y.key] = this.deserializeClass(y.value);\n }\n }\n });\n } else if (isArray(x)) {\n for (let i = 0; i < x.length; i++) {\n x[i] = this.deserializeObject(x[i]);\n }\n }\n return x;\n }\n\n\n static serializeClass(x: any) {\n const clsName = ClassUtils.getClassName(x);\n if (![Object.name, Array.name, Date.name].includes(clsName)) {\n const fn = Object.getPrototypeOf(x);\n if (!this.TYPES[clsName]) {\n this.TYPES[clsName] = fn.constructor;\n }\n set(x, __CLASS__, clsName);\n }\n }\n\n static deserializeClass(x: any) {\n const clsName = get(x, __CLASS__, null);\n let constructor = null;\n if (this.TYPES[clsName]) {\n constructor = this.TYPES[clsName];\n if (constructor) {\n const y = Reflect.construct(constructor, []);\n assign(y, x);\n delete y[__CLASS__];\n return y;\n }\n }\n return x;\n }\n\n}\n"],"sourceRoot":".."}
|
package/utils/TreeUtils.js
CHANGED
|
@@ -8,9 +8,9 @@ class TreeUtils {
|
|
|
8
8
|
if (obj === null || obj === undefined) {
|
|
9
9
|
return;
|
|
10
10
|
}
|
|
11
|
-
if (lodash_1.isArray(obj)) {
|
|
11
|
+
if ((0, lodash_1.isArray)(obj)) {
|
|
12
12
|
obj.forEach((el, j) => {
|
|
13
|
-
const isLeaf = !lodash_1.isArray(el) && !lodash_1.isObjectLike(el);
|
|
13
|
+
const isLeaf = !(0, lodash_1.isArray)(el) && !(0, lodash_1.isObjectLike)(el);
|
|
14
14
|
fn({
|
|
15
15
|
value: el,
|
|
16
16
|
key: key,
|
|
@@ -24,9 +24,9 @@ class TreeUtils {
|
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
|
-
else if (lodash_1.isObjectLike(obj)) {
|
|
28
|
-
lodash_1.keys(obj).forEach(_key => {
|
|
29
|
-
const isLeaf = !lodash_1.isArray(obj[_key]) && !lodash_1.isObjectLike(obj[_key]);
|
|
27
|
+
else if ((0, lodash_1.isObjectLike)(obj)) {
|
|
28
|
+
(0, lodash_1.keys)(obj).forEach((_key) => {
|
|
29
|
+
const isLeaf = !(0, lodash_1.isArray)(obj[_key]) && !(0, lodash_1.isObjectLike)(obj[_key]);
|
|
30
30
|
fn({
|
|
31
31
|
value: obj[_key],
|
|
32
32
|
key: _key,
|
|
@@ -58,10 +58,10 @@ class TreeUtils {
|
|
|
58
58
|
if (obj === null || obj === undefined) {
|
|
59
59
|
return;
|
|
60
60
|
}
|
|
61
|
-
if (lodash_1.isArray(obj)) {
|
|
61
|
+
if ((0, lodash_1.isArray)(obj)) {
|
|
62
62
|
for (let j = 0; j < obj.length; j++) {
|
|
63
63
|
const el = obj[j];
|
|
64
|
-
const isLeaf = !lodash_1.isArray(el) && !lodash_1.isObjectLike(el);
|
|
64
|
+
const isLeaf = !(0, lodash_1.isArray)(el) && !(0, lodash_1.isObjectLike)(el);
|
|
65
65
|
await fn({
|
|
66
66
|
value: el,
|
|
67
67
|
key: key,
|
|
@@ -75,9 +75,9 @@ class TreeUtils {
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
-
else if (lodash_1.isObjectLike(obj)) {
|
|
79
|
-
for (const _key of lodash_1.keys(obj)) {
|
|
80
|
-
const isLeaf = !lodash_1.isArray(obj[_key]) && !lodash_1.isObjectLike(obj[_key]);
|
|
78
|
+
else if ((0, lodash_1.isObjectLike)(obj)) {
|
|
79
|
+
for (const _key of (0, lodash_1.keys)(obj)) {
|
|
80
|
+
const isLeaf = !(0, lodash_1.isArray)(obj[_key]) && !(0, lodash_1.isObjectLike)(obj[_key]);
|
|
81
81
|
await fn({
|
|
82
82
|
value: obj[_key],
|
|
83
83
|
key: _key,
|
package/utils/TreeUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/TreeUtils.ts"],"names":[],"mappings":";;;AAAA,mCAAmD;AAWnD,MAAa,SAAS;IAGpB,MAAM,CAAC,IAAI,CAAC,IAAS,EAAE,EAA2B;QAChD,SAAS,IAAI,CAAC,GAAQ,EAAE,SAAc,IAAI,EAAE,MAAuB,IAAI,EAAE,WAAkB,EAAE;YAC3F,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE;gBACrC,OAAO;aACR;YACD,IAAI,gBAAO,
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/TreeUtils.ts"],"names":[],"mappings":"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","file":"TreeUtils.js","sourcesContent":["import {isArray, isObjectLike, keys} from 'lodash';\n\nexport interface WalkValues {\n value: any;\n key: string | number;\n index: number;\n location: any;\n parent: any;\n isLeaf: boolean;\n}\n\nexport class TreeUtils {\n\n\n static walk(root: any, fn: (x: WalkValues) => void) {\n function walk(obj: any, parent: any = null, key: string | number = null, location: any[] = []) {\n if (obj === null || obj === undefined) {\n return;\n }\n if (isArray(obj)) {\n obj.forEach((el: any, j: number) => {\n const isLeaf = !isArray(el) && !isObjectLike(el);\n fn({\n value: el,\n key: key,\n index: j,\n location: [...location, ...[j]],\n parent: obj,\n isLeaf: isLeaf\n });\n if (!isLeaf) {\n walk(el, j, el, key ? [...location, ...[key], ...[j]] : [...location, ...[j]]);\n }\n });\n } else if (isObjectLike(obj)) {\n keys(obj).forEach((_key: string) => {\n const isLeaf = !isArray(obj[_key]) && !isObjectLike(obj[_key]);\n fn({\n value: obj[_key],\n key: _key,\n parent: obj,\n index: null,\n location: [...location, ...[_key]],\n isLeaf: isLeaf\n });\n if (!isLeaf) {\n walk(obj[_key], obj, _key, [...location, ...[_key]]);\n }\n });\n } else {\n fn({\n value: obj,\n key: key,\n parent: parent,\n index: null,\n location: [...location],\n isLeaf: true\n });\n }\n }\n\n walk(root);\n }\n\n\n static async walkAsync(root: any, fn: (x: WalkValues) => void) {\n async function walk(obj: any, parent: any = null, key: string | number = null, location: any[] = []) {\n if (obj === null || obj === undefined) {\n return;\n }\n if (isArray(obj)) {\n for (let j = 0; j < obj.length; j++) {\n const el = obj[j];\n const isLeaf = !isArray(el) && !isObjectLike(el);\n await fn({\n value: el,\n key: key,\n index: j,\n location: [...location, ...[j]],\n parent: obj,\n isLeaf: isLeaf\n });\n if (!isLeaf) {\n await walk(el, j, el, key ? [...location, ...[key], ...[j]] : [...location, ...[j]]);\n }\n }\n } else if (isObjectLike(obj)) {\n for (const _key of keys(obj)) {\n const isLeaf = !isArray(obj[_key]) && !isObjectLike(obj[_key]);\n await fn({\n value: obj[_key],\n key: _key,\n parent: obj,\n index: null,\n location: [...location, ...[_key]],\n isLeaf: isLeaf\n });\n if (!isLeaf) {\n await walk(obj[_key], obj, _key, [...location, ...[_key]]);\n }\n }\n } else {\n await fn({\n value: obj,\n key: key,\n parent: parent,\n index: null,\n location: [...location],\n isLeaf: true\n });\n }\n }\n\n await walk(root);\n }\n\n\n}\n"],"sourceRoot":".."}
|