@allgemein/base 1.6.3 → 1.6.7

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/browser.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { JsonUtils, TreeUtils, WalkValues, 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';
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, IMergeChange } 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.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.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; } });
package/browser.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/browser.ts"],"names":[],"mappings":";;;AAAA,mCA+BkB;AA9BhB,mGAAA,SAAS,OAAA;AACT,mGAAA,SAAS,OAAA;AAET,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 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":"."}
1
+ {"version":3,"sources":["../../../src/browser.ts"],"names":[],"mappings":";;;AAAA,mCAiCkB;AAhChB,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;AAGZ,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 IMergeChange\n} from './shared';\nexport {PlatformUtils} from './utils/PlatformUtilsBrowser';\n"],"sourceRoot":"."}
@@ -0,0 +1 @@
1
+ export declare function isPromiseLike(obj: any): boolean;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isPromiseLike = void 0;
4
+ function isPromiseLike(obj) {
5
+ return (obj !== null) &&
6
+ ((typeof obj === 'object' || typeof obj === 'function') &&
7
+ typeof obj.then === 'function');
8
+ }
9
+ exports.isPromiseLike = isPromiseLike;
10
+
11
+ //# sourceMappingURL=isPromiseLike.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/fns/isPromiseLike.ts"],"names":[],"mappings":";;;AAAA,SAAgB,aAAa,CAAC,GAAQ;IACpC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC;QACnB,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,UAAU,CAAC;YACrD,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;AACtC,CAAC;AAJD,sCAIC","file":"isPromiseLike.js","sourcesContent":["export function isPromiseLike(obj: any) {\n return (obj !== null) &&\n ((typeof obj === 'object' || typeof obj === 'function') &&\n typeof obj.then === 'function');\n}\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, Serializer } 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, IMergeChange } 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.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.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; } });
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/index.ts"],"names":[],"mappings":";;;AAAA,mCA8BkB;AA7BhB,mGAAA,SAAS,OAAA;AACT,mGAAA,SAAS,OAAA;AACT,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,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 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":"."}
1
+ {"version":3,"sources":["../../../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAiCkB;AAhChB,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;AAKZ,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 IMergeChange\n} from './shared';\n\n\nexport {ClassLoader} from './utils/ClassLoader';\nexport {PlatformUtils} from './utils/PlatformUtils';\nexport {FileUtils} from './utils/FileUtils';\n\n"],"sourceRoot":"."}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allgemein/base",
3
- "version": "1.6.3",
3
+ "version": "1.6.7",
4
4
  "description": "Library for commons moduls.",
5
5
  "main": "./index.js",
6
6
  "private": false,
package/shared.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { C_DEFAULT, __SOURCE__, C_CONSOLE, C_DEBUG, C_ERROR, C_INFO, C_TRACE, C_WARN, ISO8601, StringOrFunction } from './Constants';
2
+ export { isPromiseLike } from './fns/isPromiseLike';
2
3
  export { MetaArgs } from './MetaArgs';
3
4
  export { MetadataStorage } from './MetadataStorage';
4
5
  export { AbstractLogger } from './logging/AbstractLogger';
@@ -16,5 +17,6 @@ export { CryptUtils } from './utils/CryptUtils';
16
17
  export { TreeUtils, WalkValues } from './utils/TreeUtils';
17
18
  export { JsonUtils } from './utils/JsonUtils';
18
19
  export { Serializer } from './utils/Serializer';
20
+ export { ArrayUtils, IMergeChange } from './utils/ArrayUtils';
19
21
  export { LockFactory } from './locking/LockFactory';
20
22
  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.isPromiseLike = 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__; } });
@@ -11,6 +11,8 @@ Object.defineProperty(exports, "C_INFO", { enumerable: true, get: function () {
11
11
  Object.defineProperty(exports, "C_TRACE", { enumerable: true, get: function () { return Constants_1.C_TRACE; } });
12
12
  Object.defineProperty(exports, "C_WARN", { enumerable: true, get: function () { return Constants_1.C_WARN; } });
13
13
  Object.defineProperty(exports, "ISO8601", { enumerable: true, get: function () { return Constants_1.ISO8601; } });
14
+ var isPromiseLike_1 = require("./fns/isPromiseLike");
15
+ Object.defineProperty(exports, "isPromiseLike", { enumerable: true, get: function () { return isPromiseLike_1.isPromiseLike; } });
14
16
  var MetaArgs_1 = require("./MetaArgs");
15
17
  Object.defineProperty(exports, "MetaArgs", { enumerable: true, get: function () { return MetaArgs_1.MetaArgs; } });
16
18
  var MetadataStorage_1 = require("./MetadataStorage");
@@ -39,6 +41,8 @@ var JsonUtils_1 = require("./utils/JsonUtils");
39
41
  Object.defineProperty(exports, "JsonUtils", { enumerable: true, get: function () { return JsonUtils_1.JsonUtils; } });
40
42
  var Serializer_1 = require("./utils/Serializer");
41
43
  Object.defineProperty(exports, "Serializer", { enumerable: true, get: function () { return Serializer_1.Serializer; } });
44
+ var ArrayUtils_1 = require("./utils/ArrayUtils");
45
+ Object.defineProperty(exports, "ArrayUtils", { enumerable: true, get: function () { return ArrayUtils_1.ArrayUtils; } });
42
46
  var LockFactory_1 = require("./locking/LockFactory");
43
47
  Object.defineProperty(exports, "LockFactory", { enumerable: true, get: function () { return LockFactory_1.LockFactory; } });
44
48
  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,+CAAwD;AAAhD,sGAAA,SAAS,OAAA;AACjB,+CAA4C;AAApC,sGAAA,SAAS,OAAA;AACjB,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';\n\nexport {LockFactory} from './locking/LockFactory';\nexport {Semaphore} from './locking/Semaphore';\n\n"],"sourceRoot":"."}
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;AAGtF,qDAAkD;AAA1C,8GAAA,aAAa,OAAA;AAErB,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,iDAA4D;AAApD,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';\n\nexport {isPromiseLike} from './fns/isPromiseLike';\n\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, IMergeChange} from './utils/ArrayUtils';\n\nexport {LockFactory} from './locking/LockFactory';\nexport {Semaphore} from './locking/Semaphore';\n\n\n"],"sourceRoot":"."}
@@ -1,4 +1,12 @@
1
+ export interface IMergeChange {
2
+ type: 'missing' | 'value' | 'push' | 'create-push';
3
+ key: string;
4
+ src?: any;
5
+ dst?: any;
6
+ position?: number;
7
+ value?: any;
8
+ }
1
9
  export declare class ArrayUtils {
2
- static merge(source: any, dest: any): any[];
10
+ static merge(source: any, dest: any): IMergeChange[];
3
11
  private static mergeHandleArray;
4
12
  }
@@ -63,7 +63,7 @@ class ArrayUtils {
63
63
  const sourceArray = parent.length === 0 ? source : (0, lodash_1.get)(source, parentLocation, undefined);
64
64
  if ((0, lodash_1.isArray)(sourceArray)) {
65
65
  // source array exists check if value present
66
- const exists = sourceArray.find((y) => (0, lodash_1.isEqual)(x, x.value));
66
+ const exists = sourceArray.find((y) => (0, lodash_1.isEqual)(y, x.value));
67
67
  if (!exists) {
68
68
  // add missing value
69
69
  const position = sourceArray.length;
@@ -1 +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":".."}
1
+ {"version":3,"sources":["../../../src/utils/ArrayUtils.ts"],"names":[],"mappings":";;;AAAA,2CAAkD;AAClD,mCAAsG;AAWtG,MAAa,UAAU;IAErB,MAAM,CAAC,KAAK,CAAC,MAAW,EAAE,IAAS;QACjC,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,qBAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAa,EAAE,EAAE;YACrC,mBAAmB;YACnB,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEtC,IAAI,CAAC,CAAC,MAAM,EAAE;gBACZ,0BAA0B;gBAC1B,IAAI,IAAA,eAAM,EAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE;oBAC5B,cAAc;oBACd,MAAM,KAAK,GAAG,IAAA,YAAG,EAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;oBAC/C,IAAI,IAAA,oBAAW,EAAC,KAAK,CAAC,EAAE;wBACtB,+BAA+B;wBAC/B,IAAA,YAAG,EAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;wBAC/B,OAAO,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;qBAChD;yBAAM;wBACL,IAAI,KAAK,KAAK,CAAC,CAAC,KAAK,EAAE;4BACrB,IAAA,YAAG,EAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;4BAC/B,OAAO,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAC,CAAC,CAAC;yBACxE;qBACF;iBACF;qBAAM,IAAI,IAAA,iBAAQ,EAAC,CAAC,CAAC,KAAK,CAAC,EAAE;oBAC5B,gBAAgB;oBAChB,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;iBAC3C;qBAAM;oBACL,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;iBACpD;aACF;iBAAM;gBACL,8BAA8B;gBAC9B,IAAI,IAAA,eAAM,EAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE;oBAC5B,cAAc;oBACd,MAAM,KAAK,GAAG,IAAA,YAAG,EAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;oBAC/C,IAAI,IAAA,oBAAW,EAAC,KAAK,CAAC,EAAE;wBACtB,+BAA+B;wBAC/B,IAAA,YAAG,EAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;wBAC/B,OAAO,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;qBAChD;iBACF;qBAAM,IAAI,IAAA,iBAAQ,EAAC,CAAC,CAAC,KAAK,CAAC,EAAE;oBAC5B,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;iBAC3C;qBAAM;oBACL,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;iBACtD;aACF;QACH,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAGO,MAAM,CAAC,gBAAgB,CAAC,MAAW,EAAE,CAAa,EAAE,OAAuB;QACjF,gBAAgB;QAChB,MAAM,MAAM,GAAG,IAAA,cAAK,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,EAAE,CAAC;QACb,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,YAAG,EAAC,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;QAC1F,IAAI,IAAA,gBAAO,EAAC,WAAW,CAAC,EAAE;YACxB,6CAA6C;YAC7C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAA,gBAAO,EAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,EAAE;gBACX,oBAAoB;gBACpB,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC;gBACpC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAC,CAAC,CAAC;aACvF;SACF;aAAM,IAAI,IAAA,oBAAW,EAAC,WAAW,CAAC,EAAE;YACnC,wDAAwD;YACxD,IAAA,YAAG,EAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAC,CAAC,CAAC;SACvF;aAAM,IAAI,IAAA,qBAAY,EAAC,WAAW,CAAC,EAAE;YACpC,wCAAwC;YACxC,mCAAmC;YACnC,MAAM,IAAI,KAAK,CAAC,iFAAiF,GAAG,cAAc,GAAG,GAAG,CAAC,CAAC;SAC3H;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,uEAAuE,GAAG,cAAc,GAAG,GAAG,CAAC,CAAC;SACjH;IAEH,CAAC;CACF;AA9ED,gCA8EC","file":"ArrayUtils.js","sourcesContent":["import {TreeUtils, WalkValues} from './TreeUtils';\nimport {clone, get, isArray, isEqual, isNull, isNumber, isObjectLike, isUndefined, set} from 'lodash';\n\nexport interface IMergeChange {\n type: 'missing' | 'value' | 'push' | 'create-push';\n key: string;\n src?: any;\n dst?: any;\n position?: number;\n value?: any;\n}\n\nexport class ArrayUtils {\n\n static merge(source: any, dest: any) {\n const changes: IMergeChange[] = [];\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: IMergeChange[]) {\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(y, 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":".."}