clientnode 4.0.1458 → 4.0.1459

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 (142) hide show
  1. package/dist/Lock.js +83 -69
  2. package/dist/Logger.js +163 -798
  3. package/dist/Semaphore.js +46 -56
  4. package/dist/array.js +337 -668
  5. package/dist/cli.js +37 -45
  6. package/dist/constants.js +110 -198
  7. package/dist/context.js +25 -301
  8. package/dist/cookie.js +48 -302
  9. package/dist/data-transfer.js +166 -817
  10. package/dist/datetime.js +241 -1149
  11. package/dist/domNode.js +277 -532
  12. package/dist/expression/evaluators.js +234 -1231
  13. package/dist/expression/helper.js +82 -102
  14. package/dist/expression/index.js +10 -1383
  15. package/dist/expression/indicator-functions.js +21 -316
  16. package/dist/expression/type.js +5 -1
  17. package/dist/filesystem.js +324 -385
  18. package/dist/function.js +51 -93
  19. package/dist/index.js +26 -3274
  20. package/dist/indicators.js +68 -519
  21. package/dist/module.js +99 -233
  22. package/dist/number.js +25 -498
  23. package/dist/object.js +791 -958
  24. package/dist/process.js +38 -298
  25. package/dist/property-types.js +96 -17
  26. package/dist/scope.js +56 -2134
  27. package/dist/string.js +603 -1030
  28. package/dist/test-helper.js +171 -639
  29. package/dist/type.js +9 -4
  30. package/dist/utility.js +91 -408
  31. package/package.json +2 -2
  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 -86
  37. package/dist/bundle/Logger.js +0 -820
  38. package/dist/bundle/Semaphore.js +0 -75
  39. package/dist/bundle/array.js +0 -783
  40. package/dist/bundle/cli.js +0 -59
  41. package/dist/bundle/constants.js +0 -214
  42. package/dist/bundle/context.js +0 -316
  43. package/dist/bundle/cookie.js +0 -338
  44. package/dist/bundle/data-transfer.js +0 -867
  45. package/dist/bundle/datetime.js +0 -1190
  46. package/dist/bundle/domNode.js +0 -586
  47. package/dist/bundle/expression/evaluators.js +0 -1270
  48. package/dist/bundle/expression/helper.js +0 -117
  49. package/dist/bundle/expression/index.js +0 -1399
  50. package/dist/bundle/expression/indicator-functions.js +0 -332
  51. package/dist/bundle/expression/type.js +0 -16
  52. package/dist/bundle/filesystem.js +0 -472
  53. package/dist/bundle/function.js +0 -117
  54. package/dist/bundle/index.js +0 -3291
  55. package/dist/bundle/indicators.js +0 -572
  56. package/dist/bundle/module.js +0 -250
  57. package/dist/bundle/number.js +0 -534
  58. package/dist/bundle/object.js +0 -1146
  59. package/dist/bundle/process.js +0 -328
  60. package/dist/bundle/property-types.js +0 -36
  61. package/dist/bundle/scope.js +0 -2163
  62. package/dist/bundle/string.js +0 -1252
  63. package/dist/bundle/test-helper.js +0 -808
  64. package/dist/bundle/type.js +0 -16
  65. package/dist/bundle/utility.js +0 -456
  66. package/dist/cli.d.ts +0 -31
  67. package/dist/compatible/Lock.js +0 -86
  68. package/dist/compatible/Logger.js +0 -820
  69. package/dist/compatible/Semaphore.js +0 -75
  70. package/dist/compatible/array.js +0 -783
  71. package/dist/compatible/cli.js +0 -59
  72. package/dist/compatible/constants.js +0 -214
  73. package/dist/compatible/context.js +0 -316
  74. package/dist/compatible/cookie.js +0 -338
  75. package/dist/compatible/data-transfer.js +0 -867
  76. package/dist/compatible/datetime.js +0 -1190
  77. package/dist/compatible/domNode.js +0 -586
  78. package/dist/compatible/expression/evaluators.js +0 -1270
  79. package/dist/compatible/expression/helper.js +0 -117
  80. package/dist/compatible/expression/index.js +0 -1399
  81. package/dist/compatible/expression/indicator-functions.js +0 -332
  82. package/dist/compatible/expression/type.js +0 -16
  83. package/dist/compatible/filesystem.js +0 -472
  84. package/dist/compatible/function.js +0 -117
  85. package/dist/compatible/index.js +0 -3291
  86. package/dist/compatible/indicators.js +0 -572
  87. package/dist/compatible/module.js +0 -250
  88. package/dist/compatible/number.js +0 -534
  89. package/dist/compatible/object.js +0 -1146
  90. package/dist/compatible/process.js +0 -328
  91. package/dist/compatible/property-types.js +0 -36
  92. package/dist/compatible/scope.js +0 -2163
  93. package/dist/compatible/string.js +0 -1252
  94. package/dist/compatible/test-helper.js +0 -808
  95. package/dist/compatible/type.js +0 -16
  96. package/dist/compatible/utility.js +0 -456
  97. package/dist/constants.d.ts +0 -99
  98. package/dist/context.d.ts +0 -8
  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/type.d.ts +0 -70
  108. package/dist/filesystem.d.ts +0 -143
  109. package/dist/function.d.ts +0 -20
  110. package/dist/index.d.ts +0 -23
  111. package/dist/indicators.d.ts +0 -68
  112. package/dist/module.d.ts +0 -8
  113. package/dist/number.d.ts +0 -35
  114. package/dist/object.d.ts +0 -231
  115. package/dist/process.d.ts +0 -22
  116. package/dist/property-types.d.ts +0 -460
  117. package/dist/scope.d.ts +0 -44
  118. package/dist/string.d.ts +0 -312
  119. package/dist/test/Lock.d.ts +0 -1
  120. package/dist/test/Logger.d.ts +0 -1
  121. package/dist/test/Semaphore.d.ts +0 -1
  122. package/dist/test/array.d.ts +0 -1
  123. package/dist/test/cookie.d.ts +0 -1
  124. package/dist/test/data-transfer.d.ts +0 -1
  125. package/dist/test/datetime.d.ts +0 -1
  126. package/dist/test/domNode.d.ts +0 -1
  127. package/dist/test/expression/evaluators.d.ts +0 -1
  128. package/dist/test/expression/helper.d.ts +0 -1
  129. package/dist/test/expression/indicator-functions.d.ts +0 -1
  130. package/dist/test/filesystem.d.ts +0 -1
  131. package/dist/test/function.d.ts +0 -1
  132. package/dist/test/indicators.d.ts +0 -1
  133. package/dist/test/number.d.ts +0 -1
  134. package/dist/test/object.d.ts +0 -1
  135. package/dist/test/process.d.ts +0 -1
  136. package/dist/test/property-types.d.ts +0 -1
  137. package/dist/test/scope.d.ts +0 -1
  138. package/dist/test/string.d.ts +0 -1
  139. package/dist/test/utility.d.ts +0 -1
  140. package/dist/test-helper.d.ts +0 -143
  141. package/dist/type.d.ts +0 -230
  142. package/dist/utility.d.ts +0 -44
package/dist/Logger.js CHANGED
@@ -1,62 +1,9 @@
1
- if(typeof window==='undefined'||window===null)var window=(typeof global==='undefined'||global===null)?{}:global;import * as __WEBPACK_EXTERNAL_MODULE_core_js_modules_es_array_includes_js_66c3fd7d__ from "core-js/modules/es.array.includes.js";
2
- import * as __WEBPACK_EXTERNAL_MODULE_core_js_modules_es_regexp_flags_js_c0be7d17__ from "core-js/modules/es.regexp.flags.js";
3
- /******/ var __webpack_modules__ = ([
4
- /* 0 */
5
- /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
6
-
7
- var x = function(y) {
8
- var x = {}; __webpack_require__.d(x, y); return x
9
- }
10
- var y = function(x) { return function() { return x; }; }
11
- module.exports = x({ });
12
-
13
- /***/ }),
14
- /* 1 */
15
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
16
-
17
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
18
- /* harmony export */ rq: function() { return /* binding */ CLASS_TO_TYPE_MAPPING; }
19
- /* harmony export */ });
20
- /* unused harmony exports DEFAULT_ENCODING, CLOSE_EVENT_NAMES, CONSOLE_METHODS, VALUE_COPY_SYMBOL, IGNORE_NULL_AND_UNDEFINED_SYMBOL, ABBREVIATIONS, ANIMATION_END_EVENT_NAMES, KEY_CODES, KEYBOARD_CODES, LOCALES, PLAIN_OBJECT_PROTOTYPES, SPECIAL_REGEX_SEQUENCES, TRANSITION_END_EVENT_NAMES */
21
1
  // #!/usr/bin/env babel-node
22
2
  // -*- coding: utf-8 -*-
23
- /** @module constants *//* !
24
- region header
25
- [Project page](https://torben.website/clientnode)
26
-
27
- Copyright Torben Sickert (info["~at~"]torben.website) 16.12.2012
3
+ /** @module Logger */
4
+ 'use strict';
28
5
 
29
- License
30
- -------
31
-
32
- This library written by Torben Sickert stands under a creative commons
33
- naming 3.0 unported license.
34
- See https://creativecommons.org/licenses/by/3.0/deed.de
35
- endregion
36
- */var DEFAULT_ENCODING="utf8";var CLOSE_EVENT_NAMES=(/* unused pure expression or super */ null && (["close","exit","SIGINT","SIGTERM","SIGQUIT","uncaughtException"]));var CONSOLE_METHODS=(/* unused pure expression or super */ null && (["debug","error","info","log","warn"]));var VALUE_COPY_SYMBOL=Symbol.for("clientnodeValue");var IGNORE_NULL_AND_UNDEFINED_SYMBOL=Symbol.for("clientnodeIgnoreNullAndUndefined");// Lists all known abbreviation for proper camel case to delimited and back
37
- // conversion.
38
- var ABBREVIATIONS=(/* unused pure expression or super */ null && (["html","id","url","us","de","api","href"]));// Saves a string with all css3 browser specific animation end event names.
39
- var ANIMATION_END_EVENT_NAMES="animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd";// String representation to object type name mapping.
40
- var CLASS_TO_TYPE_MAPPING={"[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"};// Saves a mapping from key codes to their corresponding name.
41
- var KEY_CODES=(/* unused pure expression or super */ null && ({BACKSPACE:8,SPACE:32,TAB:9,DELETE:46,ENTER:13,COMMA:188,PERIOD:190,END:35,ESCAPE:27,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,HOME:36,NUMPAD_ADD:107,NUMPAD_SUBTRACT:109,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,PAGE_UP:33,PAGE_DOWN:34,UP:38,DOWN:40,LEFT:37,RIGHT:39}));var KEYBOARD_CODES=(/* unused pure expression or super */ null && ({BACKSPACE:"Backspace",SPACE:"Space",TAB:"Tab",DELETE:"Delete",ENTER:"Enter",COMMA:"Comma",PERIOD:"Period",END:"End",ESCAPE:"Escape",F1:"F1",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",F10:"F10",F11:"F111",F12:"F12",HOME:"Home",NUMPAD_ADD:"NumpadAdd",NUMPAD_SUBTRACT:"NumpadSubtract",NUMPAD_DECIMAL:"NumpadDecimal",NUMPAD_DIVIDE:"NumpadDivide",NUMPAD_ENTER:"NumpadEnter",NUMPAD_MULTIPLY:"NumpadMultiply",PAGE_UP:"PageUp",PAGE_DOWN:"PageUp",UP:"ArrowUp",DOWN:"ArrowDown",LEFT:"ArrowLeft",RIGHT:"ArrowUp"}));var LOCALES=(/* unused pure expression or super */ null && ([]));var PLAIN_OBJECT_PROTOTYPES=[Object.prototype];// A list of special regular expression symbols.
42
- var SPECIAL_REGEX_SEQUENCES=(/* unused pure expression or super */ null && (["-","[","]","(",")","^","$","*","+",".","{","}"]));// Saves a string with all css3 browser specific transition end event names.
43
- var TRANSITION_END_EVENT_NAMES="transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd";
44
-
45
- /***/ }),
46
- /* 2 */
47
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
48
-
49
- __webpack_require__.a(module, async function (__webpack_handle_async_dependencies__, __webpack_async_result__) { try {
50
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
51
- /* harmony export */ I5: function() { return /* binding */ optionalRequire; },
52
- /* harmony export */ Sw: function() { return /* binding */ optionalImport; },
53
- /* harmony export */ a8: function() { return /* binding */ determineGlobalContext; }
54
- /* harmony export */ });
55
- /* unused harmony exports isImportSyntaxSupported, currentRequire, clearRequireCache, isolatedRequire */
56
- /* module decorator */ module = __webpack_require__.hmd(module);
57
- // #!/usr/bin/env babel-node
58
- // -*- coding: utf-8 -*-
59
- /** @module module *//* !
6
+ /* !
60
7
  region header
61
8
  [Project page](https://torben.website/clientnode)
62
9
 
@@ -69,502 +16,19 @@ __webpack_require__.a(module, async function (__webpack_handle_async_dependencie
69
16
  naming 3.0 unported license.
70
17
  See https://creativecommons.org/licenses/by/3.0/deed.de
71
18
  endregion
72
- */function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof Generator?n:Generator,u=Object.create(c.prototype);return _regeneratorDefine2(u,"_invoke",function(r,n,o){var i,c,u,f=0,p=o||[],y=!1,G={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function d(t,r){return i=t,c=0,u=e,G.n=r,a}};function d(r,n){for(c=r,u=n,t=0;!y&&f&&!o&&t<p.length;t++){var o,i=p[t],d=G.p,l=i[2];r>3?(o=l===n)&&(u=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=r<2&&d<i[1])?(c=0,G.v=n,G.n=i[1]):d<l&&(o=r<3||i[0]>n||n>l)&&(i[4]=r,i[5]=n,G.n=l,c=0))}if(o||r>1)return a;throw y=!0,n}return function(o,p,l){if(f>1)throw TypeError("Generator is already running");for(y&&1===p&&d(p,l),c=p,u=l;(t=c<2?e:u)||!y;){i||(c?c<3?(c>1&&(G.n=-1),d(c,u)):G.n=u:G.v=u);try{if(f=2,i){if(c||(o="next"),t=i[o]){if(!(t=t.call(i,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,c<2&&(c=0)}else 1===c&&(t=i.return)&&t.call(i),c<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=e}else if((t=(y=G.n<0)?u:r.call(n,G))!==a)break}catch(t){i=e,c=1,u=t}finally{f=1}}return{value:t,done:y}}}(r,o,i),!0),u}var a={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}t=Object.getPrototypeOf;var c=[][n]?t(t([][n]())):(_regeneratorDefine2(t={},n,function(){return this}),t),u=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(c);function f(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,GeneratorFunctionPrototype):(e.__proto__=GeneratorFunctionPrototype,_regeneratorDefine2(e,o,"GeneratorFunction")),e.prototype=Object.create(u),e}return GeneratorFunction.prototype=GeneratorFunctionPrototype,_regeneratorDefine2(u,"constructor",GeneratorFunctionPrototype),_regeneratorDefine2(GeneratorFunctionPrototype,"constructor",GeneratorFunction),GeneratorFunction.displayName="GeneratorFunction",_regeneratorDefine2(GeneratorFunctionPrototype,o,"GeneratorFunction"),_regeneratorDefine2(u),_regeneratorDefine2(u,o,"Generator"),_regeneratorDefine2(u,n,function(){return this}),_regeneratorDefine2(u,"toString",function(){return"[object Generator]"}),(_regenerator=function _regenerator(){return{w:i,m:f}})()}function _regeneratorDefine2(e,r,n,t){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}_regeneratorDefine2=function _regeneratorDefine(e,r,n,t){function o(r,n){_regeneratorDefine2(e,r,function(e){return this._invoke(r,n,e)})}r?i?i(e,r,{value:n,enumerable:!t,configurable:!t,writable:!t}):e[r]=n:(o("next",0),o("throw",1),o("return",2))},_regeneratorDefine2(e,r,n,t)}function asyncGeneratorStep(n,t,e,r,o,a,c){try{var i=n[a](c),u=i.value}catch(n){return void e(n)}i.done?t(u):Promise.resolve(u).then(r,o)}function _asyncToGenerator(n){return function(){var t=this,e=arguments;return new Promise(function(r,o){var a=n.apply(t,e);function _next(n){asyncGeneratorStep(a,r,o,_next,_throw,"next",n)}function _throw(n){asyncGeneratorStep(a,r,o,_next,_throw,"throw",n)}_next(void 0)})}}function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r}finally{try{if(!f&&null!=t.return&&(u=t.return(),Object(u)!==u))return}finally{if(o)throw n}}return a}}function _arrayWithHoles(r){if(Array.isArray(r))return r}var determineGlobalContext=function determineGlobalContext(){if(typeof globalThis==="undefined"){if(typeof window==="undefined"){if(typeof __webpack_require__.g==="undefined")return false?0:module;if(Object.prototype.hasOwnProperty.call(__webpack_require__.g,"window"))return __webpack_require__.g.window;return __webpack_require__.g}return window}return globalThis};var globalContext=determineGlobalContext();// Make preprocessed import function available at runtime.
73
- var isImportSyntaxSupported=function isImportSyntaxSupported(){try{// eslint-disable-next-line @typescript-eslint/no-implied-eval
74
- new Function("import(\"data:text/javascript,\")");return true}catch(_unused){return false}};// Make preprocessed require function available at runtime.
75
- var customRequire=typeof globalContext.require==="undefined"?null:globalContext.require;if(!customRequire&&isImportSyntaxSupported())try{var _await$Function=/*
76
- eslint-disable
77
- @typescript-eslint/no-implied-eval,
78
- @typescript-eslint/no-unsafe-call
79
- */await new Function("return import(\"node:module\")")(),createRequire=_await$Function.createRequire;/*
80
- eslint-enable
81
- @typescript-eslint/no-implied-eval,
82
- @typescript-eslint/no-unsafe-call
83
- */// eslint-disable-next-line @typescript-eslint/no-unsafe-call
84
- customRequire=createRequire("file:///__w/clientnode/clientnode/src/module.ts")}catch(_unused2){// Ignore error.
85
- }var currentRequire=customRequire;var optionalRequire=function optionalRequire(id){try{return currentRequire?currentRequire(id):null}catch(_unused3){return null}};var clearRequireCache=function clearRequireCache(cache){if(cache===void 0){cache=(currentRequire===null||currentRequire===void 0?void 0:currentRequire.cache)||__webpack_require__.c}var backup={};for(var _i=0,_Object$entries=Object.entries(cache);_i<_Object$entries.length;_i++){var _Object$entries$_i=_slicedToArray(_Object$entries[_i],2),key=_Object$entries$_i[0],_module=_Object$entries$_i[1];backup[key]=_module;delete cache[key]}return backup};var restoreRequireCache=function restoreRequireCache(cache,backup){if(cache===void 0){cache=(currentRequire===null||currentRequire===void 0?void 0:currentRequire.cache)||__webpack_require__.c}clearRequireCache();for(var _i2=0,_Object$entries2=Object.entries(backup);_i2<_Object$entries2.length;_i2++){var _Object$entries2$_i=_slicedToArray(_Object$entries2[_i2],2),key=_Object$entries2$_i[0],_module2=_Object$entries2$_i[1];cache[key]=_module2}};var isolatedRequire=function isolatedRequire(path,requireFunction){if(requireFunction===void 0){requireFunction=currentRequire||__webpack_require__(6)}var backup=clearRequireCache(requireFunction.cache);try{return requireFunction(path);// eslint-disable-next-line no-useless-catch
86
- }catch(error){throw error}finally{restoreRequireCache(requireFunction.cache,backup)}};var optionalImport=/*#__PURE__*/function(){var _optionalImport=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(id,options){var _t,_t2;return _regenerator().w(function(_context){while(1)switch(_context.p=_context.n){case 0:if(options===void 0){options={}}_context.p=1;if(!isImportSyntaxSupported()){_context.n=3;break}_context.n=2;return new Function("options","return import('".concat(id,"', options)"))(options);case 2:_t=_context.v;_context.n=5;break;case 3:_context.n=4;return Promise.resolve(null);case 4:_t=_context.v;case 5:return _context.a(2,_t);case 6:_context.p=6;_t2=_context.v;console.error("OptionalImport failed for",id,_t2);_context.n=7;return Promise.resolve(null);case 7:return _context.a(2,_context.v)}},_callee,null,[[1,6]])}));function optionalImport(_x,_x2){return _optionalImport.apply(this,arguments)}return optionalImport}();
87
- __webpack_async_result__();
88
- } catch(e) { __webpack_async_result__(e); } }, 1);
89
-
90
- /***/ }),
91
- /* 3 */
92
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
93
-
94
- __webpack_require__.a(module, async function (__webpack_handle_async_dependencies__, __webpack_async_result__) { try {
95
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
96
- /* harmony export */ Sj: function() { return /* binding */ determineType; }
97
- /* harmony export */ });
98
- /* unused harmony exports addDynamicGetterAndSetter, convertCircularObjectToJSON, convertMapToPlainObject, convertPlainObjectToMap, convertSubstringInPlainObject, copy, equals, evaluateDynamicData, evaluateAsyncDynamicData, removeKeysInEvaluation, extend, getProxyHandler, mask, modifyObject, removeKeyPrefixes, represent, sort, unwrapProxy */
99
- /* unused harmony import specifier */ var VALUE_COPY_SYMBOL;
100
- /* unused harmony import specifier */ var IGNORE_NULL_AND_UNDEFINED_SYMBOL;
101
- /* unused harmony import specifier */ var isMap;
102
- /* unused harmony import specifier */ var isSet;
103
- /* unused harmony import specifier */ var isObject;
104
- /* unused harmony import specifier */ var isPlainObject;
105
- /* unused harmony import specifier */ var isFunction;
106
- /* unused harmony import specifier */ var isProxy;
107
- /* unused harmony import specifier */ var isNumeric;
108
- /* unused harmony import specifier */ var isNotANumber;
109
- /* unused harmony import specifier */ var evaluateOrThrowError;
110
- /* unused harmony import specifier */ var escapeRegularExpressions;
111
- /* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
112
- /* harmony import */ var core_js_modules_es_regexp_flags_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8);
113
- /* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1);
114
- // #!/usr/bin/env babel-node
115
- // -*- coding: utf-8 -*-
116
- /** @module object *//* !
117
- region header
118
- [Project page](https://torben.website/clientnode)
119
-
120
- Copyright Torben Sickert (info["~at~"]torben.website) 16.12.2012
121
-
122
- License
123
- -------
124
-
125
- This library written by Torben Sickert stands under a creative commons
126
- naming 3.0 unported license.
127
- See https://creativecommons.org/licenses/by/3.0/deed.de
128
- endregion
129
- */function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r)}function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof Generator?n:Generator,u=Object.create(c.prototype);return _regeneratorDefine2(u,"_invoke",function(r,n,o){var i,c,u,f=0,p=o||[],y=!1,G={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function d(t,r){return i=t,c=0,u=e,G.n=r,a}};function d(r,n){for(c=r,u=n,t=0;!y&&f&&!o&&t<p.length;t++){var o,i=p[t],d=G.p,l=i[2];r>3?(o=l===n)&&(u=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=r<2&&d<i[1])?(c=0,G.v=n,G.n=i[1]):d<l&&(o=r<3||i[0]>n||n>l)&&(i[4]=r,i[5]=n,G.n=l,c=0))}if(o||r>1)return a;throw y=!0,n}return function(o,p,l){if(f>1)throw TypeError("Generator is already running");for(y&&1===p&&d(p,l),c=p,u=l;(t=c<2?e:u)||!y;){i||(c?c<3?(c>1&&(G.n=-1),d(c,u)):G.n=u:G.v=u);try{if(f=2,i){if(c||(o="next"),t=i[o]){if(!(t=t.call(i,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,c<2&&(c=0)}else 1===c&&(t=i.return)&&t.call(i),c<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=e}else if((t=(y=G.n<0)?u:r.call(n,G))!==a)break}catch(t){i=e,c=1,u=t}finally{f=1}}return{value:t,done:y}}}(r,o,i),!0),u}var a={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}t=Object.getPrototypeOf;var c=[][n]?t(t([][n]())):(_regeneratorDefine2(t={},n,function(){return this}),t),u=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(c);function f(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,GeneratorFunctionPrototype):(e.__proto__=GeneratorFunctionPrototype,_regeneratorDefine2(e,o,"GeneratorFunction")),e.prototype=Object.create(u),e}return GeneratorFunction.prototype=GeneratorFunctionPrototype,_regeneratorDefine2(u,"constructor",GeneratorFunctionPrototype),_regeneratorDefine2(GeneratorFunctionPrototype,"constructor",GeneratorFunction),GeneratorFunction.displayName="GeneratorFunction",_regeneratorDefine2(GeneratorFunctionPrototype,o,"GeneratorFunction"),_regeneratorDefine2(u),_regeneratorDefine2(u,o,"Generator"),_regeneratorDefine2(u,n,function(){return this}),_regeneratorDefine2(u,"toString",function(){return"[object Generator]"}),(_regenerator=function _regenerator(){return{w:i,m:f}})()}function _regeneratorDefine2(e,r,n,t){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}_regeneratorDefine2=function _regeneratorDefine(e,r,n,t){function o(r,n){_regeneratorDefine2(e,r,function(e){return this._invoke(r,n,e)})}r?i?i(e,r,{value:n,enumerable:!t,configurable:!t,writable:!t}):e[r]=n:(o("next",0),o("throw",1),o("return",2))},_regeneratorDefine2(e,r,n,t)}function asyncGeneratorStep(n,t,e,r,o,a,c){try{var i=n[a](c),u=i.value}catch(n){return void e(n)}i.done?t(u):Promise.resolve(u).then(r,o)}function _asyncToGenerator(n){return function(){var t=this,e=arguments;return new Promise(function(r,o){var a=n.apply(t,e);function _next(n){asyncGeneratorStep(a,r,o,_next,_throw,"next",n)}function _throw(n){asyncGeneratorStep(a,r,o,_next,_throw,"throw",n)}_next(void 0)})}}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}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}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}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)}function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r}finally{try{if(!f&&null!=t.return&&(u=t.return(),Object(u)!==u))return}finally{if(o)throw n}}return a}}function _arrayWithHoles(r){if(Array.isArray(r))return r}function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var _n=0,F=function F(){};return{s:F,n:function n(){return _n>=r.length?{done:!0}:{done:!1,value:r[_n++]}},e:function e(r){throw r},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,u=!1;return{s:function s(){t=t.call(r)},n:function n(){var r=t.next();return a=r.done,r},e:function e(r){u=!0,o=r},f:function f(){try{a||null==t.return||t.return()}finally{if(u)throw o}}}}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}/**
130
- * Adds dynamic getter and setter to any given data structure such as maps.
131
- * @param object - Object to proxy.
132
- * @param getterWrapper - Function to wrap each property get.
133
- * @param setterWrapper - Function to wrap each property set.
134
- * @param methodNames - Method names to perform actions on the given
135
- * object.
136
- * @param deep - Indicates to perform a deep wrapping of specified types.
137
- * @param typesToExtend - Types which should be extended (Checks are
138
- * performed via "value instanceof type".).
139
- * @returns Returns given object wrapped with a dynamic getter proxy.
140
- */var _addDynamicGetterAndSetter=function addDynamicGetterAndSetter(object,getterWrapper,setterWrapper,methodNames,deep,typesToExtend){if(getterWrapper===void 0){getterWrapper=null}if(setterWrapper===void 0){setterWrapper=null}if(methodNames===void 0){methodNames={}}if(deep===void 0){deep=true}if(typesToExtend===void 0){typesToExtend=[Object]}if(deep&&_typeof(object)==="object")if(Array.isArray(object)){var index=0;var _iterator=_createForOfIteratorHelper(object),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var value=_step.value;object[index]=_addDynamicGetterAndSetter(value,getterWrapper,setterWrapper,methodNames,deep);index+=1}}catch(err){_iterator.e(err)}finally{_iterator.f()}}else if(isMap(object)){var _iterator2=_createForOfIteratorHelper(object),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var _step2$value=_slicedToArray(_step2.value,2),key=_step2$value[0],_value=_step2$value[1];object.set(key,_addDynamicGetterAndSetter(_value,getterWrapper,setterWrapper,methodNames,deep))}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}}else if(isSet(object)){var cache=[];var _iterator3=_createForOfIteratorHelper(object),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var _value3=_step3.value;object.delete(_value3);cache.push(_addDynamicGetterAndSetter(_value3,getterWrapper,setterWrapper,methodNames,deep))}}catch(err){_iterator3.e(err)}finally{_iterator3.f()}for(var _i=0,_cache=cache;_i<_cache.length;_i++){var _value2=_cache[_i];object.add(_value2)}}else if(object!==null)for(var _i2=0,_Object$entries=Object.entries(object);_i2<_Object$entries.length;_i2++){var _Object$entries$_i=_slicedToArray(_Object$entries[_i2],2),_key=_Object$entries$_i[0],_value4=_Object$entries$_i[1];object[_key]=_addDynamicGetterAndSetter(_value4,getterWrapper,setterWrapper,methodNames,deep)}if(getterWrapper||setterWrapper){var _iterator4=_createForOfIteratorHelper(typesToExtend),_step4;try{var _loop=function _loop(){var type=_step4.value;if(isObject(object)&&object instanceof type){var defaultHandler=getProxyHandler(object,methodNames);var handler=getProxyHandler(object,methodNames);if(getterWrapper)handler.get=function(_target,name){if(name==="__target__")return object;if(name==="__revoke__")return function(){revoke();return object};if(typeof object[name]==="function")return object[name];return getterWrapper(defaultHandler.get(proxy,name),name,object)};if(setterWrapper)handler.set=function(_target,name,value){return defaultHandler.set(proxy,name,setterWrapper(name,value,object))};var _Proxy$revocable=Proxy.revocable({},handler),proxy=_Proxy$revocable.proxy,revoke=_Proxy$revocable.revoke;return{v:proxy}}},_ret;for(_iterator4.s();!(_step4=_iterator4.n()).done;){_ret=_loop();if(_ret)return _ret.v}}catch(err){_iterator4.e(err)}finally{_iterator4.f()}}return object};/**
141
- * Converts given object into its serialized JSON representation by
142
- * replacing circular references with a given provided value.
143
- *
144
- * This method traverses given object recursively and tracks of seen and
145
- * already serialized structures to reuse generated strings or mark a
146
- * circular reference.
147
- * @param object - Object to serialize.
148
- * @param determineCircularReferenceValue - Callback to create a fallback
149
- * value depending on given redundant value.
150
- * @param numberOfSpaces - Number of spaces to use for string formatting.
151
- * @returns The formatted JSON string.
152
- */var convertCircularObjectToJSON=function convertCircularObjectToJSON(object,determineCircularReferenceValue,numberOfSpaces){if(determineCircularReferenceValue===void 0){determineCircularReferenceValue=function determineCircularReferenceValue(serializedValue){return serializedValue!==null&&serializedValue!==void 0?serializedValue:"__circularReference__"}}if(numberOfSpaces===void 0){numberOfSpaces=0}var seenObjects=new Map;var stringifier=function stringifier(object){var _replacer=function replacer(key,value){if(isObject(value)){var _seenObjects$get;if(seenObjects.has(value))return determineCircularReferenceValue((_seenObjects$get=seenObjects.get(value))!==null&&_seenObjects$get!==void 0?_seenObjects$get:null,key,value,seenObjects);// NOTE: Set before traversing deeper to detect cycles.
153
- seenObjects.set(value,null);var result;if(Array.isArray(value)){result=[];var _iterator5=_createForOfIteratorHelper(value),_step5;try{for(_iterator5.s();!(_step5=_iterator5.n()).done;){var item=_step5.value;result.push(_replacer(null,item))}}catch(err){_iterator5.e(err)}finally{_iterator5.f()}}else{result={};for(var _i3=0,_Object$entries2=Object.entries(value);_i3<_Object$entries2.length;_i3++){var _Object$entries2$_i=_slicedToArray(_Object$entries2[_i3],2),name=_Object$entries2$_i[0],subValue=_Object$entries2$_i[1];result[name]=_replacer(name,subValue)}}seenObjects.set(value,result);return result}return value};return JSON.stringify(object,_replacer,numberOfSpaces)};return stringifier(object)};/**
154
- * Converts given map and all nested found maps objects to corresponding
155
- * object.
156
- * @param object - Map to convert to.
157
- * @param deep - Indicates whether to perform a recursive conversion.
158
- * @returns Given map as object.
159
- */var _convertMapToPlainObject=function convertMapToPlainObject(object,deep){if(deep===void 0){deep=true}if(_typeof(object)==="object"){if(isMap(object)){var newObject={};var _iterator6=_createForOfIteratorHelper(object),_step6;try{for(_iterator6.s();!(_step6=_iterator6.n()).done;){var _step6$value=_slicedToArray(_step6.value,2),key=_step6$value[0],value=_step6$value[1];if(deep)value=_convertMapToPlainObject(value,deep);if(["number","string"].includes(_typeof(key)))newObject[String(key)]=value}}catch(err){_iterator6.e(err)}finally{_iterator6.f()}return newObject}if(deep)if(isPlainObject(object))for(var _i4=0,_Object$entries3=Object.entries(object);_i4<_Object$entries3.length;_i4++){var _Object$entries3$_i=_slicedToArray(_Object$entries3[_i4],2),_key2=_Object$entries3$_i[0],_value5=_Object$entries3$_i[1];object[_key2]=_convertMapToPlainObject(_value5,deep)}else if(Array.isArray(object)){var index=0;for(var _i5=0,_arr=object;_i5<_arr.length;_i5++){var _value6=_arr[_i5];object[index]=_convertMapToPlainObject(_value6,deep);index+=1}}else if(isSet(object)){var cache=[];var _iterator7=_createForOfIteratorHelper(object),_step7;try{for(_iterator7.s();!(_step7=_iterator7.n()).done;){var _value8=_step7.value;object.delete(_value8);cache.push(_convertMapToPlainObject(_value8,deep))}}catch(err){_iterator7.e(err)}finally{_iterator7.f()}for(var _i6=0,_cache2=cache;_i6<_cache2.length;_i6++){var _value7=_cache2[_i6];object.add(_value7)}}}return object};/**
160
- * Converts given plain object and all nested found objects to
161
- * corresponding map.
162
- * @param object - Object to convert to.
163
- * @param deep - Indicates whether to perform a recursive conversion.
164
- * @returns Given object as map.
165
- */var _convertPlainObjectToMap=function convertPlainObjectToMap(object,deep){if(deep===void 0){deep=true}if(_typeof(object)==="object"){if(isPlainObject(object)){var newObject=new Map;for(var _i7=0,_Object$entries4=Object.entries(object);_i7<_Object$entries4.length;_i7++){var _Object$entries4$_i=_slicedToArray(_Object$entries4[_i7],2),key=_Object$entries4$_i[0],value=_Object$entries4$_i[1];if(deep)object[key]=_convertPlainObjectToMap(value,deep);newObject.set(key,object[key])}return newObject}if(deep)if(Array.isArray(object)){var index=0;for(var _i8=0,_arr2=object;_i8<_arr2.length;_i8++){var _value9=_arr2[_i8];object[index]=_convertPlainObjectToMap(_value9,deep);index+=1}}else if(isMap(object)){var _iterator8=_createForOfIteratorHelper(object),_step8;try{for(_iterator8.s();!(_step8=_iterator8.n()).done;){var _step8$value=_slicedToArray(_step8.value,2),_key3=_step8$value[0],_value0=_step8$value[1];object.set(_key3,_convertPlainObjectToMap(_value0,deep))}}catch(err){_iterator8.e(err)}finally{_iterator8.f()}}else if(isSet(object)){var cache=[];var _iterator9=_createForOfIteratorHelper(object),_step9;try{for(_iterator9.s();!(_step9=_iterator9.n()).done;){var _value10=_step9.value;object.delete(_value10);cache.push(_convertPlainObjectToMap(_value10,deep))}}catch(err){_iterator9.e(err)}finally{_iterator9.f()}for(var _i9=0,_cache3=cache;_i9<_cache3.length;_i9++){var _value1=_cache3[_i9];object.add(_value1)}}}return object};/**
166
- * Replaces given pattern in each value in given object recursively with
167
- * given string replacement.
168
- * @param object - Object to convert substrings in.
169
- * @param pattern - Regular expression to replace.
170
- * @param replacement - String to use as replacement for found patterns.
171
- * @returns Converted object with replaced patterns.
172
- */var _convertSubstringInPlainObject=function convertSubstringInPlainObject(object,pattern,replacement){for(var _i0=0,_Object$entries5=Object.entries(object);_i0<_Object$entries5.length;_i0++){var _Object$entries5$_i=_slicedToArray(_Object$entries5[_i0],2),key=_Object$entries5$_i[0],value=_Object$entries5$_i[1];if(isPlainObject(value))object[key]=_convertSubstringInPlainObject(value,pattern,replacement);else if(typeof value==="string")object[key]=value.replace(pattern,replacement)}return object};/* eslint-disable jsdoc/require-description-complete-sentence *//**
173
- * Copies given object (of any type) into optionally given destination.
174
- * @param source - Object to copy.
175
- * @param copyBlobs - Determines whether to copy blobs as well.
176
- * @param recursionLimit - Specifies how deep we should traverse into given
177
- * object recursively.
178
- * @param recursionEndValue - Indicates which value to use for recursion ends.
179
- * Usually a reference to corresponding source value will be used.
180
- * @param destination - Target to copy source to.
181
- * @param cyclic - Indicates whether known sub structures should be copied or
182
- * referenced (if "true" endless loops can occur if source has cyclic
183
- * structures).
184
- * @param knownReferences - Used to avoid traversing loops and not to copy
185
- * references e.g. to objects not to copy (e.g. symbol polyfills).
186
- * @param recursionLevel - Internally used to track current recursion level in
187
- * given source data structure.
188
- * @returns Value "true" if both objects are equal and "false" otherwise.
189
- */var _copy=function copy(source,copyBlobs,recursionLimit,recursionEndValue,destination,cyclic,knownReferences,recursionLevel){if(copyBlobs===void 0){copyBlobs=false}if(recursionLimit===void 0){recursionLimit=-1}if(recursionEndValue===void 0){recursionEndValue=VALUE_COPY_SYMBOL}if(destination===void 0){destination=null}if(cyclic===void 0){cyclic=false}if(knownReferences===void 0){knownReferences=[]}if(recursionLevel===void 0){recursionLevel=0}/* eslint-enable jsdoc/require-description-complete-sentence */if(isObject(source))if(destination){if(source===destination)throw new Error("Can't copy because source and destination are "+"identical.");if(!cyclic&&![undefined,null].includes(source)){var index=knownReferences.indexOf(source);if(index!==-1)return knownReferences[index];knownReferences.push(source)}var copyValue=function copyValue(value){if(recursionLimit!==-1&&recursionLimit<recursionLevel+1)return recursionEndValue===VALUE_COPY_SYMBOL?value:recursionEndValue;var result=_copy(value,copyBlobs,recursionLimit,recursionEndValue,null,cyclic,knownReferences,recursionLevel+1);if(!cyclic&&![undefined,null].includes(value)&&_typeof(value)==="object")knownReferences.push(value);return result};if(Array.isArray(source)){var _iterator0=_createForOfIteratorHelper(source),_step0;try{for(_iterator0.s();!(_step0=_iterator0.n()).done;){var item=_step0.value;destination.push(copyValue(item))}}catch(err){_iterator0.e(err)}finally{_iterator0.f()}}else if(source instanceof Map){var _iterator1=_createForOfIteratorHelper(source),_step1;try{for(_iterator1.s();!(_step1=_iterator1.n()).done;){var _step1$value=_slicedToArray(_step1.value,2),key=_step1$value[0],value=_step1$value[1];destination.set(key,copyValue(value))}}catch(err){_iterator1.e(err)}finally{_iterator1.f()}}else if(source instanceof Set){var _iterator10=_createForOfIteratorHelper(source),_step10;try{for(_iterator10.s();!(_step10=_iterator10.n()).done;){var _value11=_step10.value;destination.add(copyValue(_value11))}}catch(err){_iterator10.e(err)}finally{_iterator10.f()}}else for(var _i1=0,_Object$entries6=Object.entries(source);_i1<_Object$entries6.length;_i1++){var _Object$entries6$_i=_slicedToArray(_Object$entries6[_i1],2),_key4=_Object$entries6$_i[0],_value12=_Object$entries6$_i[1];try{destination[_key4]=copyValue(_value12)}catch(error){throw new Error("Failed to copy property value object \""+"".concat(_key4,"\": ").concat(_represent(error)),{cause:error})}}}else{if(Array.isArray(source))return _copy(source,copyBlobs,recursionLimit,recursionEndValue,[],cyclic,knownReferences,recursionLevel);if(source instanceof Map)return _copy(source,copyBlobs,recursionLimit,recursionEndValue,new Map,cyclic,knownReferences,recursionLevel);if(source instanceof Set)return _copy(source,copyBlobs,recursionLimit,recursionEndValue,new Set,cyclic,knownReferences,recursionLevel);if(source instanceof Date)return new Date(source.getTime());if(source instanceof RegExp){var modifier=/[^/]*$/.exec(source.toString());destination=new RegExp(source.source,modifier?modifier[0]:undefined);destination.lastIndex=source.lastIndex;return destination}if(typeof Blob!=="undefined"&&source instanceof Blob)return copyBlobs?source.slice(0,source.size,source.type):source;return _copy(source,copyBlobs,recursionLimit,recursionEndValue,{},cyclic,knownReferences,recursionLevel)}return destination||source};/**
190
- * Determine the internal JavaScript [[Class]] of an object.
191
- * @param value - Value to analyze.
192
- * @returns Name of determined type.
193
- */var determineType=function determineType(value){if([null,undefined].includes(value))return String(value);var type=_typeof(value);if(["function","object"].includes(type)&&"toString"in value){var stringRepresentation=Object.prototype.toString.call(value);if(Object.prototype.hasOwnProperty.call(_constants_js__WEBPACK_IMPORTED_MODULE_2__/* .CLASS_TO_TYPE_MAPPING */ .rq,stringRepresentation))return _constants_js__WEBPACK_IMPORTED_MODULE_2__/* .CLASS_TO_TYPE_MAPPING */ .rq[stringRepresentation]}return type};/**
194
- * Returns true if given items are equal for given property list. If
195
- * property list isn't set all properties will be checked. All keys which
196
- * starts with one of the exception prefixes will be omitted.
197
- * @param firstValue - First object to compare.
198
- * @param secondValue - Second object to compare.
199
- * @param givenOptions - Options to define how to compare.
200
- * @param givenOptions.properties - Property names to check. Check all if
201
- * "null" is selected (default).
202
- * @param givenOptions.deep - Recursion depth negative values means
203
- * infinitely deep (default).
204
- * @param givenOptions.exceptionPrefixes - Property prefixes which
205
- * indicates properties to ignore.
206
- * @param givenOptions.ignoreFunctions - Indicates whether functions have
207
- * to be identical to interpret is as equal. If set to "true" two functions
208
- * will be assumed to be equal (default).
209
- * @param givenOptions.compareBlobs - Indicates whether binary data should
210
- * be converted to a base64 string to compare their content. Makes this
211
- * function asynchronous in browsers and potentially takes a lot of
212
- * resources.
213
- * @returns Value "true" if both objects are equal and "false" otherwise.
214
- * If "compareBlobs" is activated, and we're running in a browser like
215
- * environment and binary data is given, then a promise wrapping the
216
- * determined boolean values is returned.
217
- */var _equals=function equals(firstValue,secondValue,givenOptions){if(givenOptions===void 0){givenOptions={}}var options=_objectSpread({compareBlobs:false,deep:-1,exceptionPrefixes:[],ignoreFunctions:true,properties:null,returnReasonIfNotEqual:false},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&&eval("typeof Buffer")!=="undefined"&&Object.prototype.hasOwnProperty.call(eval("Buffer"),"isBuffer")&&firstValue instanceof eval("Buffer")&&secondValue instanceof eval("Buffer")&&firstValue.toString("base64")===secondValue.toString("base64"))return true;if(options.compareBlobs&&typeof Blob!=="undefined"&&firstValue instanceof Blob&&secondValue instanceof Blob)return new Promise(function(resolve){var values=[];for(var _i10=0,_arr3=[firstValue,secondValue];_i10<_arr3.length;_i10++){var value=_arr3[_i10];var fileReader=new FileReader;fileReader.onload=function(event){if(event.target===null)values.push(null);else values.push(event.target.result);if(values.length===2)if(values[0]===values[1])resolve(true);else resolve(options.returnReasonIfNotEqual?">>> Blob(".concat(_represent(values[0]),") !== ")+"Blob(".concat(_represent(values[1]),")"):false)};fileReader.readAsDataURL(value)}});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){var promises=[];for(var _i11=0,_arr4=[[firstValue,secondValue],[secondValue,firstValue]];_i11<_arr4.length;_i11++){var _arr4$_i=_slicedToArray(_arr4[_i11],2),first=_arr4$_i[0],second=_arr4$_i[1];var firstIsArray=Array.isArray(first);if(firstIsArray&&(!Array.isArray(second)||first.length!==second.length))return options.returnReasonIfNotEqual?".length":false;var firstIsMap=isMap(first);if(firstIsMap&&(!isMap(second)||first.size!==second.size))return options.returnReasonIfNotEqual?".size":false;var firstIsSet=isSet(first);if(firstIsSet&&(!isSet(second)||first.size!==second.size))return options.returnReasonIfNotEqual?".size":false;if(firstIsArray){var index=0;var _loop2=function _loop2(){var value=_arr5[_i12];if(options.deep!==0){var result=_equals(value,second[index],_objectSpread(_objectSpread({},options),{},{deep:options.deep-1}));if(!result)return{v:false};var currentIndex=index;var determineResult=function determineResult(result){var _$$result$;return typeof result==="string"?"[".concat(String(currentIndex),"]")+((_$$result$={"[":"",">":" "}[result[0]])!==null&&_$$result$!==void 0?_$$result$:".")+result:result};if(Object.prototype.hasOwnProperty.call(result,"then"))promises.push(result.then(determineResult));if(typeof result==="string")return{v:determineResult(result)}}index+=1},_ret2;for(var _i12=0,_arr5=first;_i12<_arr5.length;_i12++){_ret2=_loop2();if(_ret2)return _ret2.v}}else if(firstIsMap){var _iterator11=_createForOfIteratorHelper(first),_step11;try{var _loop3=function _loop3(){var _step11$value=_slicedToArray(_step11.value,2),key=_step11$value[0],value=_step11$value[1];if(options.deep!==0){var result=_equals(value,second.get(key),_objectSpread(_objectSpread({},options),{},{deep:options.deep-1}));if(!result)return{v:false};var determineResult=function determineResult(result){var _$$result$2;return typeof result==="string"?"get(".concat(_represent(key),")")+((_$$result$2={"[":"",">":" "}[result[0]])!==null&&_$$result$2!==void 0?_$$result$2:".")+result:result};if(Object.prototype.hasOwnProperty.call(result,"then"))promises.push(result.then(determineResult));if(typeof result==="string")return{v:determineResult(result)}}},_ret3;for(_iterator11.s();!(_step11=_iterator11.n()).done;){_ret3=_loop3();if(_ret3)return _ret3.v}}catch(err){_iterator11.e(err)}finally{_iterator11.f()}}else if(firstIsSet){var _iterator12=_createForOfIteratorHelper(first),_step12;try{var _loop4=function _loop4(){var value=_step12.value;if(options.deep!==0){var equal=false;var subPromises=[];/*
218
- NOTE: Check if their exists at least one being
219
- equally.
220
- */var _iterator13=_createForOfIteratorHelper(second),_step13;try{for(_iterator13.s();!(_step13=_iterator13.n()).done;){var _secondValue=_step13.value;var result=_equals(value,_secondValue,_objectSpread(_objectSpread({},options),{},{deep:options.deep-1}));if(typeof result==="boolean"){if(result){equal=true;break}}else subPromises.push(result)}}catch(err){_iterator13.e(err)}finally{_iterator13.f()}var determineResult=function determineResult(equal){return equal?true:options.returnReasonIfNotEqual?">>> {-> ".concat(_represent(value)," not found}"):false};if(equal)/*
221
- NOTE: We do not have to wait for promises to be
222
- resolved when one match could be found.
223
- */return 0;// continue
224
- if(subPromises.length)promises.push(new Promise(function(resolve){Promise.all(subPromises).then(function(results){resolve(determineResult(results.some(function(result){return result})))},function(){// Do nothing.
225
- })}));return{v:determineResult(false)}}},_ret4;for(_iterator12.s();!(_step12=_iterator12.n()).done;){_ret4=_loop4();if(_ret4===0)continue;if(_ret4)return _ret4.v}}catch(err){_iterator12.e(err)}finally{_iterator12.f()}}else{var _loop5=function _loop5(){var _Object$entries7$_i=_slicedToArray(_Object$entries7[_i13],2),key=_Object$entries7$_i[0],value=_Object$entries7$_i[1];if(options.properties&&!options.properties.includes(key))return 0;// break
226
- var doBreak=false;var _iterator14=_createForOfIteratorHelper(options.exceptionPrefixes),_step14;try{for(_iterator14.s();!(_step14=_iterator14.n()).done;){var exceptionPrefix=_step14.value;if(key.startsWith(exceptionPrefix)){doBreak=true;break}}}catch(err){_iterator14.e(err)}finally{_iterator14.f()}if(doBreak)return 0;// break
227
- if(options.deep!==0){var result=_equals(value,second[key],_objectSpread(_objectSpread({},options),{},{deep:options.deep-1}));if(!result)return{v:false};var determineResult=function determineResult(result){var _$$result$3;return typeof result==="string"?key+((_$$result$3={"[":"",">":" "}[result[0]])!==null&&_$$result$3!==void 0?_$$result$3:".")+result:result};if(Object.prototype.hasOwnProperty.call(result,"then"))promises.push(result.then(determineResult));if(typeof result==="string")return{v:determineResult(result)}}},_ret5;for(var _i13=0,_Object$entries7=Object.entries(first);_i13<_Object$entries7.length;_i13++){_ret5=_loop5();if(_ret5===0)break;if(_ret5)return _ret5.v}}}if(promises.length)return new Promise(function(resolve){Promise.all(promises).then(function(results){var _iterator15=_createForOfIteratorHelper(results),_step15;try{for(_iterator15.s();!(_step15=_iterator15.n()).done;){var result=_step15.value;if(!result||typeof result==="string"){resolve(result);break}}}catch(err){_iterator15.e(err)}finally{_iterator15.f()}resolve(true)},function(){// Do nothing.
228
- })});return true}return options.returnReasonIfNotEqual?">>> ".concat(_represent(firstValue)," !== ").concat(_represent(secondValue)):false};/**
229
- * Wraps given data structure into proxies recursively to evaluate and resolve
230
- * each get request to data having an object with indicating keys and replaces
231
- * that object with corresponding evaluated values. All nested objects are
232
- * wrapped with a proxy to resolve chains of referencing expressions as well.
233
- * @param object - Given mapping to resolve.
234
- * @param givenOptions - Options to configure evaluation.
235
- * @param givenOptions.scope - Scope to use evaluate again.
236
- * @param givenOptions.selfReferenceName - Name to use for reference to given
237
- * object.
238
- * @param givenOptions.expressionIndicatorKey - Indicator property name to mark
239
- * a value to evaluate.
240
- * @param givenOptions.executionIndicatorKey - Indicator property name to mark
241
- * a value to evaluate.
242
- * @returns Evaluated given mapping.
243
- */var evaluateDynamicData=function evaluateDynamicData(object,givenOptions){if(givenOptions===void 0){givenOptions={}}var options=_objectSpread({scope:{},selfReferenceName:"self",expressionIndicatorKey:"__evaluate__",executionIndicatorKey:"__execute__"},givenOptions);if(_typeof(object)!=="object"||object===null)return object;if(!(options.selfReferenceName in options.scope))options.scope[options.selfReferenceName]=object;var internalEvaluateAndThrowError=function internalEvaluateAndThrowError(code,type){if(type===void 0){type=options.expressionIndicatorKey}return evaluateOrThrowError(code,options.scope,type===options.executionIndicatorKey)};var _addProxyRecursively=function addProxyRecursively(data){if(_typeof(data)!=="object"||data===null||typeof Proxy==="undefined")return data;for(var _i14=0,_Object$entries8=Object.entries(data);_i14<_Object$entries8.length;_i14++){var _Object$entries8$_i=_slicedToArray(_Object$entries8[_i14],2),key=_Object$entries8$_i[0],givenValue=_Object$entries8$_i[1];if(key!=="__target__"&&isObject(givenValue)){var value=givenValue;_addProxyRecursively(value);// NOTE: We only wrap needed objects for performance reasons.
244
- if(Object.prototype.hasOwnProperty.call(value,options.expressionIndicatorKey)||Object.prototype.hasOwnProperty.call(value,options.executionIndicatorKey)){var backup=value;data[key]=new Proxy(value,{get:function get(target,key){if(key==="__target__")return target;if(key==="hasOwnProperty")/*
245
- eslint-disable
246
- @typescript-eslint/unbound-method
247
- */return target[key];/*
248
- eslint-enable
249
- @typescript-eslint/unbound-method
250
- *//*
251
- NOTE: Very complicated section, do only
252
- changes while having good tests.
253
- */for(var _i15=0,_arr6=[options.expressionIndicatorKey,options.executionIndicatorKey];_i15<_arr6.length;_i15++){var type=_arr6[_i15];if(key===type&&typeof target[key]==="string")return _resolve(internalEvaluateAndThrowError(target[key],type))}var resolvedTarget=_resolve(target);if(key==="toString"){var result=internalEvaluateAndThrowError(resolvedTarget);return result[key].bind(result)}if(typeof key!=="string"){var _result$key;var _result=internalEvaluateAndThrowError(resolvedTarget);if((_result$key=_result[key])!==null&&_result$key!==void 0&&_result$key.bind)return _result[key].bind(_result);return _result[key]}for(var _i16=0,_arr7=[options.expressionIndicatorKey,options.executionIndicatorKey];_i16<_arr7.length;_i16++){var _type=_arr7[_i16];if(Object.prototype.hasOwnProperty.call(target,_type))return internalEvaluateAndThrowError(resolvedTarget,_type)[key]}return resolvedTarget[key];// End of complicated stuff.
254
- },ownKeys:function ownKeys(target){for(var _i17=0,_arr8=[options.expressionIndicatorKey,options.executionIndicatorKey];_i17<_arr8.length;_i17++){var type=_arr8[_i17];if(Object.prototype.hasOwnProperty.call(target,type))return Object.getOwnPropertyNames(_resolve(internalEvaluateAndThrowError(target[type],type)))}return Object.getOwnPropertyNames(target)}});/*
255
- NOTE: Known proxy polyfills does not provide the
256
- "__target__" api.
257
- */if(!data[key].__target__)data[key].__target__=backup}}}return data};var _resolve=function resolve(data){if(isObject(data)){if(isProxy(data)){// NOTE: We have to skip "ownKeys" proxy trap here.
258
- for(var _i18=0,_arr9=[options.expressionIndicatorKey,options.executionIndicatorKey];_i18<_arr9.length;_i18++){var type=_arr9[_i18];if(Object.prototype.hasOwnProperty.call(data,type))return data[type]}data=data.__target__}for(var _i19=0,_Object$entries9=Object.entries(data);_i19<_Object$entries9.length;_i19++){var _Object$entries9$_i=_slicedToArray(_Object$entries9[_i19],2),key=_Object$entries9$_i[0],value=_Object$entries9$_i[1];if([options.expressionIndicatorKey,options.executionIndicatorKey].includes(key)){if(typeof Proxy==="undefined")return _resolve(internalEvaluateAndThrowError(value));return value}data[key]=_resolve(value)}}return data};options.scope.resolve=_resolve;var _removeProxyRecursively=function removeProxyRecursively(data){if(isObject(data))for(var _i20=0,_Object$entries0=Object.entries(data);_i20<_Object$entries0.length;_i20++){var _Object$entries0$_i=_slicedToArray(_Object$entries0[_i20],2),key=_Object$entries0$_i[0],value=_Object$entries0$_i[1];if(key!=="__target__"&&value!==null&&["function","undefined"].includes(_typeof(value))){var target=value.__target__;if(typeof target!=="undefined")data[key]=target;_removeProxyRecursively(value)}}return data};if(Object.prototype.hasOwnProperty.call(object,options.expressionIndicatorKey))return internalEvaluateAndThrowError(object[options.expressionIndicatorKey]);else if(Object.prototype.hasOwnProperty.call(object,options.executionIndicatorKey))return internalEvaluateAndThrowError(object[options.executionIndicatorKey],options.executionIndicatorKey);return _removeProxyRecursively(_resolve(_addProxyRecursively(object)))};/**
259
- * Searches for indicating keys and replaces that data with corresponding
260
- * evaluated and promise resolved value.
261
- * @param data - Given mapping to resolve.
262
- * @param givenOptions - Options to configure evaluation.
263
- * @param givenOptions.scope - Scope to use evaluate again.
264
- * @param givenOptions.selfReferenceName - Name to use for reference to given
265
- * object.
266
- * @param givenOptions.expressionIndicatorKey - Indicator property name to mark
267
- * a value to evaluate.
268
- * @param givenOptions.executionIndicatorKey - Indicator property name to mark
269
- * a value to evaluate.
270
- * @returns Evaluated given mapping.
271
- */var _evaluateAsyncDynamicData=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _evaluateAsyncDynamicData2=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(data,givenOptions){var options,result,index,_iterator16,_step16,item,_i21,_Object$entries1,_Object$entries1$_i,key,value,_t;return _regenerator().w(function(_context){while(1)switch(_context.p=_context.n){case 0:if(givenOptions===void 0){givenOptions={}}options=_objectSpread({scope:{},selfReferenceName:"self",expressionIndicatorKey:"__await_evaluate__",executionIndicatorKey:"__await_execute__"},givenOptions);if(isObject(data)){_context.n=1;break}return _context.a(2,data);case 1:if(!(options.selfReferenceName in options.scope))options.scope[options.selfReferenceName]=data;result=data;if(!Array.isArray(data)){_context.n=10;break}index=0;_iterator16=_createForOfIteratorHelper(data);_context.p=2;_iterator16.s();case 3:if((_step16=_iterator16.n()).done){_context.n=6;break}item=_step16.value;_context.n=4;return _evaluateAsyncDynamicData(item,options);case 4:result[index]=_context.v;index+=1;case 5:_context.n=3;break;case 6:_context.n=8;break;case 7:_context.p=7;_t=_context.v;_iterator16.e(_t);case 8:_context.p=8;_iterator16.f();return _context.f(8);case 9:return _context.a(2,result);case 10:_i21=0,_Object$entries1=Object.entries(data);case 11:if(!(_i21<_Object$entries1.length)){_context.n=16;break}_Object$entries1$_i=_slicedToArray(_Object$entries1[_i21],2),key=_Object$entries1$_i[0],value=_Object$entries1$_i[1];if(![options.expressionIndicatorKey,options.executionIndicatorKey].includes(key)){_context.n=13;break}_context.n=12;return evaluateOrThrowError(value,options.scope,key===options.executionIndicatorKey);case 12:return _context.a(2,_context.v);case 13:_context.n=14;return _evaluateAsyncDynamicData(value,options);case 14:result[key]=_context.v;case 15:_i21++;_context.n=11;break;case 16:return _context.a(2,result)}},_callee,null,[[2,7,8,9]])}));function evaluateAsyncDynamicData(_x,_x2){return _evaluateAsyncDynamicData2.apply(this,arguments)}return evaluateAsyncDynamicData}()));/**
272
- * Removes properties in objects where a dynamic indicator lives.
273
- * @param data - Object to traverse recursively.
274
- * @param expressionIndicators - Property key to remove.
275
- * @returns Given object with removed properties.
276
- */var _removeKeysInEvaluation=function removeKeysInEvaluation(data,expressionIndicators){if(expressionIndicators===void 0){expressionIndicators=["__evaluate__","__execute__"]}for(var _i22=0,_Object$entries10=Object.entries(data);_i22<_Object$entries10.length;_i22++){var _Object$entries10$_i=_slicedToArray(_Object$entries10[_i22],2),key=_Object$entries10$_i[0],value=_Object$entries10$_i[1];if(!expressionIndicators.includes(key)&&expressionIndicators.some(function(name){return Object.prototype.hasOwnProperty.call(data,name)}))delete data[key];else if(isPlainObject(value))_removeKeysInEvaluation(value,expressionIndicators)}return data};/**
277
- * Extends given target object with given sources object. As target and
278
- * sources many expandable types are allowed but target and sources have to
279
- * come from the same type.
280
- * @param targetOrDeepIndicator - Maybe the target or deep indicator.
281
- * @param targetOrSource - Target or source object; depending on first
282
- * argument.
283
- * @param additionalSources - Source objects to extend into target.
284
- * @returns Returns given target extended with all given sources.
285
- */var _extend=function extend(targetOrDeepIndicator,targetOrSource){var deep=false;for(var _len=arguments.length,additionalSources=new Array(_len>2?_len-2:0),_key5=2;_key5<_len;_key5++){additionalSources[_key5-2]=arguments[_key5]}var sources=additionalSources;var target;if(targetOrDeepIndicator===IGNORE_NULL_AND_UNDEFINED_SYMBOL||typeof targetOrDeepIndicator==="boolean"){// Handle a deep copy situation and skip deep indicator and target.
286
- deep=targetOrDeepIndicator;target=targetOrSource}else{target=targetOrDeepIndicator;if(isObject(targetOrSource))sources=[targetOrSource].concat(_toConsumableArray(sources));else if(targetOrSource!==undefined)target=targetOrSource}var mergeValue=function mergeValue(targetValue,value){if(value===targetValue)return targetValue;// Traverse recursively if we're merging plain objects or maps.
287
- if(deep&&value&&(isPlainObject(value)||isMap(value))){var clone;if(isMap(value))clone=targetValue&&isMap(targetValue)?targetValue:new Map;else clone=targetValue&&isPlainObject(targetValue)?targetValue:{};return _extend(deep,clone,value)}return value};var _iterator17=_createForOfIteratorHelper(sources),_step17;try{for(_iterator17.s();!(_step17=_iterator17.n()).done;){var source=_step17.value;var targetType=_typeof(target);var sourceType=_typeof(source);if(isMap(target))targetType+=" Map";if(isMap(source))sourceType+=" Map";if(targetType===sourceType&&target!==source){if(isMap(target)&&isMap(source)){var _iterator18=_createForOfIteratorHelper(source),_step18;try{for(_iterator18.s();!(_step18=_iterator18.n()).done;){var _step18$value=_slicedToArray(_step18.value,2),key=_step18$value[0],value=_step18$value[1];target.set(key,mergeValue(target.get(key),value))}}catch(err){_iterator18.e(err)}finally{_iterator18.f()}}else if(isObject(target)&&!Array.isArray(target)&&!(typeof Blob!=="undefined"&&target instanceof Blob)&&isObject(source)&&!Array.isArray(source)&&!(typeof Blob!=="undefined"&&source instanceof Blob)){for(var _i23=0,_Object$entries11=Object.entries(source);_i23<_Object$entries11.length;_i23++){var _Object$entries11$_i=_slicedToArray(_Object$entries11[_i23],2),_key6=_Object$entries11$_i[0],_value13=_Object$entries11$_i[1];if(!(deep===IGNORE_NULL_AND_UNDEFINED_SYMBOL&&[null,undefined].includes(_value13)))target[_key6]=mergeValue(target[_key6],_value13)}}else target=source;}else target=source}}catch(err){_iterator17.e(err)}finally{_iterator17.f()}return target};/**
288
- * Generates a proxy handler which forwards all operations to given object
289
- * as there wouldn't be a proxy.
290
- * @param target - Object to proxy.
291
- * @param methodNames - Mapping of operand name to object specific method
292
- * name.
293
- * @returns Determined proxy handler.
294
- */var getProxyHandler=function getProxyHandler(target,methodNames){if(methodNames===void 0){methodNames={}}methodNames=_objectSpread({delete:"[]",get:"[]",has:"[]",set:"[]"},methodNames);return{deleteProperty:function deleteProperty(_targetObject,key){if(methodNames.delete==="[]"&&typeof key==="string")delete target[key];else return target[methodNames.delete](key);return true},get:function get(_targetObject,key){if(methodNames.get==="[]"&&typeof key==="string")return target[key];return target[methodNames.get](key)},has:function has(_targetObject,key){if(methodNames.has==="[]")return key in target;return target[methodNames.has](key)},set:function set(_targetObject,key,value){if(methodNames.set==="[]"&&typeof key==="string")target[key]=value;else return target[methodNames.set](key,value);return true}}};/**
295
- * Slices all properties from given object which does not match provided
296
- * object mask. Items can be explicitly whitelisted via "include" mask
297
- * configuration or black listed via "exclude" mask configuration.
298
- * @param object - Object to slice.
299
- * @param maskConfiguration - Mask configuration.
300
- * @returns Given but sliced object. If (nested) object will be modified a
301
- * flat copy of that object will be returned.
302
- */var _mask=function mask(object,maskConfiguration){maskConfiguration=_objectSpread({exclude:false,include:true},maskConfiguration);if(maskConfiguration.exclude===true||Array.isArray(maskConfiguration.exclude)&&maskConfiguration.exclude.length===0||maskConfiguration.include===false||_typeof(object)!=="object")return{};var exclude=Array.isArray(maskConfiguration.exclude)?maskConfiguration.exclude.reduce(function(mask,key){return _objectSpread(_objectSpread({},mask),{},_defineProperty({},key,true))},{}):maskConfiguration.exclude;var include=Array.isArray(maskConfiguration.include)?maskConfiguration.include.reduce(function(mask,key){return _objectSpread(_objectSpread({},mask),{},_defineProperty({},key,true))},{}):maskConfiguration.include;var result={};if(isPlainObject(include)){for(var _i24=0,_Object$entries12=Object.entries(include);_i24<_Object$entries12.length;_i24++){var _Object$entries12$_i=_slicedToArray(_Object$entries12[_i24],2),key=_Object$entries12$_i[0],value=_Object$entries12$_i[1];if(Object.prototype.hasOwnProperty.call(object,key))if(value===true)result[key]=object[key];else if((isPlainObject(value)||Array.isArray(value)&&value.length)&&_typeof(object[key])==="object")result[key]=_mask(object[key],{include:value})}}else// In this branch "mask.include === true" holds.
303
- result=object;if(isPlainObject(exclude)){var useCopy=false;var copy=_objectSpread({},result);for(var _i25=0,_Object$entries13=Object.entries(exclude);_i25<_Object$entries13.length;_i25++){var _Object$entries13$_i=_slicedToArray(_Object$entries13[_i25],2),_key7=_Object$entries13$_i[0],_value14=_Object$entries13$_i[1];if(Object.prototype.hasOwnProperty.call(copy,_key7))if(_value14===true){useCopy=true;delete copy[_key7]}else if((isPlainObject(_value14)||Array.isArray(_value14)&&_value14.length)&&_typeof(copy[_key7])==="object"){var current=copy[_key7];copy[_key7]=_mask(copy[_key7],{exclude:_value14});if(copy[_key7]!==current)useCopy=true}}if(useCopy)result=copy}return result};/**
304
- * Modifies given target corresponding to given source and removes source
305
- * modification infos.
306
- * @param target - Object to modify.
307
- * @param source - Source object to load modifications from.
308
- * @param removeIndicatorKey - Indicator property name or value to mark a
309
- * value to remove from object or list.
310
- * @param prependIndicatorKey - Indicator property name to mark a value to
311
- * prepend to target list.
312
- * @param appendIndicatorKey - Indicator property name to mark a value to
313
- * append to target list.
314
- * @param positionPrefix - Indicates a prefix to use a value on given
315
- * position to add or remove.
316
- * @param positionSuffix - Indicates a suffix to use a value on given
317
- * position to add or remove.
318
- * @param parentSource - Source context to remove modification info from
319
- * (usually only needed internally).
320
- * @param parentKey - Source key in given source context to remove
321
- * modification info from (usually only needed internally).
322
- * @returns Given target modified with given source.
323
- */var _modifyObject=function modifyObject(target,source,removeIndicatorKey,prependIndicatorKey,appendIndicatorKey,positionPrefix,positionSuffix,parentSource,parentKey){if(removeIndicatorKey===void 0){removeIndicatorKey="__remove__"}if(prependIndicatorKey===void 0){prependIndicatorKey="__prepend__"}if(appendIndicatorKey===void 0){appendIndicatorKey="__append__"}if(positionPrefix===void 0){positionPrefix="__"}if(positionSuffix===void 0){positionSuffix="__"}if(parentSource===void 0){parentSource=null}if(parentKey===void 0){parentKey=null}if(isMap(source)&&isMap(target)){var _iterator19=_createForOfIteratorHelper(source),_step19;try{for(_iterator19.s();!(_step19=_iterator19.n()).done;){var _step19$value=_slicedToArray(_step19.value,2),key=_step19$value[0],value=_step19$value[1];if(target.has(key))_modifyObject(target.get(key),value,removeIndicatorKey,prependIndicatorKey,appendIndicatorKey,positionPrefix,positionSuffix,source,key)}}catch(err){_iterator19.e(err)}finally{_iterator19.f()}}else if(isObject(source)&&isObject(target))for(var _i26=0,_Object$entries14=Object.entries(source);_i26<_Object$entries14.length;_i26++){var _Object$entries14$_i=_slicedToArray(_Object$entries14[_i26],2),_key8=_Object$entries14$_i[0],sourceValue=_Object$entries14$_i[1];var index=NaN;if(Array.isArray(target)&&_key8.startsWith(positionPrefix)&&_key8.endsWith(positionSuffix)){index=parseInt(_key8.substring(positionPrefix.length,_key8.length-positionSuffix.length),10);if(index<0||index>=target.length)index=NaN}if([removeIndicatorKey,prependIndicatorKey,appendIndicatorKey].includes(_key8)||!isNaN(index)){if(Array.isArray(target)){if(_key8===removeIndicatorKey){var values=[].concat(sourceValue);var _iterator20=_createForOfIteratorHelper(values),_step20;try{for(_iterator20.s();!(_step20=_iterator20.n()).done;){var _value15=_step20.value;if(typeof _value15==="string"&&_value15.startsWith(positionPrefix)&&_value15.endsWith(positionSuffix))target.splice(parseInt(_value15.substring(positionPrefix.length,_value15.length-positionSuffix.length),10),1);else if(target.includes(_value15))target.splice(target.indexOf(_value15),1);else if(typeof _value15==="number"&&_value15<target.length)target.splice(_value15,1)}}catch(err){_iterator20.e(err)}finally{_iterator20.f()}}else if(_key8===appendIndicatorKey)target=target.concat(sourceValue);else if(_key8===prependIndicatorKey)target=[].concat(sourceValue).concat(target);else if(isObject(target[index])&&isObject(sourceValue))_extend(true,_modifyObject(target[index],sourceValue,removeIndicatorKey,prependIndicatorKey,appendIndicatorKey,positionPrefix,positionSuffix),target[index],sourceValue);else target[index]=sourceValue;}else if(_key8===removeIndicatorKey){var _iterator21=_createForOfIteratorHelper([].concat(sourceValue)),_step21;try{for(_iterator21.s();!(_step21=_iterator21.n()).done;){var _value16=_step21.value;if(typeof _value16==="string"&&Object.prototype.hasOwnProperty.call(target,_value16))delete target[_value16]}}catch(err){_iterator21.e(err)}finally{_iterator21.f()}}delete source[_key8];if(parentSource&&typeof parentKey==="string")delete parentSource[parentKey]}else if(target!==null&&Object.prototype.hasOwnProperty.call(target,_key8))target[_key8]=_modifyObject(target[_key8],sourceValue,removeIndicatorKey,prependIndicatorKey,appendIndicatorKey,positionPrefix,positionSuffix,source,_key8)}return target};/**
324
- * Removes given key from given object recursively.
325
- * @param object - Object to process.
326
- * @param keys - List of keys to remove.
327
- * @returns Processed given object.
328
- */var _removeKeyPrefixes=function removeKeyPrefixes(object,keys){if(keys===void 0){keys="#"}var resolvedKeys=[].concat(keys);if(Array.isArray(object)){var index=0;var _iterator22=_createForOfIteratorHelper(object.slice()),_step22;try{for(_iterator22.s();!(_step22=_iterator22.n()).done;){var subObject=_step22.value;var skip=false;if(typeof subObject==="string"){var _iterator23=_createForOfIteratorHelper(resolvedKeys),_step23;try{for(_iterator23.s();!(_step23=_iterator23.n()).done;){var key=_step23.value;if(subObject.startsWith("".concat(key,":"))){object.splice(index,1);skip=true;break}}}catch(err){_iterator23.e(err)}finally{_iterator23.f()}if(skip)continue}object[index]=_removeKeyPrefixes(subObject,resolvedKeys);index+=1}}catch(err){_iterator22.e(err)}finally{_iterator22.f()}}else if(isSet(object)){var _iterator24=_createForOfIteratorHelper(new Set(object)),_step24;try{for(_iterator24.s();!(_step24=_iterator24.n()).done;){var _subObject=_step24.value;var _skip=false;if(typeof _subObject==="string"){var _iterator25=_createForOfIteratorHelper(resolvedKeys),_step25;try{for(_iterator25.s();!(_step25=_iterator25.n()).done;){var _key9=_step25.value;if(_subObject.startsWith("".concat(_key9,":"))){object.delete(_subObject);_skip=true;break}}}catch(err){_iterator25.e(err)}finally{_iterator25.f()}if(_skip)continue}_removeKeyPrefixes(_subObject,resolvedKeys)}}catch(err){_iterator24.e(err)}finally{_iterator24.f()}}else if(isMap(object)){var _iterator26=_createForOfIteratorHelper(new Map(object)),_step26;try{for(_iterator26.s();!(_step26=_iterator26.n()).done;){var _step26$value=_slicedToArray(_step26.value,2),_key0=_step26$value[0],_subObject2=_step26$value[1];var _skip2=false;if(typeof _key0==="string"){var _iterator27=_createForOfIteratorHelper(resolvedKeys),_step27;try{for(_iterator27.s();!(_step27=_iterator27.n()).done;){var resolvedKey=_step27.value;var escapedKey=escapeRegularExpressions(resolvedKey);if(new RegExp("^".concat(escapedKey,"[0-9]*$")).test(_key0)){object.delete(_key0);_skip2=true;break}}}catch(err){_iterator27.e(err)}finally{_iterator27.f()}if(_skip2)continue}object.set(_key0,_removeKeyPrefixes(_subObject2,resolvedKeys))}}catch(err){_iterator26.e(err)}finally{_iterator26.f()}}else if(isObject(object))for(var _i27=0,_Object$entries15=Object.entries(Object.assign({},object));_i27<_Object$entries15.length;_i27++){var _Object$entries15$_i=_slicedToArray(_Object$entries15[_i27],2),_key1=_Object$entries15$_i[0],value=_Object$entries15$_i[1];var _skip3=false;var _iterator28=_createForOfIteratorHelper(resolvedKeys),_step28;try{for(_iterator28.s();!(_step28=_iterator28.n()).done;){var _resolvedKey=_step28.value;var _escapedKey=escapeRegularExpressions(_resolvedKey);if(new RegExp("^".concat(_escapedKey,"[0-9]*$")).test(_key1)){delete object[_key1];_skip3=true;break}}}catch(err){_iterator28.e(err)}finally{_iterator28.f()}if(_skip3)continue;object[_key1]=_removeKeyPrefixes(value,resolvedKeys)}return object};/**
329
- * Represents given object as formatted string.
330
- * @param object - Object to represent.
331
- * @param maximumLengthOfLists - Maximum number of array item to render.
332
- * @param indention - String (usually whitespaces) to use as indention.
333
- * @param initialIndention - String (usually whitespaces) to use as
334
- * additional indention for the first object traversing level.
335
- * @param maximumNumberOfLevelsReachedIdentifier - Replacement for objects
336
- * which are out of specified bounds to traverse.
337
- * @param numberOfLevels - Specifies number of levels to traverse given
338
- * data structure.
339
- * @returns Representation string.
340
- */var _represent=function represent(object,maximumLengthOfLists,indention,initialIndention,maximumNumberOfLevelsReachedIdentifier,numberOfLevels){if(maximumLengthOfLists===void 0){maximumLengthOfLists=30}if(indention===void 0){indention=" "}if(initialIndention===void 0){initialIndention=""}if(maximumNumberOfLevelsReachedIdentifier===void 0){maximumNumberOfLevelsReachedIdentifier="__maximum_number_of_levels_reached__"}if(numberOfLevels===void 0){numberOfLevels=8}if(numberOfLevels===0)return String(maximumNumberOfLevelsReachedIdentifier);if(object===null)return"null";if(object===undefined)return"undefined";if(typeof object==="string")return"\"".concat(object.replace(/\n/g,"\n".concat(initialIndention)),"\"");if(isNumeric(object)||typeof object==="boolean")return String(object);if(object instanceof Date)return object.toISOString();if(Array.isArray(object)){var _result2="[";var _firstSeen=false;var _counter=1;var _iterator29=_createForOfIteratorHelper(object),_step29;try{for(_iterator29.s();!(_step29=_iterator29.n()).done;){var item=_step29.value;if(_counter>maximumLengthOfLists){_result2+="\n".concat(initialIndention,"...");break}if(_firstSeen)_result2+=",";_result2+="\n".concat(initialIndention).concat(indention)+_represent(item,maximumLengthOfLists,indention,"".concat(initialIndention).concat(indention),maximumNumberOfLevelsReachedIdentifier,numberOfLevels-1);_firstSeen=true;_counter+=1}}catch(err){_iterator29.e(err)}finally{_iterator29.f()}if(_firstSeen)_result2+="\n".concat(initialIndention);_result2+="]";return _result2}if(isMap(object)){var _result3="";var _firstSeen2=false;var _counter2=1;var _iterator30=_createForOfIteratorHelper(object),_step30;try{for(_iterator30.s();!(_step30=_iterator30.n()).done;){var _step30$value=_slicedToArray(_step30.value,2),key=_step30$value[0],_item=_step30$value[1];if(_counter2>maximumLengthOfLists){_result3+=",\n".concat(initialIndention,"...");break}if(_firstSeen2)_result3+=",\n".concat(initialIndention).concat(indention);_result3+=_represent(key,maximumLengthOfLists,indention,"".concat(initialIndention).concat(indention),maximumNumberOfLevelsReachedIdentifier,numberOfLevels-1)+" -> "+_represent(_item,maximumLengthOfLists,indention,"".concat(initialIndention).concat(indention),maximumNumberOfLevelsReachedIdentifier,numberOfLevels-1);_firstSeen2=true;_counter2+=1}}catch(err){_iterator30.e(err)}finally{_iterator30.f()}if(!_firstSeen2)_result3="EmptyMap";return _result3}if(isSet(object)){var _result4="{";var _firstSeen3=false;var _counter3=1;var _iterator31=_createForOfIteratorHelper(object),_step31;try{for(_iterator31.s();!(_step31=_iterator31.n()).done;){var _item2=_step31.value;if(_counter3>maximumLengthOfLists){_result4+=",\n".concat(initialIndention,"...");break}if(_firstSeen3)_result4+=",";_result4+="\n".concat(initialIndention).concat(indention)+_represent(_item2,maximumLengthOfLists,indention,"".concat(initialIndention).concat(indention),maximumNumberOfLevelsReachedIdentifier,numberOfLevels-1);_firstSeen3=true;_counter3+=1}}catch(err){_iterator31.e(err)}finally{_iterator31.f()}if(_firstSeen3)_result4+="\n".concat(initialIndention,"}");else _result4="EmptySet";return _result4}if(isFunction(object))return"__function__";var result="{";var keys=Object.getOwnPropertyNames(object).sort();var firstSeen=false;var counter=1;var _iterator32=_createForOfIteratorHelper(keys),_step32;try{for(_iterator32.s();!(_step32=_iterator32.n()).done;){var _key10=_step32.value;if(counter>maximumLengthOfLists){result+=",\n".concat(initialIndention,"...");break}if(firstSeen)result+=",";result+="\n".concat(initialIndention).concat(indention).concat(_key10,": ")+_represent(object[_key10],maximumLengthOfLists,indention,"".concat(initialIndention).concat(indention),maximumNumberOfLevelsReachedIdentifier,numberOfLevels-1);firstSeen=true;counter+=1}}catch(err){_iterator32.e(err)}finally{_iterator32.f()}if(firstSeen)result+="\n".concat(initialIndention);result+="}";return result};/**
341
- * Sort given objects keys.
342
- * @param object - Object which keys should be sorted.
343
- * @returns Sorted list of given keys.
344
- */var sort=function sort(object){var keys=[];if(Array.isArray(object))for(var index=0;index<object.length;index++)keys.push(index);else if(_typeof(object)==="object")if(isMap(object)){var _iterator33=_createForOfIteratorHelper(object),_step33;try{for(_iterator33.s();!(_step33=_iterator33.n()).done;){var keyValuePair=_step33.value;keys.push(keyValuePair[0])}}catch(err){_iterator33.e(err)}finally{_iterator33.f()}}else if(object!==null)for(var _i28=0,_Object$keys=Object.keys(object);_i28<_Object$keys.length;_i28++){var key=_Object$keys[_i28];keys.push(key)}return keys.sort()};/**
345
- * Removes a proxy from given data structure recursively.
346
- * @param object - Object to proxy.
347
- * @param seenObjects - Tracks all already processed objects to avoid
348
- * endless loops (usually only needed for internal purpose).
349
- * @returns Returns given object unwrapped from a dynamic proxy.
350
- */var _unwrapProxy=function unwrapProxy(object,seenObjects){if(seenObjects===void 0){seenObjects=new Set}if(isObject(object)){if(seenObjects.has(object))return object;try{if(isFunction(object.__revoke__)){if(isProxy(object))object=object.__target__;object.__revoke__()}}catch(_unused){return object}finally{seenObjects.add(object)}if(Array.isArray(object)){var index=0;var _iterator34=_createForOfIteratorHelper(object),_step34;try{for(_iterator34.s();!(_step34=_iterator34.n()).done;){var value=_step34.value;object[index]=_unwrapProxy(value,seenObjects);index+=1}}catch(err){_iterator34.e(err)}finally{_iterator34.f()}}else if(isMap(object)){var _iterator35=_createForOfIteratorHelper(object),_step35;try{for(_iterator35.s();!(_step35=_iterator35.n()).done;){var _step35$value=_slicedToArray(_step35.value,2),key=_step35$value[0],_value17=_step35$value[1];object.set(key,_unwrapProxy(_value17,seenObjects))}}catch(err){_iterator35.e(err)}finally{_iterator35.f()}}else if(isSet(object)){var cache=[];var _iterator36=_createForOfIteratorHelper(object),_step36;try{for(_iterator36.s();!(_step36=_iterator36.n()).done;){var _value19=_step36.value;object.delete(_value19);cache.push(_unwrapProxy(_value19,seenObjects))}}catch(err){_iterator36.e(err)}finally{_iterator36.f()}for(var _i29=0,_cache4=cache;_i29<_cache4.length;_i29++){var _value18=_cache4[_i29];object.add(_value18)}}else for(var _i30=0,_Object$entries16=Object.entries(object);_i30<_Object$entries16.length;_i30++){var _Object$entries16$_i=_slicedToArray(_Object$entries16[_i30],2),_key11=_Object$entries16$_i[0],_value20=_Object$entries16$_i[1];object[_key11]=_unwrapProxy(_value20,seenObjects)}}return object};
351
- __webpack_async_result__();
352
- } catch(e) { __webpack_async_result__(e); } });
353
-
354
- /***/ }),
355
- /* 4 */
356
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
357
-
358
- __webpack_require__.a(module, async function (__webpack_handle_async_dependencies__, __webpack_async_result__) { try {
359
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
360
- /* harmony export */ kf: function() { return /* binding */ isNumeric; }
361
- /* harmony export */ });
362
- /* unused harmony exports isWindow, isArrayLike, isAnyMatching, isObject, isPlainObject, isSet, isMap, isProxy, isFunction */
363
- /* unused harmony import specifier */ var PLAIN_OBJECT_PROTOTYPES;
364
- /* unused harmony import specifier */ var determineType;
365
- /* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
366
- /* harmony import */ var _object_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3);
367
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_object_js__WEBPACK_IMPORTED_MODULE_2__]);
368
- var __webpack_async_dependencies_result__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
369
- _object_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_async_dependencies_result__[0];
370
- // #!/usr/bin/env babel-node
371
- // -*- coding: utf-8 -*-
372
- /** @module indicators *//* !
373
- region header
374
- [Project page](https://torben.website/clientnode)
375
-
376
- Copyright Torben Sickert (info["~at~"]torben.website) 16.12.2012
377
-
378
- License
379
- -------
380
-
381
- This library written by Torben Sickert stands under a creative commons
382
- naming 3.0 unported license.
383
- See https://creativecommons.org/licenses/by/3.0/deed.de
384
- endregion
385
- */function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var _n=0,F=function F(){};return{s:F,n:function n(){return _n>=r.length?{done:!0}:{done:!1,value:r[_n++]}},e:function e(r){throw r},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,u=!1;return{s:function s(){t=t.call(r)},n:function n(){var r=t.next();return a=r.done,r},e:function e(r){u=!0,o=r},f:function f(){try{a||null==t.return||t.return()}finally{if(u)throw o}}}}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}/**
386
- * Determines whether its argument represents a JavaScript number.
387
- * @param value - Value to analyze.
388
- * @returns A boolean value indicating whether given object is numeric
389
- * like.
390
- */var isNumeric=function isNumeric(value){var type=(0,_object_js__WEBPACK_IMPORTED_MODULE_2__/* .determineType */ .Sj)(value);/*
391
- NOTE: "parseFloat" "NaNs" numeric-cast false positives ("") but
392
- misinterprets leading-number strings, particularly hex literals
393
- ("0x...") subtraction forces infinities to NaN.
394
- */return["number","string"].includes(type)&&!isNaN(value-parseFloat(value))};/**
395
- * Determine whether the argument is a window.
396
- * @param value - Value to check for.
397
- * @returns Boolean value indicating the result.
398
- */var isWindow=function isWindow(value){return![null,undefined].includes(value)&&_typeof(value)==="object"&&value===(value===null||value===void 0?void 0:value.window)};/**
399
- * Checks if given object is similar to an array and can be handled like an
400
- * array.
401
- * @param object - Object to check behavior for.
402
- * @returns A boolean value indicating whether given object is array like.
403
- */var isArrayLike=function isArrayLike(object){var length;try{length=Boolean(object)&&object.length}catch(_unused){return false}var type=determineType(object);if(type==="function"||isWindow(object))return false;if(type==="array"||length===0)return true;if(typeof length==="number"&&length>0)try{var _dump=object[length-1];return true}catch(_unused2){// Continue regardless of an error.
404
- }return false};/**
405
- * Checks whether one of the given pattern matches given string.
406
- * @param target - Target to check in pattern for.
407
- * @param pattern - List of pattern to check for.
408
- * @returns Value "true" if given object is matches by at leas one of the
409
- * given pattern and "false" otherwise.
410
- */var isAnyMatching=function isAnyMatching(target,pattern){var _iterator=_createForOfIteratorHelper(pattern),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var currentPattern=_step.value;if(typeof currentPattern==="string"){if(currentPattern===target)return true}else if(currentPattern.test(target))return true}}catch(err){_iterator.e(err)}finally{_iterator.f()}return false};/**
411
- * Checks whether given object is a native object but not null.
412
- * @param value - Value to check.
413
- * @returns Value "true" if given object is a plain javaScript object and
414
- * "false" otherwise.
415
- */var isObject=function isObject(value){return value!==null&&_typeof(value)==="object"};/**
416
- * Checks whether given object is a plain native object.
417
- * @param value - Value to check.
418
- * @returns Value "true" if given object is a plain javaScript object and
419
- * "false" otherwise.
420
- */var isPlainObject=function isPlainObject(value){return isObject(value)&&PLAIN_OBJECT_PROTOTYPES.includes(Object.getPrototypeOf(value))};/**
421
- * Checks whether given object is a set.
422
- * @param value - Value to check.
423
- * @returns Value "true" if given object is a set and "false" otherwise.
424
- */var isSet=function isSet(value){return determineType(value)==="set"};/**
425
- * Checks whether given object is a map.
426
- * @param value - Value to check.
427
- * @returns Value "true" if given object is a map and "false" otherwise.
428
- */var isMap=function isMap(value){return determineType(value)==="map"};/**
429
- * Checks whether given object is a proxy.
430
- * @param value - Value to check.
431
- * @returns Value "true" if given object is a proxy and "false" otherwise.
432
- */var isProxy=function isProxy(value){return Boolean(value.__target__)};/**
433
- * Checks whether given object is a function.
434
- * @param value - Value to check.
435
- * @returns Value "true" if given object is a function and "false"
436
- * otherwise.
437
- */var isFunction=function isFunction(value){return Boolean(value)&&["[object AsyncFunction]","[object Function]"].includes({}.toString.call(value))};
438
- __webpack_async_result__();
439
- } catch(e) { __webpack_async_result__(e); } });
440
-
441
- /***/ }),
442
- /* 5 */
443
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
444
-
445
- __webpack_require__.a(module, async function (__webpack_handle_async_dependencies__, __webpack_async_result__) { try {
446
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
447
- /* harmony export */ Lz: function() { return /* binding */ globalContext; },
448
- /* harmony export */ tE: function() { return /* binding */ NOOP; }
449
- /* harmony export */ });
450
- /* unused harmony exports setGlobalContext, MAXIMAL_NUMBER_OF_ITERATIONS, mockConsole */
451
- /* unused harmony import specifier */ var CONSOLE_METHODS;
452
- /* harmony import */ var _module_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
453
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_module_js__WEBPACK_IMPORTED_MODULE_0__]);
454
- var __webpack_async_dependencies_result__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
455
- _module_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_async_dependencies_result__[0];
456
- // #!/usr/bin/env babel-node
457
- // -*- coding: utf-8 -*-
458
- /** @module context *//* !
459
- region header
460
- [Project page](https://torben.website/clientnode)
461
-
462
- Copyright Torben Sickert (info["~at~"]torben.website) 16.12.2012
463
-
464
- License
465
- -------
466
-
467
- This library written by Torben Sickert stands under a creative commons
468
- naming 3.0 unported license.
469
- See https://creativecommons.org/licenses/by/3.0/deed.de
470
- endregion
471
- */var _optionalRequire$defa,_optionalRequire;function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var _n=0,F=function F(){};return{s:F,n:function n(){return _n>=r.length?{done:!0}:{done:!1,value:r[_n++]}},e:function e(r){throw r},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,u=!1;return{s:function s(){t=t.call(r)},n:function n(){var r=t.next();return a=r.done,r},e:function e(r){u=!0,o=r},f:function f(){try{a||null==t.return||t.return()}finally{if(u)throw o}}}}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}var globalContext=(0,_module_js__WEBPACK_IMPORTED_MODULE_0__/* .determineGlobalContext */ .a8)();var setGlobalContext=function setGlobalContext(context){globalContext=context};globalContext.fetch=globalContext.fetch?globalContext.fetch.bind(globalContext):(_optionalRequire$defa=(_optionalRequire=(0,_module_js__WEBPACK_IMPORTED_MODULE_0__/* .optionalRequire */ .I5)("node-fetch"))===null||_optionalRequire===void 0?void 0:_optionalRequire.default)!==null&&_optionalRequire$defa!==void 0?_optionalRequire$defa:function(){for(var _len=arguments.length,parameters=new Array(_len),_key=0;_key<_len;_key++){parameters[_key]=arguments[_key]}return (0,_module_js__WEBPACK_IMPORTED_MODULE_0__/* .optionalImport */ .Sw)(/* webpackIgnore: true */"node-fetch").then(function(module){var _ref;return(_ref=module).default.apply(_ref,parameters)})};var MAXIMAL_NUMBER_OF_ITERATIONS=(/* unused pure expression or super */ null && ({value:100}));// A no-op dummy function.
472
- var NOOP=function NOOP(){// Do nothing.
473
- };var mockConsole=function mockConsole(){// Avoid errors in browsers that lack a console.
474
- if(!Object.prototype.hasOwnProperty.call(globalContext,"console"))globalContext.console={};if(!globalContext.console)globalContext.console={};var _iterator=_createForOfIteratorHelper(CONSOLE_METHODS),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var methodName=_step.value;if(!(methodName in globalContext.console))globalContext.console[methodName]=NOOP}}catch(err){_iterator.e(err)}finally{_iterator.f()}};
475
- __webpack_async_result__();
476
- } catch(e) { __webpack_async_result__(e); } });
477
-
478
- /***/ }),
479
- /* 6 */
480
- /***/ (function(module) {
481
-
482
- function webpackEmptyContext(req) {
483
- var e = new Error("Cannot find module '" + req + "'");
484
- e.code = 'MODULE_NOT_FOUND';
485
- throw e;
486
- }
487
- webpackEmptyContext.keys = function() { return []; };
488
- webpackEmptyContext.resolve = webpackEmptyContext;
489
- webpackEmptyContext.id = 6;
490
- module.exports = webpackEmptyContext;
491
-
492
- /***/ }),
493
- /* 7 */,
494
- /* 8 */
495
- /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
496
-
497
- var x = function(y) {
498
- var x = {}; __webpack_require__.d(x, y); return x
499
- }
500
- var y = function(x) { return function() { return x; }; }
501
- module.exports = x({ });
502
-
503
- /***/ }),
504
- /* 9 */,
505
- /* 10 */,
506
- /* 11 */,
507
- /* 12 */,
508
- /* 13 */,
509
- /* 14 */,
510
- /* 15 */
511
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
512
-
513
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
514
- /* harmony export */ l: function() { return /* binding */ CLI_COLOR; }
515
- /* harmony export */ });
516
- // #!/usr/bin/env babel-node
517
- // -*- coding: utf-8 -*-
518
- /** @module cli *//* !
519
- region header
520
- [Project page](https://torben.website/clientnode)
521
-
522
- Copyright Torben Sickert (info["~at~"]torben.website) 16.12.2012
523
-
524
- License
525
- -------
526
-
527
- This library written by Torben Sickert stands under a creative commons
528
- naming 3.0 unported license.
529
- See https://creativecommons.org/licenses/by/3.0/deed.de
530
- endregion
531
- */var CLI_COLOR={black:"\x1B[30m",blink:"\x1B[5m",blue:"\x1B[0;34m",bold:"\x1B[1m",cyan:"\x1B[36m",darkGray:"\x1B[0;90m",default:"\x1B[0m",dim:"\x1B[2m",green:"\x1B[32m",invert:"\x1B[7m",invisible:"\x1B[8m",lightBlue:"\x1B[0;94m",lightCyan:"\x1B[0;96m",lightGray:"\x1B[0;37m",lightGreen:"\x1B[0;92m",lightMagenta:"\x1B[0;95m",lightRed:"\x1B[0;91m",lightYellow:"\x1B[0;93m",magenta:"\x1B[35m",nodim:"\x1B[22m",noblink:"\x1B[25m",nobold:"\x1B[21m",noinvert:"\x1B[27m",noinvisible:"\x1B[28m",nounderline:"\x1B[24m",red:"\x1B[31m",underline:"\x1B[4m",white:"\x1B[37m",yellow:"\x1B[33m"};
532
-
533
- /***/ }),
534
- /* 16 */
535
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
536
-
537
- __webpack_require__.a(module, async function (__webpack_handle_async_dependencies__, __webpack_async_result__) { try {
538
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
539
- /* harmony export */ A_: function() { return /* binding */ LEVELS; },
540
- /* harmony export */ Vy: function() { return /* binding */ Logger; },
541
- /* harmony export */ Wh: function() { return /* binding */ LEVELS_COLOR; }
542
- /* harmony export */ });
543
- /* harmony import */ var _cli_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15);
544
- /* harmony import */ var _context_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5);
545
- /* harmony import */ var _indicators_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4);
546
- /* harmony import */ var _object_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3);
547
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_context_js__WEBPACK_IMPORTED_MODULE_1__, _indicators_js__WEBPACK_IMPORTED_MODULE_2__, _object_js__WEBPACK_IMPORTED_MODULE_3__]);
548
- var __webpack_async_dependencies_result__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
549
- _context_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_async_dependencies_result__[0];
550
- _indicators_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_async_dependencies_result__[1];
551
- _object_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_async_dependencies_result__[2];
552
- // #!/usr/bin/env babel-node
553
- // -*- coding: utf-8 -*-
554
- /** @module Logger *//* !
555
- region header
556
- [Project page](https://torben.website/clientnode)
557
-
558
- Copyright Torben Sickert (info["~at~"]torben.website) 16.12.2012
559
-
560
- License
561
- -------
562
-
563
- This library written by Torben Sickert stands under a creative commons
564
- naming 3.0 unported license.
565
- See https://creativecommons.org/licenses/by/3.0/deed.de
566
- endregion
567
- */var _Logger;function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r}finally{try{if(!f&&null!=t.return&&(u=t.return(),Object(u)!==u))return}finally{if(o)throw n}}return a}}function _arrayWithHoles(r){if(Array.isArray(r))return r}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o)}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}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}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}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)}var LEVELS=["error","critical","warn","info","debug"];var LEVELS_COLOR=[_cli_js__WEBPACK_IMPORTED_MODULE_0__/* .CLI_COLOR */ .l.red,_cli_js__WEBPACK_IMPORTED_MODULE_0__/* .CLI_COLOR */ .l.magenta,_cli_js__WEBPACK_IMPORTED_MODULE_0__/* .CLI_COLOR */ .l.yellow,_cli_js__WEBPACK_IMPORTED_MODULE_0__/* .CLI_COLOR */ .l.green,_cli_js__WEBPACK_IMPORTED_MODULE_0__/* .CLI_COLOR */ .l.blue];/**
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
+ /**
568
32
  * This plugin provides such interface logic like generic controller logic for
569
33
  * integrating plugins into $, mutual exclusion for dependent gui elements,
570
34
  * logging additional string, array or function handling. A set of helper
@@ -572,249 +36,150 @@ _object_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_async_dependencies_result__[
572
36
  * provided.
573
37
  * @property level - Logging level.
574
38
  * @property name - Logger description.
575
- */var Logger=/*#__PURE__*/function(){/**
576
- * Initializes logger.
577
- * @param options - Options to set.
578
- */function Logger(options){if(options===void 0){options={}}_classCallCheck(this,Logger);_defineProperty(this,"level",Logger.defaultLevel);_defineProperty(this,"name",Logger.defaultName);this.configure(options);Logger.instances[this.name]=this}/**
579
- * Configures logger.
580
- * @param options - Options to set.
581
- * @param options.name - Description of the logger instance.
582
- * @param options.level - Logging level to configure.
583
- */return _createClass(Logger,[{key:"configure",value:function configure(_ref){var name=_ref.name,level=_ref.level;if(level)this.level=level;else this.level=Logger.defaultLevel;if(name)this.name=name;else this.name=Logger.defaultName}/**
584
- * Shows the given object's representation in the browsers console if
585
- * possible or in a standalone alert-window as fallback.
586
- * @param object - Any object to print.
587
- * @param force - If set to "true" given input will be shown independently
588
- * of current logging configuration or interpreter's console
589
- * implementation.
590
- * @param avoidAnnotation - If set to "true" given input has no module or
591
- * log level specific annotations.
592
- * @param level - Description of log messages importance.
593
- * @param additionalArguments - Additional values to print.
594
- */},{key:"log",value:function log(object,force,avoidAnnotation,level){if(force===void 0){force=false}if(avoidAnnotation===void 0){avoidAnnotation=false}if(level===void 0){level="info"}var currentLevelIndex=LEVELS.indexOf(this.level);var levelIndex=LEVELS.indexOf(level);if(force||currentLevelIndex>=levelIndex){var _globalContext$consol;var messages=[];var annotation="".concat(LEVELS_COLOR[levelIndex]).concat(level)+"".concat(_cli_js__WEBPACK_IMPORTED_MODULE_0__/* .CLI_COLOR */ .l.default,":").concat(this.name,":")+"".concat(new Date().toISOString(),":");for(var _len=arguments.length,additionalArguments=new Array(_len>4?_len-4:0),_key=4;_key<_len;_key++){additionalArguments[_key-4]=arguments[_key]}if(avoidAnnotation)messages.push(object);else if(typeof object==="string")messages.push.apply(messages,[annotation,object].concat(additionalArguments));else if((0,_indicators_js__WEBPACK_IMPORTED_MODULE_2__/* .isNumeric */ .kf)(object)||typeof object==="boolean")messages.push.apply(messages,[annotation,object.toString()].concat(additionalArguments));else{var multiLineAnnotation=annotation.substring(0,annotation.length-1);var lineLength=79-2;// Color codes are invisible so we have to add it.
595
- var remainingLength=lineLength+LEVELS_COLOR[levelIndex].length+_cli_js__WEBPACK_IMPORTED_MODULE_0__/* .CLI_COLOR */ .l.default.length-multiLineAnnotation.length;var halfRemainingLength=Math.floor(remainingLength/2);this.log(",".concat("-".repeat(halfRemainingLength))+multiLineAnnotation+"-".repeat(halfRemainingLength)+"".concat("-".repeat(remainingLength%2),","),force,true,level);this.log(object,force,true,level);this.log("'".concat("-".repeat(lineLength),"'"),force,true,level)}if(messages.length)if(!(_context_js__WEBPACK_IMPORTED_MODULE_1__/* .globalContext */ .Lz.console&&level in _context_js__WEBPACK_IMPORTED_MODULE_1__/* .globalContext */ .Lz.console)||_context_js__WEBPACK_IMPORTED_MODULE_1__/* .globalContext */ .Lz.console[level]===_context_js__WEBPACK_IMPORTED_MODULE_1__/* .NOOP */ .tE){var _globalContext$window;if(Object.prototype.hasOwnProperty.call(_context_js__WEBPACK_IMPORTED_MODULE_1__/* .globalContext */ .Lz,"window")&&Object.prototype.hasOwnProperty.call(_context_js__WEBPACK_IMPORTED_MODULE_1__/* .globalContext */ .Lz.window,"alert"))(_globalContext$window=_context_js__WEBPACK_IMPORTED_MODULE_1__/* .globalContext */ .Lz.window)===null||_globalContext$window===void 0||_globalContext$window.alert(messages.join(" "))}else(_globalContext$consol=_context_js__WEBPACK_IMPORTED_MODULE_1__/* .globalContext */ .Lz.console)[level].apply(_globalContext$consol,messages)}}/**
596
- * Wrapper method for the native console method usually provided by
597
- * interpreter.
598
- * @param object - Any object to print.
599
- * @param additionalArguments - Additional arguments are used for string
600
- * formatting.
601
- */},{key:"info",value:function info(object){for(var _len2=arguments.length,additionalArguments=new Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++){additionalArguments[_key2-1]=arguments[_key2]}this.log.apply(this,[object,false,false,"info"].concat(additionalArguments))}/**
602
- * Wrapper method for the native console method usually provided by
603
- * interpreter.
604
- * @param object - Any object to print.
605
- * @param additionalArguments - Additional arguments are used for string
606
- * formatting.
607
- */},{key:"debug",value:function debug(object){for(var _len3=arguments.length,additionalArguments=new Array(_len3>1?_len3-1:0),_key3=1;_key3<_len3;_key3++){additionalArguments[_key3-1]=arguments[_key3]}this.log.apply(this,[object,false,false,"debug"].concat(additionalArguments))}/**
608
- * Wrapper method for the native console method usually provided by
609
- * interpreter.
610
- * @param object - Any object to print.
611
- * @param additionalArguments - Additional arguments are used for string
612
- * formatting.
613
- */},{key:"error",value:function error(object){for(var _len4=arguments.length,additionalArguments=new Array(_len4>1?_len4-1:0),_key4=1;_key4<_len4;_key4++){additionalArguments[_key4-1]=arguments[_key4]}this.log.apply(this,[object,true,false,"error"].concat(additionalArguments))}/**
614
- * Wrapper method for the native console method usually provided by
615
- * interpreter.
616
- * @param object - Any object to print.
617
- * @param additionalArguments - Additional arguments are used for string
618
- * formatting.
619
- */},{key:"critical",value:function critical(object){for(var _len5=arguments.length,additionalArguments=new Array(_len5>1?_len5-1:0),_key5=1;_key5<_len5;_key5++){additionalArguments[_key5-1]=arguments[_key5]}this.log.apply(this,[object,true,false,"warn"].concat(additionalArguments))}/**
620
- * Wrapper method for the native console method usually provided by
621
- * interpreter.
622
- * @param object - Any object to print.
623
- * @param additionalArguments - Additional arguments are used for string
624
- * formatting.
625
- */},{key:"warn",value:function warn(object){for(var _len6=arguments.length,additionalArguments=new Array(_len6>1?_len6-1:0),_key6=1;_key6<_len6;_key6++){additionalArguments[_key6-1]=arguments[_key6]}this.log.apply(this,[object,false,false,"warn"].concat(additionalArguments))}/**
626
- * Dumps a given object in a human-readable format.
627
- * @param object - Any object to show.
628
- * @param level - Number of levels to dig into given object recursively.
629
- * @param currentLevel - Maximal number of recursive function calls to
630
- * represent given object.
631
- * @returns Returns the serialized version of given object.
632
- */}],[{key:"configureAllInstances",value:/**
633
- * Configures all logger instances.
634
- * @param options - Options to set.
635
- */function configureAllInstances(options){if(options===void 0){options={}}if(options.level)Logger.defaultLevel=options.level;if(options.name)Logger.defaultName=options.name;for(var _i=0,_Object$values=Object.values(Logger.instances);_i<_Object$values.length;_i++){var logger=_Object$values[_i];logger.configure(options)}}},{key:"show",value:function show(object,level,currentLevel){if(level===void 0){level=3}if(currentLevel===void 0){currentLevel=0}var output="";if((0,_object_js__WEBPACK_IMPORTED_MODULE_3__/* .determineType */ .Sj)(object)==="object"){for(var _i2=0,_Object$entries=Object.entries(object);_i2<_Object$entries.length;_i2++){var _Object$entries$_i=_slicedToArray(_Object$entries[_i2],2),key=_Object$entries$_i[0],value=_Object$entries$_i[1];output+="".concat(key,": ");if(currentLevel<=level)output+=Logger.show(value,level,currentLevel+1);else output+=String(value);output+="\n"}return output.trim()}output=String(object).trim();return"".concat(output," (Type: \"").concat((0,_object_js__WEBPACK_IMPORTED_MODULE_3__/* .determineType */ .Sj)(object),"\")")}}])}();_Logger=Logger;_defineProperty(Logger,"defaultLevel","warn");_defineProperty(Logger,"defaultName","app");_defineProperty(Logger,"selfClass",_Logger);_defineProperty(Logger,"instances",{});_defineProperty(Logger,"runtimeVersion",Math.random());/* harmony default export */ __webpack_exports__.Ay = (Logger);
636
- __webpack_async_result__();
637
- } catch(e) { __webpack_async_result__(e); } });
638
-
639
- /***/ })
640
- /******/ ]);
641
- /************************************************************************/
642
- /******/ // The module cache
643
- /******/ var __webpack_module_cache__ = {};
644
- /******/
645
- /******/ // The require function
646
- /******/ function __webpack_require__(moduleId) {
647
- /******/ // Check if module is in cache
648
- /******/ var cachedModule = __webpack_module_cache__[moduleId];
649
- /******/ if (cachedModule !== undefined) {
650
- /******/ return cachedModule.exports;
651
- /******/ }
652
- /******/ // Create a new module (and put it into the cache)
653
- /******/ var module = __webpack_module_cache__[moduleId] = {
654
- /******/ id: moduleId,
655
- /******/ loaded: false,
656
- /******/ exports: {}
657
- /******/ };
658
- /******/
659
- /******/ // Execute the module function
660
- /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
661
- /******/
662
- /******/ // Flag the module as loaded
663
- /******/ module.loaded = true;
664
- /******/
665
- /******/ // Return the exports of the module
666
- /******/ return module.exports;
667
- /******/ }
668
- /******/
669
- /******/ // expose the module cache
670
- /******/ __webpack_require__.c = __webpack_module_cache__;
671
- /******/
672
- /************************************************************************/
673
- /******/ /* webpack/runtime/async module */
674
- /******/ !function() {
675
- /******/ var hasSymbol = typeof Symbol === "function";
676
- /******/ var webpackQueues = hasSymbol ? Symbol("webpack queues") : "__webpack_queues__";
677
- /******/ var webpackExports = hasSymbol ? Symbol("webpack exports") : "__webpack_exports__";
678
- /******/ var webpackError = hasSymbol ? Symbol("webpack error") : "__webpack_error__";
679
- /******/
680
- /******/ var resolveQueue = function(queue) {
681
- /******/ if(queue && queue.d < 1) {
682
- /******/ queue.d = 1;
683
- /******/ queue.forEach(function(fn) { fn.r--; });
684
- /******/ queue.forEach(function(fn) { fn.r-- ? fn.r++ : fn(); });
685
- /******/ }
686
- /******/ }
687
- /******/ var wrapDeps = function(deps) { return deps.map(function(dep) {
688
- /******/ if(dep !== null && typeof dep === "object") {
689
- /******/
690
- /******/ if(dep[webpackQueues]) return dep;
691
- /******/ if(dep.then) {
692
- /******/ var queue = [];
693
- /******/ queue.d = 0;
694
- /******/ dep.then(function(r) {
695
- /******/ obj[webpackExports] = r;
696
- /******/ resolveQueue(queue);
697
- /******/ }, function(e) {
698
- /******/ obj[webpackError] = e;
699
- /******/ resolveQueue(queue);
700
- /******/ });
701
- /******/ var obj = {};
702
- /******/
703
- /******/ obj[webpackQueues] = function(fn) { fn(queue); };
704
- /******/ return obj;
705
- /******/ }
706
- /******/ }
707
- /******/ var ret = {};
708
- /******/ ret[webpackQueues] = function() {};
709
- /******/ ret[webpackExports] = dep;
710
- /******/ return ret;
711
- /******/ }); };
712
- /******/ __webpack_require__.a = function(module, body, hasAwait) {
713
- /******/ var queue;
714
- /******/ hasAwait && ((queue = []).d = -1);
715
- /******/ var depQueues = new Set();
716
- /******/ var exports = module.exports;
717
- /******/ var currentDeps;
718
- /******/ var outerResolve;
719
- /******/ var reject;
720
- /******/ var promise = new Promise(function(resolve, rej) {
721
- /******/ reject = rej;
722
- /******/ outerResolve = resolve;
723
- /******/ });
724
- /******/ promise[webpackExports] = exports;
725
- /******/ promise[webpackQueues] = function(fn) { queue && fn(queue), depQueues.forEach(fn), promise["catch"](function() {}); };
726
- /******/ module.exports = promise;
727
- /******/ var handle = function(deps) {
728
- /******/ currentDeps = wrapDeps(deps);
729
- /******/ var fn;
730
- /******/ var getResult = function() { return currentDeps.map(function(d) {
731
- /******/
732
- /******/ if(d[webpackError]) throw d[webpackError];
733
- /******/ return d[webpackExports];
734
- /******/ }); }
735
- /******/ var promise = new Promise(function(resolve) {
736
- /******/ fn = function() { resolve(getResult); };
737
- /******/ fn.r = 0;
738
- /******/ var fnQueue = function(q) { q !== queue && !depQueues.has(q) && (depQueues.add(q), q && !q.d && (fn.r++, q.push(fn))); };
739
- /******/ currentDeps.map(function(dep) { dep[webpackQueues](fnQueue); });
740
- /******/ });
741
- /******/ return fn.r ? promise : getResult();
742
- /******/ }
743
- /******/ var done = function(err) { (err ? reject(promise[webpackError] = err) : outerResolve(exports)), resolveQueue(queue); }
744
- /******/ body(handle, done);
745
- /******/ queue && queue.d < 0 && (queue.d = 0);
746
- /******/ };
747
- /******/ }();
748
- /******/
749
- /******/ /* webpack/runtime/define property getters */
750
- /******/ !function() {
751
- /******/ // define getter/value functions for harmony exports
752
- /******/ __webpack_require__.d = function(exports, definition) {
753
- /******/ if(Array.isArray(definition)) {
754
- /******/ var i = 0;
755
- /******/ while(i < definition.length) {
756
- /******/ var key = definition[i++];
757
- /******/ var binding = definition[i++];
758
- /******/ if(!__webpack_require__.o(exports, key)) {
759
- /******/ if(binding === 0) {
760
- /******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
761
- /******/ } else {
762
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
763
- /******/ }
764
- /******/ } else if(binding === 0) { i++; }
765
- /******/ }
766
- /******/ } else {
767
- /******/ for(var key in definition) {
768
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
769
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
770
- /******/ }
771
- /******/ }
772
- /******/ }
773
- /******/ };
774
- /******/ }();
775
- /******/
776
- /******/ /* webpack/runtime/global */
777
- /******/ !function() {
778
- /******/ __webpack_require__.g = (function() {
779
- /******/ if (typeof globalThis === 'object') return globalThis;
780
- /******/ try {
781
- /******/ return this || new Function('return this')();
782
- /******/ } catch (e) {
783
- /******/ if (typeof window === 'object') return window;
784
- /******/ }
785
- /******/ })();
786
- /******/ }();
787
- /******/
788
- /******/ /* webpack/runtime/harmony module decorator */
789
- /******/ !function() {
790
- /******/ __webpack_require__.hmd = function(module) {
791
- /******/ module = Object.create(module);
792
- /******/ if (!module.children) module.children = [];
793
- /******/ Object.defineProperty(module, 'exports', {
794
- /******/ enumerable: true,
795
- /******/ set: function() {
796
- /******/ throw new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);
797
- /******/ }
798
- /******/ });
799
- /******/ return module;
800
- /******/ };
801
- /******/ }();
802
- /******/
803
- /******/ /* webpack/runtime/hasOwnProperty shorthand */
804
- /******/ !function() {
805
- /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
806
- /******/ }();
807
- /******/
808
- /************************************************************************/
809
- /******/
810
- /******/ // module cache are used so entry inlining is disabled
811
- /******/ // startup
812
- /******/ // Load entry module and return exports
813
- /******/ var __webpack_exports__ = __webpack_require__(16);
814
- /******/ __webpack_exports__ = await __webpack_exports__;
815
- /******/ var __webpack_exports__LEVELS = __webpack_exports__.A_;
816
- /******/ var __webpack_exports__LEVELS_COLOR = __webpack_exports__.Wh;
817
- /******/ var __webpack_exports__Logger = __webpack_exports__.Vy;
818
- /******/ var __webpack_exports__default = __webpack_exports__.Ay;
819
- /******/ export { __webpack_exports__LEVELS as LEVELS, __webpack_exports__LEVELS_COLOR as LEVELS_COLOR, __webpack_exports__Logger as Logger, __webpack_exports__default as default };
820
- /******/
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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