clientnode 4.0.1427 → 4.0.1429

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/dist/Lock.js +100 -1
  2. package/dist/Logger.js +185 -1
  3. package/dist/Semaphore.js +65 -1
  4. package/dist/array.js +452 -1
  5. package/dist/cli.js +51 -1
  6. package/dist/constants.js +126 -1
  7. package/dist/context.js +40 -1
  8. package/dist/cookie.js +84 -1
  9. package/dist/data-transfer.js +216 -1
  10. package/dist/datetime.js +282 -1
  11. package/dist/domNode.js +331 -1
  12. package/dist/expression/evaluators.js +273 -1
  13. package/dist/expression/helper.js +97 -1
  14. package/dist/expression/index.js +26 -1
  15. package/dist/expression/indicator-functions.js +37 -1
  16. package/dist/expression/type.js +20 -0
  17. package/dist/filesystem.js +410 -1
  18. package/dist/function.js +75 -1
  19. package/dist/index.js +43 -1
  20. package/dist/indicators.js +121 -1
  21. package/dist/number.js +61 -1
  22. package/dist/object.js +934 -1
  23. package/dist/process.js +69 -1
  24. package/dist/property-types.js +115 -1
  25. package/dist/require.js +82 -1
  26. package/dist/scope.js +85 -1
  27. package/dist/string.js +806 -1
  28. package/dist/test-helper.js +341 -1
  29. package/dist/type.js +21 -1
  30. package/dist/utility.js +139 -1
  31. package/package.json +23 -21
  32. package/dist/Lock.d.ts +0 -39
  33. package/dist/Logger.d.ts +0 -102
  34. package/dist/Semaphore.d.ts +0 -29
  35. package/dist/array.d.ts +0 -150
  36. package/dist/bundle/Lock.js +0 -1
  37. package/dist/bundle/Logger.js +0 -1
  38. package/dist/bundle/Semaphore.js +0 -1
  39. package/dist/bundle/array.js +0 -1
  40. package/dist/bundle/cli.js +0 -1
  41. package/dist/bundle/constants.js +0 -1
  42. package/dist/bundle/context.js +0 -1
  43. package/dist/bundle/cookie.js +0 -1
  44. package/dist/bundle/data-transfer.js +0 -1
  45. package/dist/bundle/datetime.js +0 -1
  46. package/dist/bundle/domNode.js +0 -1
  47. package/dist/bundle/expression/evaluators.js +0 -1
  48. package/dist/bundle/expression/helper.js +0 -1
  49. package/dist/bundle/expression/index.js +0 -1
  50. package/dist/bundle/expression/indicator-functions.js +0 -1
  51. package/dist/bundle/expression/types.js +0 -1
  52. package/dist/bundle/filesystem.js +0 -1
  53. package/dist/bundle/function.js +0 -1
  54. package/dist/bundle/index.js +0 -1
  55. package/dist/bundle/indicators.js +0 -1
  56. package/dist/bundle/number.js +0 -1
  57. package/dist/bundle/object.js +0 -1
  58. package/dist/bundle/process.js +0 -1
  59. package/dist/bundle/property-types.js +0 -1
  60. package/dist/bundle/require.js +0 -1
  61. package/dist/bundle/scope.js +0 -1
  62. package/dist/bundle/string.js +0 -1
  63. package/dist/bundle/test-helper.js +0 -1
  64. package/dist/bundle/type.js +0 -1
  65. package/dist/bundle/utility.js +0 -1
  66. package/dist/cli.d.ts +0 -31
  67. package/dist/compatible/Lock.js +0 -1
  68. package/dist/compatible/Logger.js +0 -1
  69. package/dist/compatible/Semaphore.js +0 -1
  70. package/dist/compatible/array.js +0 -1
  71. package/dist/compatible/cli.js +0 -1
  72. package/dist/compatible/constants.js +0 -1
  73. package/dist/compatible/context.js +0 -1
  74. package/dist/compatible/cookie.js +0 -1
  75. package/dist/compatible/data-transfer.js +0 -1
  76. package/dist/compatible/datetime.js +0 -1
  77. package/dist/compatible/domNode.js +0 -1
  78. package/dist/compatible/expression/evaluators.js +0 -1
  79. package/dist/compatible/expression/helper.js +0 -1
  80. package/dist/compatible/expression/index.js +0 -1
  81. package/dist/compatible/expression/indicator-functions.js +0 -1
  82. package/dist/compatible/expression/types.js +0 -1
  83. package/dist/compatible/filesystem.js +0 -1
  84. package/dist/compatible/function.js +0 -1
  85. package/dist/compatible/index.js +0 -1
  86. package/dist/compatible/indicators.js +0 -1
  87. package/dist/compatible/number.js +0 -1
  88. package/dist/compatible/object.js +0 -1
  89. package/dist/compatible/process.js +0 -1
  90. package/dist/compatible/property-types.js +0 -1
  91. package/dist/compatible/require.js +0 -1
  92. package/dist/compatible/scope.js +0 -1
  93. package/dist/compatible/string.js +0 -1
  94. package/dist/compatible/test-helper.js +0 -1
  95. package/dist/compatible/type.js +0 -1
  96. package/dist/compatible/utility.js +0 -1
  97. package/dist/constants.d.ts +0 -99
  98. package/dist/context.d.ts +0 -9
  99. package/dist/cookie.d.ts +0 -31
  100. package/dist/data-transfer.d.ts +0 -45
  101. package/dist/datetime.d.ts +0 -37
  102. package/dist/domNode.d.ts +0 -82
  103. package/dist/expression/evaluators.d.ts +0 -55
  104. package/dist/expression/helper.d.ts +0 -4
  105. package/dist/expression/index.d.ts +0 -7
  106. package/dist/expression/indicator-functions.d.ts +0 -14
  107. package/dist/expression/types.d.ts +0 -70
  108. package/dist/expression/types.js +0 -1
  109. package/dist/filesystem.d.ts +0 -138
  110. package/dist/function.d.ts +0 -20
  111. package/dist/index.d.ts +0 -23
  112. package/dist/indicators.d.ts +0 -68
  113. package/dist/number.d.ts +0 -35
  114. package/dist/object.d.ts +0 -213
  115. package/dist/process.d.ts +0 -22
  116. package/dist/property-types.d.ts +0 -460
  117. package/dist/require.d.ts +0 -6
  118. package/dist/scope.d.ts +0 -44
  119. package/dist/string.d.ts +0 -299
  120. package/dist/test/Lock.d.ts +0 -1
  121. package/dist/test/Logger.d.ts +0 -1
  122. package/dist/test/Semaphore.d.ts +0 -1
  123. package/dist/test/array.d.ts +0 -1
  124. package/dist/test/cookie.d.ts +0 -1
  125. package/dist/test/data-transfer.d.ts +0 -1
  126. package/dist/test/datetime.d.ts +0 -1
  127. package/dist/test/domNode.d.ts +0 -1
  128. package/dist/test/expression/evaluators.d.ts +0 -1
  129. package/dist/test/expression/helper.d.ts +0 -1
  130. package/dist/test/expression/indicator-functions.d.ts +0 -1
  131. package/dist/test/filesystem.d.ts +0 -1
  132. package/dist/test/function.d.ts +0 -1
  133. package/dist/test/indicators.d.ts +0 -1
  134. package/dist/test/number.d.ts +0 -1
  135. package/dist/test/object.d.ts +0 -1
  136. package/dist/test/process.d.ts +0 -1
  137. package/dist/test/property-types.d.ts +0 -1
  138. package/dist/test/scope.d.ts +0 -1
  139. package/dist/test/string.d.ts +0 -1
  140. package/dist/test/utility.d.ts +0 -1
  141. package/dist/test-helper.d.ts +0 -143
  142. package/dist/type.d.ts +0 -211
  143. package/dist/utility.d.ts +0 -44
package/dist/Lock.js CHANGED
@@ -1 +1,100 @@
1
- "use strict";if("undefined"!=typeof module&&null!==module&&"undefined"!==eval("typeof require")&&null!==eval("require")&&"main"in eval("require")&&"undefined"!==eval("typeof require.main")&&null!==eval("require.main")){var ORIGINAL_MAIN_MODULE=module;module!==eval("require.main")&&"paths"in module&&"paths"in eval("require.main")&&"undefined"!=typeof __dirname&&null!==__dirname&&(module.paths=eval("require.main.paths").concat(module.paths.filter(function(path){return eval("require.main.paths").includes(path)})))}if(null==window)var window="undefined"==typeof global||null===global?{}:global;!function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r(require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/regenerator"));else if("function"==typeof define&&define.amd)define(["@babel/runtime/helpers/asyncToGenerator","@babel/runtime/regenerator"],r);else{var n="object"==typeof exports?r(require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/regenerator")):r(e["@babel/runtime/helpers/asyncToGenerator"],e["@babel/runtime/regenerator"]);for(var t in n)("object"==typeof exports?exports:e)[t]=n[t]}}(this,function(e,r){return function(){var n={11:function(r){r.exports=e},12:function(e){e.exports=r}},t={};function o(e){var r=t[e];if(void 0!==r)return r.exports;var i=t[e]={exports:{}};return n[e](i,i.exports,o),i.exports}o.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(r,{a:r}),r},o.d=function(e,r){for(var n in r)o.o(r,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},o.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};o.r(i),o.d(i,{Lock:function(){return c}});var u=o(11),a=o.n(u),l=o(12),s=o.n(l),c=function(){function e(e){void 0===e&&(e={}),this.lock=void 0,this.locks=void 0,this.locks=e}var r=e.prototype;return r.acquire=function(e,r,n){var t=this;return void 0===n&&(n=!1),new Promise(function(o){var i=function(e){var i,u;r&&(u=r(e));var a=function(r){return n&&t.release(e),o(r),r};return null!=(i=u)&&i.then?u.then(a):(a(u),u)};e?Object.prototype.hasOwnProperty.call(t.locks,e)?t.locks[e].push(i):(t.locks[e]=[],i(e)):t.lock?t.lock.push(i):(t.lock=[],i(e))})},r.release=function(){var e=a()(s().mark(function e(r){var n,t,o;return s().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!r){e.next=4;break}if(!Object.prototype.hasOwnProperty.call(this.locks,r)){e.next=3;break}if(void 0!==(t=this.locks[r].shift())){e.next=1;break}delete this.locks[r],e.next=3;break;case 1:return e.next=2,t(r);case 2:case 6:return e.abrupt("return",e.sent);case 3:return e.abrupt("return");case 4:if(void 0!==(o=null==(n=this.lock)?void 0:n.shift())){e.next=5;break}this.lock=void 0,e.next=7;break;case 5:return e.next=6,o();case 7:case"end":return e.stop()}},e,this)}));return function(r){return e.apply(this,arguments)}}(),e}();return i.default=c,i}()});
1
+ // #!/usr/bin/env babel-node
2
+ // -*- coding: utf-8 -*-
3
+ /** @module Lock */
4
+ 'use strict';
5
+
6
+ /* !
7
+ region header
8
+ [Project page](https://torben.website/clientnode)
9
+
10
+ Copyright Torben Sickert (info["~at~"]torben.website) 16.12.2012
11
+
12
+ License
13
+ -------
14
+
15
+ This library written by Torben Sickert stands under a creative commons
16
+ naming 3.0 unported license.
17
+ See https://creativecommons.org/licenses/by/3.0/deed.de
18
+ endregion
19
+ */
20
+ import "core-js/modules/es.array.push.js";
21
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
22
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
23
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
24
+ /**
25
+ * Represents the lock state.
26
+ * @property locks - Mapping of lock descriptions to their corresponding
27
+ * callbacks.
28
+ */
29
+ export class Lock {
30
+ /**
31
+ * Initializes locks.
32
+ * @param locks - Mapping of a lock description to callbacks for calling
33
+ * when given lock should be released.
34
+ */
35
+ constructor(locks = {}) {
36
+ _defineProperty(this, "lock", void 0);
37
+ _defineProperty(this, "locks", void 0);
38
+ this.locks = locks;
39
+ }
40
+ /**
41
+ * Calling this method introduces a starting point for a critical area with
42
+ * potential race conditions. The area will be bind to given description
43
+ * string. So don't use same names for different areas.
44
+ * @param description - A short string describing the critical areas
45
+ * properties.
46
+ * @param callback - A procedure which should only be executed if the
47
+ * interpreter isn't in the given critical area. The lock description
48
+ * string will be given to the callback function.
49
+ * @param autoRelease - Release the lock after execution of given callback.
50
+ * @returns Returns a promise which will be resolved after releasing lock.
51
+ */
52
+ acquire(description, callback, autoRelease = false) {
53
+ return new Promise(resolve => {
54
+ const wrappedCallback = description => {
55
+ let result;
56
+ if (callback) result = callback(description);
57
+ const finish = value => {
58
+ if (autoRelease) void this.release(description);
59
+ resolve(value);
60
+ return value;
61
+ };
62
+ if (result?.then) return result.then(finish);
63
+ finish(result);
64
+ return result;
65
+ };
66
+ if (description) {
67
+ if (Object.prototype.hasOwnProperty.call(this.locks, description)) this.locks[description].push(wrappedCallback);else {
68
+ this.locks[description] = [];
69
+ void wrappedCallback(description);
70
+ }
71
+ return;
72
+ }
73
+ if (this.lock) this.lock.push(wrappedCallback);else {
74
+ this.lock = [];
75
+ void wrappedCallback(description);
76
+ }
77
+ });
78
+ }
79
+ /**
80
+ * Calling this method causes the given critical area to be finished and
81
+ * all functions given to "acquire()" will be executed in right order.
82
+ * @param description - A short string describing the critical areas
83
+ * properties.
84
+ * @returns Returns the return (maybe promise resolved) value of the
85
+ * callback given to the "acquire" method.
86
+ */
87
+ async release(description) {
88
+ if (description) {
89
+ if (Object.prototype.hasOwnProperty.call(this.locks, description)) {
90
+ const callback = this.locks[description].shift();
91
+ if (callback === undefined) delete this.locks[description];else return await callback(description);
92
+ }
93
+ return;
94
+ }
95
+ const callback = this.lock?.shift();
96
+ if (callback === undefined) this.lock = undefined;else return await callback();
97
+ }
98
+ }
99
+ export default Lock;
100
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL0xvY2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gIyEvdXNyL2Jpbi9lbnYgYmFiZWwtbm9kZVxuLy8gLSotIGNvZGluZzogdXRmLTggLSotXG4vKiogQG1vZHVsZSBMb2NrICovXG4ndXNlIHN0cmljdCdcbi8qICFcbiAgICByZWdpb24gaGVhZGVyXG4gICAgW1Byb2plY3QgcGFnZV0oaHR0cHM6Ly90b3JiZW4ud2Vic2l0ZS9jbGllbnRub2RlKVxuXG4gICAgQ29weXJpZ2h0IFRvcmJlbiBTaWNrZXJ0IChpbmZvW1wifmF0flwiXXRvcmJlbi53ZWJzaXRlKSAxNi4xMi4yMDEyXG5cbiAgICBMaWNlbnNlXG4gICAgLS0tLS0tLVxuXG4gICAgVGhpcyBsaWJyYXJ5IHdyaXR0ZW4gYnkgVG9yYmVuIFNpY2tlcnQgc3RhbmRzIHVuZGVyIGEgY3JlYXRpdmUgY29tbW9uc1xuICAgIG5hbWluZyAzLjAgdW5wb3J0ZWQgbGljZW5zZS5cbiAgICBTZWUgaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzMuMC9kZWVkLmRlXG4gICAgZW5kcmVnaW9uXG4qL1xuaW1wb3J0IHR5cGUge0xvY2tDYWxsYmFja0Z1bmN0aW9uLCBNYXBwaW5nfSBmcm9tICcuL3R5cGUnXG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgbG9jayBzdGF0ZS5cbiAqIEBwcm9wZXJ0eSBsb2NrcyAtIE1hcHBpbmcgb2YgbG9jayBkZXNjcmlwdGlvbnMgdG8gdGhlaXIgY29ycmVzcG9uZGluZ1xuICogY2FsbGJhY2tzLlxuICovXG5leHBvcnQgY2xhc3MgTG9jazxUeXBlID0gc3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgbG9jaz86IEFycmF5PExvY2tDYWxsYmFja0Z1bmN0aW9uPFR5cGU+PlxuICAgIGxvY2tzOiBNYXBwaW5nPEFycmF5PExvY2tDYWxsYmFja0Z1bmN0aW9uPFR5cGU+Pj5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyBsb2Nrcy5cbiAgICAgKiBAcGFyYW0gbG9ja3MgLSBNYXBwaW5nIG9mIGEgbG9jayBkZXNjcmlwdGlvbiB0byBjYWxsYmFja3MgZm9yIGNhbGxpbmdcbiAgICAgKiB3aGVuIGdpdmVuIGxvY2sgc2hvdWxkIGJlIHJlbGVhc2VkLlxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGxvY2tzOiBNYXBwaW5nPEFycmF5PExvY2tDYWxsYmFja0Z1bmN0aW9uPFR5cGU+Pj4gPSB7fSkge1xuICAgICAgICB0aGlzLmxvY2tzID0gbG9ja3NcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2FsbGluZyB0aGlzIG1ldGhvZCBpbnRyb2R1Y2VzIGEgc3RhcnRpbmcgcG9pbnQgZm9yIGEgY3JpdGljYWwgYXJlYSB3aXRoXG4gICAgICogcG90ZW50aWFsIHJhY2UgY29uZGl0aW9ucy4gVGhlIGFyZWEgd2lsbCBiZSBiaW5kIHRvIGdpdmVuIGRlc2NyaXB0aW9uXG4gICAgICogc3RyaW5nLiBTbyBkb24ndCB1c2Ugc2FtZSBuYW1lcyBmb3IgZGlmZmVyZW50IGFyZWFzLlxuICAgICAqIEBwYXJhbSBkZXNjcmlwdGlvbiAtIEEgc2hvcnQgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIGNyaXRpY2FsIGFyZWFzXG4gICAgICogcHJvcGVydGllcy5cbiAgICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBBIHByb2NlZHVyZSB3aGljaCBzaG91bGQgb25seSBiZSBleGVjdXRlZCBpZiB0aGVcbiAgICAgKiBpbnRlcnByZXRlciBpc24ndCBpbiB0aGUgZ2l2ZW4gY3JpdGljYWwgYXJlYS4gVGhlIGxvY2sgZGVzY3JpcHRpb25cbiAgICAgKiBzdHJpbmcgd2lsbCBiZSBnaXZlbiB0byB0aGUgY2FsbGJhY2sgZnVuY3Rpb24uXG4gICAgICogQHBhcmFtIGF1dG9SZWxlYXNlIC0gUmVsZWFzZSB0aGUgbG9jayBhZnRlciBleGVjdXRpb24gb2YgZ2l2ZW4gY2FsbGJhY2suXG4gICAgICogQHJldHVybnMgUmV0dXJucyBhIHByb21pc2Ugd2hpY2ggd2lsbCBiZSByZXNvbHZlZCBhZnRlciByZWxlYXNpbmcgbG9jay5cbiAgICAgKi9cbiAgICBhY3F1aXJlKFxuICAgICAgICBkZXNjcmlwdGlvbj86IHN0cmluZyxcbiAgICAgICAgY2FsbGJhY2s/OiBMb2NrQ2FsbGJhY2tGdW5jdGlvbjxUeXBlPixcbiAgICAgICAgYXV0b1JlbGVhc2UgPSBmYWxzZVxuICAgICk6IFByb21pc2U8VHlwZT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8VHlwZT4oKHJlc29sdmU6ICh2YWx1ZTogVHlwZSkgPT4gdm9pZCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgY29uc3Qgd3JhcHBlZENhbGxiYWNrOiBMb2NrQ2FsbGJhY2tGdW5jdGlvbjxUeXBlPiA9IChcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICAgICAgICAgICAgKTogUHJvbWlzZTxUeXBlPiB8IFR5cGUgPT4ge1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQ6IFByb21pc2U8VHlwZT4gfCBUeXBlIHwgdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgaWYgKGNhbGxiYWNrKVxuICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBjYWxsYmFjayhkZXNjcmlwdGlvbilcblxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbmlzaCA9ICh2YWx1ZTogVHlwZSk6IFR5cGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoYXV0b1JlbGVhc2UpXG4gICAgICAgICAgICAgICAgICAgICAgICB2b2lkIHRoaXMucmVsZWFzZShkZXNjcmlwdGlvbilcblxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHZhbHVlKVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICgocmVzdWx0IGFzIG51bGwgfCBQcm9taXNlPFR5cGU+KT8udGhlbilcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChyZXN1bHQgYXMgUHJvbWlzZTxUeXBlPikudGhlbihmaW5pc2gpXG5cbiAgICAgICAgICAgICAgICBmaW5pc2gocmVzdWx0IGFzIFR5cGUpXG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0IGFzIFR5cGVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2NrcywgZGVzY3JpcHRpb24pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvY2tzW2Rlc2NyaXB0aW9uXS5wdXNoKHdyYXBwZWRDYWxsYmFjaylcbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2Nrc1tkZXNjcmlwdGlvbl0gPSBbXVxuXG4gICAgICAgICAgICAgICAgICAgIHZvaWQgd3JhcHBlZENhbGxiYWNrKGRlc2NyaXB0aW9uKVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5sb2NrKVxuICAgICAgICAgICAgICAgIHRoaXMubG9jay5wdXNoKHdyYXBwZWRDYWxsYmFjaylcbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubG9jayA9IFtdXG5cbiAgICAgICAgICAgICAgICB2b2lkIHdyYXBwZWRDYWxsYmFjayhkZXNjcmlwdGlvbilcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2FsbGluZyB0aGlzIG1ldGhvZCBjYXVzZXMgdGhlIGdpdmVuIGNyaXRpY2FsIGFyZWEgdG8gYmUgZmluaXNoZWQgYW5kXG4gICAgICogYWxsIGZ1bmN0aW9ucyBnaXZlbiB0byBcImFjcXVpcmUoKVwiIHdpbGwgYmUgZXhlY3V0ZWQgaW4gcmlnaHQgb3JkZXIuXG4gICAgICogQHBhcmFtIGRlc2NyaXB0aW9uIC0gQSBzaG9ydCBzdHJpbmcgZGVzY3JpYmluZyB0aGUgY3JpdGljYWwgYXJlYXNcbiAgICAgKiBwcm9wZXJ0aWVzLlxuICAgICAqIEByZXR1cm5zIFJldHVybnMgdGhlIHJldHVybiAobWF5YmUgcHJvbWlzZSByZXNvbHZlZCkgdmFsdWUgb2YgdGhlXG4gICAgICogY2FsbGJhY2sgZ2l2ZW4gdG8gdGhlIFwiYWNxdWlyZVwiIG1ldGhvZC5cbiAgICAgKi9cbiAgICBhc3luYyByZWxlYXNlKGRlc2NyaXB0aW9uPzogc3RyaW5nKTogUHJvbWlzZTxUeXBlIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGlmIChkZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2tzLCBkZXNjcmlwdGlvblxuICAgICAgICAgICAgKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNhbGxiYWNrOiBMb2NrQ2FsbGJhY2tGdW5jdGlvbjxUeXBlPiB8IHVuZGVmaW5lZCA9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9ja3NbZGVzY3JpcHRpb25dLnNoaWZ0KClcblxuICAgICAgICAgICAgICAgIGlmIChjYWxsYmFjayA9PT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy5sb2Nrc1tkZXNjcmlwdGlvbl1cbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCBjYWxsYmFjayhkZXNjcmlwdGlvbilcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjYWxsYmFjazogTG9ja0NhbGxiYWNrRnVuY3Rpb248VHlwZT4gfCB1bmRlZmluZWQgPVxuICAgICAgICAgICAgdGhpcy5sb2NrPy5zaGlmdCgpXG5cbiAgICAgICAgaWYgKGNhbGxiYWNrID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICB0aGlzLmxvY2sgPSB1bmRlZmluZWRcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IGNhbGxiYWNrKClcbiAgICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IExvY2tcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0EsWUFBWTs7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBYkE7QUFBQTtBQUFBO0FBQUE7QUFnQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sTUFBTSxJQUFJLENBQTRCO0VBR3pDO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7RUFDSSxXQUFXLENBQUMsS0FBaUQsR0FBRyxDQUFDLENBQUMsRUFBRTtJQUFBO0lBQUE7SUFDaEUsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLO0VBQ3RCO0VBQ0E7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0ksT0FBTyxDQUNILFdBQW9CLEVBQ3BCLFFBQXFDLEVBQ3JDLFdBQVcsR0FBRyxLQUFLLEVBQ047SUFDYixPQUFPLElBQUksT0FBTyxDQUFRLE9BQThCLElBQVc7TUFDL0QsTUFBTSxlQUEyQyxHQUM3QyxXQUFvQixJQUNHO1FBQ3ZCLElBQUksTUFBd0M7UUFDNUMsSUFBSSxRQUFRLEVBQ1IsTUFBTSxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUM7UUFFbEMsTUFBTSxNQUFNLEdBQUksS0FBVyxJQUFXO1VBQ2xDLElBQUksV0FBVyxFQUNYLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7VUFFbEMsT0FBTyxDQUFDLEtBQUssQ0FBQztVQUVkLE9BQU8sS0FBSztRQUNoQixDQUFDO1FBRUQsSUFBSyxNQUFNLEVBQTJCLElBQUksRUFDdEMsT0FBUSxNQUFNLENBQW1CLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFakQsTUFBTSxDQUFDLE1BQWMsQ0FBQztRQUV0QixPQUFPLE1BQU07TUFDakIsQ0FBQztNQUVELElBQUksV0FBVyxFQUFFO1FBQ2IsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3BDLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLEVBRXhCLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUM1QztVQUNELElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRTtVQUU1QixLQUFLLGVBQWUsQ0FBQyxXQUFXLENBQUM7UUFDckM7UUFFQTtNQUNKO01BRUEsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUNULElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUM5QjtRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRTtRQUVkLEtBQUssZUFBZSxDQUFDLFdBQVcsQ0FBQztNQUNyQztJQUNKLENBQUMsQ0FBQztFQUNOO0VBQ0E7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNJLE1BQU0sT0FBTyxDQUFDLFdBQW9CLEVBQTZCO0lBQzNELElBQUksV0FBVyxFQUFFO01BQ2IsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3BDLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FDaEIsQ0FBQyxFQUFFO1FBQ0MsTUFBTSxRQUFnRCxHQUNsRCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5DLElBQUksUUFBUSxLQUFLLFNBQVMsRUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUU5QixPQUFPLE1BQU0sUUFBUSxDQUFDLFdBQVcsQ0FBQztNQUMxQztNQUVBO0lBQ0o7SUFFQSxNQUFNLFFBQWdELEdBQ2xELElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFdEIsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsTUFFckIsT0FBTyxNQUFNLFFBQVEsQ0FBQyxDQUFDO0VBQy9CO0FBQ0o7QUFFQSxlQUFlLElBQUkiLCJpZ25vcmVMaXN0IjpbXX0=
package/dist/Logger.js CHANGED
@@ -1 +1,185 @@
1
- "use strict";if("undefined"!=typeof module&&null!==module&&"undefined"!==eval("typeof require")&&null!==eval("require")&&"main"in eval("require")&&"undefined"!==eval("typeof require.main")&&null!==eval("require.main")){var ORIGINAL_MAIN_MODULE=module;module!==eval("require.main")&&"paths"in module&&"paths"in eval("require.main")&&"undefined"!=typeof __dirname&&null!==__dirname&&(module.paths=eval("require.main.paths").concat(module.paths.filter(function(path){return eval("require.main.paths").includes(path)})))}if(null==window)var window="undefined"==typeof global||null===global?{}:global;!function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r(require("@babel/runtime/helpers/extends"));else if("function"==typeof define&&define.amd)define(["@babel/runtime/helpers/extends"],r);else{var t="object"==typeof exports?r(require("@babel/runtime/helpers/extends")):r(e["@babel/runtime/helpers/extends"]);for(var n in t)("object"==typeof exports?exports:e)[n]=t[n]}}(this,function(__WEBPACK_EXTERNAL_MODULE__3__){return function(){var __webpack_modules__=[function(e,r,t){t.d(r,{CLASS_TO_TYPE_MAPPING:function(){return n}});Symbol.for("clientnodeValue"),Symbol.for("clientnodeIgnoreNullAndUndefined");var n={"[object Array]":"array","[object Boolean]":"boolean","[object Date]":"date","[object Error]":"error","[object Function]":"function","[object Map]":"map","[object Number]":"number","[object Object]":"object","[object RegExp]":"regexp","[object Set]":"set","[object String]":"string"};Object.prototype},function(e,r,t){t.d(r,{NOOP:function(){return l},globalContext:function(){return a}});var n,o,i=t(5);e=t.hmd(e);var a="undefined"==typeof globalThis?void 0===window?void 0===t.g?e:Object.prototype.hasOwnProperty.call(t.g,"window")?t.g.window:t.g:window:globalThis;a.fetch=a.fetch?a.fetch.bind(a):null!==(n=null==(o=(0,i.optionalRequire)("node-fetch"))?void 0:o.default)&&void 0!==n?n:function(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];return i.currentImport?(0,i.currentImport)("node-fetch").then(function(e){var t;return(t=e).default.apply(t,r)}):null};var l=function(){}},function(__unused_webpack_module,__webpack_exports__,__webpack_require__){var _extends,VALUE_COPY_SYMBOL,IGNORE_NULL_AND_UNDEFINED_SYMBOL,isMap,isSet,isObject,isPlainObject,isFunction,isProxy,isNumeric,isNotANumber,evaluate,escapeRegularExpressions;__webpack_require__.d(__webpack_exports__,{determineType:function(){return determineType}});var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(3),_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__),_constants__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(0);function _createForOfIteratorHelperLoose(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=_unsupportedIterableToArray(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,r){if(e){if("string"==typeof e)return _arrayLikeToArray(e,r);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(e,r):void 0}}function _arrayLikeToArray(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}var _addDynamicGetterAndSetter=function(e,r,t,n,o,i){if(void 0===r&&(r=null),void 0===t&&(t=null),void 0===n&&(n={}),void 0===o&&(o=!0),void 0===i&&(i=[Object]),o&&"object"==typeof e)if(Array.isArray(e))for(var a,l=0,s=_createForOfIteratorHelperLoose(e);!(a=s()).done;){var u=a.value;e[l]=_addDynamicGetterAndSetter(u,r,t,n,o),l+=1}else if(isMap(e))for(var c,f=_createForOfIteratorHelperLoose(e);!(c=f()).done;){var _=c.value,p=_[0],d=_[1];e.set(p,_addDynamicGetterAndSetter(d,r,t,n,o))}else if(isSet(e)){for(var v,y=[],b=_createForOfIteratorHelperLoose(e);!(v=b()).done;){var g=v.value;e.delete(g),y.push(_addDynamicGetterAndSetter(g,r,t,n,o))}for(var O=0,h=y;O<h.length;O++){var m=h[O];e.add(m)}}else if(null!==e)for(var j=0,w=Object.entries(e);j<w.length;j++){var x=w[j],P=x[0],I=x[1];e[P]=_addDynamicGetterAndSetter(I,r,t,n,o)}if(r||t)for(var A,L,E=function(){var o=L.value;if(isObject(e)&&e instanceof o){var i=getProxyHandler(e,n),a=getProxyHandler(e,n);r&&(a.get=function(t,n){return"__target__"===n?e:"__revoke__"===n?function(){return u(),e}:"function"==typeof e[n]?e[n]:r(i.get(s,n),n,e)}),t&&(a.set=function(r,n,o){return i.set(s,n,t(n,o,e))});var l=Proxy.revocable({},a),s=l.proxy,u=l.revoke;return{v:s}}},M=_createForOfIteratorHelperLoose(i);!(L=M()).done;)if(A=E())return A.v;return e},convertCircularObjectToJSON=function(e,r,t){void 0===r&&(r=function(e){return null!=e?e:"__circularReference__"}),void 0===t&&(t=0);var n=new Map;return function(e){var o=function(e,t){if(isObject(t)){var i,a;if(n.has(t))return r(null!==(i=n.get(t))&&void 0!==i?i:null,e,t,n);if(n.set(t,null),Array.isArray(t)){a=[];for(var l,s=_createForOfIteratorHelperLoose(t);!(l=s()).done;){var u=l.value;a.push(o(null,u))}}else{a={};for(var c=0,f=Object.entries(t);c<f.length;c++){var _=f[c],p=_[0],d=_[1];a[p]=o(p,d)}}return n.set(t,a),a}return t};return JSON.stringify(e,o,t)}(e)},_convertMapToPlainObject=function(e,r){if(void 0===r&&(r=!0),"object"==typeof e){if(isMap(e)){for(var t,n={},o=_createForOfIteratorHelperLoose(e);!(t=o()).done;){var i=t.value,a=i[0],l=i[1];r&&(l=_convertMapToPlainObject(l,r)),["number","string"].includes(typeof a)&&(n[String(a)]=l)}return n}if(r)if(isPlainObject(e))for(var s=0,u=Object.entries(e);s<u.length;s++){var c=u[s],f=c[0],_=c[1];e[f]=_convertMapToPlainObject(_,r)}else if(Array.isArray(e))for(var p=0,d=0,v=e;d<v.length;d++){var y=v[d];e[p]=_convertMapToPlainObject(y,r),p+=1}else if(isSet(e)){for(var b,g=[],O=_createForOfIteratorHelperLoose(e);!(b=O()).done;){var h=b.value;e.delete(h),g.push(_convertMapToPlainObject(h,r))}for(var m=0,j=g;m<j.length;m++){var w=j[m];e.add(w)}}}return e},_convertPlainObjectToMap=function(e,r){if(void 0===r&&(r=!0),"object"==typeof e){if(isPlainObject(e)){for(var t=new Map,n=0,o=Object.entries(e);n<o.length;n++){var i=o[n],a=i[0],l=i[1];r&&(e[a]=_convertPlainObjectToMap(l,r)),t.set(a,e[a])}return t}if(r)if(Array.isArray(e))for(var s=0,u=0,c=e;u<c.length;u++){var f=c[u];e[s]=_convertPlainObjectToMap(f,r),s+=1}else if(isMap(e))for(var _,p=_createForOfIteratorHelperLoose(e);!(_=p()).done;){var d=_.value,v=d[0],y=d[1];e.set(v,_convertPlainObjectToMap(y,r))}else if(isSet(e)){for(var b,g=[],O=_createForOfIteratorHelperLoose(e);!(b=O()).done;){var h=b.value;e.delete(h),g.push(_convertPlainObjectToMap(h,r))}for(var m=0,j=g;m<j.length;m++){var w=j[m];e.add(w)}}}return e},_convertSubstringInPlainObject=function(e,r,t){for(var n=0,o=Object.entries(e);n<o.length;n++){var i=o[n],a=i[0],l=i[1];isPlainObject(l)?e[a]=_convertSubstringInPlainObject(l,r,t):"string"==typeof l&&(e[a]=l.replace(r,t))}return e},_copy=function(e,r,t,n,o,i,a,l){if(void 0===r&&(r=!1),void 0===t&&(t=-1),void 0===n&&(n=VALUE_COPY_SYMBOL),void 0===o&&(o=null),void 0===i&&(i=!1),void 0===a&&(a=[]),void 0===l&&(l=0),isObject(e)){if(!o){if(Array.isArray(e))return _copy(e,r,t,n,[],i,a,l);if(e instanceof Map)return _copy(e,r,t,n,new Map,i,a,l);if(e instanceof Set)return _copy(e,r,t,n,new Set,i,a,l);if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){var s=/[^/]*$/.exec(e.toString());return(o=new RegExp(e.source,s?s[0]:void 0)).lastIndex=e.lastIndex,o}return"undefined"!=typeof Blob&&e instanceof Blob?r?e.slice(0,e.size,e.type):e:_copy(e,r,t,n,{},i,a,l)}if(e===o)throw new Error("Can't copy because source and destination are identical.");if(!i&&![void 0,null].includes(e)){var u=a.indexOf(e);if(-1!==u)return a[u];a.push(e)}var c=function(e){if(-1!==t&&t<l+1)return n===VALUE_COPY_SYMBOL?e:n;var o=_copy(e,r,t,n,null,i,a,l+1);return i||[void 0,null].includes(e)||"object"!=typeof e||a.push(e),o};if(Array.isArray(e))for(var f,_=_createForOfIteratorHelperLoose(e);!(f=_()).done;){var p=f.value;o.push(c(p))}else if(e instanceof Map)for(var d,v=_createForOfIteratorHelperLoose(e);!(d=v()).done;){var y=d.value,b=y[0],g=y[1];o.set(b,c(g))}else if(e instanceof Set)for(var O,h=_createForOfIteratorHelperLoose(e);!(O=h()).done;){var m=O.value;o.add(c(m))}else for(var j=0,w=Object.entries(e);j<w.length;j++){var x=w[j],P=x[0],I=x[1];try{o[P]=c(I)}catch(e){throw new Error('Failed to copy property value object "'+P+'": '+_represent(e),{cause:e})}}}return o||e},determineType=function(e){if([null,void 0].includes(e))return String(e);var r=typeof e;if(["function","object"].includes(r)&&"toString"in e){var t=Object.prototype.toString.call(e);if(Object.prototype.hasOwnProperty.call(_constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_TO_TYPE_MAPPING,t))return _constants__WEBPACK_IMPORTED_MODULE_1__.CLASS_TO_TYPE_MAPPING[t]}return r},_equals=function equals(firstValue,secondValue,givenOptions){void 0===givenOptions&&(givenOptions={});var options=_extends({compareBlobs:!1,deep:-1,exceptionPrefixes:[],ignoreFunctions:!0,properties:null,returnReasonIfNotEqual:!1},givenOptions);if(options.ignoreFunctions&&isFunction(firstValue)&&isFunction(secondValue)||firstValue===secondValue||isNotANumber(firstValue)&&isNotANumber(secondValue)||firstValue instanceof RegExp&&secondValue instanceof RegExp&&firstValue.toString()===secondValue.toString()&&firstValue.flags.split("").sort().join("")===secondValue.flags.split("").sort().join("")||firstValue instanceof Date&&secondValue instanceof Date&&(isNaN(firstValue.getTime())&&isNaN(secondValue.getTime())||!isNaN(firstValue.getTime())&&!isNaN(secondValue.getTime())&&firstValue.getTime()===secondValue.getTime())||options.compareBlobs&&"undefined"!==eval("typeof Buffer")&&Object.prototype.hasOwnProperty.call(eval("Buffer"),"isBuffer")&&firstValue instanceof eval("Buffer")&&secondValue instanceof eval("Buffer")&&firstValue.toString("base64")===secondValue.toString("base64"))return!0;if(options.compareBlobs&&"undefined"!=typeof Blob&&firstValue instanceof Blob&&secondValue instanceof Blob)return new Promise(function(e){for(var r=[],t=0,n=[firstValue,secondValue];t<n.length;t++){var o=n[t],i=new FileReader;i.onload=function(t){null===t.target?r.push(null):r.push(t.target.result),2===r.length&&(r[0]===r[1]?e(!0):e(!!options.returnReasonIfNotEqual&&">>> Blob("+_represent(r[0])+") !== Blob("+_represent(r[1])+")"))},i.readAsDataURL(o)}});if(isPlainObject(firstValue)&&isPlainObject(secondValue)&&!(firstValue instanceof RegExp||secondValue instanceof RegExp)||Array.isArray(firstValue)&&Array.isArray(secondValue)&&firstValue.length===secondValue.length||determineType(firstValue)===determineType(secondValue)&&["map","set"].includes(determineType(firstValue))&&firstValue.size===secondValue.size){for(var promises=[],_i11=0,_arr4=[[firstValue,secondValue],[secondValue,firstValue]];_i11<_arr4.length;_i11++){var _arr4$_i=_arr4[_i11],first=_arr4$_i[0],second=_arr4$_i[1],firstIsArray=Array.isArray(first);if(firstIsArray&&(!Array.isArray(second)||first.length!==second.length))return!!options.returnReasonIfNotEqual&&".length";var firstIsMap=isMap(first);if(firstIsMap&&(!isMap(second)||first.size!==second.size))return!!options.returnReasonIfNotEqual&&".size";var firstIsSet=isSet(first);if(firstIsSet&&(!isSet(second)||first.size!==second.size))return!!options.returnReasonIfNotEqual&&".size";if(firstIsArray){for(var index=0,_loop2=function(){var e=_arr5[_i12];if(0!==options.deep){var r=_equals(e,second[index],_extends({},options,{deep:options.deep-1}));if(!r)return{v:!1};var t=index,n=function(e){var r;return"string"==typeof e?"["+String(t)+"]"+(null!==(r={"[":"",">":" "}[e[0]])&&void 0!==r?r:".")+e:e};if(Object.prototype.hasOwnProperty.call(r,"then")&&promises.push(r.then(n)),"string"==typeof r)return{v:n(r)}}index+=1},_ret2,_i12=0,_arr5=first;_i12<_arr5.length;_i12++)if(_ret2=_loop2(),_ret2)return _ret2.v}else if(firstIsMap){for(var _loop3=function(){var e=_step11.value,r=e[0],t=e[1];if(0!==options.deep){var n=_equals(t,second.get(r),_extends({},options,{deep:options.deep-1}));if(!n)return{v:!1};var o=function(e){var t;return"string"==typeof e?"get("+_represent(r)+")"+(null!==(t={"[":"",">":" "}[e[0]])&&void 0!==t?t:".")+e:e};if(Object.prototype.hasOwnProperty.call(n,"then")&&promises.push(n.then(o)),"string"==typeof n)return{v:o(n)}}},_ret3,_iterator11=_createForOfIteratorHelperLoose(first),_step11;!(_step11=_iterator11()).done;)if(_ret3=_loop3(),_ret3)return _ret3.v}else if(firstIsSet){for(var _loop4=function(){var e=_step12.value;if(0!==options.deep){for(var r,t=!1,n=[],o=_createForOfIteratorHelperLoose(second);!(r=o()).done;){var i=r.value,a=_equals(e,i,_extends({},options,{deep:options.deep-1}));if("boolean"==typeof a){if(a){t=!0;break}}else n.push(a)}var l=function(r){return!!r||!!options.returnReasonIfNotEqual&&">>> {-> "+_represent(e)+" not found}"};return t?0:(n.length&&promises.push(new Promise(function(e){Promise.all(n).then(function(r){e(l(r.some(function(e){return e})))},function(){})})),{v:l(!1)})}},_ret4,_iterator12=_createForOfIteratorHelperLoose(first),_step12;!(_step12=_iterator12()).done;)if(_ret4=_loop4(),0!==_ret4&&_ret4)return _ret4.v}else for(var _loop5=function(){var e=_Object$entries7[_i13],r=e[0],t=e[1];if(options.properties&&!options.properties.includes(r))return 0;for(var n,o=!1,i=_createForOfIteratorHelperLoose(options.exceptionPrefixes);!(n=i()).done;){var a=n.value;if(r.startsWith(a)){o=!0;break}}if(o)return 0;if(0!==options.deep){var l=_equals(t,second[r],_extends({},options,{deep:options.deep-1}));if(!l)return{v:!1};var s=function(e){var t;return"string"==typeof e?r+(null!==(t={"[":"",">":" "}[e[0]])&&void 0!==t?t:".")+e:e};if(Object.prototype.hasOwnProperty.call(l,"then")&&promises.push(l.then(s)),"string"==typeof l)return{v:s(l)}}},_ret5,_i13=0,_Object$entries7=Object.entries(first);_i13<_Object$entries7.length&&(_ret5=_loop5(),0!==_ret5);_i13++)if(_ret5)return _ret5.v}return!promises.length||new Promise(function(e){Promise.all(promises).then(function(r){for(var t,n=_createForOfIteratorHelperLoose(r);!(t=n()).done;){var o=t.value;if(!o||"string"==typeof o){e(o);break}}e(!0)},function(){})})}return!!options.returnReasonIfNotEqual&&">>> "+_represent(firstValue)+" !== "+_represent(secondValue)},evaluateDynamicData=function(e,r,t,n,o){if(void 0===r&&(r={}),void 0===t&&(t="self"),void 0===n&&(n="__evaluate__"),void 0===o&&(o="__execute__"),"object"!=typeof e||null===e)return e;t in r||(r[t]=e);var i=function(e,t){void 0===t&&(t=n);var i=evaluate(e,r,t===o);if(i.error)throw new Error(i.error);return i.result},a=function(e){if("object"!=typeof e||null===e||"undefined"==typeof Proxy)return e;for(var r=0,t=Object.entries(e);r<t.length;r++){var s=t[r],u=s[0],c=s[1];if("__target__"!==u&&isObject(c)){var f=c;if(a(f),Object.prototype.hasOwnProperty.call(f,n)||Object.prototype.hasOwnProperty.call(f,o)){var _=f;e[u]=new Proxy(f,{get:function(e,r){if("__target__"===r)return e;if("hasOwnProperty"===r)return e[r];for(var t=0,a=[n,o];t<a.length;t++){var s=a[t];if(r===s&&"string"==typeof e[r])return l(i(e[r],s))}var u=l(e);if("toString"===r){var c=i(u);return c[r].bind(c)}if("string"!=typeof r){var f,_=i(u);return null!=(f=_[r])&&f.bind?_[r].bind(_):_[r]}for(var p=0,d=[n,o];p<d.length;p++){var v=d[p];if(Object.prototype.hasOwnProperty.call(e,v))return i(u,v)[r]}return u[r]},ownKeys:function(e){for(var r=0,t=[n,o];r<t.length;r++){var a=t[r];if(Object.prototype.hasOwnProperty.call(e,a))return Object.getOwnPropertyNames(l(i(e[a],a)))}return Object.getOwnPropertyNames(e)}}),e[u].__target__||(e[u].__target__=_)}}}return e},l=function(e){if(isObject(e)){if(isProxy(e)){for(var r=0,t=[n,o];r<t.length;r++){var a=t[r];if(Object.prototype.hasOwnProperty.call(e,a))return e[a]}e=e.__target__}for(var s=0,u=Object.entries(e);s<u.length;s++){var c=u[s],f=c[0],_=c[1];if([n,o].includes(f))return"undefined"==typeof Proxy?l(i(_)):_;e[f]=l(_)}}return e};r.resolve=l;var s=function(e){if(isObject(e))for(var r=0,t=Object.entries(e);r<t.length;r++){var n=t[r],o=n[0],i=n[1];if("__target__"!==o&&null!==i&&["function","undefined"].includes(typeof i)){var a=i.__target__;void 0!==a&&(e[o]=a),s(i)}}return e};return Object.prototype.hasOwnProperty.call(e,n)?i(e[n]):Object.prototype.hasOwnProperty.call(e,o)?i(e[o],o):s(l(a(e)))},_removeKeysInEvaluation=function(e,r){void 0===r&&(r=["__evaluate__","__execute__"]);for(var t=0,n=Object.entries(e);t<n.length;t++){var o=n[t],i=o[0],a=o[1];!r.includes(i)&&r.some(function(r){return Object.prototype.hasOwnProperty.call(e,r)})?delete e[i]:isPlainObject(a)&&_removeKeysInEvaluation(a,r)}return e},_extend=function(e,r){for(var t=!1,n=arguments.length,o=new Array(n>2?n-2:0),i=2;i<n;i++)o[i-2]=arguments[i];var a,l=o;e===IGNORE_NULL_AND_UNDEFINED_SYMBOL||"boolean"==typeof e?(t=e,a=r):(a=e,isObject(r)?l=[r].concat(l):void 0!==r&&(a=r));for(var s,u=function(e,r){return r===e?e:t&&r&&(isPlainObject(r)||isMap(r))?(n=isMap(r)?e&&isMap(e)?e:new Map:e&&isPlainObject(e)?e:{},_extend(t,n,r)):r;var n},c=_createForOfIteratorHelperLoose(l);!(s=c()).done;){var f=s.value,_=typeof a,p=typeof f;if(isMap(a)&&(_+=" Map"),isMap(f)&&(p+=" Map"),_===p&&a!==f)if(isMap(a)&&isMap(f))for(var d,v=_createForOfIteratorHelperLoose(f);!(d=v()).done;){var y=d.value,b=y[0],g=y[1];a.set(b,u(a.get(b),g))}else if(!isObject(a)||Array.isArray(a)||"undefined"!=typeof Blob&&a instanceof Blob||!isObject(f)||Array.isArray(f)||"undefined"!=typeof Blob&&f instanceof Blob)a=f;else for(var O=0,h=Object.entries(f);O<h.length;O++){var m=h[O],j=m[0],w=m[1];t===IGNORE_NULL_AND_UNDEFINED_SYMBOL&&[null,void 0].includes(w)||(a[j]=u(a[j],w))}else a=f}return a},getProxyHandler=function(e,r){return void 0===r&&(r={}),r=_extends({delete:"[]",get:"[]",has:"[]",set:"[]"},r),{deleteProperty:function(t,n){return"[]"!==r.delete||"string"!=typeof n?e[r.delete](n):(delete e[n],!0)},get:function(t,n){return"[]"===r.get&&"string"==typeof n?e[n]:e[r.get](n)},has:function(t,n){return"[]"===r.has?n in e:e[r.has](n)},set:function(t,n,o){return"[]"!==r.set||"string"!=typeof n?e[r.set](n,o):(e[n]=o,!0)}}},_mask=function(e,r){if(!0===(r=_extends({exclude:!1,include:!0},r)).exclude||Array.isArray(r.exclude)&&0===r.exclude.length||!1===r.include||"object"!=typeof e)return{};var t=Array.isArray(r.exclude)?r.exclude.reduce(function(e,r){var t;return _extends({},e,((t={})[r]=!0,t))},{}):r.exclude,n=Array.isArray(r.include)?r.include.reduce(function(e,r){var t;return _extends({},e,((t={})[r]=!0,t))},{}):r.include,o={};if(isPlainObject(n))for(var i=0,a=Object.entries(n);i<a.length;i++){var l=a[i],s=l[0],u=l[1];Object.prototype.hasOwnProperty.call(e,s)&&(!0===u?o[s]=e[s]:(isPlainObject(u)||Array.isArray(u)&&u.length)&&"object"==typeof e[s]&&(o[s]=_mask(e[s],{include:u})))}else o=e;if(isPlainObject(t)){for(var c=!1,f=_extends({},o),_=0,p=Object.entries(t);_<p.length;_++){var d=p[_],v=d[0],y=d[1];if(Object.prototype.hasOwnProperty.call(f,v))if(!0===y)c=!0,delete f[v];else if((isPlainObject(y)||Array.isArray(y)&&y.length)&&"object"==typeof f[v]){var b=f[v];f[v]=_mask(f[v],{exclude:y}),f[v]!==b&&(c=!0)}}c&&(o=f)}return o},_modifyObject=function(e,r,t,n,o,i,a,l,s){if(void 0===t&&(t="__remove__"),void 0===n&&(n="__prepend__"),void 0===o&&(o="__append__"),void 0===i&&(i="__"),void 0===a&&(a="__"),void 0===l&&(l=null),void 0===s&&(s=null),isMap(r)&&isMap(e))for(var u,c=_createForOfIteratorHelperLoose(r);!(u=c()).done;){var f=u.value,_=f[0],p=f[1];e.has(_)&&_modifyObject(e.get(_),p,t,n,o,i,a,r,_)}else if(isObject(r)&&isObject(e))for(var d=0,v=Object.entries(r);d<v.length;d++){var y=v[d],b=y[0],g=y[1],O=NaN;if(Array.isArray(e)&&b.startsWith(i)&&b.endsWith(a)&&((O=parseInt(b.substring(i.length,b.length-a.length),10))<0||O>=e.length)&&(O=NaN),[t,n,o].includes(b)||!isNaN(O)){if(Array.isArray(e))if(b===t)for(var h,m=_createForOfIteratorHelperLoose([].concat(g));!(h=m()).done;){var j=h.value;"string"==typeof j&&j.startsWith(i)&&j.endsWith(a)?e.splice(parseInt(j.substring(i.length,j.length-a.length),10),1):e.includes(j)?e.splice(e.indexOf(j),1):"number"==typeof j&&j<e.length&&e.splice(j,1)}else b===o?e=e.concat(g):b===n?e=[].concat(g).concat(e):isObject(e[O])&&isObject(g)?_extend(!0,_modifyObject(e[O],g,t,n,o,i,a),e[O],g):e[O]=g;else if(b===t)for(var w,x=_createForOfIteratorHelperLoose([].concat(g));!(w=x()).done;){var P=w.value;"string"==typeof P&&Object.prototype.hasOwnProperty.call(e,P)&&delete e[P]}delete r[b],l&&"string"==typeof s&&delete l[s]}else null!==e&&Object.prototype.hasOwnProperty.call(e,b)&&(e[b]=_modifyObject(e[b],g,t,n,o,i,a,r,b))}return e},_removeKeyPrefixes=function(e,r){void 0===r&&(r="#");var t=[].concat(r);if(Array.isArray(e))for(var n,o=0,i=_createForOfIteratorHelperLoose(e.slice());!(n=i()).done;){var a=n.value,l=!1;if("string"==typeof a){for(var s,u=_createForOfIteratorHelperLoose(t);!(s=u()).done;){var c=s.value;if(a.startsWith(c+":")){e.splice(o,1),l=!0;break}}if(l)continue}e[o]=_removeKeyPrefixes(a,t),o+=1}else if(isSet(e))for(var f,_=_createForOfIteratorHelperLoose(new Set(e));!(f=_()).done;){var p=f.value,d=!1;if("string"==typeof p){for(var v,y=_createForOfIteratorHelperLoose(t);!(v=y()).done;){var b=v.value;if(p.startsWith(b+":")){e.delete(p),d=!0;break}}if(d)continue}_removeKeyPrefixes(p,t)}else if(isMap(e))for(var g,O=_createForOfIteratorHelperLoose(new Map(e));!(g=O()).done;){var h=g.value,m=h[0],j=h[1],w=!1;if("string"==typeof m){for(var x,P=_createForOfIteratorHelperLoose(t);!(x=P()).done;){var I=x.value,A=escapeRegularExpressions(I);if(new RegExp("^"+A+"[0-9]*$").test(m)){e.delete(m),w=!0;break}}if(w)continue}e.set(m,_removeKeyPrefixes(j,t))}else if(isObject(e))for(var L=0,E=Object.entries(Object.assign({},e));L<E.length;L++){for(var M,S=E[L],N=S[0],q=S[1],k=!1,R=_createForOfIteratorHelperLoose(t);!(M=R()).done;){var V=M.value,T=escapeRegularExpressions(V);if(new RegExp("^"+T+"[0-9]*$").test(N)){delete e[N],k=!0;break}}k||(e[N]=_removeKeyPrefixes(q,t))}return e},_represent=function(e,r,t,n,o,i){if(void 0===r&&(r=30),void 0===t&&(t=" "),void 0===n&&(n=""),void 0===o&&(o="__maximum_number_of_levels_reached__"),void 0===i&&(i=8),0===i)return String(o);if(null===e)return"null";if(void 0===e)return"undefined";if("string"==typeof e)return'"'+e.replace(/\n/g,"\n"+n)+'"';if(isNumeric(e)||"boolean"==typeof e)return String(e);if(e instanceof Date)return e.toISOString();if(Array.isArray(e)){for(var a,l="[",s=!1,u=1,c=_createForOfIteratorHelperLoose(e);!(a=c()).done;){var f=a.value;if(u>r){l+="\n"+n+"...";break}s&&(l+=","),l+="\n"+n+t+_represent(f,r,t,""+n+t,o,i-1),s=!0,u+=1}return s&&(l+="\n"+n),l+="]"}if(isMap(e)){for(var _,p="",d=!1,v=1,y=_createForOfIteratorHelperLoose(e);!(_=y()).done;){var b=_.value,g=b[0],O=b[1];if(v>r){p+=",\n"+n+"...";break}d&&(p+=",\n"+n+t),p+=_represent(g,r,t,""+n+t,o,i-1)+" -> "+_represent(O,r,t,""+n+t,o,i-1),d=!0,v+=1}return d||(p="EmptyMap"),p}if(isSet(e)){for(var h,m="{",j=!1,w=1,x=_createForOfIteratorHelperLoose(e);!(h=x()).done;){var P=h.value;if(w>r){m+=",\n"+n+"...";break}j&&(m+=","),m+="\n"+n+t+_represent(P,r,t,""+n+t,o,i-1),j=!0,w+=1}return j?m+="\n"+n+"}":m="EmptySet",m}if(isFunction(e))return"__function__";for(var I,A="{",L=!1,E=1,M=_createForOfIteratorHelperLoose(Object.getOwnPropertyNames(e).sort());!(I=M()).done;){var S=I.value;if(E>r){A+=",\n"+n+"...";break}L&&(A+=","),A+="\n"+n+t+S+": "+_represent(e[S],r,t,""+n+t,o,i-1),L=!0,E+=1}return L&&(A+="\n"+n),A+="}"},sort=function(e){var r=[];if(Array.isArray(e))for(var t=0;t<e.length;t++)r.push(t);else if("object"==typeof e)if(isMap(e))for(var n,o=_createForOfIteratorHelperLoose(e);!(n=o()).done;){var i=n.value;r.push(i[0])}else if(null!==e)for(var a=0,l=Object.keys(e);a<l.length;a++){var s=l[a];r.push(s)}return r.sort()},_unwrapProxy=function(e,r){if(void 0===r&&(r=new Set),isObject(e)){if(r.has(e))return e;try{isFunction(e.__revoke__)&&(isProxy(e)&&(e=e.__target__),e.__revoke__())}catch(r){return e}finally{r.add(e)}if(Array.isArray(e))for(var t,n=0,o=_createForOfIteratorHelperLoose(e);!(t=o()).done;){var i=t.value;e[n]=_unwrapProxy(i,r),n+=1}else if(isMap(e))for(var a,l=_createForOfIteratorHelperLoose(e);!(a=l()).done;){var s=a.value,u=s[0],c=s[1];e.set(u,_unwrapProxy(c,r))}else if(isSet(e)){for(var f,_=[],p=_createForOfIteratorHelperLoose(e);!(f=p()).done;){var d=f.value;e.delete(d),_.push(_unwrapProxy(d,r))}for(var v=0,y=_;v<y.length;v++){var b=y[v];e.add(b)}}else for(var g=0,O=Object.entries(e);g<O.length;g++){var h=O[g],m=h[0],j=h[1];e[m]=_unwrapProxy(j,r)}}return e}},function(e){e.exports=__WEBPACK_EXTERNAL_MODULE__3__},function(e,r,t){t.d(r,{isNumeric:function(){return o}});var n=t(2);var o=function(e){var r=(0,n.determineType)(e);return["number","string"].includes(r)&&!isNaN(e-parseFloat(e))}},function(module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{currentImport:function(){return currentImport},optionalRequire:function(){return optionalRequire}});var currentRequire=eval("typeof require === 'undefined' ? null : require"),currentOptionalImport=null;try{currentOptionalImport=eval("typeof import === 'undefined' ? null : import")}catch(e){}var currentImport=currentOptionalImport,optionalRequire=function(e){try{return currentRequire?currentRequire(e):null}catch(e){return null}},clearRequireCache=function(e){void 0===e&&(e=(null==currentRequire?void 0:currentRequire.cache)||__webpack_require__.c);for(var r={},t=0,n=Object.entries(e);t<n.length;t++){var o=n[t],i=o[0],a=o[1];r[i]=a,delete e[i]}return r},restoreRequireCache=function(e,r){void 0===e&&(e=(null==currentRequire?void 0:currentRequire.cache)||__webpack_require__.c),clearRequireCache();for(var t=0,n=Object.entries(r);t<n.length;t++){var o=n[t],i=o[0],a=o[1];e[i]=a}},isolatedRequire=function(e,r){void 0===r&&(r=currentRequire||__webpack_require__(6));var t=clearRequireCache(r.cache);try{return r(e)}catch(e){throw e}finally{restoreRequireCache(r.cache,t)}}},function(e){function r(e){var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}r.keys=function(){return[]},r.resolve=r,r.id=6,e.exports=r},,,,,,,,,,,function(e,r,t){t.d(r,{CLI_COLOR:function(){return n}});var n={black:"",blink:"",blue:"",bold:"",cyan:"",darkGray:"",default:"",dim:"",green:"",invert:"",invisible:"",lightBlue:"",lightCyan:"",lightGray:"",lightGreen:"",lightMagenta:"",lightRed:"",lightYellow:"",magenta:"",nodim:"",noblink:"",nobold:"",noinvert:"",noinvisible:"",nounderline:"",red:"",underline:"",white:"",yellow:""}},function(e,r,t){t.r(r),t.d(r,{LEVELS:function(){return s},LEVELS_COLOR:function(){return u},Logger:function(){return c}});var n,o=t(17),i=t(1),a=t(4),l=t(2),s=["error","critical","warn","info","debug"],u=[o.CLI_COLOR.red,o.CLI_COLOR.magenta,o.CLI_COLOR.yellow,o.CLI_COLOR.green,o.CLI_COLOR.blue],c=function(){function e(r){void 0===r&&(r={}),this.level=e.defaultLevel,this.name=e.defaultName,this.configure(r),e.instances[this.name]=this}e.configureAllInstances=function(r){void 0===r&&(r={}),r.level&&(e.defaultLevel=r.level),r.name&&(e.defaultName=r.name);for(var t=0,n=Object.values(e.instances);t<n.length;t++){n[t].configure(r)}};var r=e.prototype;return r.configure=function(r){var t=r.name,n=r.level;this.level=n||e.defaultLevel,this.name=t||e.defaultName},r.log=function(e,r,t,n){void 0===r&&(r=!1),void 0===t&&(t=!1),void 0===n&&(n="info");var l=s.indexOf(this.level),c=s.indexOf(n);if(r||l>=c){for(var f,_=[],p=""+u[c]+n+o.CLI_COLOR.default+":"+this.name+":"+(new Date).toISOString()+":",d=arguments.length,v=new Array(d>4?d-4:0),y=4;y<d;y++)v[y-4]=arguments[y];if(t)_.push(e);else if("string"==typeof e)_.push.apply(_,[p,e].concat(v));else if((0,a.isNumeric)(e)||"boolean"==typeof e)_.push.apply(_,[p,e.toString()].concat(v));else{var b=p.substring(0,p.length-1),g=77+u[c].length+o.CLI_COLOR.default.length-b.length,O=Math.floor(g/2);this.log(","+"-".repeat(O)+b+"-".repeat(O)+"-".repeat(g%2)+",",r,!0,n),this.log(e,r,!0,n),this.log("'"+"-".repeat(77)+"'",r,!0,n)}if(_.length)if(i.globalContext.console&&n in i.globalContext.console&&i.globalContext.console[n]!==i.NOOP)(f=i.globalContext.console)[n].apply(f,_);else{var h;Object.prototype.hasOwnProperty.call(i.globalContext,"window")&&Object.prototype.hasOwnProperty.call(i.globalContext.window,"alert")&&(null==(h=i.globalContext.window)||h.alert(_.join(" ")))}}},r.info=function(e){for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n<r;n++)t[n-1]=arguments[n];this.log.apply(this,[e,!1,!1,"info"].concat(t))},r.debug=function(e){for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n<r;n++)t[n-1]=arguments[n];this.log.apply(this,[e,!1,!1,"debug"].concat(t))},r.error=function(e){for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n<r;n++)t[n-1]=arguments[n];this.log.apply(this,[e,!0,!1,"error"].concat(t))},r.critical=function(e){for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n<r;n++)t[n-1]=arguments[n];this.log.apply(this,[e,!0,!1,"warn"].concat(t))},r.warn=function(e){for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n<r;n++)t[n-1]=arguments[n];this.log.apply(this,[e,!1,!1,"warn"].concat(t))},e.show=function(r,t,n){void 0===t&&(t=3),void 0===n&&(n=0);var o="";if("object"===(0,l.determineType)(r)){for(var i=0,a=Object.entries(r);i<a.length;i++){var s=a[i],u=s[0],c=s[1];o+=u+": ",o+=n<=t?e.show(c,t,n+1):String(c),o+="\n"}return o.trim()}return(o=String(r).trim())+' (Type: "'+(0,l.determineType)(r)+'")'},e}();n=c,c.defaultLevel="warn",c.defaultName="app",c.selfClass=n,c.instances={},c.runtimeVersion=Math.random(),r.default=c}],__webpack_module_cache__={};function __webpack_require__(e){var r=__webpack_module_cache__[e];if(void 0!==r)return r.exports;var t=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e](t,t.exports,__webpack_require__),t.loaded=!0,t.exports}__webpack_require__.c=__webpack_module_cache__,__webpack_require__.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(r,{a:r}),r},__webpack_require__.d=function(e,r){for(var t in r)__webpack_require__.o(r,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.hmd=function(e){return(e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e},__webpack_require__.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__=__webpack_require__(18);return __webpack_exports__}()});
1
+ // #!/usr/bin/env babel-node
2
+ // -*- coding: utf-8 -*-
3
+ /** @module Logger */
4
+ 'use strict';
5
+
6
+ /* !
7
+ region header
8
+ [Project page](https://torben.website/clientnode)
9
+
10
+ Copyright Torben Sickert (info["~at~"]torben.website) 16.12.2012
11
+
12
+ License
13
+ -------
14
+
15
+ This library written by Torben Sickert stands under a creative commons
16
+ naming 3.0 unported license.
17
+ See https://creativecommons.org/licenses/by/3.0/deed.de
18
+ endregion
19
+ */
20
+ var _Logger;
21
+ import "core-js/modules/es.array.push.js";
22
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
23
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
24
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
25
+ import { CLI_COLOR } from "./cli.js";
26
+ import { globalContext, NOOP } from "./context.js";
27
+ import { isNumeric } from "./indicators.js";
28
+ import { determineType } from "./object.js";
29
+ export const LEVELS = ['error', 'critical', 'warn', 'info', 'debug'];
30
+ export const LEVELS_COLOR = [CLI_COLOR.red, CLI_COLOR.magenta, CLI_COLOR.yellow, CLI_COLOR.green, CLI_COLOR.blue];
31
+ /**
32
+ * This plugin provides such interface logic like generic controller logic for
33
+ * integrating plugins into $, mutual exclusion for dependent gui elements,
34
+ * logging additional string, array or function handling. A set of helper
35
+ * functions to parse option objects dom trees or handle events is also
36
+ * provided.
37
+ * @property level - Logging level.
38
+ * @property name - Logger description.
39
+ */
40
+ export class Logger {
41
+ /**
42
+ * Configures all logger instances.
43
+ * @param options - Options to set.
44
+ */
45
+ static configureAllInstances(options = {}) {
46
+ if (options.level) Logger.defaultLevel = options.level;
47
+ if (options.name) Logger.defaultName = options.name;
48
+ for (const logger of Object.values(Logger.instances)) logger.configure(options);
49
+ }
50
+ /**
51
+ * Initializes logger.
52
+ * @param options - Options to set.
53
+ */
54
+ constructor(options = {}) {
55
+ _defineProperty(this, "level", Logger.defaultLevel);
56
+ _defineProperty(this, "name", Logger.defaultName);
57
+ this.configure(options);
58
+ Logger.instances[this.name] = this;
59
+ }
60
+ /**
61
+ * Configures logger.
62
+ * @param options - Options to set.
63
+ * @param options.name - Description of the logger instance.
64
+ * @param options.level - Logging level to configure.
65
+ */
66
+ configure({
67
+ name,
68
+ level
69
+ }) {
70
+ if (level) this.level = level;else this.level = Logger.defaultLevel;
71
+ if (name) this.name = name;else this.name = Logger.defaultName;
72
+ }
73
+ /**
74
+ * Shows the given object's representation in the browsers console if
75
+ * possible or in a standalone alert-window as fallback.
76
+ * @param object - Any object to print.
77
+ * @param force - If set to "true" given input will be shown independently
78
+ * of current logging configuration or interpreter's console
79
+ * implementation.
80
+ * @param avoidAnnotation - If set to "true" given input has no module or
81
+ * log level specific annotations.
82
+ * @param level - Description of log messages importance.
83
+ * @param additionalArguments - Additional values to print.
84
+ */
85
+ log(object, force = false, avoidAnnotation = false, level = 'info', ...additionalArguments) {
86
+ const currentLevelIndex = LEVELS.indexOf(this.level);
87
+ const levelIndex = LEVELS.indexOf(level);
88
+ if (force || currentLevelIndex >= levelIndex) {
89
+ const messages = [];
90
+ const annotation = `${LEVELS_COLOR[levelIndex]}${level}` + `${CLI_COLOR.default}:${this.name}:` + `${new Date().toISOString()}:`;
91
+ if (avoidAnnotation) messages.push(object);else if (typeof object === 'string') messages.push(annotation, object, ...additionalArguments);else if (isNumeric(object) || typeof object === 'boolean') messages.push(annotation, object.toString(), ...additionalArguments);else {
92
+ const multiLineAnnotation = annotation.substring(0, annotation.length - 1);
93
+ const lineLength = 79 - 2;
94
+ // Color codes are invisible so we have to add it.
95
+ const remainingLength = lineLength + LEVELS_COLOR[levelIndex].length + CLI_COLOR.default.length - multiLineAnnotation.length;
96
+ const halfRemainingLength = Math.floor(remainingLength / 2);
97
+ this.log(`,${'-'.repeat(halfRemainingLength)}` + multiLineAnnotation + '-'.repeat(halfRemainingLength) + `${'-'.repeat(remainingLength % 2)},`, force, true, level);
98
+ this.log(object, force, true, level);
99
+ this.log(`'${'-'.repeat(lineLength)}'`, force, true, level);
100
+ }
101
+ if (messages.length) if (!(globalContext.console && level in globalContext.console) || globalContext.console[level] === NOOP) {
102
+ if (Object.prototype.hasOwnProperty.call(globalContext, 'window') && Object.prototype.hasOwnProperty.call(globalContext.window, 'alert')) globalContext.window?.alert(messages.join(' '));
103
+ } else globalContext.console[level](...messages);
104
+ }
105
+ }
106
+ /**
107
+ * Wrapper method for the native console method usually provided by
108
+ * interpreter.
109
+ * @param object - Any object to print.
110
+ * @param additionalArguments - Additional arguments are used for string
111
+ * formatting.
112
+ */
113
+ info(object, ...additionalArguments) {
114
+ this.log(object, false, false, 'info', ...additionalArguments);
115
+ }
116
+ /**
117
+ * Wrapper method for the native console method usually provided by
118
+ * interpreter.
119
+ * @param object - Any object to print.
120
+ * @param additionalArguments - Additional arguments are used for string
121
+ * formatting.
122
+ */
123
+ debug(object, ...additionalArguments) {
124
+ this.log(object, false, false, 'debug', ...additionalArguments);
125
+ }
126
+ /**
127
+ * Wrapper method for the native console method usually provided by
128
+ * interpreter.
129
+ * @param object - Any object to print.
130
+ * @param additionalArguments - Additional arguments are used for string
131
+ * formatting.
132
+ */
133
+ error(object, ...additionalArguments) {
134
+ this.log(object, true, false, 'error', ...additionalArguments);
135
+ }
136
+ /**
137
+ * Wrapper method for the native console method usually provided by
138
+ * interpreter.
139
+ * @param object - Any object to print.
140
+ * @param additionalArguments - Additional arguments are used for string
141
+ * formatting.
142
+ */
143
+ critical(object, ...additionalArguments) {
144
+ this.log(object, true, false, 'warn', ...additionalArguments);
145
+ }
146
+ /**
147
+ * Wrapper method for the native console method usually provided by
148
+ * interpreter.
149
+ * @param object - Any object to print.
150
+ * @param additionalArguments - Additional arguments are used for string
151
+ * formatting.
152
+ */
153
+ warn(object, ...additionalArguments) {
154
+ this.log(object, false, false, 'warn', ...additionalArguments);
155
+ }
156
+ /**
157
+ * Dumps a given object in a human-readable format.
158
+ * @param object - Any object to show.
159
+ * @param level - Number of levels to dig into given object recursively.
160
+ * @param currentLevel - Maximal number of recursive function calls to
161
+ * represent given object.
162
+ * @returns Returns the serialized version of given object.
163
+ */
164
+ static show(object, level = 3, currentLevel = 0) {
165
+ let output = '';
166
+ if (determineType(object) === 'object') {
167
+ for (const [key, value] of Object.entries(object)) {
168
+ output += `${key}: `;
169
+ if (currentLevel <= level) output += Logger.show(value, level, currentLevel + 1);else output += String(value);
170
+ output += '\n';
171
+ }
172
+ return output.trim();
173
+ }
174
+ output = String(object).trim();
175
+ return `${output} (Type: "${determineType(object)}")`;
176
+ }
177
+ }
178
+ _Logger = Logger;
179
+ _defineProperty(Logger, "defaultLevel", 'warn');
180
+ _defineProperty(Logger, "defaultName", 'app');
181
+ _defineProperty(Logger, "selfClass", _Logger);
182
+ _defineProperty(Logger, "instances", {});
183
+ _defineProperty(Logger, "runtimeVersion", Math.random());
184
+ export default Logger;
185
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMb2dnZXIiXSwic291cmNlcyI6WyIuLi9zcmMvTG9nZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vICMhL3Vzci9iaW4vZW52IGJhYmVsLW5vZGVcbi8vIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLVxuLyoqIEBtb2R1bGUgTG9nZ2VyICovXG4ndXNlIHN0cmljdCdcbi8qICFcbiAgICByZWdpb24gaGVhZGVyXG4gICAgW1Byb2plY3QgcGFnZV0oaHR0cHM6Ly90b3JiZW4ud2Vic2l0ZS9jbGllbnRub2RlKVxuXG4gICAgQ29weXJpZ2h0IFRvcmJlbiBTaWNrZXJ0IChpbmZvW1wifmF0flwiXXRvcmJlbi53ZWJzaXRlKSAxNi4xMi4yMDEyXG5cbiAgICBMaWNlbnNlXG4gICAgLS0tLS0tLVxuXG4gICAgVGhpcyBsaWJyYXJ5IHdyaXR0ZW4gYnkgVG9yYmVuIFNpY2tlcnQgc3RhbmRzIHVuZGVyIGEgY3JlYXRpdmUgY29tbW9uc1xuICAgIG5hbWluZyAzLjAgdW5wb3J0ZWQgbGljZW5zZS5cbiAgICBTZWUgaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzMuMC9kZWVkLmRlXG4gICAgZW5kcmVnaW9uXG4qL1xuaW1wb3J0IHR5cGUge0xvZ2dlck9wdGlvbnMsIE1hcHBpbmd9IGZyb20gJy4vdHlwZSdcblxuaW1wb3J0IHtDTElfQ09MT1J9IGZyb20gJy4vY2xpJ1xuaW1wb3J0IHtnbG9iYWxDb250ZXh0LCBOT09QfSBmcm9tICcuL2NvbnRleHQnXG5pbXBvcnQge2lzTnVtZXJpY30gZnJvbSAnLi9pbmRpY2F0b3JzJ1xuaW1wb3J0IHtkZXRlcm1pbmVUeXBlfSBmcm9tICcuL29iamVjdCdcblxuZXhwb3J0IGNvbnN0IExFVkVMUyA9IFtcbiAgICAnZXJyb3InLFxuICAgICdjcml0aWNhbCcsXG4gICAgJ3dhcm4nLFxuICAgICdpbmZvJyxcbiAgICAnZGVidWcnXG5dIGFzIGNvbnN0XG5leHBvcnQgY29uc3QgTEVWRUxTX0NPTE9SID0gW1xuICAgIENMSV9DT0xPUi5yZWQsXG4gICAgQ0xJX0NPTE9SLm1hZ2VudGEsXG4gICAgQ0xJX0NPTE9SLnllbGxvdyxcbiAgICBDTElfQ09MT1IuZ3JlZW4sXG4gICAgQ0xJX0NPTE9SLmJsdWVcbl1cblxuZXhwb3J0IHR5cGUgTGV2ZWwgPSB0eXBlb2YgTEVWRUxTW251bWJlcl1cbi8qKlxuICogVGhpcyBwbHVnaW4gcHJvdmlkZXMgc3VjaCBpbnRlcmZhY2UgbG9naWMgbGlrZSBnZW5lcmljIGNvbnRyb2xsZXIgbG9naWMgZm9yXG4gKiBpbnRlZ3JhdGluZyBwbHVnaW5zIGludG8gJCwgbXV0dWFsIGV4Y2x1c2lvbiBmb3IgZGVwZW5kZW50IGd1aSBlbGVtZW50cyxcbiAqIGxvZ2dpbmcgYWRkaXRpb25hbCBzdHJpbmcsIGFycmF5IG9yIGZ1bmN0aW9uIGhhbmRsaW5nLiBBIHNldCBvZiBoZWxwZXJcbiAqIGZ1bmN0aW9ucyB0byBwYXJzZSAgb3B0aW9uIG9iamVjdHMgZG9tIHRyZWVzIG9yIGhhbmRsZSBldmVudHMgaXMgYWxzb1xuICogcHJvdmlkZWQuXG4gKiBAcHJvcGVydHkgbGV2ZWwgLSBMb2dnaW5nIGxldmVsLlxuICogQHByb3BlcnR5IG5hbWUgLSBMb2dnZXIgZGVzY3JpcHRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBMb2dnZXIge1xuICAgIHN0YXRpYyBkZWZhdWx0TGV2ZWw6IExldmVsID0gJ3dhcm4nXG4gICAgc3RhdGljIGRlZmF1bHROYW1lID0gJ2FwcCdcblxuICAgIHN0YXRpYyBzZWxmQ2xhc3MgPSBMb2dnZXJcbiAgICBzdGF0aWMgaW5zdGFuY2VzOiBNYXBwaW5nPExvZ2dlcj4gPSB7fVxuXG4gICAgc3RhdGljIHJ1bnRpbWVWZXJzaW9uID0gTWF0aC5yYW5kb20oKVxuXG4gICAgLyoqXG4gICAgICogQ29uZmlndXJlcyBhbGwgbG9nZ2VyIGluc3RhbmNlcy5cbiAgICAgKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbnMgdG8gc2V0LlxuICAgICAqL1xuICAgIHN0YXRpYyBjb25maWd1cmVBbGxJbnN0YW5jZXMob3B0aW9uczogUGFydGlhbDxMb2dnZXJPcHRpb25zPiA9IHt9KSB7XG4gICAgICAgIGlmIChvcHRpb25zLmxldmVsKVxuICAgICAgICAgICAgTG9nZ2VyLmRlZmF1bHRMZXZlbCA9IG9wdGlvbnMubGV2ZWxcblxuICAgICAgICBpZiAob3B0aW9ucy5uYW1lKVxuICAgICAgICAgICAgTG9nZ2VyLmRlZmF1bHROYW1lID0gb3B0aW9ucy5uYW1lXG5cbiAgICAgICAgZm9yIChjb25zdCBsb2dnZXIgb2YgT2JqZWN0LnZhbHVlcyhMb2dnZXIuaW5zdGFuY2VzKSlcbiAgICAgICAgICAgIGxvZ2dlci5jb25maWd1cmUob3B0aW9ucylcbiAgICB9XG5cbiAgICBsZXZlbDogTGV2ZWwgPSBMb2dnZXIuZGVmYXVsdExldmVsXG4gICAgbmFtZSA9IExvZ2dlci5kZWZhdWx0TmFtZVxuXG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZXMgbG9nZ2VyLlxuICAgICAqIEBwYXJhbSBvcHRpb25zIC0gT3B0aW9ucyB0byBzZXQuXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogUGFydGlhbDxMb2dnZXJPcHRpb25zPiA9IHt9KSB7XG4gICAgICAgIHRoaXMuY29uZmlndXJlKG9wdGlvbnMpXG5cbiAgICAgICAgTG9nZ2VyLmluc3RhbmNlc1t0aGlzLm5hbWVdID0gdGhpc1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb25maWd1cmVzIGxvZ2dlci5cbiAgICAgKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbnMgdG8gc2V0LlxuICAgICAqIEBwYXJhbSBvcHRpb25zLm5hbWUgLSBEZXNjcmlwdGlvbiBvZiB0aGUgbG9nZ2VyIGluc3RhbmNlLlxuICAgICAqIEBwYXJhbSBvcHRpb25zLmxldmVsIC0gTG9nZ2luZyBsZXZlbCB0byBjb25maWd1cmUuXG4gICAgICovXG4gICAgY29uZmlndXJlKHtuYW1lLCBsZXZlbH06IFBhcnRpYWw8TG9nZ2VyT3B0aW9ucz4pIHtcbiAgICAgICAgaWYgKGxldmVsKVxuICAgICAgICAgICAgdGhpcy5sZXZlbCA9IGxldmVsXG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRoaXMubGV2ZWwgPSBMb2dnZXIuZGVmYXVsdExldmVsXG5cbiAgICAgICAgaWYgKG5hbWUpXG4gICAgICAgICAgICB0aGlzLm5hbWUgPSBuYW1lXG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRoaXMubmFtZSA9IExvZ2dlci5kZWZhdWx0TmFtZVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBTaG93cyB0aGUgZ2l2ZW4gb2JqZWN0J3MgcmVwcmVzZW50YXRpb24gaW4gdGhlIGJyb3dzZXJzIGNvbnNvbGUgaWZcbiAgICAgKiBwb3NzaWJsZSBvciBpbiBhIHN0YW5kYWxvbmUgYWxlcnQtd2luZG93IGFzIGZhbGxiYWNrLlxuICAgICAqIEBwYXJhbSBvYmplY3QgLSBBbnkgb2JqZWN0IHRvIHByaW50LlxuICAgICAqIEBwYXJhbSBmb3JjZSAtIElmIHNldCB0byBcInRydWVcIiBnaXZlbiBpbnB1dCB3aWxsIGJlIHNob3duIGluZGVwZW5kZW50bHlcbiAgICAgKiBvZiBjdXJyZW50IGxvZ2dpbmcgY29uZmlndXJhdGlvbiBvciBpbnRlcnByZXRlcidzIGNvbnNvbGVcbiAgICAgKiBpbXBsZW1lbnRhdGlvbi5cbiAgICAgKiBAcGFyYW0gYXZvaWRBbm5vdGF0aW9uIC0gSWYgc2V0IHRvIFwidHJ1ZVwiIGdpdmVuIGlucHV0IGhhcyBubyBtb2R1bGUgb3JcbiAgICAgKiBsb2cgbGV2ZWwgc3BlY2lmaWMgYW5ub3RhdGlvbnMuXG4gICAgICogQHBhcmFtIGxldmVsIC0gRGVzY3JpcHRpb24gb2YgbG9nIG1lc3NhZ2VzIGltcG9ydGFuY2UuXG4gICAgICogQHBhcmFtIGFkZGl0aW9uYWxBcmd1bWVudHMgLSBBZGRpdGlvbmFsIHZhbHVlcyB0byBwcmludC5cbiAgICAgKi9cbiAgICBsb2coXG4gICAgICAgIG9iamVjdDogdW5rbm93bixcbiAgICAgICAgZm9yY2UgPSBmYWxzZSxcbiAgICAgICAgYXZvaWRBbm5vdGF0aW9uID0gZmFsc2UsXG4gICAgICAgIGxldmVsOiBMZXZlbCA9ICdpbmZvJyxcbiAgICAgICAgLi4uYWRkaXRpb25hbEFyZ3VtZW50czogQXJyYXk8dW5rbm93bj5cbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudExldmVsSW5kZXggPSBMRVZFTFMuaW5kZXhPZih0aGlzLmxldmVsKVxuICAgICAgICBjb25zdCBsZXZlbEluZGV4ID0gTEVWRUxTLmluZGV4T2YobGV2ZWwpXG5cbiAgICAgICAgaWYgKGZvcmNlIHx8IGN1cnJlbnRMZXZlbEluZGV4ID49IGxldmVsSW5kZXgpIHtcbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2VzOiBBcnJheTx1bmtub3duPiA9IFtdXG4gICAgICAgICAgICBjb25zdCBhbm5vdGF0aW9uID1cbiAgICAgICAgICAgICAgICBgJHtMRVZFTFNfQ09MT1JbbGV2ZWxJbmRleF19JHtsZXZlbH1gICtcbiAgICAgICAgICAgICAgICBgJHtDTElfQ09MT1IuZGVmYXVsdH06JHt0aGlzLm5hbWV9OmAgK1xuICAgICAgICAgICAgICAgIGAke25ldyBEYXRlKCkudG9JU09TdHJpbmcoKX06YFxuXG4gICAgICAgICAgICBpZiAoYXZvaWRBbm5vdGF0aW9uKVxuICAgICAgICAgICAgICAgIG1lc3NhZ2VzLnB1c2gob2JqZWN0KVxuICAgICAgICAgICAgZWxzZSBpZiAodHlwZW9mIG9iamVjdCA9PT0gJ3N0cmluZycpXG4gICAgICAgICAgICAgICAgbWVzc2FnZXMucHVzaChhbm5vdGF0aW9uLCBvYmplY3QsIC4uLmFkZGl0aW9uYWxBcmd1bWVudHMpXG4gICAgICAgICAgICBlbHNlIGlmIChpc051bWVyaWMob2JqZWN0KSB8fCB0eXBlb2Ygb2JqZWN0ID09PSAnYm9vbGVhbicpXG4gICAgICAgICAgICAgICAgbWVzc2FnZXMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgYW5ub3RhdGlvbiwgb2JqZWN0LnRvU3RyaW5nKCksIC4uLmFkZGl0aW9uYWxBcmd1bWVudHNcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtdWx0aUxpbmVBbm5vdGF0aW9uID1cbiAgICAgICAgICAgICAgICAgICAgYW5ub3RhdGlvbi5zdWJzdHJpbmcoMCwgYW5ub3RhdGlvbi5sZW5ndGggLSAxKVxuICAgICAgICAgICAgICAgIGNvbnN0IGxpbmVMZW5ndGggPSA3OSAtIDJcbiAgICAgICAgICAgICAgICAvLyBDb2xvciBjb2RlcyBhcmUgaW52aXNpYmxlIHNvIHdlIGhhdmUgdG8gYWRkIGl0LlxuICAgICAgICAgICAgICAgIGNvbnN0IHJlbWFpbmluZ0xlbmd0aCA9XG4gICAgICAgICAgICAgICAgICAgIGxpbmVMZW5ndGggK1xuICAgICAgICAgICAgICAgICAgICBMRVZFTFNfQ09MT1JbbGV2ZWxJbmRleF0ubGVuZ3RoICtcbiAgICAgICAgICAgICAgICAgICAgQ0xJX0NPTE9SLmRlZmF1bHQubGVuZ3RoIC1cbiAgICAgICAgICAgICAgICAgICAgbXVsdGlMaW5lQW5ub3RhdGlvbi5sZW5ndGhcbiAgICAgICAgICAgICAgICBjb25zdCBoYWxmUmVtYWluaW5nTGVuZ3RoID0gTWF0aC5mbG9vcihyZW1haW5pbmdMZW5ndGggLyAyKVxuXG4gICAgICAgICAgICAgICAgdGhpcy5sb2coXG4gICAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgIGAsJHsnLScucmVwZWF0KGhhbGZSZW1haW5pbmdMZW5ndGgpfWAgK1xuICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGlMaW5lQW5ub3RhdGlvbiArXG4gICAgICAgICAgICAgICAgICAgICAgICAnLScucmVwZWF0KGhhbGZSZW1haW5pbmdMZW5ndGgpICtcbiAgICAgICAgICAgICAgICAgICAgICAgIGAkeyctJy5yZXBlYXQocmVtYWluaW5nTGVuZ3RoICUgMil9LGBcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgZm9yY2UsXG4gICAgICAgICAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGxldmVsXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIHRoaXMubG9nKG9iamVjdCwgZm9yY2UsIHRydWUsIGxldmVsKVxuICAgICAgICAgICAgICAgIHRoaXMubG9nKFxuICAgICAgICAgICAgICAgICAgICBgJyR7Jy0nLnJlcGVhdChsaW5lTGVuZ3RoKX0nYCxcbiAgICAgICAgICAgICAgICAgICAgZm9yY2UsXG4gICAgICAgICAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGxldmVsXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAobWVzc2FnZXMubGVuZ3RoKVxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgIShcbiAgICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbENvbnRleHQuY29uc29sZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwgaW4gZ2xvYmFsQ29udGV4dC5jb25zb2xlXG4gICAgICAgICAgICAgICAgICAgICkgfHxcbiAgICAgICAgICAgICAgICAgICAgKGdsb2JhbENvbnRleHQuY29uc29sZVtsZXZlbCBhcyBrZXlvZiBDb25zb2xlXSA9PT0gTk9PUClcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbENvbnRleHQsICd3aW5kb3cnXG4gICAgICAgICAgICAgICAgICAgICAgICApICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsQ29udGV4dC53aW5kb3csICdhbGVydCdcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsQ29udGV4dC53aW5kb3c/LmFsZXJ0KG1lc3NhZ2VzLmpvaW4oJyAnKSlcbiAgICAgICAgICAgICAgICB9IGVsc2VcbiAgICAgICAgICAgICAgICAgICAgKGdsb2JhbENvbnRleHQuY29uc29sZVtsZXZlbCBhcyBrZXlvZiBDb25zb2xlXSBhc1xuICAgICAgICAgICAgICAgICAgICAgICAgQ29uc29sZVsnbG9nJ11cbiAgICAgICAgICAgICAgICAgICAgKSguLi5tZXNzYWdlcylcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBXcmFwcGVyIG1ldGhvZCBmb3IgdGhlIG5hdGl2ZSBjb25zb2xlIG1ldGhvZCB1c3VhbGx5IHByb3ZpZGVkIGJ5XG4gICAgICogaW50ZXJwcmV0ZXIuXG4gICAgICogQHBhcmFtIG9iamVjdCAtIEFueSBvYmplY3QgdG8gcHJpbnQuXG4gICAgICogQHBhcmFtIGFkZGl0aW9uYWxBcmd1bWVudHMgLSBBZGRpdGlvbmFsIGFyZ3VtZW50cyBhcmUgdXNlZCBmb3Igc3RyaW5nXG4gICAgICogZm9ybWF0dGluZy5cbiAgICAgKi9cbiAgICBpbmZvKG9iamVjdDogdW5rbm93biwgLi4uYWRkaXRpb25hbEFyZ3VtZW50czogQXJyYXk8dW5rbm93bj4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2cob2JqZWN0LCBmYWxzZSwgZmFsc2UsICdpbmZvJywgLi4uYWRkaXRpb25hbEFyZ3VtZW50cylcbiAgICB9XG4gICAgLyoqXG4gICAgICogV3JhcHBlciBtZXRob2QgZm9yIHRoZSBuYXRpdmUgY29uc29sZSBtZXRob2QgdXN1YWxseSBwcm92aWRlZCBieVxuICAgICAqIGludGVycHJldGVyLlxuICAgICAqIEBwYXJhbSBvYmplY3QgLSBBbnkgb2JqZWN0IHRvIHByaW50LlxuICAgICAqIEBwYXJhbSBhZGRpdGlvbmFsQXJndW1lbnRzIC0gQWRkaXRpb25hbCBhcmd1bWVudHMgYXJlIHVzZWQgZm9yIHN0cmluZ1xuICAgICAqIGZvcm1hdHRpbmcuXG4gICAgICovXG4gICAgZGVidWcob2JqZWN0OiB1bmtub3duLCAuLi5hZGRpdGlvbmFsQXJndW1lbnRzOiBBcnJheTx1bmtub3duPik6IHZvaWQge1xuICAgICAgICB0aGlzLmxvZyhvYmplY3QsIGZhbHNlLCBmYWxzZSwgJ2RlYnVnJywgLi4uYWRkaXRpb25hbEFyZ3VtZW50cylcbiAgICB9XG4gICAgLyoqXG4gICAgICogV3JhcHBlciBtZXRob2QgZm9yIHRoZSBuYXRpdmUgY29uc29sZSBtZXRob2QgdXN1YWxseSBwcm92aWRlZCBieVxuICAgICAqIGludGVycHJldGVyLlxuICAgICAqIEBwYXJhbSBvYmplY3QgLSBBbnkgb2JqZWN0IHRvIHByaW50LlxuICAgICAqIEBwYXJhbSBhZGRpdGlvbmFsQXJndW1lbnRzIC0gQWRkaXRpb25hbCBhcmd1bWVudHMgYXJlIHVzZWQgZm9yIHN0cmluZ1xuICAgICAqIGZvcm1hdHRpbmcuXG4gICAgICovXG4gICAgZXJyb3Iob2JqZWN0OiB1bmtub3duLCAuLi5hZGRpdGlvbmFsQXJndW1lbnRzOiBBcnJheTx1bmtub3duPik6IHZvaWQge1xuICAgICAgICB0aGlzLmxvZyhvYmplY3QsIHRydWUsIGZhbHNlLCAnZXJyb3InLCAuLi5hZGRpdGlvbmFsQXJndW1lbnRzKVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBXcmFwcGVyIG1ldGhvZCBmb3IgdGhlIG5hdGl2ZSBjb25zb2xlIG1ldGhvZCB1c3VhbGx5IHByb3ZpZGVkIGJ5XG4gICAgICogaW50ZXJwcmV0ZXIuXG4gICAgICogQHBhcmFtIG9iamVjdCAtIEFueSBvYmplY3QgdG8gcHJpbnQuXG4gICAgICogQHBhcmFtIGFkZGl0aW9uYWxBcmd1bWVudHMgLSBBZGRpdGlvbmFsIGFyZ3VtZW50cyBhcmUgdXNlZCBmb3Igc3RyaW5nXG4gICAgICogZm9ybWF0dGluZy5cbiAgICAgKi9cbiAgICBjcml0aWNhbChvYmplY3Q6IHVua25vd24sIC4uLmFkZGl0aW9uYWxBcmd1bWVudHM6IEFycmF5PHVua25vd24+KSB7XG4gICAgICAgIHRoaXMubG9nKG9iamVjdCwgdHJ1ZSwgZmFsc2UsICd3YXJuJywgLi4uYWRkaXRpb25hbEFyZ3VtZW50cylcbiAgICB9XG4gICAgLyoqXG4gICAgICogV3JhcHBlciBtZXRob2QgZm9yIHRoZSBuYXRpdmUgY29uc29sZSBtZXRob2QgdXN1YWxseSBwcm92aWRlZCBieVxuICAgICAqIGludGVycHJldGVyLlxuICAgICAqIEBwYXJhbSBvYmplY3QgLSBBbnkgb2JqZWN0IHRvIHByaW50LlxuICAgICAqIEBwYXJhbSBhZGRpdGlvbmFsQXJndW1lbnRzIC0gQWRkaXRpb25hbCBhcmd1bWVudHMgYXJlIHVzZWQgZm9yIHN0cmluZ1xuICAgICAqIGZvcm1hdHRpbmcuXG4gICAgICovXG4gICAgd2FybihvYmplY3Q6IHVua25vd24sIC4uLmFkZGl0aW9uYWxBcmd1bWVudHM6IEFycmF5PHVua25vd24+KSB7XG4gICAgICAgIHRoaXMubG9nKG9iamVjdCwgZmFsc2UsIGZhbHNlLCAnd2FybicsIC4uLmFkZGl0aW9uYWxBcmd1bWVudHMpXG4gICAgfVxuICAgIC8qKlxuICAgICAqIER1bXBzIGEgZ2l2ZW4gb2JqZWN0IGluIGEgaHVtYW4tcmVhZGFibGUgZm9ybWF0LlxuICAgICAqIEBwYXJhbSBvYmplY3QgLSBBbnkgb2JqZWN0IHRvIHNob3cuXG4gICAgICogQHBhcmFtIGxldmVsIC0gTnVtYmVyIG9mIGxldmVscyB0byBkaWcgaW50byBnaXZlbiBvYmplY3QgcmVjdXJzaXZlbHkuXG4gICAgICogQHBhcmFtIGN1cnJlbnRMZXZlbCAtIE1heGltYWwgbnVtYmVyIG9mIHJlY3Vyc2l2ZSBmdW5jdGlvbiBjYWxscyB0b1xuICAgICAqIHJlcHJlc2VudCBnaXZlbiBvYmplY3QuXG4gICAgICogQHJldHVybnMgUmV0dXJucyB0aGUgc2VyaWFsaXplZCB2ZXJzaW9uIG9mIGdpdmVuIG9iamVjdC5cbiAgICAgKi9cbiAgICBzdGF0aWMgc2hvdyhcbiAgICAgICAgb2JqZWN0OiB1bmtub3duLCBsZXZlbCA9IDMsIGN1cnJlbnRMZXZlbCA9IDBcbiAgICApOiBzdHJpbmcge1xuICAgICAgICBsZXQgb3V0cHV0ID0gJydcblxuICAgICAgICBpZiAoZGV0ZXJtaW5lVHlwZShvYmplY3QpID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoXG4gICAgICAgICAgICAgICAgb2JqZWN0IGFzIE1hcHBpbmc8dW5rbm93bj5cbiAgICAgICAgICAgICkpIHtcbiAgICAgICAgICAgICAgICBvdXRwdXQgKz0gYCR7a2V5fTogYFxuXG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRMZXZlbCA8PSBsZXZlbClcbiAgICAgICAgICAgICAgICAgICAgb3V0cHV0ICs9IExvZ2dlci5zaG93KHZhbHVlLCBsZXZlbCwgY3VycmVudExldmVsICsgMSlcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIG91dHB1dCArPSBTdHJpbmcodmFsdWUpXG5cbiAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ1xcbidcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG91dHB1dC50cmltKClcbiAgICAgICAgfVxuXG4gICAgICAgIG91dHB1dCA9IFN0cmluZyhvYmplY3QpLnRyaW0oKVxuXG4gICAgICAgIHJldHVybiBgJHtvdXRwdXR9IChUeXBlOiBcIiR7ZGV0ZXJtaW5lVHlwZShvYmplY3QpfVwiKWBcbiAgICB9XG59XG5leHBvcnQgZGVmYXVsdCBMb2dnZXJcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0EsWUFBWTs7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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
package/dist/Semaphore.js CHANGED
@@ -1 +1,65 @@
1
- "use strict";if("undefined"!=typeof module&&null!==module&&"undefined"!==eval("typeof require")&&null!==eval("require")&&"main"in eval("require")&&"undefined"!==eval("typeof require.main")&&null!==eval("require.main")){var ORIGINAL_MAIN_MODULE=module;module!==eval("require.main")&&"paths"in module&&"paths"in eval("require.main")&&"undefined"!=typeof __dirname&&null!==__dirname&&(module.paths=eval("require.main.paths").concat(module.paths.filter(function(path){return eval("require.main.paths").includes(path)})))}if(null==window)var window="undefined"==typeof global||null===global?{}:global;!function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r();else if("function"==typeof define&&define.amd)define([],r);else{var n=r();for(var u in n)("object"==typeof exports?exports:e)[u]=n[u]}}(this,function(){return function(){var e={d:function(r,n){for(var u in n)e.o(n,u)&&!e.o(r,u)&&Object.defineProperty(r,u,{enumerable:!0,get:n[u]})},o:function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},r={};e.r(r),e.d(r,{Semaphore:function(){return n}});var n=function(){function e(e){void 0===e&&(e=2),this.queue=[],this.numberOfResources=void 0,this.numberOfFreeResources=void 0,this.numberOfResources=e,this.numberOfFreeResources=e}var r=e.prototype;return r.acquire=function(){var e=this;return new Promise(function(r){e.numberOfFreeResources<=0?e.queue.push(r):(e.numberOfFreeResources-=1,r(e.numberOfFreeResources))})},r.release=function(){var e=this.queue.shift();void 0===e?this.numberOfFreeResources+=1:e(this.numberOfFreeResources)},e}();return r.default=n,r}()});
1
+ // #!/usr/bin/env babel-node
2
+ // -*- coding: utf-8 -*-
3
+ /** @module Semaphore */
4
+ 'use strict';
5
+
6
+ /* !
7
+ region header
8
+ [Project page](https://torben.website/clientnode)
9
+
10
+ Copyright Torben Sickert (info["~at~"]torben.website) 16.12.2012
11
+
12
+ License
13
+ -------
14
+
15
+ This library written by Torben Sickert stands under a creative commons
16
+ naming 3.0 unported license.
17
+ See https://creativecommons.org/licenses/by/3.0/deed.de
18
+ endregion
19
+ */
20
+ import "core-js/modules/es.array.push.js";
21
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
22
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
23
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
24
+ /**
25
+ * Represents the semaphore state.
26
+ * @property queue - List of waiting resource requests.
27
+ * @property numberOfFreeResources - Number free allowed concurrent resource
28
+ * uses.
29
+ * @property numberOfResources - Number of allowed concurrent resource uses.
30
+ */
31
+ export class Semaphore {
32
+ /**
33
+ * Initializes number of resources.
34
+ * @param numberOfResources - Number of resources to manage.
35
+ */
36
+ constructor(numberOfResources = 2) {
37
+ _defineProperty(this, "queue", []);
38
+ _defineProperty(this, "numberOfResources", void 0);
39
+ _defineProperty(this, "numberOfFreeResources", void 0);
40
+ this.numberOfResources = numberOfResources;
41
+ this.numberOfFreeResources = numberOfResources;
42
+ }
43
+ /**
44
+ * Acquires a new resource and runs given callback if available.
45
+ * @returns A promise which will be resolved if requested resource is
46
+ * available.
47
+ */
48
+ acquire() {
49
+ return new Promise(resolve => {
50
+ if (this.numberOfFreeResources <= 0) this.queue.push(resolve);else {
51
+ this.numberOfFreeResources -= 1;
52
+ resolve(this.numberOfFreeResources);
53
+ }
54
+ });
55
+ }
56
+ /**
57
+ * Releases a resource and runs a waiting resolver if there exists some.
58
+ */
59
+ release() {
60
+ const callback = this.queue.shift();
61
+ if (callback === undefined) this.numberOfFreeResources += 1;else callback(this.numberOfFreeResources);
62
+ }
63
+ }
64
+ export default Semaphore;
65
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL1NlbWFwaG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyAjIS91c3IvYmluL2VudiBiYWJlbC1ub2RlXG4vLyAtKi0gY29kaW5nOiB1dGYtOCAtKi1cbi8qKiBAbW9kdWxlIFNlbWFwaG9yZSAqL1xuJ3VzZSBzdHJpY3QnXG4vKiAhXG4gICAgcmVnaW9uIGhlYWRlclxuICAgIFtQcm9qZWN0IHBhZ2VdKGh0dHBzOi8vdG9yYmVuLndlYnNpdGUvY2xpZW50bm9kZSlcblxuICAgIENvcHlyaWdodCBUb3JiZW4gU2lja2VydCAoaW5mb1tcIn5hdH5cIl10b3JiZW4ud2Vic2l0ZSkgMTYuMTIuMjAxMlxuXG4gICAgTGljZW5zZVxuICAgIC0tLS0tLS1cblxuICAgIFRoaXMgbGlicmFyeSB3cml0dGVuIGJ5IFRvcmJlbiBTaWNrZXJ0IHN0YW5kcyB1bmRlciBhIGNyZWF0aXZlIGNvbW1vbnNcbiAgICBuYW1pbmcgMy4wIHVucG9ydGVkIGxpY2Vuc2UuXG4gICAgU2VlIGh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS8zLjAvZGVlZC5kZVxuICAgIGVuZHJlZ2lvblxuKi9cbmltcG9ydCB0eXBlIHtBbnlGdW5jdGlvbn0gZnJvbSAnLi90eXBlJ1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHNlbWFwaG9yZSBzdGF0ZS5cbiAqIEBwcm9wZXJ0eSBxdWV1ZSAtIExpc3Qgb2Ygd2FpdGluZyByZXNvdXJjZSByZXF1ZXN0cy5cbiAqIEBwcm9wZXJ0eSBudW1iZXJPZkZyZWVSZXNvdXJjZXMgLSBOdW1iZXIgZnJlZSBhbGxvd2VkIGNvbmN1cnJlbnQgcmVzb3VyY2VcbiAqIHVzZXMuXG4gKiBAcHJvcGVydHkgbnVtYmVyT2ZSZXNvdXJjZXMgLSBOdW1iZXIgb2YgYWxsb3dlZCBjb25jdXJyZW50IHJlc291cmNlIHVzZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZW1hcGhvcmUge1xuICAgIHF1ZXVlOiBBcnJheTxBbnlGdW5jdGlvbj4gPSBbXVxuXG4gICAgbnVtYmVyT2ZSZXNvdXJjZXM6IG51bWJlclxuICAgIG51bWJlck9mRnJlZVJlc291cmNlczogbnVtYmVyXG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZXMgbnVtYmVyIG9mIHJlc291cmNlcy5cbiAgICAgKiBAcGFyYW0gbnVtYmVyT2ZSZXNvdXJjZXMgLSBOdW1iZXIgb2YgcmVzb3VyY2VzIHRvIG1hbmFnZS5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihudW1iZXJPZlJlc291cmNlcyA9IDIpIHtcbiAgICAgICAgdGhpcy5udW1iZXJPZlJlc291cmNlcyA9IG51bWJlck9mUmVzb3VyY2VzXG4gICAgICAgIHRoaXMubnVtYmVyT2ZGcmVlUmVzb3VyY2VzID0gbnVtYmVyT2ZSZXNvdXJjZXNcbiAgICB9XG4gICAgLyoqXG4gICAgICogQWNxdWlyZXMgYSBuZXcgcmVzb3VyY2UgYW5kIHJ1bnMgZ2l2ZW4gY2FsbGJhY2sgaWYgYXZhaWxhYmxlLlxuICAgICAqIEByZXR1cm5zIEEgcHJvbWlzZSB3aGljaCB3aWxsIGJlIHJlc29sdmVkIGlmIHJlcXVlc3RlZCByZXNvdXJjZSBpc1xuICAgICAqIGF2YWlsYWJsZS5cbiAgICAgKi9cbiAgICBhY3F1aXJlKCk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxudW1iZXI+KChcbiAgICAgICAgICAgIHJlc29sdmU6IChfdmFsdWU6IG51bWJlcikgPT4gdm9pZFxuICAgICAgICApOiB2b2lkID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm51bWJlck9mRnJlZVJlc291cmNlcyA8PSAwKVxuICAgICAgICAgICAgICAgIHRoaXMucXVldWUucHVzaChyZXNvbHZlKVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5udW1iZXJPZkZyZWVSZXNvdXJjZXMgLT0gMVxuXG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLm51bWJlck9mRnJlZVJlc291cmNlcylcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVsZWFzZXMgYSByZXNvdXJjZSBhbmQgcnVucyBhIHdhaXRpbmcgcmVzb2x2ZXIgaWYgdGhlcmUgZXhpc3RzIHNvbWUuXG4gICAgICovXG4gICAgcmVsZWFzZSgpIHtcbiAgICAgICAgY29uc3QgY2FsbGJhY2s6IEFueUZ1bmN0aW9uIHwgdW5kZWZpbmVkID0gdGhpcy5xdWV1ZS5zaGlmdCgpXG4gICAgICAgIGlmIChjYWxsYmFjayA9PT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgdGhpcy5udW1iZXJPZkZyZWVSZXNvdXJjZXMgKz0gMVxuICAgICAgICBlbHNlXG4gICAgICAgICAgICBjYWxsYmFjayh0aGlzLm51bWJlck9mRnJlZVJlc291cmNlcylcbiAgICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFNlbWFwaG9yZVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQSxZQUFZOztBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFiQTtBQUFBO0FBQUE7QUFBQTtBQWdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sTUFBTSxTQUFTLENBQUM7RUFLbkI7QUFDSjtBQUNBO0FBQ0E7RUFDSSxXQUFXLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxFQUFFO0lBQUEsK0JBUlAsRUFBRTtJQUFBO0lBQUE7SUFTMUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQjtJQUMxQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsaUJBQWlCO0VBQ2xEO0VBQ0E7QUFDSjtBQUNBO0FBQ0E7QUFDQTtFQUNJLE9BQU8sR0FBb0I7SUFDdkIsT0FBTyxJQUFJLE9BQU8sQ0FDZCxPQUFpQyxJQUMxQjtNQUNQLElBQUksSUFBSSxDQUFDLHFCQUFxQixJQUFJLENBQUMsRUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQ3ZCO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixJQUFJLENBQUM7UUFFL0IsT0FBTyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztNQUN2QztJQUNKLENBQUMsQ0FBQztFQUNOO0VBQ0E7QUFDSjtBQUNBO0VBQ0ksT0FBTyxHQUFHO0lBQ04sTUFBTSxRQUFpQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUQsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUN0QixJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxNQUUvQixRQUFRLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDO0VBQzVDO0FBQ0o7QUFFQSxlQUFlLFNBQVMiLCJpZ25vcmVMaXN0IjpbXX0=