1
0
Fork 0
mirror of https://github.com/plankanban/planka.git synced 2025-07-18 20:59:44 +02:00
planka/client/patches/redux-orm+0.16.2.patch

2544 lines
1.9 MiB
Diff
Raw Normal View History

diff --git a/node_modules/redux-orm/dist/redux-orm.js b/node_modules/redux-orm/dist/redux-orm.js
index 9298fea..d53d03e 100644
--- a/node_modules/redux-orm/dist/redux-orm.js
+++ b/node_modules/redux-orm/dist/redux-orm.js
@@ -103,7 +103,7 @@ return /******/ (function(modules) { // webpackBootstrap
/*! no static exports found */
/***/ (function(module, exports) {
-eval("function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2FycmF5TGlrZVRvQXJyYXkuanM/NWE0MyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBOztBQUVBLHdDQUF3QyxTQUFTO0FBQ2pEO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2FycmF5TGlrZVRvQXJyYXkuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfYXJyYXlMaWtlVG9BcnJheShhcnIsIGxlbikge1xuICBpZiAobGVuID09IG51bGwgfHwgbGVuID4gYXJyLmxlbmd0aCkgbGVuID0gYXJyLmxlbmd0aDtcblxuICBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIHtcbiAgICBhcnIyW2ldID0gYXJyW2ldO1xuICB9XG5cbiAgcmV0dXJuIGFycjI7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX2FycmF5TGlrZVRvQXJyYXk7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js\n");
+eval("function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2FycmF5TGlrZVRvQXJyYXkuanM/NWE0MyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBOztBQUVBLHdDQUF3QyxTQUFTO0FBQ2pEO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvYXJyYXlMaWtlVG9BcnJheS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9hcnJheUxpa2VUb0FycmF5KGFyciwgbGVuKSB7XG4gIGlmIChsZW4gPT0gbnVsbCB8fCBsZW4gPiBhcnIubGVuZ3RoKSBsZW4gPSBhcnIubGVuZ3RoO1xuXG4gIGZvciAodmFyIGkgPSAwLCBhcnIyID0gbmV3IEFycmF5KGxlbik7IGkgPCBsZW47IGkrKykge1xuICAgIGFycjJbaV0gPSBhcnJbaV07XG4gIH1cblxuICByZXR1cm4gYXJyMjtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBfYXJyYXlMaWtlVG9BcnJheTtcbm1vZHVsZS5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IG1vZHVsZS5leHBvcnRzLCBtb2R1bGUuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js\n");
/***/ }),
@@ -114,7 +114,7 @@ eval("function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.len
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
-eval("var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray */ \"./node_modules/@babel/runtime/helpers/arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2FycmF5V2l0aG91dEhvbGVzLmpzPzIyMzYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUJBQXVCLG1CQUFPLENBQUMscUZBQW9COztBQUVuRDtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9hcnJheVdpdGhvdXRIb2xlcy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBhcnJheUxpa2VUb0FycmF5ID0gcmVxdWlyZShcIi4vYXJyYXlMaWtlVG9BcnJheVwiKTtcblxuZnVuY3Rpb24gX2FycmF5V2l0aG91dEhvbGVzKGFycikge1xuICBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gYXJyYXlMaWtlVG9BcnJheShhcnIpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IF9hcnJheVdpdGhvdXRIb2xlczsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js\n");
+eval("var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ \"./node_modules/@babel/runtime/helpers/arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2FycmF5V2l0aG91dEhvbGVzLmpzPzIyMzYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUJBQXVCLG1CQUFPLENBQUMsd0ZBQXVCOztBQUV0RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2FycmF5V2l0aG91dEhvbGVzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGFycmF5TGlrZVRvQXJyYXkgPSByZXF1aXJlKFwiLi9hcnJheUxpa2VUb0FycmF5LmpzXCIpO1xuXG5mdW5jdGlvbiBfYXJyYXlXaXRob3V0SG9sZXMoYXJyKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGFycikpIHJldHVybiBhcnJheUxpa2VUb0FycmF5KGFycik7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX2FycmF5V2l0aG91dEhvbGVzO1xubW9kdWxlLmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gbW9kdWxlLmV4cG9ydHMsIG1vZHVsZS5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js\n");
/***/ }),
@@ -125,7 +125,7 @@ eval("var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray */ \"./n
/*! no static exports found */
/***/ (function(module, exports) {
-eval("function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzLmpzPzViYzMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxpQkFBaUIsa0JBQWtCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzcy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07XG4gICAgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlO1xuICAgIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTtcbiAgICBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7XG4gIGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpO1xuICBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7XG4gIHJldHVybiBDb25zdHJ1Y3Rvcjtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBfY3JlYXRlQ2xhc3M7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/createClass.js\n");
+eval("function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzLmpzPzViYzMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxpQkFBaUIsa0JBQWtCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTtcbiAgICBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7XG4gICAgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlO1xuICAgIGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpO1xuICB9XG59XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHtcbiAgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7XG4gIGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTtcbiAgcmV0dXJuIENvbnN0cnVjdG9yO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IF9jcmVhdGVDbGFzcztcbm1vZHVsZS5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IG1vZHVsZS5leHBvcnRzLCBtb2R1bGUuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/createClass.js\n");
/***/ }),
@@ -134,9 +134,9 @@ eval("function _defineProperties(target, props) {\n for (var i = 0; i < props.l
!*** ./node_modules/@babel/runtime/helpers/inheritsLoose.js ***!
\**************************************************************/
/*! no static exports found */
-/***/ (function(module, exports) {
+/***/ (function(module, exports, __webpack_require__) {
-eval("function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inheritsLoose;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2luaGVyaXRzTG9vc2UuanM/NTViNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW5oZXJpdHNMb29zZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9pbmhlcml0c0xvb3NlKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7XG4gIHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcy5wcm90b3R5cGUpO1xuICBzdWJDbGFzcy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBzdWJDbGFzcztcbiAgc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzcztcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBfaW5oZXJpdHNMb29zZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/inheritsLoose.js\n");
+eval("var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ \"./node_modules/@babel/runtime/helpers/setPrototypeOf.js\");\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inheritsLoose;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2luaGVyaXRzTG9vc2UuanM/NTViNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQkFBcUIsbUJBQU8sQ0FBQyxvRkFBcUI7O0FBRWxEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2luaGVyaXRzTG9vc2UuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgc2V0UHJvdG90eXBlT2YgPSByZXF1aXJlKFwiLi9zZXRQcm90b3R5cGVPZi5qc1wiKTtcblxuZnVuY3Rpb24gX2luaGVyaXRzTG9vc2Uoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHtcbiAgc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzLnByb3RvdHlwZSk7XG4gIHN1YkNsYXNzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IHN1YkNsYXNzO1xuICBzZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX2luaGVyaXRzTG9vc2U7XG5tb2R1bGUuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBtb2R1bGUuZXhwb3J0cywgbW9kdWxlLmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/inheritsLoose.js\n");
/***/ }),
@@ -147,7 +147,7 @@ eval("function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Ob
/*! no static exports found */
/***/ (function(module, exports) {
-eval("function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2l0ZXJhYmxlVG9BcnJheS5qcz8xMWIwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2l0ZXJhYmxlVG9BcnJheS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXkoaXRlcikge1xuICBpZiAodHlwZW9mIFN5bWJvbCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KGl0ZXIpKSByZXR1cm4gQXJyYXkuZnJvbShpdGVyKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBfaXRlcmFibGVUb0FycmF5OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/iterableToArray.js\n");
+eval("function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2l0ZXJhYmxlVG9BcnJheS5qcz8xMWIwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvaXRlcmFibGVUb0FycmF5LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2l0ZXJhYmxlVG9BcnJheShpdGVyKSB7XG4gIGlmICh0eXBlb2YgU3ltYm9sICE9PSBcInVuZGVmaW5lZFwiICYmIGl0ZXJbU3ltYm9sLml0ZXJhdG9yXSAhPSBudWxsIHx8IGl0ZXJbXCJAQGl0ZXJhdG9yXCJdICE9IG51bGwpIHJldHVybiBBcnJheS5mcm9tKGl0ZXIpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IF9pdGVyYWJsZVRvQXJyYXk7XG5tb2R1bGUuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBtb2R1bGUuZXhwb3J0cywgbW9kdWxlLmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/iterableToArray.js\n");
/***/ }),
@@ -158,7 +158,18 @@ eval("function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" &
/*! no static exports found */
/***/ (function(module, exports) {
-eval("function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL25vbkl0ZXJhYmxlU3ByZWFkLmpzPzA2NzYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvbm9uSXRlcmFibGVTcHJlYWQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfbm9uSXRlcmFibGVTcHJlYWQoKSB7XG4gIHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gc3ByZWFkIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuXCIpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IF9ub25JdGVyYWJsZVNwcmVhZDsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js\n");
+eval("function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL25vbkl0ZXJhYmxlU3ByZWFkLmpzPzA2NzYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9ub25JdGVyYWJsZVNwcmVhZC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9ub25JdGVyYWJsZVNwcmVhZCgpIHtcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX25vbkl0ZXJhYmxlU3ByZWFkO1xubW9kdWxlLmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gbW9kdWxlLmV4cG9ydHMsIG1vZHVsZS5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js\n");
+
+/***/ }),
+
+/***/ "./node_modules/@babel/runtime/helpers/setPrototypeOf.js":
+/*!***************************************************************!*\
+ !*** ./node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
+ \***************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports) {
+
+eval("function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL3NldFByb3RvdHlwZU9mLmpzPzRhNGIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL3NldFByb3RvdHlwZU9mLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBfc2V0UHJvdG90eXBlT2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgZnVuY3Rpb24gX3NldFByb3RvdHlwZU9mKG8sIHApIHtcbiAgICBvLl9fcHJvdG9fXyA9IHA7XG4gICAgcmV0dXJuIG87XG4gIH07XG5cbiAgbW9kdWxlLmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gbW9kdWxlLmV4cG9ydHMsIG1vZHVsZS5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuICByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IF9zZXRQcm90b3R5cGVPZjtcbm1vZHVsZS5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IG1vZHVsZS5leHBvcnRzLCBtb2R1bGUuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js\n");
/***/ }),
@@ -169,7 +180,7 @@ eval("function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt t
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
-eval("var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles */ \"./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js\");\n\nvar iterableToArray = __webpack_require__(/*! ./iterableToArray */ \"./node_modules/@babel/runtime/helpers/iterableToArray.js\");\n\nvar unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray */ \"./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread */ \"./node_modules/@babel/runtime/helpers/nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL3RvQ29uc3VtYWJsZUFycmF5LmpzPzQ0OGEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0JBQXdCLG1CQUFPLENBQUMsdUZBQXFCOztBQUVyRCxzQkFBc0IsbUJBQU8sQ0FBQyxtRkFBbUI7O0FBRWpELGlDQUFpQyxtQkFBTyxDQUFDLHlHQUE4Qjs7QUFFdkUsd0JBQXdCLG1CQUFPLENBQUMsdUZBQXFCOztBQUVyRDtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy90b0NvbnN1bWFibGVBcnJheS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBhcnJheVdpdGhvdXRIb2xlcyA9IHJlcXVpcmUoXCIuL2FycmF5V2l0aG91dEhvbGVzXCIpO1xuXG52YXIgaXRlcmFibGVUb0FycmF5ID0gcmVxdWlyZShcIi4vaXRlcmFibGVUb0FycmF5XCIpO1xuXG52YXIgdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkgPSByZXF1aXJlKFwiLi91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheVwiKTtcblxudmFyIG5vbkl0ZXJhYmxlU3ByZWFkID0gcmVxdWlyZShcIi4vbm9uSXRlcmFibGVTcHJlYWRcIik7XG5cbmZ1bmN0aW9uIF90b0NvbnN1bWFibGVBcnJheShhcnIpIHtcbiAgcmV0dXJuIGFycmF5V2l0aG91dEhvbGVzKGFycikgfHwgaXRlcmFibGVUb0FycmF5KGFycikgfHwgdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkoYXJyKSB8fCBub25JdGVyYWJsZVNwcmVhZCgpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IF90b0NvbnN1bWFibGVBcnJheTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/toConsumableArray.js\n");
+eval("var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ \"./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js\");\n\nvar iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ \"./node_modules/@babel/runtime/helpers/iterableToArray.js\");\n\nvar unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ \"./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ \"./node_modules/@babel/runtime/helpers/nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL3RvQ29uc3VtYWJsZUFycmF5LmpzPzQ0OGEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0JBQXdCLG1CQUFPLENBQUMsMEZBQXdCOztBQUV4RCxzQkFBc0IsbUJBQU8sQ0FBQyxzRkFBc0I7O0FBRXBELGlDQUFpQyxtQkFBTyxDQUFDLDRHQUFpQzs7QUFFMUUsd0JBQXdCLG1CQUFPLENBQUMsMEZBQXdCOztBQUV4RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL3RvQ29uc3VtYWJsZUFycmF5LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGFycmF5V2l0aG91dEhvbGVzID0gcmVxdWlyZShcIi4vYXJyYXlXaXRob3V0SG9sZXMuanNcIik7XG5cbnZhciBpdGVyYWJsZVRvQXJyYXkgPSByZXF1aXJlKFwiLi9pdGVyYWJsZVRvQXJyYXkuanNcIik7XG5cbnZhciB1bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSA9IHJlcXVpcmUoXCIuL3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5LmpzXCIpO1xuXG52YXIgbm9uSXRlcmFibGVTcHJlYWQgPSByZXF1aXJlKFwiLi9ub25JdGVyYWJsZVNwcmVhZC5qc1wiKTtcblxuZnVuY3Rpb24gX3RvQ29uc3VtYWJsZUFycmF5KGFycikge1xuICByZXR1cm4gYXJyYXlXaXRob3V0SG9sZXMoYXJyKSB8fCBpdGVyYWJsZVRvQXJyYXkoYXJyKSB8fCB1bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShhcnIpIHx8IG5vbkl0ZXJhYmxlU3ByZWFkKCk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX3RvQ29uc3VtYWJsZUFycmF5O1xubW9kdWxlLmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gbW9kdWxlLmV4cG9ydHMsIG1vZHVsZS5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/toConsumableArray.js\n");
/***/ }),
@@ -180,7 +191,7 @@ eval("var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles */ \".
/*! no static exports found */
/***/ (function(module, exports) {
-eval("function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL3R5cGVvZi5qcz83MDM3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL3R5cGVvZi5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7XG4gIFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjtcblxuICBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIpIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikge1xuICAgICAgcmV0dXJuIHR5cGVvZiBvYmo7XG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IF90eXBlb2YgPSBmdW5jdGlvbiBfdHlwZW9mKG9iaikge1xuICAgICAgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvYmo7XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBfdHlwZW9mKG9iaik7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX3R5cGVvZjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/typeof.js\n");
+eval("function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL3R5cGVvZi5qcz83MDM3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvdHlwZW9mLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX3R5cGVvZihvYmopIHtcbiAgXCJAYmFiZWwvaGVscGVycyAtIHR5cGVvZlwiO1xuXG4gIGlmICh0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gXCJzeW1ib2xcIikge1xuICAgIG1vZHVsZS5leHBvcnRzID0gX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7XG4gICAgICByZXR1cm4gdHlwZW9mIG9iajtcbiAgICB9O1xuXG4gICAgbW9kdWxlLmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gbW9kdWxlLmV4cG9ydHMsIG1vZHVsZS5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuICB9IGVsc2Uge1xuICAgIG1vZHVsZS5leHBvcnRzID0gX3R5cGVvZiA9IGZ1bmN0aW9uIF90eXBlb2Yob2JqKSB7XG4gICAgICByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajtcbiAgICB9O1xuXG4gICAgbW9kdWxlLmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gbW9kdWxlLmV4cG9ydHMsIG1vZHVsZS5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIF90eXBlb2Yob2JqKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBfdHlwZW9mO1xubW9kdWxlLmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gbW9kdWxlLmV4cG9ydHMsIG1vZHVsZS5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/typeof.js\n");
/***/ }),
@@ -191,7 +202,7 @@ eval("function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Sy
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
-eval("var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray */ \"./node_modules/@babel/runtime/helpers/arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5LmpzPzY2MTMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUJBQXVCLG1CQUFPLENBQUMscUZBQW9COztBQUVuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgYXJyYXlMaWtlVG9BcnJheSA9IHJlcXVpcmUoXCIuL2FycmF5TGlrZVRvQXJyYXlcIik7XG5cbmZ1bmN0aW9uIF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShvLCBtaW5MZW4pIHtcbiAgaWYgKCFvKSByZXR1cm47XG4gIGlmICh0eXBlb2YgbyA9PT0gXCJzdHJpbmdcIikgcmV0dXJuIGFycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTtcbiAgdmFyIG4gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykuc2xpY2UoOCwgLTEpO1xuICBpZiAobiA9PT0gXCJPYmplY3RcIiAmJiBvLmNvbnN0cnVjdG9yKSBuID0gby5jb25zdHJ1Y3Rvci5uYW1lO1xuICBpZiAobiA9PT0gXCJNYXBcIiB8fCBuID09PSBcIlNldFwiKSByZXR1cm4gQXJyYXkuZnJvbShvKTtcbiAgaWYgKG4gPT09IFwiQXJndW1lbnRzXCIgfHwgL14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpIHJldHVybiBhcnJheUxpa2VUb0FycmF5KG8sIG1pbkxlbik7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js\n");
+eval("var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ \"./node_modules/@babel/runtime/helpers/arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5LmpzPzY2MTMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUJBQXVCLG1CQUFPLENBQUMsd0ZBQXVCOztBQUV0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBhcnJheUxpa2VUb0FycmF5ID0gcmVxdWlyZShcIi4vYXJyYXlMaWtlVG9BcnJheS5qc1wiKTtcblxuZnVuY3Rpb24gX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KG8sIG1pbkxlbikge1xuICBpZiAoIW8pIHJldHVybjtcbiAgaWYgKHR5cGVvZiBvID09PSBcInN0cmluZ1wiKSByZXR1cm4gYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pO1xuICB2YXIgbiA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvKS5zbGljZSg4LCAtMSk7XG4gIGlmIChuID09PSBcIk9iamVjdFwiICYmIG8uY29uc3RydWN0b3IpIG4gPSBvLmNvbnN0cnVjdG9yLm5hbWU7XG4gIGlmIChuID09PSBcIk1hcFwiIHx8IG4gPT09IFwiU2V0XCIpIHJldHVybiBBcnJheS5mcm9tKG8pO1xuICBpZiAobiA9PT0gXCJBcmd1bWVudHNcIiB8fCAvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKSkgcmV0dXJuIGFycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXk7XG5tb2R1bGUuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBtb2R1bGUuZXhwb3J0cywgbW9kdWxlLmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js\n");
/***/ }),
@@ -262,6 +273,17 @@ eval("/**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _
/***/ }),
+/***/ "./node_modules/lodash/_baseGet.js":
+/*!*****************************************!*\
+ !*** ./node_modules/lodash/_baseGet.js ***!
+ \*****************************************/
+/*! no static exports found */
+/***/ (function(module, exports) {
+
+eval("/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VHZXQuanM/NjU2YiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsYUFBYSxFQUFFO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlR2V0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZXRzIHRoZSB2YWx1ZSBhdCBga2V5YCBvZiBgb2JqZWN0YC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IFtvYmplY3RdIFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGdldC5cbiAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBwcm9wZXJ0eSB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gZ2V0VmFsdWUob2JqZWN0LCBrZXkpIHtcbiAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gdW5kZWZpbmVkIDogb2JqZWN0W2tleV07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0VmFsdWU7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/lodash/_baseGet.js\n");
+
+/***/ }),
+
/***/ "./node_modules/lodash/_baseIteratee.js":
/*!**********************************************!*\
!*** ./node_modules/lodash/_baseIteratee.js ***!
@@ -291,7 +313,7 @@ eval("/**\n * A specialized version of `_.map` for arrays without support for it
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
-eval("var arrayMap = __webpack_require__(/*! ./_arrayMap */ \"./node_modules/lodash/_arrayMap.js\"),\n baseIteratee = __webpack_require__(/*! ./_baseIteratee */ \"./node_modules/lodash/_baseIteratee.js\"),\n baseMap = __webpack_require__(/*! ./_baseMap */ \"./node_modules/lodash/_baseMap.js\"),\n baseSortBy = __webpack_require__(/*! ./_baseSortBy */ \"./node_modules/lodash/_baseSortBy.js\"),\n baseUnary = __webpack_require__(/*! ./_baseUnary */ \"./node_modules/lodash/_baseUnary.js\"),\n compareMultiple = __webpack_require__(/*! ./_compareMultiple */ \"./node_modules/lodash/_compareMultiple.js\"),\n identity = __webpack_require__(/*! ./identity */ \"./node_modules/lodash/identity.js\");\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n var index = -1;\n iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(baseIteratee));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n}\n\nmodule.exports = baseOrderBy;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VPcmRlckJ5LmpzPzZhNWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZSxtQkFBTyxDQUFDLHVEQUFhO0FBQ3BDLG1CQUFtQixtQkFBTyxDQUFDLCtEQUFpQjtBQUM1QyxjQUFjLG1CQUFPLENBQUMscURBQVk7QUFDbEMsaUJBQWlCLG1CQUFPLENBQUMsMkRBQWU7QUFDeEMsZ0JBQWdCLG1CQUFPLENBQUMseURBQWM7QUFDdEMsc0JBQXNCLG1CQUFPLENBQUMscUVBQW9CO0FBQ2xELGVBQWUsbUJBQU8sQ0FBQyxxREFBWTs7QUFFbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGFBQWE7QUFDeEIsV0FBVyw2QkFBNkI7QUFDeEMsV0FBVyxTQUFTO0FBQ3BCLGFBQWEsTUFBTTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsWUFBWTtBQUNaLEdBQUc7O0FBRUg7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VPcmRlckJ5LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGFycmF5TWFwID0gcmVxdWlyZSgnLi9fYXJyYXlNYXAnKSxcbiAgICBiYXNlSXRlcmF0ZWUgPSByZXF1aXJlKCcuL19iYXNlSXRlcmF0ZWUnKSxcbiAgICBiYXNlTWFwID0gcmVxdWlyZSgnLi9fYmFzZU1hcCcpLFxuICAgIGJhc2VTb3J0QnkgPSByZXF1aXJlKCcuL19iYXNlU29ydEJ5JyksXG4gICAgYmFzZVVuYXJ5ID0gcmVxdWlyZSgnLi9fYmFzZVVuYXJ5JyksXG4gICAgY29tcGFyZU11bHRpcGxlID0gcmVxdWlyZSgnLi9fY29tcGFyZU11bHRpcGxlJyksXG4gICAgaWRlbnRpdHkgPSByZXF1aXJlKCcuL2lkZW50aXR5Jyk7XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ub3JkZXJCeWAgd2l0aG91dCBwYXJhbSBndWFyZHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAqIEBwYXJhbSB7RnVuY3Rpb25bXXxPYmplY3RbXXxzdHJpbmdbXX0gaXRlcmF0ZWVzIFRoZSBpdGVyYXRlZXMgdG8gc29ydCBieS5cbiAqIEBwYXJhbSB7c3RyaW5nW119IG9yZGVycyBUaGUgc29ydCBvcmRlcnMgb2YgYGl0ZXJhdGVlc2AuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBzb3J0ZWQgYXJyYXkuXG4gKi9cbmZ1bmN0aW9uIGJhc2VPcmRlckJ5KGNvbGxlY3Rpb24sIGl0ZXJhdGVlcywgb3JkZXJzKSB7XG4gIHZhciBpbmRleCA9IC0xO1xuICBpdGVyYXRlZXMgPSBhcnJheU1hcChpdGVyYXRlZXMubGVuZ3RoID8gaXRlcmF0ZWVzIDogW2lkZW50aXR5XSwgYmFzZVVuYXJ5KGJhc2VJdGVyYXRlZSkpO1xuXG4gIHZhciByZXN1bHQgPSBiYXNlTWFwKGNvbGxlY3Rpb24sIGZ1bmN0aW9uKHZhbHVlLCBrZXksIGNvbGxlY3Rpb24pIHtcbiAgICB2YXIgY3JpdGVyaWEgPSBhcnJheU1hcChpdGVyYXRlZXMsIGZ1bmN0aW9uKGl0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gaXRlcmF0ZWUodmFsdWUpO1xuICAgIH0pO1xuICAgIHJldHVybiB7ICdjcml0ZXJpYSc6IGNyaXRlcmlhLCAnaW5kZXgnOiArK2luZGV4LCAndmFsdWUnOiB2YWx1ZSB9O1xuICB9KTtcblxuICByZXR1cm4gYmFzZVNvcnRCeShyZXN1bHQsIGZ1bmN0aW9uKG9iamVjdCwgb3RoZXIpIHtcbiAgICByZXR1cm4gY29tcGFyZU11bHRpcGxlKG9iamVjdCwgb3RoZXIsIG9yZGVycyk7XG4gIH0pO1xufVxuXG5tb2
+eval("var arrayMap = __webpack_require__(/*! ./_arrayMap */ \"./node_modules/lodash/_arrayMap.js\"),\n baseGet = __webpack_require__(/*! ./_baseGet */ \"./node_modules/lodash/_baseGet.js\"),\n baseIteratee = __webpack_require__(/*! ./_baseIteratee */ \"./node_modules/lodash/_baseIteratee.js\"),\n baseMap = __webpack_require__(/*! ./_baseMap */ \"./node_modules/lodash/_baseMap.js\"),\n baseSortBy = __webpack_require__(/*! ./_baseSortBy */ \"./node_modules/lodash/_baseSortBy.js\"),\n baseUnary = __webpack_require__(/*! ./_baseUnary */ \"./node_modules/lodash/_baseUnary.js\"),\n compareMultiple = __webpack_require__(/*! ./_compareMultiple */ \"./node_modules/lodash/_compareMultiple.js\"),\n identity = __webpack_require__(/*! ./identity */ \"./node_modules/lodash/identity.js\"),\n isArray = __webpack_require__(/*! ./isArray */ \"./node_modules/lodash/isArray.js\");\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(baseIteratee));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n}\n\nmodule.exports = baseOrderBy;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VPcmRlckJ5LmpzPzZhNWMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZSxtQkFBTyxDQUFDLHVEQUFhO0FBQ3BDLGNBQWMsbUJBQU8sQ0FBQyxxREFBWTtBQUNsQyxtQkFBbUIsbUJBQU8sQ0FBQywrREFBaUI7QUFDNUMsY0FBYyxtQkFBTyxDQUFDLHFEQUFZO0FBQ2xDLGlCQUFpQixtQkFBTyxDQUFDLDJEQUFlO0FBQ3hDLGdCQUFnQixtQkFBTyxDQUFDLHlEQUFjO0FBQ3RDLHNCQUFzQixtQkFBTyxDQUFDLHFFQUFvQjtBQUNsRCxlQUFlLG1CQUFPLENBQUMscURBQVk7QUFDbkMsY0FBYyxtQkFBTyxDQUFDLG1EQUFXOztBQUVqQztBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsYUFBYTtBQUN4QixXQUFXLDZCQUE2QjtBQUN4QyxXQUFXLFNBQVM7QUFDcEIsYUFBYSxNQUFNO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLFlBQVk7QUFDWixHQUFHOztBQUVIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlT3JkZXJCeS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBhcnJheU1hcCA9IHJlcXVpcmUoJy4vX2FycmF5TWFwJyksXG4gICAgYmFzZUdldCA9IHJlcXVpcmUoJy4vX2Jhc2VHZXQnKSxcbiAgICBiYXNlSXRlcmF0ZWUgPSByZXF1aXJlKCcuL19iYXNlSXRlcmF0ZWUnKSxcbiAgICBiYXNlTWFwID0gcmVxdWlyZSgnLi9fYmFzZU1hcCcpLFxuICAgIGJhc2VTb3J0QnkgPSByZXF1aXJlKCcuL19iYXNlU29ydEJ5JyksXG4gICAgYmFzZVVuYXJ5ID0gcmVxdWlyZSgnLi9fYmFzZVVuYXJ5JyksXG4gICAgY29tcGFyZU11bHRpcGxlID0gcmVxdWlyZSgnLi9fY29tcGFyZU11bHRpcGxlJyksXG4gICAgaWRlbnRpdHkgPSByZXF1aXJlKCcuL2lkZW50aXR5JyksXG4gICAgaXNBcnJheSA9IHJlcXVpcmUoJy4vaXNBcnJheScpO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLm9yZGVyQnlgIHdpdGhvdXQgcGFyYW0gZ3VhcmRzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gKiBAcGFyYW0ge0Z1bmN0aW9uW118T2JqZWN0W118c3RyaW5nW119IGl0ZXJhdGVlcyBUaGUgaXRlcmF0ZWVzIHRvIHNvcnQgYnkuXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBvcmRlcnMgVGhlIHNvcnQgb3JkZXJzIG9mIGBpdGVyYXRlZXNgLlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBu
/***/ }),
@@ -467,7 +489,7 @@ eval("var arrayFilter = __webpack_require__(/*! ./_arrayFilter */ \"./node_modul
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
-eval("var baseFlatten = __webpack_require__(/*! ./_baseFlatten */ \"./node_modules/lodash/_baseFlatten.js\"),\n baseOrderBy = __webpack_require__(/*! ./_baseOrderBy */ \"./node_modules/lodash/_baseOrderBy.js\"),\n baseRest = __webpack_require__(/*! ./_baseRest */ \"./node_modules/lodash/_baseRest.js\"),\n isIterateeCall = __webpack_require__(/*! ./_isIterateeCall */ \"./node_modules/lodash/_isIterateeCall.js\");\n\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]]\n */\nvar sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\n\nmodule.exports = sortBy;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvc29ydEJ5LmpzP2M3MDciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQWtCLG1CQUFPLENBQUMsNkRBQWdCO0FBQzFDLGtCQUFrQixtQkFBTyxDQUFDLDZEQUFnQjtBQUMxQyxlQUFlLG1CQUFPLENBQUMsdURBQWE7QUFDcEMscUJBQXFCLG1CQUFPLENBQUMsbUVBQW1COztBQUVoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsYUFBYTtBQUN4QixXQUFXLHlCQUF5QjtBQUNwQztBQUNBLGFBQWEsTUFBTTtBQUNuQjtBQUNBO0FBQ0E7QUFDQSxNQUFNLDhCQUE4QjtBQUNwQyxNQUFNLDhCQUE4QjtBQUNwQyxNQUFNLDhCQUE4QjtBQUNwQyxNQUFNO0FBQ047QUFDQTtBQUNBLGlDQUFpQyxlQUFlLEVBQUU7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbG9kYXNoL3NvcnRCeS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBiYXNlRmxhdHRlbiA9IHJlcXVpcmUoJy4vX2Jhc2VGbGF0dGVuJyksXG4gICAgYmFzZU9yZGVyQnkgPSByZXF1aXJlKCcuL19iYXNlT3JkZXJCeScpLFxuICAgIGJhc2VSZXN0ID0gcmVxdWlyZSgnLi9fYmFzZVJlc3QnKSxcbiAgICBpc0l0ZXJhdGVlQ2FsbCA9IHJlcXVpcmUoJy4vX2lzSXRlcmF0ZWVDYWxsJyk7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBhcnJheSBvZiBlbGVtZW50cywgc29ydGVkIGluIGFzY2VuZGluZyBvcmRlciBieSB0aGUgcmVzdWx0cyBvZlxuICogcnVubmluZyBlYWNoIGVsZW1lbnQgaW4gYSBjb2xsZWN0aW9uIHRocnUgZWFjaCBpdGVyYXRlZS4gVGhpcyBtZXRob2RcbiAqIHBlcmZvcm1zIGEgc3RhYmxlIHNvcnQsIHRoYXQgaXMsIGl0IHByZXNlcnZlcyB0aGUgb3JpZ2luYWwgc29ydCBvcmRlciBvZlxuICogZXF1YWwgZWxlbWVudHMuIFRoZSBpdGVyYXRlZXMgYXJlIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6ICh2YWx1ZSkuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAqIEBwYXJhbSB7Li4uKEZ1bmN0aW9ufEZ1bmN0aW9uW10pfSBbaXRlcmF0ZWVzPVtfLmlkZW50aXR5XV1cbiAqICBUaGUgaXRlcmF0ZWVzIHRvIHNvcnQgYnkuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBzb3J0ZWQgYXJyYXkuXG4gKiBAZXhhbXBsZVxuICpcbiAqIHZhciB1c2VycyA9IFtcbiAqICAgeyAndXNlcic6ICdmcmVkJywgICAnYWdlJzogNDggfSxcbiAqICAgeyAndXNlcic6ICdiYXJuZXknLCAnYWdlJzogMzYgfSxcbiAqICAgeyAndXNlcic6ICdmcmVkJywgICAnYWdlJzog
+eval("var baseFlatten = __webpack_require__(/*! ./_baseFlatten */ \"./node_modules/lodash/_baseFlatten.js\"),\n baseOrderBy = __webpack_require__(/*! ./_baseOrderBy */ \"./node_modules/lodash/_baseOrderBy.js\"),\n baseRest = __webpack_require__(/*! ./_baseRest */ \"./node_modules/lodash/_baseRest.js\"),\n isIterateeCall = __webpack_require__(/*! ./_isIterateeCall */ \"./node_modules/lodash/_isIterateeCall.js\");\n\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\nvar sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\n\nmodule.exports = sortBy;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvc29ydEJ5LmpzP2M3MDciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQWtCLG1CQUFPLENBQUMsNkRBQWdCO0FBQzFDLGtCQUFrQixtQkFBTyxDQUFDLDZEQUFnQjtBQUMxQyxlQUFlLG1CQUFPLENBQUMsdURBQWE7QUFDcEMscUJBQXFCLG1CQUFPLENBQUMsbUVBQW1COztBQUVoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsYUFBYTtBQUN4QixXQUFXLHlCQUF5QjtBQUNwQztBQUNBLGFBQWEsTUFBTTtBQUNuQjtBQUNBO0FBQ0E7QUFDQSxNQUFNLDhCQUE4QjtBQUNwQyxNQUFNLDhCQUE4QjtBQUNwQyxNQUFNLDhCQUE4QjtBQUNwQyxNQUFNO0FBQ047QUFDQTtBQUNBLGlDQUFpQyxlQUFlLEVBQUU7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbG9kYXNoL3NvcnRCeS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBiYXNlRmxhdHRlbiA9IHJlcXVpcmUoJy4vX2Jhc2VGbGF0dGVuJyksXG4gICAgYmFzZU9yZGVyQnkgPSByZXF1aXJlKCcuL19iYXNlT3JkZXJCeScpLFxuICAgIGJhc2VSZXN0ID0gcmVxdWlyZSgnLi9fYmFzZVJlc3QnKSxcbiAgICBpc0l0ZXJhdGVlQ2FsbCA9IHJlcXVpcmUoJy4vX2lzSXRlcmF0ZWVDYWxsJyk7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBhcnJheSBvZiBlbGVtZW50cywgc29ydGVkIGluIGFzY2VuZGluZyBvcmRlciBieSB0aGUgcmVzdWx0cyBvZlxuICogcnVubmluZyBlYWNoIGVsZW1lbnQgaW4gYSBjb2xsZWN0aW9uIHRocnUgZWFjaCBpdGVyYXRlZS4gVGhpcyBtZXRob2RcbiAqIHBlcmZvcm1zIGEgc3RhYmxlIHNvcnQsIHRoYXQgaXMsIGl0IHByZXNlcnZlcyB0aGUgb3JpZ2luYWwgc29ydCBvcmRlciBvZlxuICogZXF1YWwgZWxlbWVudHMuIFRoZSBpdGVyYXRlZXMgYXJlIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6ICh2YWx1ZSkuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAqIEBwYXJhbSB7Li4uKEZ1bmN0aW9ufEZ1bmN0aW9uW10pfSBbaXRlcmF0ZWVzPVtfLmlkZW50aXR5XV1cbiAqICBUaGUgaXRlcmF0ZWVzIHRvIHNvcnQgYnkuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBzb3J0ZWQgYXJyYXkuXG4gKiBAZXhhbXBsZVxuICpcbiAqIHZhciB1c2VycyA9IFtcbiAqICAgeyAndXNlcic6ICdmcmVkJywgICAnYWdlJzogNDggfSxcbiAqICAgeyAndXNlcic6ICdiYXJuZXknLCAnYWdlJzogMzYgfSxcbiAqICAgeyAndXNlcic6ICdmcmVkJywgICAnYWdlJzog
/***/ }),
@@ -4426,7 +4448,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _int
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
-eval("(function (global, factory) {\n true ? factory(exports, __webpack_require__(/*! reselect */ \"./node_modules/reselect/lib/index.js\")) :\n undefined;\n}(this, function (exports, reselect) { 'use strict';\n\n function isStringOrNumber(value) {\n return typeof value === 'string' || typeof value === 'number';\n }\n\n var FlatObjectCache =\n /*#__PURE__*/\n function () {\n function FlatObjectCache() {\n this._cache = {};\n }\n\n var _proto = FlatObjectCache.prototype;\n\n _proto.set = function set(key, selectorFn) {\n this._cache[key] = selectorFn;\n };\n\n _proto.get = function get(key) {\n return this._cache[key];\n };\n\n _proto.remove = function remove(key) {\n delete this._cache[key];\n };\n\n _proto.clear = function clear() {\n this._cache = {};\n };\n\n _proto.isValidCacheKey = function isValidCacheKey(cacheKey) {\n return isStringOrNumber(cacheKey);\n };\n\n return FlatObjectCache;\n }();\n\n var defaultCacheCreator = FlatObjectCache;\n\n var defaultCacheKeyValidator = function defaultCacheKeyValidator() {\n return true;\n };\n\n function createCachedSelector() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n return function (polymorphicOptions, legacyOptions) {\n // @NOTE Versions 0.x/1.x accepted \"options\" as a function\n if (typeof legacyOptions === 'function') {\n throw new Error('[re-reselect] Second argument \"options\" must be an object. Please use \"options.selectorCreator\" to provide a custom selectorCreator.');\n }\n\n var options = {};\n\n if (typeof polymorphicOptions === 'function') {\n Object.assign(options, legacyOptions, {\n keySelector: polymorphicOptions\n }); // @TODO add legacyOptions deprecation notice in next major release\n } else {\n Object.assign(options, polymorphicOptions);\n } // https://github.com/reduxjs/reselect/blob/v4.0.0/src/index.js#L54\n\n\n var recomputations = 0;\n var resultFunc = funcs.pop();\n var dependencies = Array.isArray(funcs[0]) ? funcs[0] : [].concat(funcs);\n\n var resultFuncWithRecomputations = function resultFuncWithRecomputations() {\n recomputations++;\n return resultFunc.apply(void 0, arguments);\n };\n\n funcs.push(resultFuncWithRecomputations);\n var cache = options.cacheObject || new defaultCacheCreator();\n var selectorCreator = options.selectorCreator || reselect.createSelector;\n var isValidCacheKey = cache.isValidCacheKey || defaultCacheKeyValidator;\n\n if (options.keySelectorCreator) {\n options.keySelector = options.keySelectorCreator({\n keySelector: options.keySelector,\n inputSelectors: dependencies,\n resultFunc: resultFunc\n });\n } // Application receives this function\n\n\n var selector = function selector() {\n var cacheKey = options.keySelector.apply(options, arguments);\n\n if (isValidCacheKey(cacheKey)) {\n var cacheResponse = cache.get(cacheKey);\n\n if (cacheResponse === undefined) {\n cacheResponse = selectorCreator.apply(void 0, funcs);\n cache.set(cacheKey, cacheResponse);\n }\n\n return cacheResponse.apply(void 0, arguments);\n }\n\n console.warn(\"[re-reselect] Invalid cache key \\\"\" + cacheKey + \"\\\" has been returned by keySelector function.\");\n return undefined;\n }; // Further selector methods\n\n\n selector.getMatchingSelector = function () {\n var cacheKey = options.keySelector.apply(options, arguments); // @NOTE It might update cache hit count in LRU-like caches\n\n return cache.get(cacheKey);\n };\n\n selector.removeMatchingSelector = function () {\n var cacheKey = options.keySelector.apply(options, arguments);\n cache.remove(cacheKey);\n };\n\n selector.clearCache = function () {\n
+eval("(function (global, factory) {\n true ? factory(exports, __webpack_require__(/*! reselect */ \"./node_modules/reselect/lib/index.js\")) :\n undefined;\n}(this, (function (exports, reselect) { 'use strict';\n\n function isStringOrNumber(value) {\n return typeof value === 'string' || typeof value === 'number';\n }\n\n var FlatObjectCache = /*#__PURE__*/function () {\n function FlatObjectCache() {\n this._cache = {};\n }\n\n var _proto = FlatObjectCache.prototype;\n\n _proto.set = function set(key, selectorFn) {\n this._cache[key] = selectorFn;\n };\n\n _proto.get = function get(key) {\n return this._cache[key];\n };\n\n _proto.remove = function remove(key) {\n delete this._cache[key];\n };\n\n _proto.clear = function clear() {\n this._cache = {};\n };\n\n _proto.isValidCacheKey = function isValidCacheKey(cacheKey) {\n return isStringOrNumber(cacheKey);\n };\n\n return FlatObjectCache;\n }();\n\n var defaultCacheCreator = FlatObjectCache;\n\n var defaultCacheKeyValidator = function defaultCacheKeyValidator() {\n return true;\n };\n\n function createCachedSelector() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n return function (polymorphicOptions, legacyOptions) {\n if (legacyOptions) {\n throw new Error('[re-reselect] \"options\" as second argument is not supported anymore. Please provide an option object as single argument.');\n }\n\n var options = typeof polymorphicOptions === 'function' ? {\n keySelector: polymorphicOptions\n } : Object.assign({}, polymorphicOptions); // https://github.com/reduxjs/reselect/blob/v4.0.0/src/index.js#L54\n\n var recomputations = 0;\n var resultFunc = funcs.pop();\n var dependencies = Array.isArray(funcs[0]) ? funcs[0] : [].concat(funcs);\n\n var resultFuncWithRecomputations = function resultFuncWithRecomputations() {\n recomputations++;\n return resultFunc.apply(void 0, arguments);\n };\n\n funcs.push(resultFuncWithRecomputations);\n var cache = options.cacheObject || new defaultCacheCreator();\n var selectorCreator = options.selectorCreator || reselect.createSelector;\n var isValidCacheKey = cache.isValidCacheKey || defaultCacheKeyValidator;\n\n if (options.keySelectorCreator) {\n options.keySelector = options.keySelectorCreator({\n keySelector: options.keySelector,\n inputSelectors: dependencies,\n resultFunc: resultFunc\n });\n } // Application receives this function\n\n\n var selector = function selector() {\n var cacheKey = options.keySelector.apply(options, arguments);\n\n if (isValidCacheKey(cacheKey)) {\n var cacheResponse = cache.get(cacheKey);\n\n if (cacheResponse === undefined) {\n cacheResponse = selectorCreator.apply(void 0, funcs);\n cache.set(cacheKey, cacheResponse);\n }\n\n return cacheResponse.apply(void 0, arguments);\n }\n\n console.warn(\"[re-reselect] Invalid cache key \\\"\" + cacheKey + \"\\\" has been returned by keySelector function.\");\n return undefined;\n }; // Further selector methods\n\n\n selector.getMatchingSelector = function () {\n var cacheKey = options.keySelector.apply(options, arguments); // @NOTE It might update cache hit count in LRU-like caches\n\n return cache.get(cacheKey);\n };\n\n selector.removeMatchingSelector = function () {\n var cacheKey = options.keySelector.apply(options, arguments);\n cache.remove(cacheKey);\n };\n\n selector.clearCache = function () {\n cache.clear();\n };\n\n selector.resultFunc = resultFunc;\n selector.dependencies = dependencies;\n selector.cache = cache;\n\n selector.recomputations = function () {\n return recomputations;\n };\n\n selector.resetRecomputations = function () {
/***/ }),
@@ -4450,7 +4472,7 @@ eval("\n\nexports.__esModule = true;\nexports.defaultMemoize = defaultMemoize;\n
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _Session__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Session */ \"./src/Session.js\");\n/* harmony import */ var _QuerySet__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./QuerySet */ \"./src/QuerySet.js\");\n/* harmony import */ var _fields__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./fields */ \"./src/fields/index.js\");\n/* harmony import */ var _fields_ForeignKey__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./fields/ForeignKey */ \"./src/fields/ForeignKey.js\");\n/* harmony import */ var _fields_ManyToMany__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./fields/ManyToMany */ \"./src/fields/ManyToMany.js\");\n/* harmony import */ var _fields_OneToOne__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./fields/OneToOne */ \"./src/fields/OneToOne.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./constants */ \"./src/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils */ \"./src/utils.js\");\n\n\n\n\n\n\n\n\n\n/**\n * Generates a query specification to get the instance's\n * corresponding table row using its primary key.\n *\n * @private\n * @returns {Object}\n */\n\nfunction getByIdQuery(modelInstance) {\n const modelClass = modelInstance.getClass();\n const {\n idAttribute,\n modelName\n } = modelClass;\n return {\n table: modelName,\n clauses: [{\n type: _constants__WEBPACK_IMPORTED_MODULE_7__[\"FILTER\"],\n payload: {\n [idAttribute]: modelInstance.getId()\n }\n }]\n };\n}\n/**\n * The heart of an ORM, the data model.\n *\n * The fields you specify to the Model will be used to generate\n * a schema to the database, related property accessors, and\n * possibly through models.\n *\n * In each {@link Session} you instantiate from an {@link ORM} instance,\n * you will receive a session-specific subclass of this Model. The methods\n * you define here will be available to you in sessions.\n *\n * An instance of {@link Model} represents a record in the database, though\n * it is possible to generate multiple instances from the same record in the database.\n *\n * To create data models in your schema, subclass {@link Model}. To define\n * information about the data model, override static class methods. Define instance\n * logic by defining prototype methods (without `static` keyword).\n */\n\n\nconst Model = /*#__PURE__*/function () {\n /**\n * Creates a Model instance from it's properties.\n * Don't use this to create a new record; Use the static method {@link Model#create}.\n * @param {Object} props - the properties to instantiate with\n */\n function Model(props) {\n this._initFields(props);\n }\n\n var _proto = Model.prototype;\n\n _proto._initFields = function _initFields(props) {\n const propsObj = Object(props);\n this._fields = { ...propsObj\n };\n Object.keys(propsObj).forEach(fieldName => {\n // In this case, we got a prop that wasn't defined as a field.\n // Assuming it's an arbitrary data field, making an instance-specific\n // descriptor for it.\n // Using the in operator as the property could be defined anywhere\n // on the prototype chain.\n if (!(fieldName in this)) {\n Object.defineProperty(this, fieldName, {\n get: () => this._fields[fieldName],\n set: value => this.set(fieldName, value),\n configurable: true,\n enumerable: true\n });\n }\n });\n };\n\n Model.toString = function toString() {\n return
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _Session__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Session */ \"./src/Session.js\");\n/* harmony import */ var _QuerySet__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./QuerySet */ \"./src/QuerySet.js\");\n/* harmony import */ var _fields__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./fields */ \"./src/fields/index.js\");\n/* harmony import */ var _fields_ForeignKey__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./fields/ForeignKey */ \"./src/fields/ForeignKey.js\");\n/* harmony import */ var _fields_ManyToMany__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./fields/ManyToMany */ \"./src/fields/ManyToMany.js\");\n/* harmony import */ var _fields_OneToOne__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./fields/OneToOne */ \"./src/fields/OneToOne.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./constants */ \"./src/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils */ \"./src/utils.js\");\n\n\n\n\n\n\n\n\n\n/**\n * Generates a query specification to get the instance's\n * corresponding table row using its primary key.\n *\n * @private\n * @returns {Object}\n */\n\nfunction getByIdQuery(modelInstance) {\n const modelClass = modelInstance.getClass();\n const {\n idAttribute,\n modelName\n } = modelClass;\n return {\n table: modelName,\n clauses: [{\n type: _constants__WEBPACK_IMPORTED_MODULE_7__[\"FILTER\"],\n payload: {\n [idAttribute]: modelInstance.getId()\n }\n }]\n };\n}\n/**\n * The heart of an ORM, the data model.\n *\n * The fields you specify to the Model will be used to generate\n * a schema to the database, related property accessors, and\n * possibly through models.\n *\n * In each {@link Session} you instantiate from an {@link ORM} instance,\n * you will receive a session-specific subclass of this Model. The methods\n * you define here will be available to you in sessions.\n *\n * An instance of {@link Model} represents a record in the database, though\n * it is possible to generate multiple instances from the same record in the database.\n *\n * To create data models in your schema, subclass {@link Model}. To define\n * information about the data model, override static class methods. Define instance\n * logic by defining prototype methods (without `static` keyword).\n */\n\n\nconst Model = /*#__PURE__*/function () {\n /**\n * Creates a Model instance from it's properties.\n * Don't use this to create a new record; Use the static method {@link Model#create}.\n * @param {Object} props - the properties to instantiate with\n */\n function Model(props) {\n this._initFields(props);\n }\n\n var _proto = Model.prototype;\n\n _proto._initFields = function _initFields(props) {\n const propsObj = Object(props);\n this._fields = { ...propsObj\n };\n Object.keys(propsObj).forEach(fieldName => {\n // In this case, we got a prop that wasn't defined as a field.\n // Assuming it's an arbitrary data field, making an instance-specific\n // descriptor for it.\n // Using the in operator as the property could be defined anywhere\n // on the prototype chain.\n if (!(fieldName in this)) {\n Object.defineProperty(this, fieldName, {\n get: () => this._fields[fieldName],\n set: value => this.set(fieldName, value),\n configurable: true,\n enumerable: true\n });\n }\n });\n };\n\n Model.toString = function toString() {\n return
/***/ }),
@@ -4462,7 +4484,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _bab
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DeprecatedSchema\", function() { return DeprecatedSchema; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ORM\", function() { return ORM; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _Session__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Session */ \"./src/Session.js\");\n/* harmony import */ var _Model__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Model */ \"./src/Model.js\");\n/* harmony import */ var _db__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./db */ \"./src/db/index.js\");\n/* harmony import */ var _fields__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./fields */ \"./src/fields/index.js\");\n/* harmony import */ var _fields_Field__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./fields/Field */ \"./src/fields/Field.js\");\n/* harmony import */ var _fields_ForeignKey__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./fields/ForeignKey */ \"./src/fields/ForeignKey.js\");\n/* harmony import */ var _fields_ManyToMany__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./fields/ManyToMany */ \"./src/fields/ManyToMany.js\");\n/* harmony import */ var _selectors__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./selectors */ \"./src/selectors/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils */ \"./src/utils.js\");\n\n\n\n/* eslint-disable max-classes-per-file */\n\n\n\n\n\n\n\n\n\nconst ORM_DEFAULTS = {\n createDatabase: _db__WEBPACK_IMPORTED_MODULE_4__[\"createDatabase\"]\n};\nconst RESERVED_TABLE_OPTIONS = [\"indexes\", \"meta\"];\n\nconst isReservedTableOption = word => RESERVED_TABLE_OPTIONS.includes(word);\n/**\n * ORM - the Object Relational Mapper.\n *\n * Use instances of this class to:\n *\n * - Register your {@link Model} classes using {@link ORM#register}\n * - Get the empty state for the underlying database with {@link ORM#getEmptyState}\n * - Start an immutable database session with {@link ORM#session}\n * - Start a mutating database session with {@link ORM#mutableSession}\n *\n * Internally, this class handles generating a schema specification from models\n * to the database.\n */\n\n\nlet ORM = /*#__PURE__*/function () {\n /**\n * Creates a new ORM instance.\n *\n * @param {Object} [opts]\n * @param {Function} [opts.stateSelector] - function that given a Redux state tree\n * will return the ORM state's subtree,\n * e.g. `state => state.orm`\n * (necessary if you want to use selectors)\n * @param {Function} [opts.createDatabase] - function that creates a database\n */\n function ORM(opts) {\n const {\n createDatabase\n } = { ...ORM_DEFAULTS,\n ...(opts || {})\n };\n this.createDatabase = createDatabase;\n this.registry = [];\n this.implicitThroughModels = [];\n this.installedFields = {};\n this.stateSelector = opts ? opts.stateSelector : null;\n }\n /**\n * Registers a {@link Model} class to the ORM.\n *\n * If the model has declared
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DeprecatedSchema\", function() { return DeprecatedSchema; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ORM\", function() { return ORM; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _Session__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Session */ \"./src/Session.js\");\n/* harmony import */ var _Model__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Model */ \"./src/Model.js\");\n/* harmony import */ var _db__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./db */ \"./src/db/index.js\");\n/* harmony import */ var _fields__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./fields */ \"./src/fields/index.js\");\n/* harmony import */ var _fields_Field__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./fields/Field */ \"./src/fields/Field.js\");\n/* harmony import */ var _fields_ForeignKey__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./fields/ForeignKey */ \"./src/fields/ForeignKey.js\");\n/* harmony import */ var _fields_ManyToMany__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./fields/ManyToMany */ \"./src/fields/ManyToMany.js\");\n/* harmony import */ var _selectors__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./selectors */ \"./src/selectors/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils */ \"./src/utils.js\");\n\n\n\n/* eslint-disable max-classes-per-file */\n\n\n\n\n\n\n\n\n\nconst ORM_DEFAULTS = {\n createDatabase: _db__WEBPACK_IMPORTED_MODULE_4__[\"createDatabase\"]\n};\nconst RESERVED_TABLE_OPTIONS = [\"indexes\", \"meta\"];\n\nconst isReservedTableOption = word => RESERVED_TABLE_OPTIONS.includes(word);\n/**\n * ORM - the Object Relational Mapper.\n *\n * Use instances of this class to:\n *\n * - Register your {@link Model} classes using {@link ORM#register}\n * - Get the empty state for the underlying database with {@link ORM#getEmptyState}\n * - Start an immutable database session with {@link ORM#session}\n * - Start a mutating database session with {@link ORM#mutableSession}\n *\n * Internally, this class handles generating a schema specification from models\n * to the database.\n */\n\n\nlet ORM = /*#__PURE__*/function () {\n /**\n * Creates a new ORM instance.\n *\n * @param {Object} [opts]\n * @param {Function} [opts.stateSelector] - function that given a Redux state tree\n * will return the ORM state's subtree,\n * e.g. `state => state.orm`\n * (necessary if you want to use selectors)\n * @param {Function} [opts.createDatabase] - function that creates a database\n */\n function ORM(opts) {\n const {\n createDatabase\n } = { ...ORM_DEFAULTS,\n ...(opts || {})\n };\n this.createDatabase = createDatabase;\n this.registry = [];\n this.implicitThroughModels = [];\n this.installedFields = {};\n this.stateSelector = opts ? opts.stateSelector : null;\n }\n /**\n * Registers a {@link Model} class to the ORM.\n *\n * If the model has declared
/***/ }),
@@ -4474,7 +4496,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ \"./src/utils.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ \"./src/constants.js\");\n\n\n\n/**\n * This class is used to build and make queries to the database\n * and operating the resulting set (such as updating attributes\n * or deleting the records).\n *\n * The queries are built lazily. For example:\n *\n * ```javascript\n * const qs = Book.all()\n * .filter(book => book.releaseYear > 1999)\n * .orderBy('name');\n * ```\n *\n * Doesn't execute a query. The query is executed only when\n * you need information from the query result, such as {@link QuerySet#count},\n * {@link QuerySet#toRefArray}. After the query is executed, the resulting\n * set is cached in the QuerySet instance.\n *\n * QuerySet instances also return copies, so chaining filters doesn't\n * mutate the previous instances.\n */\n\nconst QuerySet = /*#__PURE__*/function () {\n /**\n * Creates a QuerySet. The constructor is mainly for internal use;\n * You should access QuerySet instances from {@link Model}.\n *\n * @param {Model} modelClass - the model class of objects in this QuerySet.\n * @param {any[]} clauses - query clauses needed to evaluate the set.\n * @param {Object} [opts] - additional options\n */\n function QuerySet(modelClass, clauses, opts) {\n Object.assign(this, {\n modelClass,\n clauses: clauses || []\n });\n this._opts = opts;\n }\n\n QuerySet.addSharedMethod = function addSharedMethod(methodName) {\n this.sharedMethods = this.sharedMethods.concat(methodName);\n };\n\n var _proto = QuerySet.prototype;\n\n _proto._new = function _new(clauses, userOpts) {\n const opts = { ...this._opts,\n ...userOpts\n };\n return new this.constructor(this.modelClass, clauses, opts);\n };\n\n _proto.toString = function toString() {\n this._evaluate();\n\n const contents = this.rows.map(({\n id\n }) => this.modelClass.withId(id).toString()).join(\"\\n - \");\n return `QuerySet contents:\\n - ${contents}`;\n }\n /**\n * Returns an array of the plain objects represented by the QuerySet.\n * The plain objects are direct references to the store.\n *\n * @return {Object[]} references to the plain JS objects represented by\n * the QuerySet\n */\n ;\n\n _proto.toRefArray = function toRefArray() {\n return this._evaluate();\n }\n /**\n * Returns an array of {@link Model} instances represented by the QuerySet.\n * @return {Model[]} model instances represented by the QuerySet\n */\n ;\n\n _proto.toModelArray = function toModelArray() {\n const {\n modelClass: ModelClass\n } = this;\n return this._evaluate().map(props => new ModelClass(props));\n }\n /**\n * Returns the number of {@link Model} instances represented by the QuerySet.\n *\n * @return {number} length of the QuerySet\n */\n ;\n\n _proto.count = function count() {\n this._evaluate();\n\n return this.rows.length;\n }\n /**\n * Checks if the {@link QuerySet} instance has any records matching the query\n * in the database.\n *\n * @return {Boolean} `true` if the {@link QuerySet} instance contains entities, else `false`.\n */\n ;\n\n _proto.exists = function exists() {\n return Boolean(this.count());\n }\n /**\n * Returns the {@link Model} instance at index `index` in the {@link QuerySet} instance if\n * `withRefs` flag is set to `false`, or a reference to the plain JavaScript\n * object in th
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ \"./src/utils.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ \"./src/constants.js\");\n\n\n\n/**\n * This class is used to build and make queries to the database\n * and operating the resulting set (such as updating attributes\n * or deleting the records).\n *\n * The queries are built lazily. For example:\n *\n * ```javascript\n * const qs = Book.all()\n * .filter(book => book.releaseYear > 1999)\n * .orderBy('name');\n * ```\n *\n * Doesn't execute a query. The query is executed only when\n * you need information from the query result, such as {@link QuerySet#count},\n * {@link QuerySet#toRefArray}. After the query is executed, the resulting\n * set is cached in the QuerySet instance.\n *\n * QuerySet instances also return copies, so chaining filters doesn't\n * mutate the previous instances.\n */\n\nconst QuerySet = /*#__PURE__*/function () {\n /**\n * Creates a QuerySet. The constructor is mainly for internal use;\n * You should access QuerySet instances from {@link Model}.\n *\n * @param {Model} modelClass - the model class of objects in this QuerySet.\n * @param {any[]} clauses - query clauses needed to evaluate the set.\n * @param {Object} [opts] - additional options\n */\n function QuerySet(modelClass, clauses, opts) {\n Object.assign(this, {\n modelClass,\n clauses: clauses || []\n });\n this._opts = opts;\n }\n\n QuerySet.addSharedMethod = function addSharedMethod(methodName) {\n this.sharedMethods = this.sharedMethods.concat(methodName);\n };\n\n var _proto = QuerySet.prototype;\n\n _proto._new = function _new(clauses, userOpts) {\n const opts = { ...this._opts,\n ...userOpts\n };\n return new this.constructor(this.modelClass, clauses, opts);\n };\n\n _proto.toString = function toString() {\n this._evaluate();\n\n const contents = this.rows.map(({\n id\n }) => this.modelClass.withId(id).toString()).join(\"\\n - \");\n return `QuerySet contents:\\n - ${contents}`;\n }\n /**\n * Returns an array of the plain objects represented by the QuerySet.\n * The plain objects are direct references to the store.\n *\n * @return {Object[]} references to the plain JS objects represented by\n * the QuerySet\n */\n ;\n\n _proto.toRefArray = function toRefArray() {\n return this._evaluate();\n }\n /**\n * Returns an array of {@link Model} instances represented by the QuerySet.\n * @return {Model[]} model instances represented by the QuerySet\n */\n ;\n\n _proto.toModelArray = function toModelArray() {\n const {\n modelClass: ModelClass\n } = this;\n return this._evaluate().map(props => new ModelClass(props));\n }\n /**\n * Returns the number of {@link Model} instances represented by the QuerySet.\n *\n * @return {number} length of the QuerySet\n */\n ;\n\n _proto.count = function count() {\n this._evaluate();\n\n return this.rows.length;\n }\n /**\n * Checks if the {@link QuerySet} instance has any records matching the query\n * in the database.\n *\n * @return {Boolean} `true` if the {@link QuerySet} instance contains entities, else `false`.\n */\n ;\n\n _proto.exists = function exists() {\n return Boolean(this.count());\n }\n /**\n * Returns the {@link Model} instance at index `index` in the {@link QuerySet} instance if\n * `withRefs` flag is set to `false`, or a reference to the plain JavaScript\n * object in th
/***/ }),
@@ -4486,7 +4508,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _bab
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var immutable_ops__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! immutable-ops */ \"./node_modules/immutable-ops/es/index.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ \"./src/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils */ \"./src/utils.js\");\n\n\n\n\n\nconst Session = /*#__PURE__*/function () {\n /**\n * Creates a new Session.\n *\n * @param {Database} db - a {@link Database} instance\n * @param {Object} state - the database state\n * @param {Boolean} [withMutations] - whether the session should mutate data\n * @param {Object} [batchToken] - used by the backend to identify objects that can be\n * mutated.\n */\n function Session(schema, db, state, withMutations, batchToken) {\n this.schema = schema;\n this.db = db;\n this.state = state || db.getEmptyState();\n this.initialState = this.state;\n this.withMutations = Boolean(withMutations);\n this.batchToken = batchToken || Object(immutable_ops__WEBPACK_IMPORTED_MODULE_1__[\"getBatchToken\"])();\n this.modelData = {};\n this.models = schema.getModelClasses();\n this.sessionBoundModels = this.models.map(modelClass => {\n function SessionBoundModel() {\n return Reflect.construct(modelClass, arguments, SessionBoundModel); // eslint-disable-line prefer-rest-params\n }\n\n Reflect.setPrototypeOf(SessionBoundModel.prototype, modelClass.prototype);\n Reflect.setPrototypeOf(SessionBoundModel, modelClass);\n Object.defineProperty(this, modelClass.modelName, {\n get: () => SessionBoundModel\n });\n SessionBoundModel.connect(this);\n return SessionBoundModel;\n });\n }\n\n var _proto = Session.prototype;\n\n _proto.getDataForModel = function getDataForModel(modelName) {\n if (!this.modelData[modelName]) {\n this.modelData[modelName] = {};\n }\n\n return this.modelData[modelName];\n };\n\n _proto.getModelData = function getModelData() {\n return this.modelData;\n };\n\n _proto.markAccessed = function markAccessed(modelName, modelIds) {\n const data = this.getDataForModel(modelName);\n\n if (!data.accessedInstances) {\n data.accessedInstances = {};\n }\n\n modelIds.forEach(id => {\n data.accessedInstances[id] = true;\n });\n };\n\n _proto.markFullTableScanned = function markFullTableScanned(modelName) {\n const data = this.getDataForModel(modelName);\n data.fullTableScanned = true;\n };\n\n _proto.markAccessedIndexes = function markAccessedIndexes(indexes) {\n indexes.forEach(([table, attr, value]) => {\n const data = this.getDataForModel(table);\n\n if (!data.accessedIndexes) {\n data.accessedIndexes = {};\n }\n\n data.accessedIndexes[attr] = [...(data.accessedIndexes[attr] || []), value];\n });\n };\n\n /**\n * Applies update to a model state.\n *\n * @private\n * @param {Object} update - the update object. Must have keys\n * `type`, `payload`.\n */\n _proto.applyUpdate = function applyUpdate(updateSpec) {\n const tx = this._getTransaction(updateSpec);\n\n const result = this.db.update(updateSpec, tx, this.state);\n const {\n status,\n state,\n payload\n } = result;\n\n if (status !== _constants__WEBPACK_IMPORTED_MODULE_2__[\"SUCCESS\"]) {\n throw new Error(`Applying update failed with status ${status}. Payload: ${payload}`);\n }\n\n this.state = state;\n
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var immutable_ops__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! immutable-ops */ \"./node_modules/immutable-ops/es/index.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ \"./src/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils */ \"./src/utils.js\");\n\n\n\n\n\nconst Session = /*#__PURE__*/function () {\n /**\n * Creates a new Session.\n *\n * @param {Database} db - a {@link Database} instance\n * @param {Object} state - the database state\n * @param {Boolean} [withMutations] - whether the session should mutate data\n * @param {Object} [batchToken] - used by the backend to identify objects that can be\n * mutated.\n */\n function Session(schema, db, state, withMutations, batchToken) {\n this.schema = schema;\n this.db = db;\n this.state = state || db.getEmptyState();\n this.initialState = this.state;\n this.withMutations = Boolean(withMutations);\n this.batchToken = batchToken || Object(immutable_ops__WEBPACK_IMPORTED_MODULE_1__[\"getBatchToken\"])();\n this.modelData = {};\n this.models = schema.getModelClasses();\n this.sessionBoundModels = this.models.map(modelClass => {\n function SessionBoundModel() {\n return Reflect.construct(modelClass, arguments, SessionBoundModel); // eslint-disable-line prefer-rest-params\n }\n\n Reflect.setPrototypeOf(SessionBoundModel.prototype, modelClass.prototype);\n Reflect.setPrototypeOf(SessionBoundModel, modelClass);\n Object.defineProperty(this, modelClass.modelName, {\n get: () => SessionBoundModel\n });\n SessionBoundModel.connect(this);\n return SessionBoundModel;\n });\n }\n\n var _proto = Session.prototype;\n\n _proto.getDataForModel = function getDataForModel(modelName) {\n if (!this.modelData[modelName]) {\n this.modelData[modelName] = {};\n }\n\n return this.modelData[modelName];\n };\n\n _proto.getModelData = function getModelData() {\n return this.modelData;\n };\n\n _proto.markAccessed = function markAccessed(modelName, modelIds) {\n const data = this.getDataForModel(modelName);\n\n if (!data.accessedInstances) {\n data.accessedInstances = {};\n }\n\n modelIds.forEach(id => {\n data.accessedInstances[id] = true;\n });\n };\n\n _proto.markFullTableScanned = function markFullTableScanned(modelName) {\n const data = this.getDataForModel(modelName);\n data.fullTableScanned = true;\n };\n\n _proto.markAccessedIndexes = function markAccessedIndexes(indexes) {\n indexes.forEach(([table, attr, value]) => {\n const data = this.getDataForModel(table);\n\n if (!data.accessedIndexes) {\n data.accessedIndexes = {};\n }\n\n data.accessedIndexes[attr] = [...(data.accessedIndexes[attr] || []), value];\n });\n };\n\n /**\n * Applies update to a model state.\n *\n * @private\n * @param {Object} update - the update object. Must have keys\n * `type`, `payload`.\n */\n _proto.applyUpdate = function applyUpdate(updateSpec) {\n const tx = this._getTransaction(updateSpec);\n\n const result = this.db.update(updateSpec, tx, this.state);\n const {\n status,\n state,\n payload\n } = result;\n\n if (status !== _constants__WEBPACK_IMPORTED_MODULE_2__[\"SUCCESS\"]) {\n throw new Error(`Applying update failed with status ${status}. Payload: ${payload}`);\n }\n\n this.state = state;\n
/***/ }),
@@ -4510,7 +4532,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createDatabase\", function() { return createDatabase; });\n/* harmony import */ var immutable_ops__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! immutable-ops */ \"./node_modules/immutable-ops/es/index.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants */ \"./src/constants.js\");\n/* harmony import */ var _Table__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Table */ \"./src/db/Table.js\");\n\n\n\nconst BASE_EMPTY_STATE = {};\nObject.defineProperty(BASE_EMPTY_STATE, _constants__WEBPACK_IMPORTED_MODULE_1__[\"STATE_FLAG\"], {\n enumerable: true,\n value: true\n});\n/** @private */\n\nfunction replaceTableState(tableName, newTableState, tx, state) {\n const {\n batchToken,\n withMutations\n } = tx;\n\n if (withMutations) {\n state[tableName] = newTableState;\n return state;\n }\n\n return immutable_ops__WEBPACK_IMPORTED_MODULE_0__[\"default\"].batch.set(batchToken, tableName, newTableState, state);\n}\n/** @private */\n\n\nfunction query(tables, querySpec, state) {\n const {\n table: tableName,\n clauses\n } = querySpec;\n const table = tables[tableName];\n const rows = table.query(state[tableName], clauses);\n return {\n rows\n };\n}\n/** @private */\n\n\nfunction update(tables, updateSpec, tx, state) {\n const {\n action,\n payload\n } = updateSpec;\n let tableName;\n let nextTableState;\n let resultPayload;\n\n if (action === _constants__WEBPACK_IMPORTED_MODULE_1__[\"CREATE\"]) {\n ({\n table: tableName\n } = updateSpec);\n const table = tables[tableName];\n const currTableState = state[tableName];\n const result = table.insert(tx, currTableState, payload);\n nextTableState = result.state;\n resultPayload = result.created;\n } else {\n const {\n query: querySpec\n } = updateSpec;\n ({\n table: tableName\n } = querySpec);\n const {\n rows\n } = query(tables, querySpec, state);\n const table = tables[tableName];\n const currTableState = state[tableName];\n\n if (action === _constants__WEBPACK_IMPORTED_MODULE_1__[\"UPDATE\"]) {\n nextTableState = table.update(tx, currTableState, rows, payload); // return updated rows\n\n resultPayload = query(tables, querySpec, state).rows;\n } else if (action === _constants__WEBPACK_IMPORTED_MODULE_1__[\"DELETE\"]) {\n nextTableState = table.delete(tx, currTableState, rows); // return original rows that we just deleted\n\n resultPayload = rows;\n } else {\n throw new Error(`Database received unknown update type: ${action}`);\n }\n }\n\n const nextDBState = replaceTableState(tableName, nextTableState, tx, state);\n return {\n status: _constants__WEBPACK_IMPORTED_MODULE_1__[\"SUCCESS\"],\n state: nextDBState,\n payload: resultPayload\n };\n}\n/**\n * @memberof db\n * @param {Object} schemaSpec\n * @return Object database\n */\n\n\nfunction createDatabase(schemaSpec) {\n const {\n tables: tableSpecs\n } = schemaSpec;\n const tables = Object.entries(tableSpecs).reduce((map, [tableName, tableSpec]) => ({ ...map,\n [tableName]: new _Table__WEBPACK_IMPORTED_MODULE_2__[\"default\"](tableSpec)\n }), {});\n\n const getEmptyState = () => Object.entries(tables).reduce((map, [tableName, table]) => ({ ...map,\n [tableName]: table.getEmptyState()\n }), BASE_EMPTY_STATE);\n\n return {\n getEmptyState,\n query: query.bind(null, tables),\n update: update.bind(null, tables),\n // Used to inspect the schema.\n describe: tableName => tables[tableName]\n };\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (createDatabase);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9kYi9EYXRhYmFzZS5qcz9lZjAxIl0sIm5hbWVzIjpbIkJBU0VfRU1QVFlfU1RBVEUiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsIlNUQVRFX0ZMQUciLCJlbnVtZ
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createDatabase\", function() { return createDatabase; });\n/* harmony import */ var immutable_ops__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! immutable-ops */ \"./node_modules/immutable-ops/es/index.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants */ \"./src/constants.js\");\n/* harmony import */ var _Table__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Table */ \"./src/db/Table.js\");\n\n\n\nconst BASE_EMPTY_STATE = {};\nObject.defineProperty(BASE_EMPTY_STATE, _constants__WEBPACK_IMPORTED_MODULE_1__[\"STATE_FLAG\"], {\n enumerable: true,\n value: true\n});\n/** @private */\n\nfunction replaceTableState(tableName, newTableState, tx, state) {\n const {\n batchToken,\n withMutations\n } = tx;\n\n if (withMutations) {\n state[tableName] = newTableState;\n return state;\n }\n\n return immutable_ops__WEBPACK_IMPORTED_MODULE_0__[\"default\"].batch.set(batchToken, tableName, newTableState, state);\n}\n/** @private */\n\n\nfunction query(tables, querySpec, state) {\n const {\n table: tableName,\n clauses\n } = querySpec;\n const table = tables[tableName];\n const rows = table.query(state[tableName], clauses);\n return {\n rows\n };\n}\n/** @private */\n\n\nfunction update(tables, updateSpec, tx, state) {\n const {\n action,\n payload\n } = updateSpec;\n let tableName;\n let nextTableState;\n let resultPayload;\n\n if (action === _constants__WEBPACK_IMPORTED_MODULE_1__[\"CREATE\"]) {\n ({\n table: tableName\n } = updateSpec);\n const table = tables[tableName];\n const currTableState = state[tableName];\n const result = table.insert(tx, currTableState, payload);\n nextTableState = result.state;\n resultPayload = result.created;\n } else {\n const {\n query: querySpec\n } = updateSpec;\n ({\n table: tableName\n } = querySpec);\n const {\n rows\n } = query(tables, querySpec, state);\n const table = tables[tableName];\n const currTableState = state[tableName];\n\n if (action === _constants__WEBPACK_IMPORTED_MODULE_1__[\"UPDATE\"]) {\n nextTableState = table.update(tx, currTableState, rows, payload); // return updated rows\n\n resultPayload = query(tables, querySpec, state).rows;\n } else if (action === _constants__WEBPACK_IMPORTED_MODULE_1__[\"DELETE\"]) {\n nextTableState = table.delete(tx, currTableState, rows); // return original rows that we just deleted\n\n resultPayload = rows;\n } else {\n throw new Error(`Database received unknown update type: ${action}`);\n }\n }\n\n const nextDBState = replaceTableState(tableName, nextTableState, tx, state);\n return {\n status: _constants__WEBPACK_IMPORTED_MODULE_1__[\"SUCCESS\"],\n state: nextDBState,\n payload: resultPayload\n };\n}\n/**\n * @memberof db\n * @param {Object} schemaSpec\n * @return Object database\n */\n\n\nfunction createDatabase(schemaSpec) {\n const {\n tables: tableSpecs\n } = schemaSpec;\n const tables = Object.entries(tableSpecs).reduce((map, [tableName, tableSpec]) => ({ ...map,\n [tableName]: new _Table__WEBPACK_IMPORTED_MODULE_2__[\"default\"](tableSpec)\n }), {});\n\n const getEmptyState = () => Object.entries(tables).reduce((map, [tableName, table]) => ({ ...map,\n [tableName]: table.getEmptyState()\n }), BASE_EMPTY_STATE);\n\n return {\n getEmptyState,\n query: query.bind(null, tables),\n update: update.bind(null, tables),\n // Used to inspect the schema.\n describe: tableName => tables[tableName]\n };\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (createDatabase);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9kYi9EYXRhYmFzZS5qcz9lZjAxIl0sIm5hbWVzIjpbIkJBU0VfRU1QVFlfU1RBVEUiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsIlNUQVRFX0ZMQUciLCJlbnVtZ
/***/ }),
@@ -4522,7 +4544,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Table\", function() { return Table; });\n/* harmony import */ var immutable_ops__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! immutable-ops */ \"./node_modules/immutable-ops/es/index.js\");\n/* harmony import */ var lodash_filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/filter */ \"./node_modules/lodash/filter.js\");\n/* harmony import */ var lodash_filter__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_filter__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lodash_orderBy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/orderBy */ \"./node_modules/lodash/orderBy.js\");\n/* harmony import */ var lodash_orderBy__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_orderBy__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var lodash_reject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/reject */ \"./node_modules/lodash/reject.js\");\n/* harmony import */ var lodash_reject__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_reject__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var lodash_sortBy__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/sortBy */ \"./node_modules/lodash/sortBy.js\");\n/* harmony import */ var lodash_sortBy__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_sortBy__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../constants */ \"./src/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils */ \"./src/utils.js\");\n\n\n\n\n\n\n\nconst DEFAULT_TABLE_OPTIONS = {\n idAttribute: \"id\",\n arrName: \"items\",\n mapName: \"itemsById\",\n fields: {}\n};\n/**\n * @private\n * @param {*} _currMax - the current max id\n * @param {*} userPassedId - the new id passed to the create action\n *\n * Both may be undefined. The current max id in the case that this is the first Model\n * being created, and the new id if the id was not explicitly passed to the\n * database.\n *\n * @return {Array} the new max id and the id to use to create the new row\n *\n * If the id's are strings, the id must be passed explicitly every time.\n * In this case, the current max id will remain `NaN` due to `Math.max`, but that's fine.\n */\n\nfunction idSequencer(_currMax, userPassedId) {\n let currMax = _currMax;\n let newMax;\n let newId;\n\n if (currMax === undefined) {\n currMax = -1;\n }\n\n if (userPassedId === undefined) {\n newMax = currMax + 1;\n newId = newMax;\n } else {\n newMax = Math.max(currMax + 1, userPassedId);\n newId = userPassedId;\n }\n\n return [newMax, // new max id\n newId // id to use for row creation\n ];\n}\n/**\n * Adapt order directions array to @{lodash.orderBy} API.\n *\n * @private\n *\n * @param {Array<Boolean|'asc'|'desc'>} orders? - an array of optional order query directions as provided to {@Link {QuerySet.orderBy}}\n * @return {Array<'asc'|'desc'>|undefined} A normalized ordering array or undefined if none was provided.\n */\n\n\nfunction normalizeOrders(orders) {\n if (orders === undefined) {\n return undefined;\n }\n\n const convert = order => {\n if ([\"desc\", false].includes(order)) {\n return \"desc\";\n }\n\n return \"asc\";\n };\n\n return Array.isArray(orders) ? orders.map(convert) : convert(orders);\n}\n/**\n * Handles the underlying data structure for a {@link Model} class.\n * @private\n */\n\n\nlet Table = /*#__PURE__*/function () {\n /**\n * Creates a new {@link Table} instance.\n * @param {Object} userOpts - options to use.\n * @param {string} [userOpts.idAttribute=id] - the id attribute of the entity.\n * @param {string} [userOpts.arrName=items] - the state attribute where an array of\n * entity id's are stored\n * @p
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Table\", function() { return Table; });\n/* harmony import */ var immutable_ops__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! immutable-ops */ \"./node_modules/immutable-ops/es/index.js\");\n/* harmony import */ var lodash_filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/filter */ \"./node_modules/lodash/filter.js\");\n/* harmony import */ var lodash_filter__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_filter__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lodash_orderBy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/orderBy */ \"./node_modules/lodash/orderBy.js\");\n/* harmony import */ var lodash_orderBy__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_orderBy__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var lodash_reject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/reject */ \"./node_modules/lodash/reject.js\");\n/* harmony import */ var lodash_reject__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_reject__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var lodash_sortBy__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/sortBy */ \"./node_modules/lodash/sortBy.js\");\n/* harmony import */ var lodash_sortBy__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_sortBy__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../constants */ \"./src/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils */ \"./src/utils.js\");\n\n\n\n\n\n\n\nconst DEFAULT_TABLE_OPTIONS = {\n idAttribute: \"id\",\n arrName: \"items\",\n mapName: \"itemsById\",\n fields: {}\n};\n/**\n * @private\n * @param {*} _currMax - the current max id\n * @param {*} userPassedId - the new id passed to the create action\n *\n * Both may be undefined. The current max id in the case that this is the first Model\n * being created, and the new id if the id was not explicitly passed to the\n * database.\n *\n * @return {Array} the new max id and the id to use to create the new row\n *\n * If the id's are strings, the id must be passed explicitly every time.\n * In this case, the current max id will remain `NaN` due to `Math.max`, but that's fine.\n */\n\nfunction idSequencer(_currMax, userPassedId) {\n let currMax = _currMax;\n let newMax;\n let newId;\n\n if (currMax === undefined) {\n currMax = -1;\n }\n\n if (userPassedId === undefined) {\n newMax = currMax + 1;\n newId = newMax;\n } else {\n newMax = Math.max(currMax + 1, userPassedId);\n newId = userPassedId;\n }\n\n return [newMax, // new max id\n newId // id to use for row creation\n ];\n}\n/**\n * Adapt order directions array to @{lodash.orderBy} API.\n *\n * @private\n *\n * @param {Array<Boolean|'asc'|'desc'>} orders? - an array of optional order query directions as provided to {@Link {QuerySet.orderBy}}\n * @return {Array<'asc'|'desc'>|undefined} A normalized ordering array or undefined if none was provided.\n */\n\n\nfunction normalizeOrders(orders) {\n if (orders === undefined) {\n return undefined;\n }\n\n const convert = order => {\n if ([\"desc\", false].includes(order)) {\n return \"desc\";\n }\n\n return \"asc\";\n };\n\n return Array.isArray(orders) ? orders.map(convert) : convert(orders);\n}\n/**\n * Handles the underlying data structure for a {@link Model} class.\n * @private\n */\n\n\nlet Table = /*#__PURE__*/function () {\n /**\n * Creates a new {@link Table} instance.\n * @param {Object} userOpts - options to use.\n * @param {string} [userOpts.idAttribute=id] - the id attribute of the entity.\n * @param {string} [userOpts.arrName=items] - the state attribute where an array of\n * entity id's are stored\n * @p
/***/ }),
@@ -4534,7 +4556,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Database__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Database */ \"./src/db/Database.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createDatabase\", function() { return _Database__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Table */ \"./src/db/Table.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Table\", function() { return _Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/**\n * @module db\n * @desc Internal implementation of data storage, fetching and optimizations.\n * @private\n */\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_Database__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9kYi9pbmRleC5qcz84MTQ5Il0sIm5hbWVzIjpbImNyZWF0ZURhdGFiYXNlIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7OztBQU1BO0FBQ0E7QUFFQTtBQUVlQSxnSEFBZiIsImZpbGUiOiIuL3NyYy9kYi9pbmRleC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBkYlxuICogQGRlc2MgSW50ZXJuYWwgaW1wbGVtZW50YXRpb24gb2YgZGF0YSBzdG9yYWdlLCBmZXRjaGluZyBhbmQgb3B0aW1pemF0aW9ucy5cbiAqIEBwcml2YXRlXG4gKi9cblxuaW1wb3J0IGNyZWF0ZURhdGFiYXNlIGZyb20gXCIuL0RhdGFiYXNlXCI7XG5pbXBvcnQgVGFibGUgZnJvbSBcIi4vVGFibGVcIjtcblxuZXhwb3J0IHsgY3JlYXRlRGF0YWJhc2UsIFRhYmxlIH07XG5cbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZURhdGFiYXNlO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/db/index.js\n");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Database__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Database */ \"./src/db/Database.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createDatabase\", function() { return _Database__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _Table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Table */ \"./src/db/Table.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Table\", function() { return _Table__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/**\n * @module db\n * @desc Internal implementation of data storage, fetching and optimizations.\n * @private\n */\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_Database__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9kYi9pbmRleC5qcz84MTQ5Il0sIm5hbWVzIjpbImNyZWF0ZURhdGFiYXNlIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFFZUEsZ0hBQWYiLCJmaWxlIjoiLi9zcmMvZGIvaW5kZXguanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgZGJcbiAqIEBkZXNjIEludGVybmFsIGltcGxlbWVudGF0aW9uIG9mIGRhdGEgc3RvcmFnZSwgZmV0Y2hpbmcgYW5kIG9wdGltaXphdGlvbnMuXG4gKiBAcHJpdmF0ZVxuICovXG5cbmltcG9ydCBjcmVhdGVEYXRhYmFzZSBmcm9tIFwiLi9EYXRhYmFzZVwiO1xuaW1wb3J0IFRhYmxlIGZyb20gXCIuL1RhYmxlXCI7XG5cbmV4cG9ydCB7IGNyZWF0ZURhdGFiYXNlLCBUYWJsZSB9O1xuXG5leHBvcnQgZGVmYXVsdCBjcmVhdGVEYXRhYmFzZTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/db/index.js\n");
/***/ }),
@@ -4546,7 +4568,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Dat
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"attrDescriptor\", function() { return attrDescriptor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forwardsManyToOneDescriptor\", function() { return forwardsManyToOneDescriptor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forwardsOneToOneDescriptor\", function() { return forwardsOneToOneDescriptor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"backwardsOneToOneDescriptor\", function() { return backwardsOneToOneDescriptor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"backwardsManyToOneDescriptor\", function() { return backwardsManyToOneDescriptor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"manyToManyDescriptor\", function() { return manyToManyDescriptor; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"./src/utils.js\");\n\n/**\n * The functions in this file return custom JS property descriptors\n * that are supposed to be assigned to Model fields.\n *\n * Some include the logic to look up models using foreign keys and\n * to add or remove relationships between models.\n *\n * @module descriptors\n * @private\n */\n\n/**\n * Defines a basic non-key attribute.\n * @param {string} fieldName - the name of the field the descriptor will be assigned to.\n */\n\nfunction attrDescriptor(fieldName) {\n return {\n get() {\n return this._fields[fieldName];\n },\n\n set(value) {\n return this.set(fieldName, value);\n },\n\n enumerable: true,\n configurable: true\n };\n}\n/**\n * Forwards direction of a Foreign Key: returns one object.\n * Also works as {@link .forwardsOneToOneDescriptor|forwardsOneToOneDescriptor}.\n *\n * For `book.author` referencing an `Author` model instance,\n * `fieldName` would be `'author'` and `declaredToModelName` would be `'Author'`.\n * @param {string} fieldName - the name of the field the descriptor will be assigned to.\n * @param {string} declaredToModelName - the name of the model that the field references.\n */\n\n\nfunction forwardsManyToOneDescriptor(fieldName, declaredToModelName) {\n return {\n get() {\n const {\n session: {\n [declaredToModelName]: DeclaredToModel\n }\n } = this.getClass();\n const {\n [fieldName]: toId\n } = this._fields;\n return DeclaredToModel.withId(toId);\n },\n\n set(value) {\n this.update({\n [fieldName]: Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"normalizeEntity\"])(value)\n });\n }\n\n };\n}\n/**\n * Dereferencing foreign keys in {@link module:fields.oneToOne|oneToOne}\n * relationships works the same way as in many-to-one relationships:\n * just look up the related model.\n *\n * For example, a human face tends to have a single nose.\n * So if we want to resolve `face.nose`, we need to\n * look up the `Nose` that has the primary key that `face` references.\n *\n * @see {@link module:descriptors~forwardsManyToOneDescriptor|forwardsManyToOneDescriptor}\n */\n\n\nfunction forwardsOneToOneDescriptor(...args) {\n return forwardsManyToOneDescriptor(...args);\n}\n/**\n * Here we resolve 1-to-1 relationships starting at the model on which the\n * field was not installed. This means we need to find the instance of the\n * other model whose {@link module:fields.oneToOne|oneToOne} FK field contains the current model's primary key.\n *\n * @param {string} declaredFieldName - the name of the field referencing the current model.\n * @param {string} declaredFromModelName - the name of the other model.\n */\n\n\nfunction backwardsOneToOneDescriptor(declaredFieldName, declaredFromModelName) {\n return {\n get() {\n const {\n session: {\n [declaredFromModelName]: DeclaredFromModel\n }\n } = this.getClass();\n return DeclaredFromModel.get({\n [declaredField
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"attrDescriptor\", function() { return attrDescriptor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forwardsManyToOneDescriptor\", function() { return forwardsManyToOneDescriptor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forwardsOneToOneDescriptor\", function() { return forwardsOneToOneDescriptor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"backwardsOneToOneDescriptor\", function() { return backwardsOneToOneDescriptor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"backwardsManyToOneDescriptor\", function() { return backwardsManyToOneDescriptor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"manyToManyDescriptor\", function() { return manyToManyDescriptor; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"./src/utils.js\");\n\n/**\n * The functions in this file return custom JS property descriptors\n * that are supposed to be assigned to Model fields.\n *\n * Some include the logic to look up models using foreign keys and\n * to add or remove relationships between models.\n *\n * @module descriptors\n * @private\n */\n\n/**\n * Defines a basic non-key attribute.\n * @param {string} fieldName - the name of the field the descriptor will be assigned to.\n */\n\nfunction attrDescriptor(fieldName) {\n return {\n get() {\n return this._fields[fieldName];\n },\n\n set(value) {\n return this.set(fieldName, value);\n },\n\n enumerable: true,\n configurable: true\n };\n}\n/**\n * Forwards direction of a Foreign Key: returns one object.\n * Also works as {@link .forwardsOneToOneDescriptor|forwardsOneToOneDescriptor}.\n *\n * For `book.author` referencing an `Author` model instance,\n * `fieldName` would be `'author'` and `declaredToModelName` would be `'Author'`.\n * @param {string} fieldName - the name of the field the descriptor will be assigned to.\n * @param {string} declaredToModelName - the name of the model that the field references.\n */\n\n\nfunction forwardsManyToOneDescriptor(fieldName, declaredToModelName) {\n return {\n get() {\n const {\n session: {\n [declaredToModelName]: DeclaredToModel\n }\n } = this.getClass();\n const {\n [fieldName]: toId\n } = this._fields;\n return DeclaredToModel.withId(toId);\n },\n\n set(value) {\n this.update({\n [fieldName]: Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"normalizeEntity\"])(value)\n });\n }\n\n };\n}\n/**\n * Dereferencing foreign keys in {@link module:fields.oneToOne|oneToOne}\n * relationships works the same way as in many-to-one relationships:\n * just look up the related model.\n *\n * For example, a human face tends to have a single nose.\n * So if we want to resolve `face.nose`, we need to\n * look up the `Nose` that has the primary key that `face` references.\n *\n * @see {@link module:descriptors~forwardsManyToOneDescriptor|forwardsManyToOneDescriptor}\n */\n\n\nfunction forwardsOneToOneDescriptor(...args) {\n return forwardsManyToOneDescriptor(...args);\n}\n/**\n * Here we resolve 1-to-1 relationships starting at the model on which the\n * field was not installed. This means we need to find the instance of the\n * other model whose {@link module:fields.oneToOne|oneToOne} FK field contains the current model's primary key.\n *\n * @param {string} declaredFieldName - the name of the field referencing the current model.\n * @param {string} declaredFromModelName - the name of the other model.\n */\n\n\nfunction backwardsOneToOneDescriptor(declaredFieldName, declaredFromModelName) {\n return {\n get() {\n const {\n session: {\n [declaredFromModelName]: DeclaredFromModel\n }\n } = this.getClass();\n return DeclaredFromModel.get({\n [declaredField
/***/ }),
@@ -4558,7 +4580,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Attribute\", function() { return Attribute; });\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _Field__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Field */ \"./src/fields/Field.js\");\n/* harmony import */ var _descriptors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../descriptors */ \"./src/descriptors.js\");\n\n\n\n/**\n * @memberof module:fields\n */\n\nlet Attribute = /*#__PURE__*/function (_Field) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default()(Attribute, _Field);\n\n function Attribute(opts) {\n var _this;\n\n _this = _Field.call(this) || this;\n _this.opts = opts || {};\n\n if (_this.opts.hasOwnProperty(\"getDefault\")) {\n _this.getDefault = _this.opts.getDefault;\n }\n\n return _this;\n }\n\n var _proto = Attribute.prototype;\n\n _proto.createForwardsDescriptor = function createForwardsDescriptor(fieldName, model) {\n return Object(_descriptors__WEBPACK_IMPORTED_MODULE_2__[\"attrDescriptor\"])(fieldName);\n };\n\n return Attribute;\n}(_Field__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (Attribute);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9maWVsZHMvQXR0cmlidXRlLmpzPzJkNDMiXSwibmFtZXMiOlsiQXR0cmlidXRlIiwib3B0cyIsImhhc093blByb3BlcnR5IiwiZ2V0RGVmYXVsdCIsImNyZWF0ZUZvcndhcmRzRGVzY3JpcHRvciIsImZpZWxkTmFtZSIsIm1vZGVsIiwiYXR0ckRlc2NyaXB0b3IiLCJGaWVsZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBRUE7QUFFQTs7OztBQUdPLElBQU1BLFNBQWI7QUFBQTs7QUFDSSxxQkFBWUMsSUFBWixFQUFrQjtBQUFBOztBQUNkO0FBQ0EsVUFBS0EsSUFBTCxHQUFZQSxJQUFJLElBQUksRUFBcEI7O0FBRUEsUUFBSSxNQUFLQSxJQUFMLENBQVVDLGNBQVYsQ0FBeUIsWUFBekIsQ0FBSixFQUE0QztBQUN4QyxZQUFLQyxVQUFMLEdBQWtCLE1BQUtGLElBQUwsQ0FBVUUsVUFBNUI7QUFDSDs7QUFOYTtBQU9qQjs7QUFSTDs7QUFBQSxTQVVJQyx3QkFWSixHQVVJLGtDQUF5QkMsU0FBekIsRUFBb0NDLEtBQXBDLEVBQTJDO0FBQ3ZDLFdBQU9DLG1FQUFjLENBQUNGLFNBQUQsQ0FBckI7QUFDSCxHQVpMOztBQUFBO0FBQUEsRUFBK0JHLDhDQUEvQjtBQWVlUix3RUFBZiIsImZpbGUiOiIuL3NyYy9maWVsZHMvQXR0cmlidXRlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEZpZWxkIGZyb20gXCIuL0ZpZWxkXCI7XG5cbmltcG9ydCB7IGF0dHJEZXNjcmlwdG9yIH0gZnJvbSBcIi4uL2Rlc2NyaXB0b3JzXCI7XG5cbi8qKlxuICogQG1lbWJlcm9mIG1vZHVsZTpmaWVsZHNcbiAqL1xuZXhwb3J0IGNsYXNzIEF0dHJpYnV0ZSBleHRlbmRzIEZpZWxkIHtcbiAgICBjb25zdHJ1Y3RvcihvcHRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMub3B0cyA9IG9wdHMgfHwge307XG5cbiAgICAgICAgaWYgKHRoaXMub3B0cy5oYXNPd25Qcm9wZXJ0eShcImdldERlZmF1bHRcIikpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0RGVmYXVsdCA9IHRoaXMub3B0cy5nZXREZWZhdWx0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY3JlYXRlRm9yd2FyZHNEZXNjcmlwdG9yKGZpZWxkTmFtZSwgbW9kZWwpIHtcbiAgICAgICAgcmV0dXJuIGF0dHJEZXNjcmlwdG9yKGZpZWxkTmFtZSk7XG4gICAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBBdHRyaWJ1dGU7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/fields/Attribute.js\n");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Attribute\", function() { return Attribute; });\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _Field__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Field */ \"./src/fields/Field.js\");\n/* harmony import */ var _descriptors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../descriptors */ \"./src/descriptors.js\");\n\n\n\n/**\n * @memberof module:fields\n */\n\nlet Attribute = /*#__PURE__*/function (_Field) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default()(Attribute, _Field);\n\n function Attribute(opts) {\n var _this;\n\n _this = _Field.call(this) || this;\n _this.opts = opts || {};\n\n if (_this.opts.hasOwnProperty(\"getDefault\")) {\n _this.getDefault = _this.opts.getDefault;\n }\n\n return _this;\n }\n\n var _proto = Attribute.prototype;\n\n _proto.createForwardsDescriptor = function createForwardsDescriptor(fieldName, model) {\n return Object(_descriptors__WEBPACK_IMPORTED_MODULE_2__[\"attrDescriptor\"])(fieldName);\n };\n\n return Attribute;\n}(_Field__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (Attribute);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9maWVsZHMvQXR0cmlidXRlLmpzPzJkNDMiXSwibmFtZXMiOlsiQXR0cmlidXRlIiwib3B0cyIsImhhc093blByb3BlcnR5IiwiZ2V0RGVmYXVsdCIsImNyZWF0ZUZvcndhcmRzRGVzY3JpcHRvciIsImZpZWxkTmFtZSIsIm1vZGVsIiwiYXR0ckRlc2NyaXB0b3IiLCJGaWVsZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7O0FBQ08sSUFBTUEsU0FBYjtBQUFBOztBQUNJLHFCQUFZQyxJQUFaLEVBQWtCO0FBQUE7O0FBQ2Q7QUFDQSxVQUFLQSxJQUFMLEdBQVlBLElBQUksSUFBSSxFQUFwQjs7QUFFQSxRQUFJLE1BQUtBLElBQUwsQ0FBVUMsY0FBVixDQUF5QixZQUF6QixDQUFKLEVBQTRDO0FBQ3hDLFlBQUtDLFVBQUwsR0FBa0IsTUFBS0YsSUFBTCxDQUFVRSxVQUE1QjtBQUNIOztBQU5hO0FBT2pCOztBQVJMOztBQUFBLFNBVUlDLHdCQVZKLEdBVUksa0NBQXlCQyxTQUF6QixFQUFvQ0MsS0FBcEMsRUFBMkM7QUFDdkMsV0FBT0MsbUVBQWMsQ0FBQ0YsU0FBRCxDQUFyQjtBQUNILEdBWkw7O0FBQUE7QUFBQSxFQUErQkcsOENBQS9CO0FBZWVSLHdFQUFmIiwiZmlsZSI6Ii4vc3JjL2ZpZWxkcy9BdHRyaWJ1dGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRmllbGQgZnJvbSBcIi4vRmllbGRcIjtcblxuaW1wb3J0IHsgYXR0ckRlc2NyaXB0b3IgfSBmcm9tIFwiLi4vZGVzY3JpcHRvcnNcIjtcblxuLyoqXG4gKiBAbWVtYmVyb2YgbW9kdWxlOmZpZWxkc1xuICovXG5leHBvcnQgY2xhc3MgQXR0cmlidXRlIGV4dGVuZHMgRmllbGQge1xuICAgIGNvbnN0cnVjdG9yKG9wdHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5vcHRzID0gb3B0cyB8fCB7fTtcblxuICAgICAgICBpZiAodGhpcy5vcHRzLmhhc093blByb3BlcnR5KFwiZ2V0RGVmYXVsdFwiKSkge1xuICAgICAgICAgICAgdGhpcy5nZXREZWZhdWx0ID0gdGhpcy5vcHRzLmdldERlZmF1bHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjcmVhdGVGb3J3YXJkc0Rlc2NyaXB0b3IoZmllbGROYW1lLCBtb2RlbCkge1xuICAgICAgICByZXR1cm4gYXR0ckRlc2NyaXB0b3IoZmllbGROYW1lKTtcbiAgICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEF0dHJpYnV0ZTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/fields/Attribute.js\n");
/***/ }),
@@ -4570,7 +4592,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DefaultFieldInstaller\", function() { return DefaultFieldInstaller; });\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _FieldInstallerTemplate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FieldInstallerTemplate */ \"./src/fields/FieldInstallerTemplate.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils */ \"./src/utils.js\");\n\n\n\n/**\n * Default implementation for the template method in FieldInstallerTemplate.\n * @private\n * @memberof module:fields\n */\n\nlet DefaultFieldInstaller = /*#__PURE__*/function (_FieldInstallerTempla) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default()(DefaultFieldInstaller, _FieldInstallerTempla);\n\n function DefaultFieldInstaller() {\n return _FieldInstallerTempla.apply(this, arguments) || this;\n }\n\n var _proto = DefaultFieldInstaller.prototype;\n\n _proto.installForwardsDescriptor = function installForwardsDescriptor() {\n Object.defineProperty(this.model.prototype, this.fieldName, this.field.createForwardsDescriptor(this.fieldName, this.model, this.toModel, this.throughModel));\n };\n\n _proto.installForwardsVirtualField = function installForwardsVirtualField() {\n this.model.virtualFields[this.fieldName] = this.field.createForwardsVirtualField(this.fieldName, this.model, this.toModel, this.throughModel);\n };\n\n _proto.installBackwardsDescriptor = function installBackwardsDescriptor() {\n const backwardsDescriptor = Object.getOwnPropertyDescriptor(this.toModel.prototype, this.backwardsFieldName);\n\n if (backwardsDescriptor) {\n throw new Error(Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"reverseFieldErrorMessage\"])(this.model.modelName, this.fieldName, this.toModel.modelName, this.backwardsFieldName));\n } // install backwards descriptor\n\n\n Object.defineProperty(this.toModel.prototype, this.backwardsFieldName, this.field.createBackwardsDescriptor(this.fieldName, this.model, this.toModel, this.throughModel));\n };\n\n _proto.installBackwardsVirtualField = function installBackwardsVirtualField() {\n this.toModel.virtualFields[this.backwardsFieldName] = this.field.createBackwardsVirtualField(this.fieldName, this.model, this.toModel, this.throughModel);\n };\n\n return DefaultFieldInstaller;\n}(_FieldInstallerTemplate__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (DefaultFieldInstaller);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9maWVsZHMvRGVmYXVsdEZpZWxkSW5zdGFsbGVyLmpzPzQxOTYiXSwibmFtZXMiOlsiRGVmYXVsdEZpZWxkSW5zdGFsbGVyIiwiaW5zdGFsbEZvcndhcmRzRGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwibW9kZWwiLCJwcm90b3R5cGUiLCJmaWVsZE5hbWUiLCJmaWVsZCIsImNyZWF0ZUZvcndhcmRzRGVzY3JpcHRvciIsInRvTW9kZWwiLCJ0aHJvdWdoTW9kZWwiLCJpbnN0YWxsRm9yd2FyZHNWaXJ0dWFsRmllbGQiLCJ2aXJ0dWFsRmllbGRzIiwiY3JlYXRlRm9yd2FyZHNWaXJ0dWFsRmllbGQiLCJpbnN0YWxsQmFja3dhcmRzRGVzY3JpcHRvciIsImJhY2t3YXJkc0Rlc2NyaXB0b3IiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJiYWNrd2FyZHNGaWVsZE5hbWUiLCJFcnJvciIsInJldmVyc2VGaWVsZEVycm9yTWVzc2FnZSIsIm1vZGVsTmFtZSIsImNyZWF0ZUJhY2t3YXJkc0Rlc2NyaXB0b3IiLCJpbnN0YWxsQmFja3dhcmRzVmlydHVhbEZpZWxkIiwiY3JlYXRlQmFja3dhcmRzVmlydHVhbEZpZWxkIiwiRmllbGRJbnN0YWxsZXJUZW1wbGF0ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBRUE7QUFFQTs7Ozs7O0FBS08sSUFBTUEscUJBQWI7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7O0FBQUEsU0FDSUMseUJBREosR0FDSSxxQ0FBNEI7QUFDeEJDLFVBQU0sQ0FBQ0MsY0FBUCxDQUNJLEtBQUtDLEtBQUwsQ
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DefaultFieldInstaller\", function() { return DefaultFieldInstaller; });\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _FieldInstallerTemplate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FieldInstallerTemplate */ \"./src/fields/FieldInstallerTemplate.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils */ \"./src/utils.js\");\n\n\n\n/**\n * Default implementation for the template method in FieldInstallerTemplate.\n * @private\n * @memberof module:fields\n */\n\nlet DefaultFieldInstaller = /*#__PURE__*/function (_FieldInstallerTempla) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default()(DefaultFieldInstaller, _FieldInstallerTempla);\n\n function DefaultFieldInstaller() {\n return _FieldInstallerTempla.apply(this, arguments) || this;\n }\n\n var _proto = DefaultFieldInstaller.prototype;\n\n _proto.installForwardsDescriptor = function installForwardsDescriptor() {\n Object.defineProperty(this.model.prototype, this.fieldName, this.field.createForwardsDescriptor(this.fieldName, this.model, this.toModel, this.throughModel));\n };\n\n _proto.installForwardsVirtualField = function installForwardsVirtualField() {\n this.model.virtualFields[this.fieldName] = this.field.createForwardsVirtualField(this.fieldName, this.model, this.toModel, this.throughModel);\n };\n\n _proto.installBackwardsDescriptor = function installBackwardsDescriptor() {\n const backwardsDescriptor = Object.getOwnPropertyDescriptor(this.toModel.prototype, this.backwardsFieldName);\n\n if (backwardsDescriptor) {\n throw new Error(Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"reverseFieldErrorMessage\"])(this.model.modelName, this.fieldName, this.toModel.modelName, this.backwardsFieldName));\n } // install backwards descriptor\n\n\n Object.defineProperty(this.toModel.prototype, this.backwardsFieldName, this.field.createBackwardsDescriptor(this.fieldName, this.model, this.toModel, this.throughModel));\n };\n\n _proto.installBackwardsVirtualField = function installBackwardsVirtualField() {\n this.toModel.virtualFields[this.backwardsFieldName] = this.field.createBackwardsVirtualField(this.fieldName, this.model, this.toModel, this.throughModel);\n };\n\n return DefaultFieldInstaller;\n}(_FieldInstallerTemplate__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (DefaultFieldInstaller);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9maWVsZHMvRGVmYXVsdEZpZWxkSW5zdGFsbGVyLmpzPzQxOTYiXSwibmFtZXMiOlsiRGVmYXVsdEZpZWxkSW5zdGFsbGVyIiwiaW5zdGFsbEZvcndhcmRzRGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwibW9kZWwiLCJwcm90b3R5cGUiLCJmaWVsZE5hbWUiLCJmaWVsZCIsImNyZWF0ZUZvcndhcmRzRGVzY3JpcHRvciIsInRvTW9kZWwiLCJ0aHJvdWdoTW9kZWwiLCJpbnN0YWxsRm9yd2FyZHNWaXJ0dWFsRmllbGQiLCJ2aXJ0dWFsRmllbGRzIiwiY3JlYXRlRm9yd2FyZHNWaXJ0dWFsRmllbGQiLCJpbnN0YWxsQmFja3dhcmRzRGVzY3JpcHRvciIsImJhY2t3YXJkc0Rlc2NyaXB0b3IiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJiYWNrd2FyZHNGaWVsZE5hbWUiLCJFcnJvciIsInJldmVyc2VGaWVsZEVycm9yTWVzc2FnZSIsIm1vZGVsTmFtZSIsImNyZWF0ZUJhY2t3YXJkc0Rlc2NyaXB0b3IiLCJpbnN0YWxsQmFja3dhcmRzVmlydHVhbEZpZWxkIiwiY3JlYXRlQmFja3dhcmRzVmlydHVhbEZpZWxkIiwiRmllbGRJbnN0YWxsZXJUZW1wbGF0ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNPLElBQU1BLHFCQUFiO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBOztBQUFBLFNBQ0lDLHlCQURKLEdBQ0kscUNBQTRCO0FBQ3hCQyxVQUFNLENBQUNDLGNBQVAsQ
/***/ }),
@@ -4582,7 +4604,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Field\", function() { return Field; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _DefaultFieldInstaller__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DefaultFieldInstaller */ \"./src/fields/DefaultFieldInstaller.js\");\n\n\n/**\n * @private\n * @memberof module:fields\n */\n\nlet Field = /*#__PURE__*/function () {\n function Field() {}\n\n var _proto = Field.prototype;\n\n _proto.getClass = function getClass() {\n return this.constructor;\n };\n\n _proto.references = function references(model) {\n return false;\n };\n\n _proto.getThroughModelName = function getThroughModelName(fieldName, model) {\n return null;\n };\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default()(Field, [{\n key: \"installerClass\",\n get: function () {\n return _DefaultFieldInstaller__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n }\n }, {\n key: \"installsForwardsVirtualField\",\n get: function () {\n return false;\n }\n }, {\n key: \"installsBackwardsDescriptor\",\n get: function () {\n return false;\n }\n }, {\n key: \"installsBackwardsVirtualField\",\n get: function () {\n return false;\n }\n }, {\n key: \"index\",\n get: function () {\n return false;\n }\n }]);\n\n return Field;\n}();\n/* harmony default export */ __webpack_exports__[\"default\"] = (Field);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9maWVsZHMvRmllbGQuanM/OTMwNSJdLCJuYW1lcyI6WyJGaWVsZCIsImdldENsYXNzIiwiY29uc3RydWN0b3IiLCJyZWZlcmVuY2VzIiwibW9kZWwiLCJnZXRUaHJvdWdoTW9kZWxOYW1lIiwiZmllbGROYW1lIiwiRGVmYXVsdEZpZWxkSW5zdGFsbGVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUVBOzs7OztBQUlPLElBQU1BLEtBQWI7QUFBQTs7QUFBQTs7QUFBQSxTQUtJQyxRQUxKLEdBS0ksb0JBQVc7QUFDUCxXQUFPLEtBQUtDLFdBQVo7QUFDSCxHQVBMOztBQUFBLFNBU0lDLFVBVEosR0FTSSxvQkFBV0MsS0FBWCxFQUFrQjtBQUNkLFdBQU8sS0FBUDtBQUNILEdBWEw7O0FBQUEsU0FhSUMsbUJBYkosR0FhSSw2QkFBb0JDLFNBQXBCLEVBQStCRixLQUEvQixFQUFzQztBQUNsQyxXQUFPLElBQVA7QUFDSCxHQWZMOztBQUFBO0FBQUE7QUFBQSxxQkFDeUI7QUFDakIsYUFBT0csOERBQVA7QUFDSDtBQUhMO0FBQUE7QUFBQSxxQkFpQnVDO0FBQy9CLGFBQU8sS0FBUDtBQUNIO0FBbkJMO0FBQUE7QUFBQSxxQkFxQnNDO0FBQzlCLGFBQU8sS0FBUDtBQUNIO0FBdkJMO0FBQUE7QUFBQSxxQkF5QndDO0FBQ2hDLGFBQU8sS0FBUDtBQUNIO0FBM0JMO0FBQUE7QUFBQSxxQkE2QmdCO0FBQ1IsYUFBTyxLQUFQO0FBQ0g7QUEvQkw7O0FBQUE7QUFBQTtBQWtDZVAsb0VBQWYiLCJmaWxlIjoiLi9zcmMvZmllbGRzL0ZpZWxkLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IERlZmF1bHRGaWVsZEluc3RhbGxlciBmcm9tIFwiLi9EZWZhdWx0RmllbGRJbnN0YWxsZXJcIjtcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICogQG1lbWJlcm9mIG1vZHVsZTpmaWVsZHNcbiAqL1xuZXhwb3J0IGNsYXNzIEZpZWxkIHtcbiAgICBnZXQgaW5zdGFsbGVyQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiBEZWZhdWx0RmllbGRJbnN0YWxsZXI7XG4gICAgfVxuXG4gICAgZ2V0Q2xhc3MoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnN0cnVjdG9yO1xuICAgIH1cblxuICAgIHJlZmVyZW5jZXMobW9kZWwpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGdldFRocm91Z2hNb2RlbE5hbWUoZmllbGROYW1lLCBtb2RlbCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgaW5zdGFsbHNGb3J3YXJkc1ZpcnR1YWxGaWVsZCgpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGdldCBpbnN0YWxsc0JhY2t3YXJkc0Rlc2NyaXB0b3IoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBnZXQgaW5zdGFsbHNCYWNrd2FyZHNWaXJ0dWFsRmllbGQoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBnZXQgaW5kZXgoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZpZWxkO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/fields/Field.js\n");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Field\", function() { return Field; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _DefaultFieldInstaller__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DefaultFieldInstaller */ \"./src/fields/DefaultFieldInstaller.js\");\n\n\n/**\n * @private\n * @memberof module:fields\n */\n\nlet Field = /*#__PURE__*/function () {\n function Field() {}\n\n var _proto = Field.prototype;\n\n _proto.getClass = function getClass() {\n return this.constructor;\n };\n\n _proto.references = function references(model) {\n return false;\n };\n\n _proto.getThroughModelName = function getThroughModelName(fieldName, model) {\n return null;\n };\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default()(Field, [{\n key: \"installerClass\",\n get: function () {\n return _DefaultFieldInstaller__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n }\n }, {\n key: \"installsForwardsVirtualField\",\n get: function () {\n return false;\n }\n }, {\n key: \"installsBackwardsDescriptor\",\n get: function () {\n return false;\n }\n }, {\n key: \"installsBackwardsVirtualField\",\n get: function () {\n return false;\n }\n }, {\n key: \"index\",\n get: function () {\n return false;\n }\n }]);\n\n return Field;\n}();\n/* harmony default export */ __webpack_exports__[\"default\"] = (Field);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9maWVsZHMvRmllbGQuanM/OTMwNSJdLCJuYW1lcyI6WyJGaWVsZCIsImdldENsYXNzIiwiY29uc3RydWN0b3IiLCJyZWZlcmVuY2VzIiwibW9kZWwiLCJnZXRUaHJvdWdoTW9kZWxOYW1lIiwiZmllbGROYW1lIiwiRGVmYXVsdEZpZWxkSW5zdGFsbGVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUNPLElBQU1BLEtBQWI7QUFBQTs7QUFBQTs7QUFBQSxTQUtJQyxRQUxKLEdBS0ksb0JBQVc7QUFDUCxXQUFPLEtBQUtDLFdBQVo7QUFDSCxHQVBMOztBQUFBLFNBU0lDLFVBVEosR0FTSSxvQkFBV0MsS0FBWCxFQUFrQjtBQUNkLFdBQU8sS0FBUDtBQUNILEdBWEw7O0FBQUEsU0FhSUMsbUJBYkosR0FhSSw2QkFBb0JDLFNBQXBCLEVBQStCRixLQUEvQixFQUFzQztBQUNsQyxXQUFPLElBQVA7QUFDSCxHQWZMOztBQUFBO0FBQUE7QUFBQSxTQUNJLFlBQXFCO0FBQ2pCLGFBQU9HLDhEQUFQO0FBQ0g7QUFITDtBQUFBO0FBQUEsU0FpQkksWUFBbUM7QUFDL0IsYUFBTyxLQUFQO0FBQ0g7QUFuQkw7QUFBQTtBQUFBLFNBcUJJLFlBQWtDO0FBQzlCLGFBQU8sS0FBUDtBQUNIO0FBdkJMO0FBQUE7QUFBQSxTQXlCSSxZQUFvQztBQUNoQyxhQUFPLEtBQVA7QUFDSDtBQTNCTDtBQUFBO0FBQUEsU0E2QkksWUFBWTtBQUNSLGFBQU8sS0FBUDtBQUNIO0FBL0JMOztBQUFBO0FBQUE7QUFrQ2VQLG9FQUFmIiwiZmlsZSI6Ii4vc3JjL2ZpZWxkcy9GaWVsZC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBEZWZhdWx0RmllbGRJbnN0YWxsZXIgZnJvbSBcIi4vRGVmYXVsdEZpZWxkSW5zdGFsbGVyXCI7XG5cbi8qKlxuICogQHByaXZhdGVcbiAqIEBtZW1iZXJvZiBtb2R1bGU6ZmllbGRzXG4gKi9cbmV4cG9ydCBjbGFzcyBGaWVsZCB7XG4gICAgZ2V0IGluc3RhbGxlckNsYXNzKCkge1xuICAgICAgICByZXR1cm4gRGVmYXVsdEZpZWxkSW5zdGFsbGVyO1xuICAgIH1cblxuICAgIGdldENsYXNzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25zdHJ1Y3RvcjtcbiAgICB9XG5cbiAgICByZWZlcmVuY2VzKG1vZGVsKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBnZXRUaHJvdWdoTW9kZWxOYW1lKGZpZWxkTmFtZSwgbW9kZWwpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGluc3RhbGxzRm9yd2FyZHNWaXJ0dWFsRmllbGQoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBnZXQgaW5zdGFsbHNCYWNrd2FyZHNEZXNjcmlwdG9yKCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgZ2V0IGluc3RhbGxzQmFja3dhcmRzVmlydHVhbEZpZWxkKCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgZ2V0IGluZGV4KCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBGaWVsZDtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/fields/Field.js\n");
/***/ }),
@@ -4594,7 +4616,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FieldInstallerTemplate\", function() { return FieldInstallerTemplate; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n\n\n/**\n * Defines algorithm for installing a field onto a model and related models.\n * Conforms to the template method behavioral design pattern.\n * @private\n * @memberof module:fields\n */\nlet FieldInstallerTemplate = /*#__PURE__*/function () {\n function FieldInstallerTemplate(opts) {\n this.field = opts.field;\n this.fieldName = opts.fieldName;\n this.model = opts.model;\n this.orm = opts.orm;\n /**\n * the field itself has no knowledge of the model\n * it is being installed upon; we need to inform it\n * that it is a self-referencing field for the field\n * to be able to make better informed decisions\n */\n\n if (this.field.references(this.model)) {\n this.field.toModelName = \"this\";\n }\n }\n\n var _proto = FieldInstallerTemplate.prototype;\n\n _proto.run = function run() {\n this.installForwardsDescriptor();\n\n if (this.field.installsForwardsVirtualField) {\n this.installForwardsVirtualField();\n }\n /**\n * Install a backwards field on a model as a consequence\n * of having installed the forwards field on another model.\n */\n\n\n if (this.field.installsBackwardsDescriptor) {\n this.installBackwardsDescriptor();\n }\n\n if (this.field.installsBackwardsVirtualField) {\n this.installBackwardsVirtualField();\n }\n };\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default()(FieldInstallerTemplate, [{\n key: \"toModel\",\n get: function () {\n if (typeof this._toModel === \"undefined\") {\n const {\n toModelName\n } = this.field;\n\n if (!toModelName) {\n this._toModel = null;\n } else if (toModelName === \"this\") {\n this._toModel = this.model;\n } else {\n this._toModel = this.orm.get(toModelName);\n }\n }\n\n return this._toModel;\n }\n }, {\n key: \"throughModel\",\n get: function () {\n if (typeof this._throughModel === \"undefined\") {\n const throughModelName = this.field.getThroughModelName(this.fieldName, this.model);\n\n if (!throughModelName) {\n this._throughModel = null;\n } else {\n this._throughModel = this.orm.get(throughModelName);\n }\n }\n\n return this._throughModel;\n }\n }, {\n key: \"backwardsFieldName\",\n get: function () {\n return this.field.getBackwardsFieldName(this.model);\n }\n }]);\n\n return FieldInstallerTemplate;\n}();\n/* harmony default export */ __webpack_exports__[\"default\"] = (FieldInstallerTemplate);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9maWVsZHMvRmllbGRJbnN0YWxsZXJUZW1wbGF0ZS5qcz9jZGFiIl0sIm5hbWVzIjpbIkZpZWxkSW5zdGFsbGVyVGVtcGxhdGUiLCJvcHRzIiwiZmllbGQiLCJmaWVsZE5hbWUiLCJtb2RlbCIsIm9ybSIsInJlZmVyZW5jZXMiLCJ0b01vZGVsTmFtZSIsInJ1biIsImluc3RhbGxGb3J3YXJkc0Rlc2NyaXB0b3IiLCJpbnN0YWxsc0ZvcndhcmRzVmlydHVhbEZpZWxkIiwiaW5zdGFsbEZvcndhcmRzVmlydHVhbEZpZWxkIiwiaW5zdGFsbHNCYWNrd2FyZHNEZXNjcmlwdG9yIiwiaW5zdGFsbEJhY2t3YXJkc0Rlc2NyaXB0b3IiLCJpbnN0YWxsc0JhY2t3YXJkc1ZpcnR1YWxGaWVsZCIsImluc3RhbGxCYWNrd2FyZHNWaXJ0dWFsRmllbGQiLCJfdG9Nb2RlbCIsImdldCIsIl90aHJvdWdoTW9kZWwiLCJ0aHJvdWdoTW9kZWxOYW1lIiwiZ2V0VGhyb3VnaE1vZGVsTmFtZSIsImdldEJhY2t3YXJkc0ZpZWxkTmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7Ozs7OztBQU1PLElBQU1BLHNCQUFiO0FBQ0ksa0NBQVlDLElBQVosRUFBa0I7QUFDZCxTQUFLQ
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FieldInstallerTemplate\", function() { return FieldInstallerTemplate; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n\n\n/**\n * Defines algorithm for installing a field onto a model and related models.\n * Conforms to the template method behavioral design pattern.\n * @private\n * @memberof module:fields\n */\nlet FieldInstallerTemplate = /*#__PURE__*/function () {\n function FieldInstallerTemplate(opts) {\n this.field = opts.field;\n this.fieldName = opts.fieldName;\n this.model = opts.model;\n this.orm = opts.orm;\n /**\n * the field itself has no knowledge of the model\n * it is being installed upon; we need to inform it\n * that it is a self-referencing field for the field\n * to be able to make better informed decisions\n */\n\n if (this.field.references(this.model)) {\n this.field.toModelName = \"this\";\n }\n }\n\n var _proto = FieldInstallerTemplate.prototype;\n\n _proto.run = function run() {\n this.installForwardsDescriptor();\n\n if (this.field.installsForwardsVirtualField) {\n this.installForwardsVirtualField();\n }\n /**\n * Install a backwards field on a model as a consequence\n * of having installed the forwards field on another model.\n */\n\n\n if (this.field.installsBackwardsDescriptor) {\n this.installBackwardsDescriptor();\n }\n\n if (this.field.installsBackwardsVirtualField) {\n this.installBackwardsVirtualField();\n }\n };\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default()(FieldInstallerTemplate, [{\n key: \"toModel\",\n get: function () {\n if (typeof this._toModel === \"undefined\") {\n const {\n toModelName\n } = this.field;\n\n if (!toModelName) {\n this._toModel = null;\n } else if (toModelName === \"this\") {\n this._toModel = this.model;\n } else {\n this._toModel = this.orm.get(toModelName);\n }\n }\n\n return this._toModel;\n }\n }, {\n key: \"throughModel\",\n get: function () {\n if (typeof this._throughModel === \"undefined\") {\n const throughModelName = this.field.getThroughModelName(this.fieldName, this.model);\n\n if (!throughModelName) {\n this._throughModel = null;\n } else {\n this._throughModel = this.orm.get(throughModelName);\n }\n }\n\n return this._throughModel;\n }\n }, {\n key: \"backwardsFieldName\",\n get: function () {\n return this.field.getBackwardsFieldName(this.model);\n }\n }]);\n\n return FieldInstallerTemplate;\n}();\n/* harmony default export */ __webpack_exports__[\"default\"] = (FieldInstallerTemplate);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9maWVsZHMvRmllbGRJbnN0YWxsZXJUZW1wbGF0ZS5qcz9jZGFiIl0sIm5hbWVzIjpbIkZpZWxkSW5zdGFsbGVyVGVtcGxhdGUiLCJvcHRzIiwiZmllbGQiLCJmaWVsZE5hbWUiLCJtb2RlbCIsIm9ybSIsInJlZmVyZW5jZXMiLCJ0b01vZGVsTmFtZSIsInJ1biIsImluc3RhbGxGb3J3YXJkc0Rlc2NyaXB0b3IiLCJpbnN0YWxsc0ZvcndhcmRzVmlydHVhbEZpZWxkIiwiaW5zdGFsbEZvcndhcmRzVmlydHVhbEZpZWxkIiwiaW5zdGFsbHNCYWNrd2FyZHNEZXNjcmlwdG9yIiwiaW5zdGFsbEJhY2t3YXJkc0Rlc2NyaXB0b3IiLCJpbnN0YWxsc0JhY2t3YXJkc1ZpcnR1YWxGaWVsZCIsImluc3RhbGxCYWNrd2FyZHNWaXJ0dWFsRmllbGQiLCJfdG9Nb2RlbCIsImdldCIsIl90aHJvdWdoTW9kZWwiLCJ0aHJvdWdoTW9kZWxOYW1lIiwiZ2V0VGhyb3VnaE1vZGVsTmFtZSIsImdldEJhY2t3YXJkc0ZpZWxkTmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sSUFBTUEsc0JBQWI7QUFDSSxrQ0FBWUMsS
/***/ }),
@@ -4606,7 +4628,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ForeignKey\", function() { return ForeignKey; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _RelationalField__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./RelationalField */ \"./src/fields/RelationalField.js\");\n/* harmony import */ var _descriptors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../descriptors */ \"./src/descriptors.js\");\n\n\n\n\n/**\n * @memberof module:fields\n */\n\nlet ForeignKey = /*#__PURE__*/function (_RelationalField) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(ForeignKey, _RelationalField);\n\n function ForeignKey() {\n return _RelationalField.apply(this, arguments) || this;\n }\n\n var _proto = ForeignKey.prototype;\n\n _proto.createForwardsDescriptor = function createForwardsDescriptor(fieldName, model, toModel, throughModel) {\n return Object(_descriptors__WEBPACK_IMPORTED_MODULE_3__[\"forwardsManyToOneDescriptor\"])(fieldName, toModel.modelName);\n };\n\n _proto.createBackwardsDescriptor = function createBackwardsDescriptor(fieldName, model, toModel, throughModel) {\n return Object(_descriptors__WEBPACK_IMPORTED_MODULE_3__[\"backwardsManyToOneDescriptor\"])(fieldName, model.modelName);\n };\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default()(ForeignKey, [{\n key: \"index\",\n get: function () {\n return true;\n }\n }]);\n\n return ForeignKey;\n}(_RelationalField__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (ForeignKey);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9maWVsZHMvRm9yZWlnbktleS5qcz9lMjVlIl0sIm5hbWVzIjpbIkZvcmVpZ25LZXkiLCJjcmVhdGVGb3J3YXJkc0Rlc2NyaXB0b3IiLCJmaWVsZE5hbWUiLCJtb2RlbCIsInRvTW9kZWwiLCJ0aHJvdWdoTW9kZWwiLCJmb3J3YXJkc01hbnlUb09uZURlc2NyaXB0b3IiLCJtb2RlbE5hbWUiLCJjcmVhdGVCYWNrd2FyZHNEZXNjcmlwdG9yIiwiYmFja3dhcmRzTWFueVRvT25lRGVzY3JpcHRvciIsIlJlbGF0aW9uYWxGaWVsZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBO0FBRUE7QUFLQTs7OztBQUdPLElBQU1BLFVBQWI7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7O0FBQUEsU0FDSUMsd0JBREosR0FDSSxrQ0FBeUJDLFNBQXpCLEVBQW9DQyxLQUFwQyxFQUEyQ0MsT0FBM0MsRUFBb0RDLFlBQXBELEVBQWtFO0FBQzlELFdBQU9DLGdGQUEyQixDQUFDSixTQUFELEVBQVlFLE9BQU8sQ0FBQ0csU0FBcEIsQ0FBbEM7QUFDSCxHQUhMOztBQUFBLFNBS0lDLHlCQUxKLEdBS0ksbUNBQTBCTixTQUExQixFQUFxQ0MsS0FBckMsRUFBNENDLE9BQTVDLEVBQXFEQyxZQUFyRCxFQUFtRTtBQUMvRCxXQUFPSSxpRkFBNEIsQ0FBQ1AsU0FBRCxFQUFZQyxLQUFLLENBQUNJLFNBQWxCLENBQW5DO0FBQ0gsR0FQTDs7QUFBQTtBQUFBO0FBQUEscUJBU2dCO0FBQ1IsYUFBTyxJQUFQO0FBQ0g7QUFYTDs7QUFBQTtBQUFBLEVBQWdDRyx3REFBaEM7QUFjZVYseUVBQWYiLCJmaWxlIjoiLi9zcmMvZmllbGRzL0ZvcmVpZ25LZXkuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVsYXRpb25hbEZpZWxkIGZyb20gXCIuL1JlbGF0aW9uYWxGaWVsZFwiO1xuXG5pbXBvcnQge1xuICAgIGZvcndhcmRzTWFueVRvT25lRGVzY3JpcHRvcixcbiAgICBiYWNrd2FyZHNNYW55VG9PbmVEZXNjcmlwdG9yLFxufSBmcm9tIFwiLi4vZGVzY3JpcHRvcnNcIjtcblxuLyoqXG4gKiBAbWVtYmVyb2YgbW9kdWxlOmZpZWxkc1xuICovXG5leHBvcnQgY2xhc3MgRm9yZWlnbktleSBleHRlbmRzIFJlbGF0aW9uYWxGaWVsZCB7XG4gICAgY3JlYXRlRm9yd2FyZHNEZXNjcmlwdG9yKGZpZWxkTmFtZSwgbW9kZWwsIHRvTW9kZWws
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ForeignKey\", function() { return ForeignKey; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _RelationalField__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./RelationalField */ \"./src/fields/RelationalField.js\");\n/* harmony import */ var _descriptors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../descriptors */ \"./src/descriptors.js\");\n\n\n\n\n/**\n * @memberof module:fields\n */\n\nlet ForeignKey = /*#__PURE__*/function (_RelationalField) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(ForeignKey, _RelationalField);\n\n function ForeignKey() {\n return _RelationalField.apply(this, arguments) || this;\n }\n\n var _proto = ForeignKey.prototype;\n\n _proto.createForwardsDescriptor = function createForwardsDescriptor(fieldName, model, toModel, throughModel) {\n return Object(_descriptors__WEBPACK_IMPORTED_MODULE_3__[\"forwardsManyToOneDescriptor\"])(fieldName, toModel.modelName);\n };\n\n _proto.createBackwardsDescriptor = function createBackwardsDescriptor(fieldName, model, toModel, throughModel) {\n return Object(_descriptors__WEBPACK_IMPORTED_MODULE_3__[\"backwardsManyToOneDescriptor\"])(fieldName, model.modelName);\n };\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default()(ForeignKey, [{\n key: \"index\",\n get: function () {\n return true;\n }\n }]);\n\n return ForeignKey;\n}(_RelationalField__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (ForeignKey);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9maWVsZHMvRm9yZWlnbktleS5qcz9lMjVlIl0sIm5hbWVzIjpbIkZvcmVpZ25LZXkiLCJjcmVhdGVGb3J3YXJkc0Rlc2NyaXB0b3IiLCJmaWVsZE5hbWUiLCJtb2RlbCIsInRvTW9kZWwiLCJ0aHJvdWdoTW9kZWwiLCJmb3J3YXJkc01hbnlUb09uZURlc2NyaXB0b3IiLCJtb2RlbE5hbWUiLCJjcmVhdGVCYWNrd2FyZHNEZXNjcmlwdG9yIiwiYmFja3dhcmRzTWFueVRvT25lRGVzY3JpcHRvciIsIlJlbGF0aW9uYWxGaWVsZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBO0FBRUE7QUFLQTtBQUNBO0FBQ0E7O0FBQ08sSUFBTUEsVUFBYjtBQUFBOztBQUFBO0FBQUE7QUFBQTs7QUFBQTs7QUFBQSxTQUNJQyx3QkFESixHQUNJLGtDQUF5QkMsU0FBekIsRUFBb0NDLEtBQXBDLEVBQTJDQyxPQUEzQyxFQUFvREMsWUFBcEQsRUFBa0U7QUFDOUQsV0FBT0MsZ0ZBQTJCLENBQUNKLFNBQUQsRUFBWUUsT0FBTyxDQUFDRyxTQUFwQixDQUFsQztBQUNILEdBSEw7O0FBQUEsU0FLSUMseUJBTEosR0FLSSxtQ0FBMEJOLFNBQTFCLEVBQXFDQyxLQUFyQyxFQUE0Q0MsT0FBNUMsRUFBcURDLFlBQXJELEVBQW1FO0FBQy9ELFdBQU9JLGlGQUE0QixDQUFDUCxTQUFELEVBQVlDLEtBQUssQ0FBQ0ksU0FBbEIsQ0FBbkM7QUFDSCxHQVBMOztBQUFBO0FBQUE7QUFBQSxTQVNJLFlBQVk7QUFDUixhQUFPLElBQVA7QUFDSDtBQVhMOztBQUFBO0FBQUEsRUFBZ0NHLHdEQUFoQztBQWNlVix5RUFBZiIsImZpbGUiOiIuL3NyYy9maWVsZHMvRm9yZWlnbktleS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWxhdGlvbmFsRmllbGQgZnJvbSBcIi4vUmVsYXRpb25hbEZpZWxkXCI7XG5cbmltcG9ydCB7XG4gICAgZm9yd2FyZHNNYW55VG9PbmVEZXNjcmlwdG9yLFxuICAgIGJhY2t3YXJkc01hbnlUb09uZURlc2NyaXB0b3IsXG59IGZyb20gXCIuLi9kZXNjcmlwdG9yc1wiO1xuXG4vKipcbiAqIEBtZW1iZXJvZiBtb2R1bGU6ZmllbGRzXG4gKi9cbmV4cG9ydCBjbGFzcyBGb3JlaWduS2V5IGV4dGVuZHMgUmVsYXRpb25hbEZpZWxkIHtcbiAgICBjcmVhdGVGb3J3YXJkc0Rlc2NyaXB0b3IoZmllbGROYW1lLCBtb2Rl
/***/ }),
@@ -4618,7 +4640,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ManyToMany\", function() { return ManyToMany; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _RelationalField__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./RelationalField */ \"./src/fields/RelationalField.js\");\n/* harmony import */ var _descriptors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../descriptors */ \"./src/descriptors.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ \"./src/utils.js\");\n\n\n\n\n\n/**\n * @memberof module:fields\n */\n\nlet ManyToMany = /*#__PURE__*/function (_RelationalField) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(ManyToMany, _RelationalField);\n\n function ManyToMany() {\n return _RelationalField.apply(this, arguments) || this;\n }\n\n var _proto = ManyToMany.prototype;\n\n _proto.getDefault = function getDefault() {\n return [];\n };\n\n _proto.getThroughModelName = function getThroughModelName(fieldName, model) {\n return this.through || Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"m2mName\"])(model.modelName, fieldName);\n };\n\n _proto.createForwardsDescriptor = function createForwardsDescriptor(fieldName, model, toModel, throughModel) {\n return Object(_descriptors__WEBPACK_IMPORTED_MODULE_3__[\"manyToManyDescriptor\"])(model.modelName, toModel.modelName, throughModel.modelName, this.getThroughFields(fieldName, model, toModel, throughModel), false);\n };\n\n _proto.createBackwardsDescriptor = function createBackwardsDescriptor(fieldName, model, toModel, throughModel) {\n return Object(_descriptors__WEBPACK_IMPORTED_MODULE_3__[\"manyToManyDescriptor\"])(model.modelName, toModel.modelName, throughModel.modelName, this.getThroughFields(fieldName, model, toModel, throughModel), true);\n };\n\n _proto.createBackwardsVirtualField = function createBackwardsVirtualField(fieldName, model, toModel, throughModel) {\n const ThisField = this.getClass();\n return new ThisField({\n to: model.modelName,\n relatedName: fieldName,\n through: throughModel.modelName,\n throughFields: this.getThroughFields(fieldName, model, toModel, throughModel)\n });\n };\n\n _proto.createForwardsVirtualField = function createForwardsVirtualField(fieldName, model, toModel, throughModel) {\n const ThisField = this.getClass();\n return new ThisField({\n to: toModel.modelName,\n relatedName: fieldName,\n through: this.through,\n throughFields: this.getThroughFields(fieldName, model, toModel, throughModel),\n as: this.as\n });\n };\n\n _proto.getThroughFields = function getThroughFields(fieldName, model, toModel, throughModel) {\n if (this.throughFields) {\n const [fieldAName, fieldBName] = this.throughFields;\n const fieldA = throughModel.fields[fieldAName];\n return {\n to: fieldA.references(toModel) ? fieldAName : fieldBName,\n from: fieldA.references(toModel) ? fieldBName : fieldAName\n };\n }\n\n if (model.modelName === toModel.modelName) {\n /**\n * we have no way of determining the relationship's\n * direction her
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ManyToMany\", function() { return ManyToMany; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _RelationalField__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./RelationalField */ \"./src/fields/RelationalField.js\");\n/* harmony import */ var _descriptors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../descriptors */ \"./src/descriptors.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ \"./src/utils.js\");\n\n\n\n\n\n/**\n * @memberof module:fields\n */\n\nlet ManyToMany = /*#__PURE__*/function (_RelationalField) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(ManyToMany, _RelationalField);\n\n function ManyToMany() {\n return _RelationalField.apply(this, arguments) || this;\n }\n\n var _proto = ManyToMany.prototype;\n\n _proto.getDefault = function getDefault() {\n return [];\n };\n\n _proto.getThroughModelName = function getThroughModelName(fieldName, model) {\n return this.through || Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"m2mName\"])(model.modelName, fieldName);\n };\n\n _proto.createForwardsDescriptor = function createForwardsDescriptor(fieldName, model, toModel, throughModel) {\n return Object(_descriptors__WEBPACK_IMPORTED_MODULE_3__[\"manyToManyDescriptor\"])(model.modelName, toModel.modelName, throughModel.modelName, this.getThroughFields(fieldName, model, toModel, throughModel), false);\n };\n\n _proto.createBackwardsDescriptor = function createBackwardsDescriptor(fieldName, model, toModel, throughModel) {\n return Object(_descriptors__WEBPACK_IMPORTED_MODULE_3__[\"manyToManyDescriptor\"])(model.modelName, toModel.modelName, throughModel.modelName, this.getThroughFields(fieldName, model, toModel, throughModel), true);\n };\n\n _proto.createBackwardsVirtualField = function createBackwardsVirtualField(fieldName, model, toModel, throughModel) {\n const ThisField = this.getClass();\n return new ThisField({\n to: model.modelName,\n relatedName: fieldName,\n through: throughModel.modelName,\n throughFields: this.getThroughFields(fieldName, model, toModel, throughModel)\n });\n };\n\n _proto.createForwardsVirtualField = function createForwardsVirtualField(fieldName, model, toModel, throughModel) {\n const ThisField = this.getClass();\n return new ThisField({\n to: toModel.modelName,\n relatedName: fieldName,\n through: this.through,\n throughFields: this.getThroughFields(fieldName, model, toModel, throughModel),\n as: this.as\n });\n };\n\n _proto.getThroughFields = function getThroughFields(fieldName, model, toModel, throughModel) {\n if (this.throughFields) {\n const [fieldAName, fieldBName] = this.throughFields;\n const fieldA = throughModel.fields[fieldAName];\n return {\n to: fieldA.references(toModel) ? fieldAName : fieldBName,\n from: fieldA.references(toModel) ? fieldBName : fieldAName\n };\n }\n\n if (model.modelName === toModel.modelName) {\n /**\n * we have no way of determining the relationship's\n * direction her
/***/ }),
@@ -4630,7 +4652,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"OneToOne\", function() { return OneToOne; });\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _RelationalField__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RelationalField */ \"./src/fields/RelationalField.js\");\n/* harmony import */ var _descriptors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../descriptors */ \"./src/descriptors.js\");\n\n\n\n/**\n * @memberof module:fields\n */\n\nlet OneToOne = /*#__PURE__*/function (_RelationalField) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default()(OneToOne, _RelationalField);\n\n function OneToOne() {\n return _RelationalField.apply(this, arguments) || this;\n }\n\n var _proto = OneToOne.prototype;\n\n _proto.getBackwardsFieldName = function getBackwardsFieldName(model) {\n return this.relatedName || model.modelName.toLowerCase();\n };\n\n _proto.createForwardsDescriptor = function createForwardsDescriptor(fieldName, model, toModel, throughModel) {\n return Object(_descriptors__WEBPACK_IMPORTED_MODULE_2__[\"forwardsOneToOneDescriptor\"])(fieldName, toModel.modelName);\n };\n\n _proto.createBackwardsDescriptor = function createBackwardsDescriptor(fieldName, model, toModel, throughModel) {\n return Object(_descriptors__WEBPACK_IMPORTED_MODULE_2__[\"backwardsOneToOneDescriptor\"])(fieldName, model.modelName);\n };\n\n return OneToOne;\n}(_RelationalField__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (OneToOne);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9maWVsZHMvT25lVG9PbmUuanM/YzllZSJdLCJuYW1lcyI6WyJPbmVUb09uZSIsImdldEJhY2t3YXJkc0ZpZWxkTmFtZSIsIm1vZGVsIiwicmVsYXRlZE5hbWUiLCJtb2RlbE5hbWUiLCJ0b0xvd2VyQ2FzZSIsImNyZWF0ZUZvcndhcmRzRGVzY3JpcHRvciIsImZpZWxkTmFtZSIsInRvTW9kZWwiLCJ0aHJvdWdoTW9kZWwiLCJmb3J3YXJkc09uZVRvT25lRGVzY3JpcHRvciIsImNyZWF0ZUJhY2t3YXJkc0Rlc2NyaXB0b3IiLCJiYWNrd2FyZHNPbmVUb09uZURlc2NyaXB0b3IiLCJSZWxhdGlvbmFsRmllbGQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUVBO0FBS0E7Ozs7QUFHTyxJQUFNQSxRQUFiO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBOztBQUFBLFNBQ0lDLHFCQURKLEdBQ0ksK0JBQXNCQyxLQUF0QixFQUE2QjtBQUN6QixXQUFPLEtBQUtDLFdBQUwsSUFBb0JELEtBQUssQ0FBQ0UsU0FBTixDQUFnQkMsV0FBaEIsRUFBM0I7QUFDSCxHQUhMOztBQUFBLFNBS0lDLHdCQUxKLEdBS0ksa0NBQXlCQyxTQUF6QixFQUFvQ0wsS0FBcEMsRUFBMkNNLE9BQTNDLEVBQW9EQyxZQUFwRCxFQUFrRTtBQUM5RCxXQUFPQywrRUFBMEIsQ0FBQ0gsU0FBRCxFQUFZQyxPQUFPLENBQUNKLFNBQXBCLENBQWpDO0FBQ0gsR0FQTDs7QUFBQSxTQVNJTyx5QkFUSixHQVNJLG1DQUEwQkosU0FBMUIsRUFBcUNMLEtBQXJDLEVBQTRDTSxPQUE1QyxFQUFxREMsWUFBckQsRUFBbUU7QUFDL0QsV0FBT0csZ0ZBQTJCLENBQUNMLFNBQUQsRUFBWUwsS0FBSyxDQUFDRSxTQUFsQixDQUFsQztBQUNILEdBWEw7O0FBQUE7QUFBQSxFQUE4QlMsd0RBQTlCO0FBY2ViLHVFQUFmIiwiZmlsZSI6Ii4vc3JjL2ZpZWxkcy9PbmVUb09uZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWxhdGlvbmFsRmllbGQgZnJvbSBcIi4vUmVsYXRpb25hbEZpZWxkXCI7XG5cbmltcG9ydCB7XG4gICAgZm9yd2FyZHNPbmVUb09uZURlc2NyaXB0b3IsXG4gICAgYmFja3dhcmRzT25lVG9PbmVEZXNjcmlwdG9yLFxufSBmcm9tIFwiLi4vZGVzY3JpcHRvcnNcIjtcblxuLyoqXG4gKiBAbWVtYmVyb2YgbW9kdWxlOmZpZWxkc1xuICovXG5leHBvcnQgY2xhc3MgT25lVG9PbmUgZXh0ZW5kcyBSZWxhdGlvbmFsRmllbGQge1xuICAgIGdldEJhY2t3YXJkc0ZpZWxkTmFtZShtb2RlbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWxhdGVkTmFtZSB8fCBtb2RlbC5tb2RlbE5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICB9XG5cbiAgICBjcmVhdGVGb3J3YXJkc0Rlc2NyaXB0b3IoZmllbGROYW1lLCBtb2RlbCwgdG9Nb2RlbCwgdGhyb3VnaE1vZGVsKSB7XG4gICAgICAgIHJldHVybiBmb3J3YXJkc09uZVRvT25lRGVzY3JpcHRvcihmaWVsZE5hbWUsIHRvTW9kZWwubW9kZWxOYW1lKTtcbiAgICB9XG5cbiAgICBjcmVhdGVCYWNrd2FyZHNEZXNjcmlwdG9
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"OneToOne\", function() { return OneToOne; });\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _RelationalField__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RelationalField */ \"./src/fields/RelationalField.js\");\n/* harmony import */ var _descriptors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../descriptors */ \"./src/descriptors.js\");\n\n\n\n/**\n * @memberof module:fields\n */\n\nlet OneToOne = /*#__PURE__*/function (_RelationalField) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default()(OneToOne, _RelationalField);\n\n function OneToOne() {\n return _RelationalField.apply(this, arguments) || this;\n }\n\n var _proto = OneToOne.prototype;\n\n _proto.getBackwardsFieldName = function getBackwardsFieldName(model) {\n return this.relatedName || model.modelName.toLowerCase();\n };\n\n _proto.createForwardsDescriptor = function createForwardsDescriptor(fieldName, model, toModel, throughModel) {\n return Object(_descriptors__WEBPACK_IMPORTED_MODULE_2__[\"forwardsOneToOneDescriptor\"])(fieldName, toModel.modelName);\n };\n\n _proto.createBackwardsDescriptor = function createBackwardsDescriptor(fieldName, model, toModel, throughModel) {\n return Object(_descriptors__WEBPACK_IMPORTED_MODULE_2__[\"backwardsOneToOneDescriptor\"])(fieldName, model.modelName);\n };\n\n return OneToOne;\n}(_RelationalField__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (OneToOne);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9maWVsZHMvT25lVG9PbmUuanM/YzllZSJdLCJuYW1lcyI6WyJPbmVUb09uZSIsImdldEJhY2t3YXJkc0ZpZWxkTmFtZSIsIm1vZGVsIiwicmVsYXRlZE5hbWUiLCJtb2RlbE5hbWUiLCJ0b0xvd2VyQ2FzZSIsImNyZWF0ZUZvcndhcmRzRGVzY3JpcHRvciIsImZpZWxkTmFtZSIsInRvTW9kZWwiLCJ0aHJvdWdoTW9kZWwiLCJmb3J3YXJkc09uZVRvT25lRGVzY3JpcHRvciIsImNyZWF0ZUJhY2t3YXJkc0Rlc2NyaXB0b3IiLCJiYWNrd2FyZHNPbmVUb09uZURlc2NyaXB0b3IiLCJSZWxhdGlvbmFsRmllbGQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUVBO0FBS0E7QUFDQTtBQUNBOztBQUNPLElBQU1BLFFBQWI7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7O0FBQUEsU0FDSUMscUJBREosR0FDSSwrQkFBc0JDLEtBQXRCLEVBQTZCO0FBQ3pCLFdBQU8sS0FBS0MsV0FBTCxJQUFvQkQsS0FBSyxDQUFDRSxTQUFOLENBQWdCQyxXQUFoQixFQUEzQjtBQUNILEdBSEw7O0FBQUEsU0FLSUMsd0JBTEosR0FLSSxrQ0FBeUJDLFNBQXpCLEVBQW9DTCxLQUFwQyxFQUEyQ00sT0FBM0MsRUFBb0RDLFlBQXBELEVBQWtFO0FBQzlELFdBQU9DLCtFQUEwQixDQUFDSCxTQUFELEVBQVlDLE9BQU8sQ0FBQ0osU0FBcEIsQ0FBakM7QUFDSCxHQVBMOztBQUFBLFNBU0lPLHlCQVRKLEdBU0ksbUNBQTBCSixTQUExQixFQUFxQ0wsS0FBckMsRUFBNENNLE9BQTVDLEVBQXFEQyxZQUFyRCxFQUFtRTtBQUMvRCxXQUFPRyxnRkFBMkIsQ0FBQ0wsU0FBRCxFQUFZTCxLQUFLLENBQUNFLFNBQWxCLENBQWxDO0FBQ0gsR0FYTDs7QUFBQTtBQUFBLEVBQThCUyx3REFBOUI7QUFjZWIsdUVBQWYiLCJmaWxlIjoiLi9zcmMvZmllbGRzL09uZVRvT25lLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlbGF0aW9uYWxGaWVsZCBmcm9tIFwiLi9SZWxhdGlvbmFsRmllbGRcIjtcblxuaW1wb3J0IHtcbiAgICBmb3J3YXJkc09uZVRvT25lRGVzY3JpcHRvcixcbiAgICBiYWNrd2FyZHNPbmVUb09uZURlc2NyaXB0b3IsXG59IGZyb20gXCIuLi9kZXNjcmlwdG9yc1wiO1xuXG4vKipcbiAqIEBtZW1iZXJvZiBtb2R1bGU6ZmllbGRzXG4gKi9cbmV4cG9ydCBjbGFzcyBPbmVUb09uZSBleHRlbmRzIFJlbGF0aW9uYWxGaWVsZCB7XG4gICAgZ2V0QmFja3dhcmRzRmllbGROYW1lKG1vZGVsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlbGF0ZWROYW1lIHx8IG1vZGVsLm1vZGVsTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgIH1cblxuICAgIGNyZWF0ZUZvcndhcmRzRGVzY3JpcHRvcihmaWVsZE5hbWUsIG1vZGVsLCB0b01vZGVsLCB0aHJvdWdoTW9kZWwpIHtcbiAgICAgICAgcmV0dXJuIGZvcndhcmRzT25lVG9PbmVEZXNjcmlwdG9yKGZpZWxkTmFtZSwgdG9Nb2RlbC5tb2RlbE5hbWUpO1xuICAgIH1cblxuICAgIGNyZWF0ZUJhY2t3YXJkc0R
/***/ }),
@@ -4642,7 +4664,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RelationalField\", function() { return RelationalField; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _Field__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Field */ \"./src/fields/Field.js\");\n/* harmony import */ var _DefaultFieldInstaller__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./DefaultFieldInstaller */ \"./src/fields/DefaultFieldInstaller.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ \"./src/utils.js\");\n\n\n\n/* eslint-disable max-classes-per-file */\n\n\n\n/**\n * @private\n * @memberof module:fields\n */\n\nlet RelationalField = /*#__PURE__*/function (_Field) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(RelationalField, _Field);\n\n function RelationalField(...args) {\n var _this;\n\n _this = _Field.call(this) || this;\n\n if (args.length === 1 && typeof args[0] === \"object\") {\n const opts = args[0];\n _this.toModelName = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"normalizeModelReference\"])(opts.to);\n _this.relatedName = opts.relatedName;\n _this.through = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"normalizeModelReference\"])(opts.through);\n _this.throughFields = opts.throughFields;\n _this.as = opts.as;\n } else {\n [_this.toModelName, _this.relatedName] = [Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"normalizeModelReference\"])(args[0]), args[1]];\n }\n\n return _this;\n }\n\n var _proto = RelationalField.prototype;\n\n _proto.getBackwardsFieldName = function getBackwardsFieldName(model) {\n return this.relatedName || Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"reverseFieldName\"])(model.modelName);\n };\n\n _proto.createBackwardsVirtualField = function createBackwardsVirtualField(fieldName, model, toModel, throughModel) {\n const ThisField = this.getClass();\n return new ThisField(model.modelName, fieldName);\n };\n\n _proto.references = function references(model) {\n return this.toModelName === model.modelName;\n };\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default()(RelationalField, [{\n key: \"installsBackwardsVirtualField\",\n get: function () {\n return true;\n }\n }, {\n key: \"installsBackwardsDescriptor\",\n get: function () {\n return true;\n }\n }, {\n key: \"installerClass\",\n get: function () {\n return /*#__PURE__*/function (_DefaultFieldInstalle) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(AliasedForwardsDescriptorInstaller, _DefaultFieldInstalle);\n\n function AliasedForwardsDescriptorInstaller() {\n return _DefaultFieldInstalle.apply(this, arguments) || this;\n }\n\n var _proto2 = AliasedForwardsDescriptorInstaller.prototype;\n\n _proto2.installForwardsDescriptor = function installForwardsDescriptor() {\n Object.defineProperty(this.model.prototype, this.field.as || this.fieldName, // use supplied name if possible\n this.field.createForwardsDescriptor(this.fieldName, this.model, this.toModel, th
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RelationalField\", function() { return RelationalField; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _Field__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Field */ \"./src/fields/Field.js\");\n/* harmony import */ var _DefaultFieldInstaller__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./DefaultFieldInstaller */ \"./src/fields/DefaultFieldInstaller.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ \"./src/utils.js\");\n\n\n\n/* eslint-disable max-classes-per-file */\n\n\n\n/**\n * @private\n * @memberof module:fields\n */\n\nlet RelationalField = /*#__PURE__*/function (_Field) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(RelationalField, _Field);\n\n function RelationalField(...args) {\n var _this;\n\n _this = _Field.call(this) || this;\n\n if (args.length === 1 && typeof args[0] === \"object\") {\n const opts = args[0];\n _this.toModelName = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"normalizeModelReference\"])(opts.to);\n _this.relatedName = opts.relatedName;\n _this.through = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"normalizeModelReference\"])(opts.through);\n _this.throughFields = opts.throughFields;\n _this.as = opts.as;\n } else {\n [_this.toModelName, _this.relatedName] = [Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"normalizeModelReference\"])(args[0]), args[1]];\n }\n\n return _this;\n }\n\n var _proto = RelationalField.prototype;\n\n _proto.getBackwardsFieldName = function getBackwardsFieldName(model) {\n return this.relatedName || Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"reverseFieldName\"])(model.modelName);\n };\n\n _proto.createBackwardsVirtualField = function createBackwardsVirtualField(fieldName, model, toModel, throughModel) {\n const ThisField = this.getClass();\n return new ThisField(model.modelName, fieldName);\n };\n\n _proto.references = function references(model) {\n return this.toModelName === model.modelName;\n };\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default()(RelationalField, [{\n key: \"installsBackwardsVirtualField\",\n get: function () {\n return true;\n }\n }, {\n key: \"installsBackwardsDescriptor\",\n get: function () {\n return true;\n }\n }, {\n key: \"installerClass\",\n get: function () {\n return /*#__PURE__*/function (_DefaultFieldInstalle) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(AliasedForwardsDescriptorInstaller, _DefaultFieldInstalle);\n\n function AliasedForwardsDescriptorInstaller() {\n return _DefaultFieldInstalle.apply(this, arguments) || this;\n }\n\n var _proto2 = AliasedForwardsDescriptorInstaller.prototype;\n\n _proto2.installForwardsDescriptor = function installForwardsDescriptor() {\n Object.defineProperty(this.model.prototype, this.field.as || this.fieldName, // use supplied name if possible\n this.field.createForwardsDescriptor(this.fieldName, this.model, this.toModel, th
/***/ }),
@@ -4654,7 +4676,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fk\", function() { return fk; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"attr\", function() { return attr; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"many\", function() { return many; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"oneToOne\", function() { return oneToOne; });\n/* harmony import */ var _Attribute__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Attribute */ \"./src/fields/Attribute.js\");\n/* harmony import */ var _ForeignKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ForeignKey */ \"./src/fields/ForeignKey.js\");\n/* harmony import */ var _ManyToMany__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ManyToMany */ \"./src/fields/ManyToMany.js\");\n/* harmony import */ var _OneToOne__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./OneToOne */ \"./src/fields/OneToOne.js\");\n\n\n\n\n/**\n * Contains the logic for how fields on {@link Model}s work\n * and which descriptors must be installed.\n *\n * If your goal is to define fields on a Model class,\n * please use the more convenient methods {@link attr},\n * {@link fk}, {@link many} and {@link oneToOne}.\n *\n * @module fields\n */\n\n/**\n * Defines a value attribute on the model.\n * Though not required, it is recommended to define this for each non-foreign key you wish to use.\n * Getters and setters need to be defined on each Model\n * instantiation for undeclared data fields, which is slower.\n * You can use the optional `getDefault` parameter to fill in unpassed values\n * to {@link Model.create}, such as for generating ID's with UUID:\n *\n * ```javascript\n * import getUUID from 'your-uuid-package-of-choice';\n *\n * fields = {\n * id: attr({ getDefault: () => getUUID() }),\n * title: attr(),\n * }\n * ```\n *\n * @param {Object} [opts]\n * @param {Function} [opts.getDefault] - If you give a function here, its return\n * value from calling with zero arguments will\n * be used as the value when creating a new Model\n * instance with {@link Model#create} if the field\n * value is not passed.\n * @return {Attribute}\n */\n\nfunction attr(opts) {\n return new _Attribute__WEBPACK_IMPORTED_MODULE_0__[\"default\"](opts);\n}\n/**\n * Defines a foreign key on a model, which points\n * to a single entity on another model.\n *\n * You can pass arguments as either a single object,\n * or two arguments.\n *\n * If you pass two arguments, the first one is the name\n * of the Model the foreign key is pointing to, and\n * the second one is an optional related name, which will\n * be used to access the Model the foreign key\n * is being defined from, from the target Model.\n *\n * If the related name is not passed, it will be set as\n * `${toModelName}Set`.\n *\n * If you pass an object to `fk`, it has to be in the form\n *\n * ```javascript\n * fields = {\n * author: fk({ to: 'Author', relatedName: 'books' })\n * }\n * ```\n *\n * Which is equal to\n *\n * ```javascript\n * fields = {\n * author: fk('Author', 'books'),\n * }\n * ```\n *\n * @param {string|Class<Model>|Object} options - The target Model class, its `modelName`\n * attribute or an options object that\n * contains either as the `to` key.\n * @param {string|Class<Model>} options.to - The target Model class or its `modelName` attribute.\n * @param {string} [options.as] - Name for the new accessor defined for this field. If you don't\n * supply this, the key that this field is defined under will be\n * overridden.\n * @param {string} [options.relatedName] - The property name that will be used to access\n *
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fk\", function() { return fk; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"attr\", function() { return attr; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"many\", function() { return many; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"oneToOne\", function() { return oneToOne; });\n/* harmony import */ var _Attribute__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Attribute */ \"./src/fields/Attribute.js\");\n/* harmony import */ var _ForeignKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ForeignKey */ \"./src/fields/ForeignKey.js\");\n/* harmony import */ var _ManyToMany__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ManyToMany */ \"./src/fields/ManyToMany.js\");\n/* harmony import */ var _OneToOne__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./OneToOne */ \"./src/fields/OneToOne.js\");\n\n\n\n\n/**\n * Contains the logic for how fields on {@link Model}s work\n * and which descriptors must be installed.\n *\n * If your goal is to define fields on a Model class,\n * please use the more convenient methods {@link attr},\n * {@link fk}, {@link many} and {@link oneToOne}.\n *\n * @module fields\n */\n\n/**\n * Defines a value attribute on the model.\n * Though not required, it is recommended to define this for each non-foreign key you wish to use.\n * Getters and setters need to be defined on each Model\n * instantiation for undeclared data fields, which is slower.\n * You can use the optional `getDefault` parameter to fill in unpassed values\n * to {@link Model.create}, such as for generating ID's with UUID:\n *\n * ```javascript\n * import getUUID from 'your-uuid-package-of-choice';\n *\n * fields = {\n * id: attr({ getDefault: () => getUUID() }),\n * title: attr(),\n * }\n * ```\n *\n * @param {Object} [opts]\n * @param {Function} [opts.getDefault] - If you give a function here, its return\n * value from calling with zero arguments will\n * be used as the value when creating a new Model\n * instance with {@link Model#create} if the field\n * value is not passed.\n * @return {Attribute}\n */\n\nfunction attr(opts) {\n return new _Attribute__WEBPACK_IMPORTED_MODULE_0__[\"default\"](opts);\n}\n/**\n * Defines a foreign key on a model, which points\n * to a single entity on another model.\n *\n * You can pass arguments as either a single object,\n * or two arguments.\n *\n * If you pass two arguments, the first one is the name\n * of the Model the foreign key is pointing to, and\n * the second one is an optional related name, which will\n * be used to access the Model the foreign key\n * is being defined from, from the target Model.\n *\n * If the related name is not passed, it will be set as\n * `${toModelName}Set`.\n *\n * If you pass an object to `fk`, it has to be in the form\n *\n * ```javascript\n * fields = {\n * author: fk({ to: 'Author', relatedName: 'books' })\n * }\n * ```\n *\n * Which is equal to\n *\n * ```javascript\n * fields = {\n * author: fk('Author', 'books'),\n * }\n * ```\n *\n * @param {string|Class<Model>|Object} options - The target Model class, its `modelName`\n * attribute or an options object that\n * contains either as the `to` key.\n * @param {string|Class<Model>} options.to - The target Model class or its `modelName` attribute.\n * @param {string} [options.as] - Name for the new accessor defined for this field. If you don't\n * supply this, the key that this field is defined under will be\n * overridden.\n * @param {string} [options.relatedName] - The property name that will be used to access\n *
/***/ }),
@@ -4678,7 +4700,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"eqCheck\", function() { return eqCheck; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"memoize\", function() { return memoize; });\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ \"./src/constants.js\");\n\n\nconst defaultEqualityCheck = (a, b) => a === b;\n\nconst eqCheck = defaultEqualityCheck;\n\nconst isOrmState = arg => arg && typeof arg === \"object\" && arg.hasOwnProperty(_constants__WEBPACK_IMPORTED_MODULE_0__[\"STATE_FLAG\"]);\n\nconst argsAreEqual = (lastArgs, nextArgs, equalityCheck) => nextArgs.every((arg, index) => isOrmState(arg) && isOrmState(lastArgs[index]) || equalityCheck(arg, lastArgs[index]));\n\nconst rowsAreEqual = (ids, rowsA, rowsB) => ids.every(id => rowsA[id] === rowsB[id]);\n\nconst accessedModelInstancesAreEqual = (previous, ormState, orm) => {\n const {\n accessedInstances\n } = previous;\n return Object.entries(accessedInstances).every(([modelName, instances]) => {\n // if the entire table has not been changed, we have nothing to do\n if (previous.ormState[modelName] === ormState[modelName]) {\n return true;\n }\n\n const {\n mapName\n } = orm.getDatabase().describe(modelName);\n const {\n [mapName]: previousRows\n } = previous.ormState[modelName];\n const {\n [mapName]: rows\n } = ormState[modelName];\n const accessedIds = Object.keys(instances);\n return rowsAreEqual(accessedIds, previousRows, rows);\n });\n};\n\nconst accessedIndexesAreEqual = (previous, ormState) => {\n const {\n accessedIndexes\n } = previous;\n return Object.entries(accessedIndexes).every(([modelName, indexes]) => Object.entries(indexes).every(([column, values]) => values.every(value => previous.ormState[modelName].indexes[column][value] === ormState[modelName].indexes[column][value])));\n};\n\nconst fullTableScannedModelsAreEqual = (previous, ormState) => previous.fullTableScannedModels.every(modelName => previous.ormState[modelName] === ormState[modelName]);\n/**\n * A memoizer to use with redux-orm\n * selectors. When the memoized function is first run,\n * the memoizer will remember the models that are accessed\n * during that function run.\n *\n * On subsequent runs, the memoizer will check if those\n * models' states have changed compared to the previous run.\n *\n * Memoization algorithm operates like this:\n *\n * 1. Has the selector been run before? If not, go to 6.\n *\n * 2. If the selector has other input selectors in addition to the\n * ORM state selector, check their results for equality with the previous results.\n * If they aren't equal, go to 6.\n *\n * 3. Some filter queries may have required scanning entire tables during the last run.\n * If any of those tables have changed, go to 6.\n *\n * 4. Check which foreign key indexes the database has used to speed up queries\n * during the last run. If any have changed, go to 6.\n *\n * 5. Check which Model's instances the selector has accessed during the last run.\n * Check for equality with each of those states versus their states in the\n * previous ORM state. If all of them are equal, return the previous result.\n *\n * 6. Run the selector. Check the Session object used by the selector for\n * which Model's states were accessed, and merge them with the previously\n * saved information about accessed models (if-else branching can change\n * which models are accessed on different inputs). Save the ORM state and\n * other arguments the selector was called with, overriding previously\n * saved values. Save the selector result. Return the selector result.\n *\n * @private\n * @param {Function} func - function to memoize\n * @param {Function} argEqualityCheck - equality check function to use with normal\n * selector args\n * @param {ORM} orm - a redux-orm ORM instance\n * @return {Function} `func` memoiz
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"eqCheck\", function() { return eqCheck; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"memoize\", function() { return memoize; });\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ \"./src/constants.js\");\n\n\nconst defaultEqualityCheck = (a, b) => a === b;\n\nconst eqCheck = defaultEqualityCheck;\n\nconst isOrmState = arg => arg && typeof arg === \"object\" && arg.hasOwnProperty(_constants__WEBPACK_IMPORTED_MODULE_0__[\"STATE_FLAG\"]);\n\nconst argsAreEqual = (lastArgs, nextArgs, equalityCheck) => nextArgs.every((arg, index) => isOrmState(arg) && isOrmState(lastArgs[index]) || equalityCheck(arg, lastArgs[index]));\n\nconst rowsAreEqual = (ids, rowsA, rowsB) => ids.every(id => rowsA[id] === rowsB[id]);\n\nconst accessedModelInstancesAreEqual = (previous, ormState, orm) => {\n const {\n accessedInstances\n } = previous;\n return Object.entries(accessedInstances).every(([modelName, instances]) => {\n // if the entire table has not been changed, we have nothing to do\n if (previous.ormState[modelName] === ormState[modelName]) {\n return true;\n }\n\n const {\n mapName\n } = orm.getDatabase().describe(modelName);\n const {\n [mapName]: previousRows\n } = previous.ormState[modelName];\n const {\n [mapName]: rows\n } = ormState[modelName];\n const accessedIds = Object.keys(instances);\n return rowsAreEqual(accessedIds, previousRows, rows);\n });\n};\n\nconst accessedIndexesAreEqual = (previous, ormState) => {\n const {\n accessedIndexes\n } = previous;\n return Object.entries(accessedIndexes).every(([modelName, indexes]) => Object.entries(indexes).every(([column, values]) => values.every(value => previous.ormState[modelName].indexes[column][value] === ormState[modelName].indexes[column][value])));\n};\n\nconst fullTableScannedModelsAreEqual = (previous, ormState) => previous.fullTableScannedModels.every(modelName => previous.ormState[modelName] === ormState[modelName]);\n/**\n * A memoizer to use with redux-orm\n * selectors. When the memoized function is first run,\n * the memoizer will remember the models that are accessed\n * during that function run.\n *\n * On subsequent runs, the memoizer will check if those\n * models' states have changed compared to the previous run.\n *\n * Memoization algorithm operates like this:\n *\n * 1. Has the selector been run before? If not, go to 6.\n *\n * 2. If the selector has other input selectors in addition to the\n * ORM state selector, check their results for equality with the previous results.\n * If they aren't equal, go to 6.\n *\n * 3. Some filter queries may have required scanning entire tables during the last run.\n * If any of those tables have changed, go to 6.\n *\n * 4. Check which foreign key indexes the database has used to speed up queries\n * during the last run. If any have changed, go to 6.\n *\n * 5. Check which Model's instances the selector has accessed during the last run.\n * Check for equality with each of those states versus their states in the\n * previous ORM state. If all of them are equal, return the previous result.\n *\n * 6. Run the selector. Check the Session object used by the selector for\n * which Model's states were accessed, and merge them with the previously\n * saved information about accessed models (if-else branching can change\n * which models are accessed on different inputs). Save the ORM state and\n * other arguments the selector was called with, overriding previously\n * saved values. Save the selector result. Return the selector result.\n *\n * @private\n * @param {Function} func - function to memoize\n * @param {Function} argEqualityCheck - equality check function to use with normal\n * selector args\n * @param {ORM} orm - a redux-orm ORM instance\n * @return {Function} `func` memoiz
/***/ }),
@@ -4690,7 +4712,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultUpdater\", function() { return defaultUpdater; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createReducer\", function() { return createReducer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createSelector\", function() { return createSelector; });\n/* harmony import */ var reselect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! reselect */ \"./node_modules/reselect/lib/index.js\");\n/* harmony import */ var reselect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(reselect__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var re_reselect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! re-reselect */ \"./node_modules/re-reselect/dist/index.js\");\n/* harmony import */ var re_reselect__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(re_reselect__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _memoize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./memoize */ \"./src/memoize.js\");\n/* harmony import */ var _ORM__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ORM */ \"./src/ORM.js\");\n/* harmony import */ var _selectors_SelectorSpec__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./selectors/SelectorSpec */ \"./src/selectors/SelectorSpec.js\");\n/* harmony import */ var _selectors_MapSelectorSpec__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./selectors/MapSelectorSpec */ \"./src/selectors/MapSelectorSpec.js\");\n\n\n\n\n\n\n/**\n * @module redux\n * @desc Provides functions for integration with Redux.\n */\n\n/**\n * Calls all models' reducers if they exist.\n *\n * @return {undefined}\n * @global\n */\n\nfunction defaultUpdater(session, action) {\n session.sessionBoundModels.forEach(modelClass => {\n if (typeof modelClass.reducer === \"function\") {\n // This calls this.applyUpdate to update this.state\n modelClass.reducer(action, modelClass, session);\n }\n });\n}\n/**\n * Call the returned function to pass actions to Redux-ORM.\n *\n * @global\n *\n * @param {ORM} orm - the ORM instance.\n * @param {Function} [updater] - the function updating the ORM state based on the given action.\n * @return {Function} reducer that will update the ORM state.\n */\n\nfunction createReducer(orm, updater = defaultUpdater) {\n return (state, action) => {\n const session = orm.session(state || orm.getEmptyState());\n updater(session, action);\n return session.state;\n };\n}\n/**\n * @private\n * @param {SelectorSpec} spec\n */\n\nfunction createSelectorFromSpec(spec) {\n if (spec instanceof _selectors_MapSelectorSpec__WEBPACK_IMPORTED_MODULE_5__[\"default\"]) {\n const parentSelector = createSelectorFromSpec(spec.parent);\n return spec.createResultFunc(parentSelector);\n }\n\n return re_reselect__WEBPACK_IMPORTED_MODULE_1___default()(spec.dependencies, spec.resultFunc)({\n keySelector: spec.keySelector,\n cacheObject: new re_reselect__WEBPACK_IMPORTED_MODULE_1__[\"FlatMapCache\"](),\n selectorCreator: createSelector // eslint-disable-line no-use-before-define\n\n });\n}\n/**\n * Tries to find ORM instance using the argument.\n * @private\n * @param {*} arg\n */\n\n\nfunction toORM(arg) {\n /* eslint-disable no-underscore-dangle */\n if (arg instanceof _ORM__WEBPACK_IMPORTED_MODULE_3__[\"ORM\"]) {\n return arg;\n }\n\n if (arg instanceof _selectors_SelectorSpec__WEBPACK_IMPORTED_MODULE_4__[\"default\"]) {\n return arg._orm;\n }\n\n return false;\n}\n\nconst selectorCache = new Map();\nconst SELECTOR_KEY = Symbol.for(\"REDUX_ORM_SELECTOR\");\n/**\n * @private\n * @param {function|ORM|SelectorSpec} arg\n */\n\nfunction toSelector(arg) {\n if (typeof arg === \"function\") {\n return arg;\n }\n\n if (arg instanceof _ORM__WEBPACK_IMPORTED_MODULE_3__[\"ORM\"]) {\n return arg.stateSelector;\n }\n\n if (arg instanceof _selectors_MapSelectorSpec__WEBPACK_IMPORTED_MO
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultUpdater\", function() { return defaultUpdater; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createReducer\", function() { return createReducer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createSelector\", function() { return createSelector; });\n/* harmony import */ var reselect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! reselect */ \"./node_modules/reselect/lib/index.js\");\n/* harmony import */ var reselect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(reselect__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var re_reselect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! re-reselect */ \"./node_modules/re-reselect/dist/index.js\");\n/* harmony import */ var re_reselect__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(re_reselect__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _memoize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./memoize */ \"./src/memoize.js\");\n/* harmony import */ var _ORM__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ORM */ \"./src/ORM.js\");\n/* harmony import */ var _selectors_SelectorSpec__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./selectors/SelectorSpec */ \"./src/selectors/SelectorSpec.js\");\n/* harmony import */ var _selectors_MapSelectorSpec__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./selectors/MapSelectorSpec */ \"./src/selectors/MapSelectorSpec.js\");\n\n\n\n\n\n\n/**\n * @module redux\n * @desc Provides functions for integration with Redux.\n */\n\n/**\n * Calls all models' reducers if they exist.\n *\n * @return {undefined}\n * @global\n */\n\nfunction defaultUpdater(session, action) {\n session.sessionBoundModels.forEach(modelClass => {\n if (typeof modelClass.reducer === \"function\") {\n // This calls this.applyUpdate to update this.state\n modelClass.reducer(action, modelClass, session);\n }\n });\n}\n/**\n * Call the returned function to pass actions to Redux-ORM.\n *\n * @global\n *\n * @param {ORM} orm - the ORM instance.\n * @param {Function} [updater] - the function updating the ORM state based on the given action.\n * @return {Function} reducer that will update the ORM state.\n */\n\nfunction createReducer(orm, updater = defaultUpdater) {\n return (state, action) => {\n const session = orm.session(state || orm.getEmptyState());\n updater(session, action);\n return session.state;\n };\n}\n/**\n * @private\n * @param {SelectorSpec} spec\n */\n\nfunction createSelectorFromSpec(spec) {\n if (spec instanceof _selectors_MapSelectorSpec__WEBPACK_IMPORTED_MODULE_5__[\"default\"]) {\n const parentSelector = createSelectorFromSpec(spec.parent);\n return spec.createResultFunc(parentSelector);\n }\n\n return re_reselect__WEBPACK_IMPORTED_MODULE_1___default()(spec.dependencies, spec.resultFunc)({\n keySelector: spec.keySelector,\n cacheObject: new re_reselect__WEBPACK_IMPORTED_MODULE_1__[\"FlatMapCache\"](),\n selectorCreator: createSelector // eslint-disable-line no-use-before-define\n\n });\n}\n/**\n * Tries to find ORM instance using the argument.\n * @private\n * @param {*} arg\n */\n\n\nfunction toORM(arg) {\n /* eslint-disable no-underscore-dangle */\n if (arg instanceof _ORM__WEBPACK_IMPORTED_MODULE_3__[\"ORM\"]) {\n return arg;\n }\n\n if (arg instanceof _selectors_SelectorSpec__WEBPACK_IMPORTED_MODULE_4__[\"default\"]) {\n return arg._orm;\n }\n\n return false;\n}\n\nconst selectorCache = new Map();\nconst SELECTOR_KEY = Symbol.for(\"REDUX_ORM_SELECTOR\");\n/**\n * @private\n * @param {function|ORM|SelectorSpec} arg\n */\n\nfunction toSelector(arg) {\n if (typeof arg === \"function\") {\n return arg;\n }\n\n if (arg instanceof _ORM__WEBPACK_IMPORTED_MODULE_3__[\"ORM\"]) {\n return arg.stateSelector;\n }\n\n if (arg instanceof _selectors_MapSelectorSpec__WEBPACK_IMPORTED_MO
/***/ }),
@@ -4702,7 +4724,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return FieldSelectorSpec; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _MapSelectorSpec__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MapSelectorSpec */ \"./src/selectors/MapSelectorSpec.js\");\n/* harmony import */ var _ModelSelectorSpec__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ModelSelectorSpec */ \"./src/selectors/ModelSelectorSpec.js\");\n/* harmony import */ var _ModelBasedSelectorSpec__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ModelBasedSelectorSpec */ \"./src/selectors/ModelBasedSelectorSpec.js\");\n/* harmony import */ var _idArgSelector__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./idArgSelector */ \"./src/selectors/idArgSelector.js\");\n/* harmony import */ var _QuerySet__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../QuerySet */ \"./src/QuerySet.js\");\n/* harmony import */ var _Model__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Model */ \"./src/Model.js\");\n/* harmony import */ var _fields_ForeignKey__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../fields/ForeignKey */ \"./src/fields/ForeignKey.js\");\n/* harmony import */ var _fields_ManyToMany__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../fields/ManyToMany */ \"./src/fields/ManyToMany.js\");\n\n\n\n\n\n\n\n\n\n\n\nlet FieldSelectorSpec = /*#__PURE__*/function (_ModelBasedSelectorSp) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(FieldSelectorSpec, _ModelBasedSelectorSp);\n\n function FieldSelectorSpec({\n field,\n fieldModel,\n accessorName,\n isVirtual,\n ...other\n }) {\n var _this;\n\n _this = _ModelBasedSelectorSp.call(this, other) || this;\n _this._field = field;\n _this._fieldModel = fieldModel;\n _this._accessorName = accessorName;\n _this._isVirtual = isVirtual;\n return _this;\n }\n\n var _proto = FieldSelectorSpec.prototype;\n\n _proto.valueForInstance = function valueForInstance(instance, session) {\n if (!instance) {\n return null;\n }\n\n let value;\n\n if (this._parent instanceof _ModelSelectorSpec__WEBPACK_IMPORTED_MODULE_3__[\"default\"]) {\n /* orm.Model.field */\n value = instance[this._accessorName];\n } else {\n /* orm.Model.field1.field2..fieldN.field */\n const {\n [this._parent.toModelName]: ParentToModel\n } = session;\n\n const parentRef = this._parent.valueForInstance(instance, session);\n\n const parentInstance = parentRef ? new ParentToModel(parentRef) : null;\n value = parentInstance ? parentInstance[this._accessorName] : null;\n }\n\n if (value instanceof _Model__WEBPACK_IMPORTED_MODULE_7__[\"default\"]) {\n return value.ref;\n }\n\n if (value instanceof _QuerySet__WEBPACK_IMPORTED_MODULE_6__[\"default\"]) {\n return value.toRefArray();\n }\n\n return value;\n };\n\n _proto.map = function map(selector) {\n if (selector instanceof _ModelSelectorSpec__WEBPACK_IMPORTED_MODULE_3__[\"default\"]) {\n if (this.toModelName === selector.model.modelName) {\n throw new Error(`Cannot select models in a \
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return FieldSelectorSpec; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _MapSelectorSpec__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MapSelectorSpec */ \"./src/selectors/MapSelectorSpec.js\");\n/* harmony import */ var _ModelSelectorSpec__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ModelSelectorSpec */ \"./src/selectors/ModelSelectorSpec.js\");\n/* harmony import */ var _ModelBasedSelectorSpec__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ModelBasedSelectorSpec */ \"./src/selectors/ModelBasedSelectorSpec.js\");\n/* harmony import */ var _idArgSelector__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./idArgSelector */ \"./src/selectors/idArgSelector.js\");\n/* harmony import */ var _QuerySet__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../QuerySet */ \"./src/QuerySet.js\");\n/* harmony import */ var _Model__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Model */ \"./src/Model.js\");\n/* harmony import */ var _fields_ForeignKey__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../fields/ForeignKey */ \"./src/fields/ForeignKey.js\");\n/* harmony import */ var _fields_ManyToMany__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../fields/ManyToMany */ \"./src/fields/ManyToMany.js\");\n\n\n\n\n\n\n\n\n\n\n\nlet FieldSelectorSpec = /*#__PURE__*/function (_ModelBasedSelectorSp) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(FieldSelectorSpec, _ModelBasedSelectorSp);\n\n function FieldSelectorSpec({\n field,\n fieldModel,\n accessorName,\n isVirtual,\n ...other\n }) {\n var _this;\n\n _this = _ModelBasedSelectorSp.call(this, other) || this;\n _this._field = field;\n _this._fieldModel = fieldModel;\n _this._accessorName = accessorName;\n _this._isVirtual = isVirtual;\n return _this;\n }\n\n var _proto = FieldSelectorSpec.prototype;\n\n _proto.valueForInstance = function valueForInstance(instance, session) {\n if (!instance) {\n return null;\n }\n\n let value;\n\n if (this._parent instanceof _ModelSelectorSpec__WEBPACK_IMPORTED_MODULE_3__[\"default\"]) {\n /* orm.Model.field */\n value = instance[this._accessorName];\n } else {\n /* orm.Model.field1.field2..fieldN.field */\n const {\n [this._parent.toModelName]: ParentToModel\n } = session;\n\n const parentRef = this._parent.valueForInstance(instance, session);\n\n const parentInstance = parentRef ? new ParentToModel(parentRef) : null;\n value = parentInstance ? parentInstance[this._accessorName] : null;\n }\n\n if (value instanceof _Model__WEBPACK_IMPORTED_MODULE_7__[\"default\"]) {\n return value.ref;\n }\n\n if (value instanceof _QuerySet__WEBPACK_IMPORTED_MODULE_6__[\"default\"]) {\n return value.toRefArray();\n }\n\n return value;\n };\n\n _proto.map = function map(selector) {\n if (selector instanceof _ModelSelectorSpec__WEBPACK_IMPORTED_MODULE_3__[\"default\"]) {\n if (this.toModelName === selector.model.modelName) {\n throw new Error(`Cannot select models in a \
/***/ }),
@@ -4714,7 +4736,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MapSelectorSpec; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _ModelBasedSelectorSpec__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ModelBasedSelectorSpec */ \"./src/selectors/ModelBasedSelectorSpec.js\");\n/* harmony import */ var _idArgSelector__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./idArgSelector */ \"./src/selectors/idArgSelector.js\");\n\n\n\n\n\nlet MapSelectorSpec = /*#__PURE__*/function (_ModelBasedSelectorSp) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(MapSelectorSpec, _ModelBasedSelectorSp);\n\n function MapSelectorSpec({\n field,\n selector,\n ...other\n }) {\n var _this;\n\n _this = _ModelBasedSelectorSp.call(this, other) || this;\n _this._field = field;\n _this._selector = selector;\n return _this;\n }\n\n var _proto = MapSelectorSpec.prototype;\n\n _proto.createResultFunc = function createResultFunc(parentSelector) {\n const {\n idAttribute\n } = this._parent.toModel;\n return (state, ...other) => {\n /**\n * The parent selector should return a ref array\n * in case of a single ID being passed.\n * Otherwise it should return an array of ref arrays.\n */\n const parentResult = parentSelector(state, ...other);\n const idArg = Object(_idArgSelector__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(state, ...other);\n\n const single = refArray => {\n if (refArray === null) {\n // an intermediate field could not be resolved\n return null;\n }\n\n return refArray.map(ref => this._selector(state, ref[idAttribute]));\n };\n\n if (typeof idArg === \"undefined\" || Array.isArray(idArg)) {\n return parentResult.map(single);\n }\n\n return single(parentResult);\n };\n };\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default()(MapSelectorSpec, [{\n key: \"selector\",\n get: function () {\n return this._selector;\n },\n set: function (selector) {\n this._selector = selector;\n }\n }, {\n key: \"key\",\n get: function () {\n return this._selector;\n }\n }]);\n\n return MapSelectorSpec;\n}(_ModelBasedSelectorSpec__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9zZWxlY3RvcnMvTWFwU2VsZWN0b3JTcGVjLmpzP2E4MDUiXSwibmFtZXMiOlsiTWFwU2VsZWN0b3JTcGVjIiwiZmllbGQiLCJzZWxlY3RvciIsIm90aGVyIiwiX2ZpZWxkIiwiX3NlbGVjdG9yIiwiY3JlYXRlUmVzdWx0RnVuYyIsInBhcmVudFNlbGVjdG9yIiwiaWRBdHRyaWJ1dGUiLCJfcGFyZW50IiwidG9Nb2RlbCIsInN0YXRlIiwicGFyZW50UmVzdWx0IiwiaWRBcmciLCJpZEFyZ1NlbGVjdG9yIiwic2luZ2xlIiwicmVmQXJyYXkiLCJtYXAiLCJyZWYiLCJBcnJheSIsImlzQXJyYXkiLCJNb2RlbEJhc2VkU2VsZWN0b3JTcGVjIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7QUFDQTs7SUFFcUJBLGU7OztBQUNqQiwyQkFBWTtBQUFFQyxTQUFGO0FBQVNDLFlBQVQ7QUFBbUIsT0FBR0M7QUFBdEIsR0FBWixFQUEyQztBQUFBOztBQUN2Qyw2Q0FBTUEsS0FBTjtBQUNBLFVBQUtDLE1BQUwsR0FBY0gsS0FBZDtBQUNBLFVBQUtJLFNBQUwsR0FBaUJILFFBQWpCO0FBSHVDO0FBSTFDOzs7O1NBRURJLGdCL
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MapSelectorSpec; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _ModelBasedSelectorSpec__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ModelBasedSelectorSpec */ \"./src/selectors/ModelBasedSelectorSpec.js\");\n/* harmony import */ var _idArgSelector__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./idArgSelector */ \"./src/selectors/idArgSelector.js\");\n\n\n\n\n\nlet MapSelectorSpec = /*#__PURE__*/function (_ModelBasedSelectorSp) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(MapSelectorSpec, _ModelBasedSelectorSp);\n\n function MapSelectorSpec({\n field,\n selector,\n ...other\n }) {\n var _this;\n\n _this = _ModelBasedSelectorSp.call(this, other) || this;\n _this._field = field;\n _this._selector = selector;\n return _this;\n }\n\n var _proto = MapSelectorSpec.prototype;\n\n _proto.createResultFunc = function createResultFunc(parentSelector) {\n const {\n idAttribute\n } = this._parent.toModel;\n return (state, ...other) => {\n /**\n * The parent selector should return a ref array\n * in case of a single ID being passed.\n * Otherwise it should return an array of ref arrays.\n */\n const parentResult = parentSelector(state, ...other);\n const idArg = Object(_idArgSelector__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(state, ...other);\n\n const single = refArray => {\n if (refArray === null) {\n // an intermediate field could not be resolved\n return null;\n }\n\n return refArray.map(ref => this._selector(state, ref[idAttribute]));\n };\n\n if (typeof idArg === \"undefined\" || Array.isArray(idArg)) {\n return parentResult.map(single);\n }\n\n return single(parentResult);\n };\n };\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default()(MapSelectorSpec, [{\n key: \"selector\",\n get: function () {\n return this._selector;\n },\n set: function (selector) {\n this._selector = selector;\n }\n }, {\n key: \"key\",\n get: function () {\n return this._selector;\n }\n }]);\n\n return MapSelectorSpec;\n}(_ModelBasedSelectorSpec__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9zZWxlY3RvcnMvTWFwU2VsZWN0b3JTcGVjLmpzP2E4MDUiXSwibmFtZXMiOlsiTWFwU2VsZWN0b3JTcGVjIiwiZmllbGQiLCJzZWxlY3RvciIsIm90aGVyIiwiX2ZpZWxkIiwiX3NlbGVjdG9yIiwiY3JlYXRlUmVzdWx0RnVuYyIsInBhcmVudFNlbGVjdG9yIiwiaWRBdHRyaWJ1dGUiLCJfcGFyZW50IiwidG9Nb2RlbCIsInN0YXRlIiwicGFyZW50UmVzdWx0IiwiaWRBcmciLCJpZEFyZ1NlbGVjdG9yIiwic2luZ2xlIiwicmVmQXJyYXkiLCJtYXAiLCJyZWYiLCJBcnJheSIsImlzQXJyYXkiLCJNb2RlbEJhc2VkU2VsZWN0b3JTcGVjIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7QUFDQTs7SUFFcUJBLGU7OztBQUNqQiwyQkFBWTtBQUFFQyxTQUFGO0FBQVNDLFlBQVQ7QUFBbUIsT0FBR0M7QUFBdEIsR0FBWixFQUEyQztBQUFBOztBQUN2Qyw2Q0FBTUEsS0FBTjtBQUNBLFVBQUtDLE1BQUwsR0FBY0gsS0FBZDtBQUNBLFVBQUtJLFNBQUwsR0FBaUJILFFBQWpCO0FBSHVDO0FBSTFDOzs7O1NBRURJLGdCL
/***/ }),
@@ -4726,7 +4748,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ModelBasedSelectorSpec; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _SelectorSpec__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SelectorSpec */ \"./src/selectors/SelectorSpec.js\");\n\n\n\n\nlet ModelBasedSelectorSpec = /*#__PURE__*/function (_SelectorSpec) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(ModelBasedSelectorSpec, _SelectorSpec);\n\n function ModelBasedSelectorSpec({\n model,\n ...other\n }) {\n var _this;\n\n _this = _SelectorSpec.call(this, other) || this;\n _this._model = model;\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default()(ModelBasedSelectorSpec, [{\n key: \"resultFunc\",\n get: function () {\n return (session, idArg, ...other) => {\n const {\n [this._model.modelName]: ModelClass\n } = session;\n\n if (typeof idArg === \"undefined\") {\n return ModelClass.all().toModelArray().map(instance => this.valueForInstance(instance, session, ...other));\n }\n\n if (Array.isArray(idArg)) {\n return idArg.map(id => this.valueForInstance(ModelClass.withId(id), session, ...other));\n }\n\n return this.valueForInstance(ModelClass.withId(idArg), session, ...other);\n };\n }\n }, {\n key: \"model\",\n get: function () {\n return this._model;\n }\n }]);\n\n return ModelBasedSelectorSpec;\n}(_SelectorSpec__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9zZWxlY3RvcnMvTW9kZWxCYXNlZFNlbGVjdG9yU3BlYy5qcz8wODc2Il0sIm5hbWVzIjpbIk1vZGVsQmFzZWRTZWxlY3RvclNwZWMiLCJtb2RlbCIsIm90aGVyIiwiX21vZGVsIiwic2Vzc2lvbiIsImlkQXJnIiwibW9kZWxOYW1lIiwiTW9kZWxDbGFzcyIsImFsbCIsInRvTW9kZWxBcnJheSIsIm1hcCIsImluc3RhbmNlIiwidmFsdWVGb3JJbnN0YW5jZSIsIkFycmF5IiwiaXNBcnJheSIsImlkIiwid2l0aElkIiwiU2VsZWN0b3JTcGVjIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7SUFFcUJBLHNCOzs7QUFDakIsa0NBQVk7QUFBRUMsU0FBRjtBQUFTLE9BQUdDO0FBQVosR0FBWixFQUFpQztBQUFBOztBQUM3QixxQ0FBTUEsS0FBTjtBQUNBLFVBQUtDLE1BQUwsR0FBY0YsS0FBZDtBQUY2QjtBQUdoQzs7OztxQkFFZ0I7QUFDYixhQUFPLENBQUNHLE9BQUQsRUFBVUMsS0FBVixFQUFpQixHQUFHSCxLQUFwQixLQUE4QjtBQUNqQyxjQUFNO0FBQUUsV0FBQyxLQUFLQyxNQUFMLENBQVlHLFNBQWIsR0FBeUJDO0FBQTNCLFlBQTBDSCxPQUFoRDs7QUFDQSxZQUFJLE9BQU9DLEtBQVAsS0FBaUIsV0FBckIsRUFBa0M7QUFDOUIsaUJBQU9FLFVBQVUsQ0FBQ0MsR0FBWCxHQUNGQyxZQURFLEdBRUZDLEdBRkUsQ0FFRUMsUUFBUSxJQUNULEtBQUtDLGdCQUFMLENBQXNCRCxRQUF0QixFQUFnQ1AsT0FBaEMsRUFBeUMsR0FBR0YsS0FBNUMsQ0FIRCxDQUFQO0FBS0g7O0FBQ0QsWUFBSVcsS0FBSyxDQUFDQyxPQUFOLENBQWNULEtBQWQsQ0FBSixFQUEwQjtBQUN0QixpQkFBT0EsS0FBSyxDQUFDSyxHQUFOLENBQVVLLEVBQUUsSUFDZixLQUFLSCxnQkFBTCxDQUNJTCxVQUFVLENBQUNTLE1BQVgsQ0FBa0JELEVBQWxCLENBREosRUFFSVgsT0FGSixFQUdJLEdBQUdGLEtBSFAsQ0FERyxDQUFQO0FBT0g7O0FBQ0QsZUFBTyxLQUFLVSxnQkFBTCxDQUNITCxVQUFVLENBQUNTLE1BQVgsQ0FBa0JYLEtBQWxCLENBREcsRUFFSEQsT0FGRyxFQUdILEdBQUdGLEtBSEEsQ0FBUDtBQUtILE9BdkJEO0FBd0JIOzs7cUJBRVc7QUFDUixhQUFPLEtBQUtDLE1BQVo7QUFDSDs7OztFQW5DK0NjLHFEIiwiZmlsZSI6Ii4vc3JjL3NlbGVjdG9ycy9Nb2R
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ModelBasedSelectorSpec; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _SelectorSpec__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SelectorSpec */ \"./src/selectors/SelectorSpec.js\");\n\n\n\n\nlet ModelBasedSelectorSpec = /*#__PURE__*/function (_SelectorSpec) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(ModelBasedSelectorSpec, _SelectorSpec);\n\n function ModelBasedSelectorSpec({\n model,\n ...other\n }) {\n var _this;\n\n _this = _SelectorSpec.call(this, other) || this;\n _this._model = model;\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default()(ModelBasedSelectorSpec, [{\n key: \"resultFunc\",\n get: function () {\n return (session, idArg, ...other) => {\n const {\n [this._model.modelName]: ModelClass\n } = session;\n\n if (typeof idArg === \"undefined\") {\n return ModelClass.all().toModelArray().map(instance => this.valueForInstance(instance, session, ...other));\n }\n\n if (Array.isArray(idArg)) {\n return idArg.map(id => this.valueForInstance(ModelClass.withId(id), session, ...other));\n }\n\n return this.valueForInstance(ModelClass.withId(idArg), session, ...other);\n };\n }\n }, {\n key: \"model\",\n get: function () {\n return this._model;\n }\n }]);\n\n return ModelBasedSelectorSpec;\n}(_SelectorSpec__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9zZWxlY3RvcnMvTW9kZWxCYXNlZFNlbGVjdG9yU3BlYy5qcz8wODc2Il0sIm5hbWVzIjpbIk1vZGVsQmFzZWRTZWxlY3RvclNwZWMiLCJtb2RlbCIsIm90aGVyIiwiX21vZGVsIiwic2Vzc2lvbiIsImlkQXJnIiwibW9kZWxOYW1lIiwiTW9kZWxDbGFzcyIsImFsbCIsInRvTW9kZWxBcnJheSIsIm1hcCIsImluc3RhbmNlIiwidmFsdWVGb3JJbnN0YW5jZSIsIkFycmF5IiwiaXNBcnJheSIsImlkIiwid2l0aElkIiwiU2VsZWN0b3JTcGVjIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7SUFFcUJBLHNCOzs7QUFDakIsa0NBQVk7QUFBRUMsU0FBRjtBQUFTLE9BQUdDO0FBQVosR0FBWixFQUFpQztBQUFBOztBQUM3QixxQ0FBTUEsS0FBTjtBQUNBLFVBQUtDLE1BQUwsR0FBY0YsS0FBZDtBQUY2QjtBQUdoQzs7OztTQUVELFlBQWlCO0FBQ2IsYUFBTyxDQUFDRyxPQUFELEVBQVVDLEtBQVYsRUFBaUIsR0FBR0gsS0FBcEIsS0FBOEI7QUFDakMsY0FBTTtBQUFFLFdBQUMsS0FBS0MsTUFBTCxDQUFZRyxTQUFiLEdBQXlCQztBQUEzQixZQUEwQ0gsT0FBaEQ7O0FBQ0EsWUFBSSxPQUFPQyxLQUFQLEtBQWlCLFdBQXJCLEVBQWtDO0FBQzlCLGlCQUFPRSxVQUFVLENBQUNDLEdBQVgsR0FDRkMsWUFERSxHQUVGQyxHQUZFLENBRUdDLFFBQUQsSUFDRCxLQUFLQyxnQkFBTCxDQUFzQkQsUUFBdEIsRUFBZ0NQLE9BQWhDLEVBQXlDLEdBQUdGLEtBQTVDLENBSEQsQ0FBUDtBQUtIOztBQUNELFlBQUlXLEtBQUssQ0FBQ0MsT0FBTixDQUFjVCxLQUFkLENBQUosRUFBMEI7QUFDdEIsaUJBQU9BLEtBQUssQ0FBQ0ssR0FBTixDQUFXSyxFQUFELElBQ2IsS0FBS0gsZ0JBQUwsQ0FDSUwsVUFBVSxDQUFDUyxNQUFYLENBQWtCRCxFQUFsQixDQURKLEVBRUlYLE9BRkosRUFHSSxHQUFHRixLQUhQLENBREcsQ0FBUDtBQU9IOztBQUNELGVBQU8sS0FBS1UsZ0JBQUwsQ0FDSEwsVUFBVSxDQUFDUyxNQUFYLENBQWtCWCxLQUFsQixDQURHLEVBRUhELE9BRkcsRUFHSCxHQUFHRixLQUhBLENBQVA7QUFLSCxPQXZCRDtBQXdCSDs7O1NBRUQsWUFBWTtBQUNSLGFBQU8sS0FBS0MsTUFBWjtBQUNIOzs7O0VBbkMrQ2MscUQiLCJmaWxlIjoiLi9zcmMvc2VsZWN
/***/ }),
@@ -4738,7 +4760,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ModelSelectorSpec; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _SelectorSpec__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SelectorSpec */ \"./src/selectors/SelectorSpec.js\");\n/* harmony import */ var _idArgSelector__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./idArgSelector */ \"./src/selectors/idArgSelector.js\");\n\n\n\n\n\nlet ModelSelectorSpec = /*#__PURE__*/function (_SelectorSpec) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(ModelSelectorSpec, _SelectorSpec);\n\n function ModelSelectorSpec({\n model,\n ...other\n }) {\n var _this;\n\n _this = _SelectorSpec.call(this, other) || this;\n _this._model = model;\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default()(ModelSelectorSpec, [{\n key: \"key\",\n get: function () {\n return this._model.modelName;\n }\n }, {\n key: \"dependencies\",\n get: function () {\n return [this._orm, _idArgSelector__WEBPACK_IMPORTED_MODULE_3__[\"default\"]];\n }\n }, {\n key: \"resultFunc\",\n get: function () {\n return ({\n [this._model.modelName]: ModelClass\n }, idArg) => {\n if (typeof idArg === \"undefined\") {\n return ModelClass.all().toRefArray();\n }\n\n if (Array.isArray(idArg)) {\n return idArg.map(id => {\n const instance = ModelClass.withId(id);\n return instance ? instance.ref : null;\n });\n }\n\n const instance = ModelClass.withId(idArg);\n return instance ? instance.ref : null;\n };\n }\n }, {\n key: \"model\",\n get: function () {\n return this._model;\n }\n }]);\n\n return ModelSelectorSpec;\n}(_SelectorSpec__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9zZWxlY3RvcnMvTW9kZWxTZWxlY3RvclNwZWMuanM/YWE1YiJdLCJuYW1lcyI6WyJNb2RlbFNlbGVjdG9yU3BlYyIsIm1vZGVsIiwib3RoZXIiLCJfbW9kZWwiLCJtb2RlbE5hbWUiLCJfb3JtIiwiaWRBcmdTZWxlY3RvciIsIk1vZGVsQ2xhc3MiLCJpZEFyZyIsImFsbCIsInRvUmVmQXJyYXkiLCJBcnJheSIsImlzQXJyYXkiLCJtYXAiLCJpZCIsImluc3RhbmNlIiwid2l0aElkIiwicmVmIiwiU2VsZWN0b3JTcGVjIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7QUFDQTs7SUFFcUJBLGlCOzs7QUFDakIsNkJBQVk7QUFBRUMsU0FBRjtBQUFTLE9BQUdDO0FBQVosR0FBWixFQUFpQztBQUFBOztBQUM3QixxQ0FBTUEsS0FBTjtBQUNBLFVBQUtDLE1BQUwsR0FBY0YsS0FBZDtBQUY2QjtBQUdoQzs7OztxQkFFUztBQUNOLGFBQU8sS0FBS0UsTUFBTCxDQUFZQyxTQUFuQjtBQUNIOzs7cUJBRWtCO0FBQ2YsYUFBTyxDQUFDLEtBQUtDLElBQU4sRUFBWUMsc0RBQVosQ0FBUDtBQUNIOzs7cUJBRWdCO0FBQ2IsYUFBTyxDQUFDO0FBQUUsU0FBQyxLQUFLSCxNQUFMLENBQVlDLFNBQWIsR0FBeUJHO0FBQTNCLE9BQUQsRUFBMENDLEtBQTFDLEtBQW9EO0FBQ3ZELFlBQUksT0FBT0EsS0FBUCxLQUFpQixXQUFyQixFQUFrQztBQUM5QixpQkFBT0QsVUFBVSxDQUFDRSxHQUFYLEdBQWlCQyxVQUFqQixFQUFQO0FBQ0g7O0FBQ0QsWUFBSUMsS0FBSyxDQUFDQyxPQUFOLENBQWNKLEtBQWQsQ0FBSixFQUEwQjtBQUN0QixpQkFBT0EsS0FBSyxDQUFDSyxHQUFOLENBQVVDLEVBQUUsSUFBSTtBQUNuQixrQkFBTUMsUUFBUSxHQUFHUixVQUFVLENBQUNTLE1BQVgsQ0FBa0JGLEVBQWxCLENBQWpCO0FBQ0EsbUJBQU
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ModelSelectorSpec; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _SelectorSpec__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SelectorSpec */ \"./src/selectors/SelectorSpec.js\");\n/* harmony import */ var _idArgSelector__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./idArgSelector */ \"./src/selectors/idArgSelector.js\");\n\n\n\n\n\nlet ModelSelectorSpec = /*#__PURE__*/function (_SelectorSpec) {\n _babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(ModelSelectorSpec, _SelectorSpec);\n\n function ModelSelectorSpec({\n model,\n ...other\n }) {\n var _this;\n\n _this = _SelectorSpec.call(this, other) || this;\n _this._model = model;\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default()(ModelSelectorSpec, [{\n key: \"key\",\n get: function () {\n return this._model.modelName;\n }\n }, {\n key: \"dependencies\",\n get: function () {\n return [this._orm, _idArgSelector__WEBPACK_IMPORTED_MODULE_3__[\"default\"]];\n }\n }, {\n key: \"resultFunc\",\n get: function () {\n return ({\n [this._model.modelName]: ModelClass\n }, idArg) => {\n if (typeof idArg === \"undefined\") {\n return ModelClass.all().toRefArray();\n }\n\n if (Array.isArray(idArg)) {\n return idArg.map(id => {\n const instance = ModelClass.withId(id);\n return instance ? instance.ref : null;\n });\n }\n\n const instance = ModelClass.withId(idArg);\n return instance ? instance.ref : null;\n };\n }\n }, {\n key: \"model\",\n get: function () {\n return this._model;\n }\n }]);\n\n return ModelSelectorSpec;\n}(_SelectorSpec__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9zZWxlY3RvcnMvTW9kZWxTZWxlY3RvclNwZWMuanM/YWE1YiJdLCJuYW1lcyI6WyJNb2RlbFNlbGVjdG9yU3BlYyIsIm1vZGVsIiwib3RoZXIiLCJfbW9kZWwiLCJtb2RlbE5hbWUiLCJfb3JtIiwiaWRBcmdTZWxlY3RvciIsIk1vZGVsQ2xhc3MiLCJpZEFyZyIsImFsbCIsInRvUmVmQXJyYXkiLCJBcnJheSIsImlzQXJyYXkiLCJtYXAiLCJpZCIsImluc3RhbmNlIiwid2l0aElkIiwicmVmIiwiU2VsZWN0b3JTcGVjIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7QUFDQTs7SUFFcUJBLGlCOzs7QUFDakIsNkJBQVk7QUFBRUMsU0FBRjtBQUFTLE9BQUdDO0FBQVosR0FBWixFQUFpQztBQUFBOztBQUM3QixxQ0FBTUEsS0FBTjtBQUNBLFVBQUtDLE1BQUwsR0FBY0YsS0FBZDtBQUY2QjtBQUdoQzs7OztTQUVELFlBQVU7QUFDTixhQUFPLEtBQUtFLE1BQUwsQ0FBWUMsU0FBbkI7QUFDSDs7O1NBRUQsWUFBbUI7QUFDZixhQUFPLENBQUMsS0FBS0MsSUFBTixFQUFZQyxzREFBWixDQUFQO0FBQ0g7OztTQUVELFlBQWlCO0FBQ2IsYUFBTyxDQUFDO0FBQUUsU0FBQyxLQUFLSCxNQUFMLENBQVlDLFNBQWIsR0FBeUJHO0FBQTNCLE9BQUQsRUFBMENDLEtBQTFDLEtBQW9EO0FBQ3ZELFlBQUksT0FBT0EsS0FBUCxLQUFpQixXQUFyQixFQUFrQztBQUM5QixpQkFBT0QsVUFBVSxDQUFDRSxHQUFYLEdBQWlCQyxVQUFqQixFQUFQO0FBQ0g7O0FBQ0QsWUFBSUMsS0FBSyxDQUFDQyxPQUFOLENBQWNKLEtBQWQsQ0FBSixFQUEwQjtBQUN0QixpQkFBT0EsS0FBSyxDQUFDSyxHQUFOLENBQVdDLEVBQUQsSUFBUTtBQUNyQixrQkFBTUMsUUFBUSxHQUFHUixVQUFVLENBQUNTLE1BQVgsQ0FBa0JGLEVBQWxCLENBQW
/***/ }),
@@ -4750,7 +4772,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SelectorSpec; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants */ \"./src/constants.js\");\n\n\n\nlet SelectorSpec = /*#__PURE__*/function () {\n function SelectorSpec({\n parent,\n orm\n }) {\n this._parent = parent;\n this._orm = orm;\n this.keySelector = _constants__WEBPACK_IMPORTED_MODULE_1__[\"ID_ARG_KEY_SELECTOR\"];\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default()(SelectorSpec, [{\n key: \"cachePath\",\n get: function () {\n const basePath = this._parent ? this._parent.cachePath : [];\n return [...basePath, this.key];\n }\n }, {\n key: \"orm\",\n get: function () {\n return this._orm;\n }\n }, {\n key: \"parent\",\n get: function () {\n return this._parent;\n }\n }]);\n\n return SelectorSpec;\n}();\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9zZWxlY3RvcnMvU2VsZWN0b3JTcGVjLmpzP2Q5MjUiXSwibmFtZXMiOlsiU2VsZWN0b3JTcGVjIiwicGFyZW50Iiwib3JtIiwiX3BhcmVudCIsIl9vcm0iLCJrZXlTZWxlY3RvciIsIklEX0FSR19LRVlfU0VMRUNUT1IiLCJiYXNlUGF0aCIsImNhY2hlUGF0aCIsImtleSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0lBRXFCQSxZO0FBQ2pCLHdCQUFZO0FBQUVDLFVBQUY7QUFBVUM7QUFBVixHQUFaLEVBQTZCO0FBQ3pCLFNBQUtDLE9BQUwsR0FBZUYsTUFBZjtBQUNBLFNBQUtHLElBQUwsR0FBWUYsR0FBWjtBQUNBLFNBQUtHLFdBQUwsR0FBbUJDLDhEQUFuQjtBQUNIOzs7O3FCQUVlO0FBQ1osWUFBTUMsUUFBUSxHQUFHLEtBQUtKLE9BQUwsR0FBZSxLQUFLQSxPQUFMLENBQWFLLFNBQTVCLEdBQXdDLEVBQXpEO0FBQ0EsYUFBTyxDQUFDLEdBQUdELFFBQUosRUFBYyxLQUFLRSxHQUFuQixDQUFQO0FBQ0g7OztxQkFFUztBQUNOLGFBQU8sS0FBS0wsSUFBWjtBQUNIOzs7cUJBRVk7QUFDVCxhQUFPLEtBQUtELE9BQVo7QUFDSCIsImZpbGUiOiIuL3NyYy9zZWxlY3RvcnMvU2VsZWN0b3JTcGVjLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSURfQVJHX0tFWV9TRUxFQ1RPUiB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2VsZWN0b3JTcGVjIHtcbiAgICBjb25zdHJ1Y3Rvcih7IHBhcmVudCwgb3JtIH0pIHtcbiAgICAgICAgdGhpcy5fcGFyZW50ID0gcGFyZW50O1xuICAgICAgICB0aGlzLl9vcm0gPSBvcm07XG4gICAgICAgIHRoaXMua2V5U2VsZWN0b3IgPSBJRF9BUkdfS0VZX1NFTEVDVE9SO1xuICAgIH1cblxuICAgIGdldCBjYWNoZVBhdGgoKSB7XG4gICAgICAgIGNvbnN0IGJhc2VQYXRoID0gdGhpcy5fcGFyZW50ID8gdGhpcy5fcGFyZW50LmNhY2hlUGF0aCA6IFtdO1xuICAgICAgICByZXR1cm4gWy4uLmJhc2VQYXRoLCB0aGlzLmtleV07XG4gICAgfVxuXG4gICAgZ2V0IG9ybSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29ybTtcbiAgICB9XG5cbiAgICBnZXQgcGFyZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFyZW50O1xuICAgIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/selectors/SelectorSpec.js\n");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SelectorSpec; });\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants */ \"./src/constants.js\");\n\n\n\nlet SelectorSpec = /*#__PURE__*/function () {\n function SelectorSpec({\n parent,\n orm\n }) {\n this._parent = parent;\n this._orm = orm;\n this.keySelector = _constants__WEBPACK_IMPORTED_MODULE_1__[\"ID_ARG_KEY_SELECTOR\"];\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_0___default()(SelectorSpec, [{\n key: \"cachePath\",\n get: function () {\n const basePath = this._parent ? this._parent.cachePath : [];\n return [...basePath, this.key];\n }\n }, {\n key: \"orm\",\n get: function () {\n return this._orm;\n }\n }, {\n key: \"parent\",\n get: function () {\n return this._parent;\n }\n }]);\n\n return SelectorSpec;\n}();\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWR1eE9ybS8uL3NyYy9zZWxlY3RvcnMvU2VsZWN0b3JTcGVjLmpzP2Q5MjUiXSwibmFtZXMiOlsiU2VsZWN0b3JTcGVjIiwicGFyZW50Iiwib3JtIiwiX3BhcmVudCIsIl9vcm0iLCJrZXlTZWxlY3RvciIsIklEX0FSR19LRVlfU0VMRUNUT1IiLCJiYXNlUGF0aCIsImNhY2hlUGF0aCIsImtleSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0lBRXFCQSxZO0FBQ2pCLHdCQUFZO0FBQUVDLFVBQUY7QUFBVUM7QUFBVixHQUFaLEVBQTZCO0FBQ3pCLFNBQUtDLE9BQUwsR0FBZUYsTUFBZjtBQUNBLFNBQUtHLElBQUwsR0FBWUYsR0FBWjtBQUNBLFNBQUtHLFdBQUwsR0FBbUJDLDhEQUFuQjtBQUNIOzs7O1NBRUQsWUFBZ0I7QUFDWixZQUFNQyxRQUFRLEdBQUcsS0FBS0osT0FBTCxHQUFlLEtBQUtBLE9BQUwsQ0FBYUssU0FBNUIsR0FBd0MsRUFBekQ7QUFDQSxhQUFPLENBQUMsR0FBR0QsUUFBSixFQUFjLEtBQUtFLEdBQW5CLENBQVA7QUFDSDs7O1NBRUQsWUFBVTtBQUNOLGFBQU8sS0FBS0wsSUFBWjtBQUNIOzs7U0FFRCxZQUFhO0FBQ1QsYUFBTyxLQUFLRCxPQUFaO0FBQ0giLCJmaWxlIjoiLi9zcmMvc2VsZWN0b3JzL1NlbGVjdG9yU3BlYy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElEX0FSR19LRVlfU0VMRUNUT1IgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNlbGVjdG9yU3BlYyB7XG4gICAgY29uc3RydWN0b3IoeyBwYXJlbnQsIG9ybSB9KSB7XG4gICAgICAgIHRoaXMuX3BhcmVudCA9IHBhcmVudDtcbiAgICAgICAgdGhpcy5fb3JtID0gb3JtO1xuICAgICAgICB0aGlzLmtleVNlbGVjdG9yID0gSURfQVJHX0tFWV9TRUxFQ1RPUjtcbiAgICB9XG5cbiAgICBnZXQgY2FjaGVQYXRoKCkge1xuICAgICAgICBjb25zdCBiYXNlUGF0aCA9IHRoaXMuX3BhcmVudCA/IHRoaXMuX3BhcmVudC5jYWNoZVBhdGggOiBbXTtcbiAgICAgICAgcmV0dXJuIFsuLi5iYXNlUGF0aCwgdGhpcy5rZXldO1xuICAgIH1cblxuICAgIGdldCBvcm0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcm07XG4gICAgfVxuXG4gICAgZ2V0IHBhcmVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudDtcbiAgICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/selectors/SelectorSpec.js\n");
/***/ }),
@@ -4774,7 +4796,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createFieldSelectorSpec\", function() { return createFieldSelectorSpec; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createModelSelectorSpec\", function() { return createModelSelectorSpec; });\n/* harmony import */ var _fields_ForeignKey__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../fields/ForeignKey */ \"./src/fields/ForeignKey.js\");\n/* harmony import */ var _fields_ManyToMany__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../fields/ManyToMany */ \"./src/fields/ManyToMany.js\");\n/* harmony import */ var _fields_RelationalField__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../fields/RelationalField */ \"./src/fields/RelationalField.js\");\n/* harmony import */ var _FieldSelectorSpec__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./FieldSelectorSpec */ \"./src/selectors/FieldSelectorSpec.js\");\n/* harmony import */ var _ModelSelectorSpec__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ModelSelectorSpec */ \"./src/selectors/ModelSelectorSpec.js\");\n\n\n\n\n\n/**\n * @module selectors\n * @private\n */\n\nfunction createFieldSelectorSpec({\n parent,\n model,\n field,\n fieldModel,\n accessorName,\n orm,\n isVirtual\n}) {\n const fieldSelectorSpec = new _FieldSelectorSpec__WEBPACK_IMPORTED_MODULE_3__[\"default\"]({\n parent,\n model,\n field,\n fieldModel,\n accessorName,\n orm,\n isVirtual\n });\n /* Do not even try to create field selectors below attributes. */\n\n if (!(field instanceof _fields_RelationalField__WEBPACK_IMPORTED_MODULE_2__[\"default\"])) {\n // \"orm.Author.name.publisher\" would be nonsense\n return fieldSelectorSpec;\n }\n /* Prevent field selectors below collections. */\n\n\n if (parent instanceof _FieldSelectorSpec__WEBPACK_IMPORTED_MODULE_3__[\"default\"]) {\n /* eslint-disable no-underscore-dangle */\n if ( // \"orm.Author.books.publisher\" would be nonsense\n parent._field instanceof _fields_ForeignKey__WEBPACK_IMPORTED_MODULE_0__[\"default\"] && parent._isVirtual || // \"orm.Genre.books.publisher\" would be nonsense\n parent._field instanceof _fields_ManyToMany__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n throw new Error(`Cannot create a selector for \\`${parent._accessorName}.${accessorName}\\` because \\`${parent._accessorName}\\` is a collection field.`);\n }\n }\n\n const {\n toModelName\n } = field;\n const toModel = orm.get(toModelName === \"this\" ? model.modelName : toModelName);\n Object.entries(toModel.fields).forEach(([relatedFieldName, relatedField]) => {\n const fieldAccessorName = relatedField.as || relatedFieldName;\n Object.defineProperty(fieldSelectorSpec, fieldAccessorName, {\n get: () => createFieldSelectorSpec({\n parent: fieldSelectorSpec,\n model,\n fieldModel: toModel,\n field: relatedField,\n accessorName: fieldAccessorName,\n orm,\n isVirtual: false\n })\n });\n });\n Object.entries(toModel.virtualFields).forEach(([relatedFieldName, relatedField]) => {\n const fieldAccessorName = relatedField.as || relatedFieldName;\n\n if (fieldSelectorSpec.hasOwnProperty(fieldAccessorName)) {\n return;\n }\n\n Object.defineProperty(fieldSelectorSpec, fieldAccessorName, {\n get: () => createFieldSelectorSpec({\n parent: fieldSelectorSpec,\n model,\n fieldModel: toModel,\n field: relatedField,\n accessorName: fieldAccessorName,\n orm,\n isVirtual: true\n })\n });\n });\n return fieldSelectorSpec;\n}\nfunction createModelSelectorSpec({\n model,\n orm\n}) {\n const modelSelectorSpec = new _ModelSelectorSpec__WEBPACK_IMPORTED_MODULE_4__[\"default\"]({\n parent: null,\n orm,\n model\n });\n Object.entries(model.fields).forEach(([fieldName, field]) => {\n const fieldAccessorName = field.as || fieldName;\n Object.defineProperty(modelSelectorSpec,
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createFieldSelectorSpec\", function() { return createFieldSelectorSpec; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createModelSelectorSpec\", function() { return createModelSelectorSpec; });\n/* harmony import */ var _fields_ForeignKey__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../fields/ForeignKey */ \"./src/fields/ForeignKey.js\");\n/* harmony import */ var _fields_ManyToMany__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../fields/ManyToMany */ \"./src/fields/ManyToMany.js\");\n/* harmony import */ var _fields_RelationalField__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../fields/RelationalField */ \"./src/fields/RelationalField.js\");\n/* harmony import */ var _FieldSelectorSpec__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./FieldSelectorSpec */ \"./src/selectors/FieldSelectorSpec.js\");\n/* harmony import */ var _ModelSelectorSpec__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ModelSelectorSpec */ \"./src/selectors/ModelSelectorSpec.js\");\n\n\n\n\n\n/**\n * @module selectors\n * @private\n */\n\nfunction createFieldSelectorSpec({\n parent,\n model,\n field,\n fieldModel,\n accessorName,\n orm,\n isVirtual\n}) {\n const fieldSelectorSpec = new _FieldSelectorSpec__WEBPACK_IMPORTED_MODULE_3__[\"default\"]({\n parent,\n model,\n field,\n fieldModel,\n accessorName,\n orm,\n isVirtual\n });\n /* Do not even try to create field selectors below attributes. */\n\n if (!(field instanceof _fields_RelationalField__WEBPACK_IMPORTED_MODULE_2__[\"default\"])) {\n // \"orm.Author.name.publisher\" would be nonsense\n return fieldSelectorSpec;\n }\n /* Prevent field selectors below collections. */\n\n\n if (parent instanceof _FieldSelectorSpec__WEBPACK_IMPORTED_MODULE_3__[\"default\"]) {\n /* eslint-disable no-underscore-dangle */\n if ( // \"orm.Author.books.publisher\" would be nonsense\n parent._field instanceof _fields_ForeignKey__WEBPACK_IMPORTED_MODULE_0__[\"default\"] && parent._isVirtual || // \"orm.Genre.books.publisher\" would be nonsense\n parent._field instanceof _fields_ManyToMany__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n throw new Error(`Cannot create a selector for \\`${parent._accessorName}.${accessorName}\\` because \\`${parent._accessorName}\\` is a collection field.`);\n }\n }\n\n const {\n toModelName\n } = field;\n const toModel = orm.get(toModelName === \"this\" ? model.modelName : toModelName);\n Object.entries(toModel.fields).forEach(([relatedFieldName, relatedField]) => {\n const fieldAccessorName = relatedField.as || relatedFieldName;\n Object.defineProperty(fieldSelectorSpec, fieldAccessorName, {\n get: () => createFieldSelectorSpec({\n parent: fieldSelectorSpec,\n model,\n fieldModel: toModel,\n field: relatedField,\n accessorName: fieldAccessorName,\n orm,\n isVirtual: false\n })\n });\n });\n Object.entries(toModel.virtualFields).forEach(([relatedFieldName, relatedField]) => {\n const fieldAccessorName = relatedField.as || relatedFieldName;\n\n if (fieldSelectorSpec.hasOwnProperty(fieldAccessorName)) {\n return;\n }\n\n Object.defineProperty(fieldSelectorSpec, fieldAccessorName, {\n get: () => createFieldSelectorSpec({\n parent: fieldSelectorSpec,\n model,\n fieldModel: toModel,\n field: relatedField,\n accessorName: fieldAccessorName,\n orm,\n isVirtual: true\n })\n });\n });\n return fieldSelectorSpec;\n}\nfunction createModelSelectorSpec({\n model,\n orm\n}) {\n const modelSelectorSpec = new _ModelSelectorSpec__WEBPACK_IMPORTED_MODULE_4__[\"default\"]({\n parent: null,\n orm,\n model\n });\n Object.entries(model.fields).forEach(([fieldName, field]) => {\n const fieldAccessorName = field.as || fieldName;\n Object.defineProperty(modelSelectorSpec,
/***/ }),
@@ -4786,7 +4808,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"attachQuerySetMethods\", function() { return attachQuerySetMethods; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m2mName\", function() { return m2mName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m2mFromFieldName\", function() { return m2mFromFieldName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m2mToFieldName\", function() { return m2mToFieldName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"reverseFieldName\", function() { return reverseFieldName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalizeEntity\", function() { return normalizeEntity; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"reverseFieldErrorMessage\", function() { return reverseFieldErrorMessage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"objectShallowEquals\", function() { return objectShallowEquals; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"arrayDiffActions\", function() { return arrayDiffActions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getBatchToken\", function() { return getBatchToken; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clauseFiltersByAttribute\", function() { return clauseFiltersByAttribute; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clauseReducesResultSetSize\", function() { return clauseReducesResultSetSize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"warnDeprecated\", function() { return warnDeprecated; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapValues\", function() { return mapValues; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalizeModelReference\", function() { return normalizeModelReference; });\n/* harmony import */ var immutable_ops__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! immutable-ops */ \"./node_modules/immutable-ops/es/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ops\", function() { return immutable_ops__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./src/constants.js\");\n\n\n/**\n * @module utils\n * @private\n */\n\n/** @private */\n\nfunction warnDeprecated(msg) {\n const logger = typeof console.warn === \"function\" ? console.warn.bind(console) : console.log.bind(console);\n return logger(msg);\n}\n/** @private */\n\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n/**\n * Returns the branch name for a many-to-many relation.\n * The name is the combination of the model name and the field name the relation\n * was declared. The field name's first letter is capitalized.\n *\n * Example: model `Author` has a many-to-many relation to the model `Book`, defined\n * in the `Author` field `books`. The many-to-many branch name will be `AuthorBooks`.\n *\n * @param {string} declarationModelName - the name of the model the many-to-many relation was declared on\n * @param {string} fieldName - the field name where the many-to-many relation was declared on\n * @return {string} The branch name for the many-to-many relation.\n */\n\n\nfunction m2mName(declarationModelName, fieldName) {\n return declarationModelName + capitalize(fieldName);\n}\n/**\n * Returns the fieldname that saves a foreign key to the\n * model id where the many-to-many relation was declared.\n *\n * Example: `Author` => `fromAuthorId`\n *\n * @param {string} declarationModelName - the name of the model where the relation was declared\n * @return {string} the field name in the through model
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"attachQuerySetMethods\", function() { return attachQuerySetMethods; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m2mName\", function() { return m2mName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m2mFromFieldName\", function() { return m2mFromFieldName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m2mToFieldName\", function() { return m2mToFieldName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"reverseFieldName\", function() { return reverseFieldName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalizeEntity\", function() { return normalizeEntity; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"reverseFieldErrorMessage\", function() { return reverseFieldErrorMessage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"objectShallowEquals\", function() { return objectShallowEquals; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"arrayDiffActions\", function() { return arrayDiffActions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getBatchToken\", function() { return getBatchToken; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clauseFiltersByAttribute\", function() { return clauseFiltersByAttribute; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clauseReducesResultSetSize\", function() { return clauseReducesResultSetSize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"warnDeprecated\", function() { return warnDeprecated; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mapValues\", function() { return mapValues; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalizeModelReference\", function() { return normalizeModelReference; });\n/* harmony import */ var immutable_ops__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! immutable-ops */ \"./node_modules/immutable-ops/es/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ops\", function() { return immutable_ops__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./src/constants.js\");\n\n\n/**\n * @module utils\n * @private\n */\n\n/** @private */\n\nfunction warnDeprecated(msg) {\n const logger = typeof console.warn === \"function\" ? console.warn.bind(console) : console.log.bind(console);\n return logger(msg);\n}\n/** @private */\n\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n/**\n * Returns the branch name for a many-to-many relation.\n * The name is the combination of the model name and the field name the relation\n * was declared. The field name's first letter is capitalized.\n *\n * Example: model `Author` has a many-to-many relation to the model `Book`, defined\n * in the `Author` field `books`. The many-to-many branch name will be `AuthorBooks`.\n *\n * @param {string} declarationModelName - the name of the model the many-to-many relation was declared on\n * @param {string} fieldName - the field name where the many-to-many relation was declared on\n * @return {string} The branch name for the many-to-many relation.\n */\n\n\nfunction m2mName(declarationModelName, fieldName) {\n return declarationModelName + capitalize(fieldName);\n}\n/**\n * Returns the fieldname that saves a foreign key to the\n * model id where the many-to-many relation was declared.\n *\n * Example: `Author` => `fromAuthorId`\n *\n * @param {string} declarationModelName - the name of the model where the relation was declared\n * @return {string} the field name in the through model
/***/ })
diff --git a/node_modules/redux-orm/dist/redux-orm.min.js b/node_modules/redux-orm/dist/redux-orm.min.js
index f76f1b4..3b207b3 100644
--- a/node_modules/redux-orm/dist/redux-orm.min.js
+++ b/node_modules/redux-orm/dist/redux-orm.min.js
@@ -1,2 +1,2 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("ReduxOrm",[],t):"object"==typeof exports?exports.ReduxOrm=t():e.ReduxOrm=t()}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=35)}([function(e,t){function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}e.exports=function(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}},function(e,t){e.exports=function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}},function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=n=function(e){return typeof e}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(t)}e.exports=n},function(e,t,n){var r=n(15),o=n(16),s=n(17),i=n(18);e.exports=function(e){return r(e)||o(e)||s(e)||i()}},function(e,t,n){"use strict";function r(e,t){return e===t}function o(e,t,n){if(null===t||null===n||t.length!==n.length)return!1;for(var r=t.length,o=0;o<r;o++)if(!e(t[o],n[o]))return!1;return!0}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r,n=null,s=null;return function(){return o(t,n,arguments)||(s=e.apply(null,arguments)),n=arguments,s}}function i(e){var t=Array.isArray(e[0])?e[0]:e;if(!t.every((function(e){return"function"==typeof e}))){var n=t.map((function(e){return typeof e})).join(", ");throw new Error("Selector creators expect all input-selectors to be functions, instead received the following types: ["+n+"]")}return t}function a(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return function(){for(var t=arguments.length,r=Array(t),o=0;o<t;o++)r[o]=arguments[o];var a=0,c=r.pop(),u=i(r),l=e.apply(void 0,[function(){return a++,c.apply(null,arguments)}].concat(n)),d=s((function(){for(var e=[],t=u.length,n=0;n<t;n++)e.push(u[n].apply(null,arguments));return l.apply(null,e)}));return d.resultFunc=c,d.recomputations=function(){return a},d.resetRecomputations=function(){return a=0},d}}t.__esModule=!0,t.defaultMemoize=s,t.createSelectorCreator=a,t.createStructuredSelector=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c;if("object"!=typeof e)throw new Error("createStructuredSelector expects first argument to be an object where each property is a selector, instead received a "+typeof e);var n=Object.keys(e);return t(n.map((function(t){return e[t]})),(function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.reduce((function(e,t,r){return e[n[r]]=t,e}),{})}))};var c=t.createSelector=a(s)},function(e,t,n){!function(e,t){"use strict";function n(e){return"string"==typeof e||"number"==typeof e}var r=function(){function e(){this._cache={}}var t=e.prototype;return t.set=function(e,t){this._cache[e]=t},t.get=function(e){return this._cache[e]},t.remove=function(e){delete this._cache[e]},t.clear=function(){this._cache={}},t.isValidCacheKey=function(e){return n(e)},e}(),o=r,s=function(){return!0};function i(){for(var e=arguments.length,n=new Array(e
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("ReduxOrm",[],t):"object"==typeof exports?exports.ReduxOrm=t():e.ReduxOrm=t()}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=37)}([function(e,t){function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}e.exports=function(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(15);e.exports=function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(e.exports=n=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),n(t)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,n){var r=n(16),o=n(17),s=n(18),i=n(19);e.exports=function(e){return r(e)||o(e)||s(e)||i()},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){"use strict";function r(e,t){return e===t}function o(e,t,n){if(null===t||null===n||t.length!==n.length)return!1;for(var r=t.length,o=0;o<r;o++)if(!e(t[o],n[o]))return!1;return!0}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r,n=null,s=null;return function(){return o(t,n,arguments)||(s=e.apply(null,arguments)),n=arguments,s}}function i(e){var t=Array.isArray(e[0])?e[0]:e;if(!t.every((function(e){return"function"==typeof e}))){var n=t.map((function(e){return typeof e})).join(", ");throw new Error("Selector creators expect all input-selectors to be functions, instead received the following types: ["+n+"]")}return t}function a(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return function(){for(var t=arguments.length,r=Array(t),o=0;o<t;o++)r[o]=arguments[o];var a=0,c=r.pop(),u=i(r),l=e.apply(void 0,[function(){return a++,c.apply(null,arguments)}].concat(n)),d=s((function(){for(var e=[],t=u.length,n=0;n<t;n++)e.push(u[n].apply(null,arguments));return l.apply(null,e)}));return d.resultFunc=c,d.recomputations=function(){return a},d.resetRecomputations=function(){return a=0},d}}t.__esModule=!0,t.defaultMemoize=s,t.createSelectorCreator=a,t.createStructuredSelector=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c;if("object"!=typeof e)throw new Error("createStructuredSelector expects first argument to be an object where each property is a selector, instead received a "+typeof e);var n=Object.keys(e);return t(n.map((function(t){return e[t]})),(function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.reduce((function(e,t,r){return e[n[r]]=t,e}),{})}))};var c=t.createSelector=a(s)},function(e,t,n){!function(e,t){"use strict";function n(e){return"string"==typeof e||"numb
//# sourceMappingURL=redux-orm.min.js.map
\ No newline at end of file
diff --git a/node_modules/redux-orm/dist/redux-orm.min.js.map b/node_modules/redux-orm/dist/redux-orm.min.js.map
index d45294a..8fa3298 100644
--- a/node_modules/redux-orm/dist/redux-orm.min.js.map
+++ b/node_modules/redux-orm/dist/redux-orm.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack://ReduxOrm/webpack/universalModuleDefinition","webpack://ReduxOrm/webpack/bootstrap","webpack://ReduxOrm/./node_modules/@babel/runtime/helpers/createClass.js","webpack://ReduxOrm/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://ReduxOrm/./node_modules/@babel/runtime/helpers/typeof.js","webpack://ReduxOrm/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://ReduxOrm/./node_modules/reselect/lib/index.js","webpack://ReduxOrm/./node_modules/re-reselect/dist/index.js","webpack://ReduxOrm/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://ReduxOrm/./node_modules/lodash/_baseOrderBy.js","webpack://ReduxOrm/./node_modules/lodash/_baseIteratee.js","webpack://ReduxOrm/./node_modules/lodash/identity.js","webpack://ReduxOrm/./node_modules/lodash/isArray.js","webpack://ReduxOrm/./node_modules/lodash/filter.js","webpack://ReduxOrm/./node_modules/lodash/orderBy.js","webpack://ReduxOrm/./node_modules/lodash/reject.js","webpack://ReduxOrm/./node_modules/lodash/sortBy.js","webpack://ReduxOrm/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://ReduxOrm/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://ReduxOrm/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://ReduxOrm/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://ReduxOrm/./node_modules/lodash/_arrayMap.js","webpack://ReduxOrm/./node_modules/lodash/_baseMap.js","webpack://ReduxOrm/./node_modules/lodash/_baseSortBy.js","webpack://ReduxOrm/./node_modules/lodash/_baseUnary.js","webpack://ReduxOrm/./node_modules/lodash/_compareMultiple.js","webpack://ReduxOrm/./node_modules/lodash/_compareAscending.js","webpack://ReduxOrm/./node_modules/lodash/isSymbol.js","webpack://ReduxOrm/./node_modules/lodash/_arrayFilter.js","webpack://ReduxOrm/./node_modules/lodash/_baseFilter.js","webpack://ReduxOrm/./node_modules/lodash/negate.js","webpack://ReduxOrm/./node_modules/lodash/_baseFlatten.js","webpack://ReduxOrm/./node_modules/lodash/_baseRest.js","webpack://ReduxOrm/./node_modules/lodash/_overRest.js","webpack://ReduxOrm/./node_modules/lodash/_apply.js","webpack://ReduxOrm/./node_modules/lodash/_setToString.js","webpack://ReduxOrm/./node_modules/lodash/_isIterateeCall.js","webpack://ReduxOrm/./node_modules/ramda/es/internal/_isPlaceholder.js","webpack://ReduxOrm/./node_modules/ramda/es/internal/_curry1.js","webpack://ReduxOrm/./node_modules/ramda/es/internal/_arity.js","webpack://ReduxOrm/./node_modules/ramda/es/internal/_curry2.js","webpack://ReduxOrm/./node_modules/ramda/es/curryN.js","webpack://ReduxOrm/./node_modules/ramda/es/internal/_curryN.js","webpack://ReduxOrm/./node_modules/ramda/es/curry.js","webpack://ReduxOrm/./node_modules/ramda/es/__.js","webpack://ReduxOrm/./node_modules/immutable-ops/es/index.js","webpack://ReduxOrm/./src/constants.js","webpack://ReduxOrm/./src/utils.js","webpack://ReduxOrm/./src/QuerySet.js","webpack://ReduxOrm/./src/Session.js","webpack://ReduxOrm/./src/fields/DefaultFieldInstaller.js","webpack://ReduxOrm/./src/fields/FieldInstallerTemplate.js","webpack://ReduxOrm/./src/fields/Field.js","webpack://ReduxOrm/./src/descriptors.js","webpack://ReduxOrm/./src/fields/Attribute.js","webpack://ReduxOrm/./src/fields/RelationalField.js","webpack://ReduxOrm/./src/fields/ForeignKey.js","webpack://ReduxOrm/./src/fields/ManyToMany.js","webpack://ReduxOrm/./src/fields/OneToOne.js","webpack://ReduxOrm/./src/fields/index.js","webpack://ReduxOrm/./src/Model.js","webpack://ReduxOrm/./src/db/Table.js","webpack://ReduxOrm/./src/db/Database.js","webpack://ReduxOrm/./src/selectors/SelectorSpec.js","webpack://ReduxOrm/./src/selectors/ModelBasedSelectorSpec.js","webpack://ReduxOrm/./src/selectors/idArgSelector.js","webpack://ReduxOrm/./src/selectors/MapSelectorSpec.js","webpack://ReduxOrm/./src/selectors/ModelSelectorSpec.js","webpack://ReduxOrm/./src/selectors/FieldSelectorSpec.js","webpack://ReduxOrm/./src/selectors/index.js","webpack://ReduxOrm/./src/ORM.js","webpack://ReduxOrm/./src/memoize.js","webpack://Redu
\ No newline at end of file
+{"version":3,"sources":["webpack://ReduxOrm/webpack/universalModuleDefinition","webpack://ReduxOrm/webpack/bootstrap","webpack://ReduxOrm/./node_modules/@babel/runtime/helpers/createClass.js","webpack://ReduxOrm/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://ReduxOrm/./node_modules/@babel/runtime/helpers/typeof.js","webpack://ReduxOrm/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://ReduxOrm/./node_modules/lodash/isArray.js","webpack://ReduxOrm/./node_modules/reselect/lib/index.js","webpack://ReduxOrm/./node_modules/re-reselect/dist/index.js","webpack://ReduxOrm/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://ReduxOrm/./node_modules/lodash/_baseOrderBy.js","webpack://ReduxOrm/./node_modules/lodash/_baseIteratee.js","webpack://ReduxOrm/./node_modules/lodash/identity.js","webpack://ReduxOrm/./node_modules/lodash/filter.js","webpack://ReduxOrm/./node_modules/lodash/orderBy.js","webpack://ReduxOrm/./node_modules/lodash/reject.js","webpack://ReduxOrm/./node_modules/lodash/sortBy.js","webpack://ReduxOrm/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://ReduxOrm/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://ReduxOrm/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://ReduxOrm/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://ReduxOrm/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://ReduxOrm/./node_modules/lodash/_arrayMap.js","webpack://ReduxOrm/./node_modules/lodash/_baseGet.js","webpack://ReduxOrm/./node_modules/lodash/_baseMap.js","webpack://ReduxOrm/./node_modules/lodash/_baseSortBy.js","webpack://ReduxOrm/./node_modules/lodash/_baseUnary.js","webpack://ReduxOrm/./node_modules/lodash/_compareMultiple.js","webpack://ReduxOrm/./node_modules/lodash/_compareAscending.js","webpack://ReduxOrm/./node_modules/lodash/isSymbol.js","webpack://ReduxOrm/./node_modules/lodash/_arrayFilter.js","webpack://ReduxOrm/./node_modules/lodash/_baseFilter.js","webpack://ReduxOrm/./node_modules/lodash/negate.js","webpack://ReduxOrm/./node_modules/lodash/_baseFlatten.js","webpack://ReduxOrm/./node_modules/lodash/_baseRest.js","webpack://ReduxOrm/./node_modules/lodash/_overRest.js","webpack://ReduxOrm/./node_modules/lodash/_apply.js","webpack://ReduxOrm/./node_modules/lodash/_setToString.js","webpack://ReduxOrm/./node_modules/lodash/_isIterateeCall.js","webpack://ReduxOrm/./node_modules/ramda/es/internal/_isPlaceholder.js","webpack://ReduxOrm/./node_modules/ramda/es/internal/_curry1.js","webpack://ReduxOrm/./node_modules/ramda/es/internal/_arity.js","webpack://ReduxOrm/./node_modules/ramda/es/internal/_curry2.js","webpack://ReduxOrm/./node_modules/ramda/es/curryN.js","webpack://ReduxOrm/./node_modules/ramda/es/internal/_curryN.js","webpack://ReduxOrm/./node_modules/ramda/es/curry.js","webpack://ReduxOrm/./node_modules/ramda/es/__.js","webpack://ReduxOrm/./node_modules/immutable-ops/es/index.js","webpack://ReduxOrm/./src/constants.js","webpack://ReduxOrm/./src/utils.js","webpack://ReduxOrm/./src/QuerySet.js","webpack://ReduxOrm/./src/Session.js","webpack://ReduxOrm/./src/fields/DefaultFieldInstaller.js","webpack://ReduxOrm/./src/fields/FieldInstallerTemplate.js","webpack://ReduxOrm/./src/fields/Field.js","webpack://ReduxOrm/./src/descriptors.js","webpack://ReduxOrm/./src/fields/Attribute.js","webpack://ReduxOrm/./src/fields/RelationalField.js","webpack://ReduxOrm/./src/fields/ForeignKey.js","webpack://ReduxOrm/./src/fields/ManyToMany.js","webpack://ReduxOrm/./src/fields/OneToOne.js","webpack://ReduxOrm/./src/fields/index.js","webpack://ReduxOrm/./src/Model.js","webpack://ReduxOrm/./src/db/Table.js","webpack://ReduxOrm/./src/db/Database.js","webpack://ReduxOrm/./src/selectors/SelectorSpec.js","webpack://ReduxOrm/./src/selectors/ModelBasedSelectorSpec.js","webpack://ReduxOrm/./src/selectors/idArgSelector.js","webpack://ReduxOrm/./src/selectors/MapSelectorSpec.js","webpack://ReduxOrm/./src/selectors/ModelSelectorSpec.js","webpack://ReduxOrm/./src/selectors/FieldSelectorSpec.js","
\ No newline at end of file
diff --git a/node_modules/redux-orm/es/Model.js b/node_modules/redux-orm/es/Model.js
index 541a8d1..b630452 100644
--- a/node_modules/redux-orm/es/Model.js
+++ b/node_modules/redux-orm/es/Model.js
@@ -274,7 +274,7 @@ var Model = /*#__PURE__*/function () {
var value = userProps[key];
props[key] = normalizeEntity(value);
} else if (field.getDefault) {
- props[key] = field.getDefault();
+ props[key] = field.getDefault(userProps);
}
} else if (valuePassed) {
// Save for later processing
diff --git a/node_modules/redux-orm/es/redux-orm-tests.js b/node_modules/redux-orm/es/redux-orm-tests.js
new file mode 100644
index 0000000..a33fa22
--- /dev/null
+++ b/node_modules/redux-orm/es/redux-orm-tests.js
@@ -0,0 +1,769 @@
+import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
+import _defineProperty from "@babel/runtime/helpers/defineProperty";
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+import { attr, createSelector as createOrmSelector, fk, many, Model, ORM } from "./";
+
+var Book = /*#__PURE__*/function (_Model) {
+ _inheritsLoose(Book, _Model);
+
+ function Book() {
+ return _Model.apply(this, arguments) || this;
+ }
+
+ Book.reducer = function reducer(action, _Book) {
+ switch (action.type) {
+ case "CREATE_BOOK":
+ _Book.create(action.payload);
+
+ break;
+
+ case "DELETE_BOOK":
+ _Book.filter(function (book) {
+ return book.title === action.payload.title;
+ })["delete"]();
+
+ break;
+
+ default:
+ break;
+ }
+ };
+
+ return Book;
+}(Model);
+
+_defineProperty(Book, "modelName", "Book");
+
+_defineProperty(Book, "fields", {
+ title: attr(),
+ coverArt: attr({
+ getDefault: function getDefault() {
+ return "empty.png";
+ }
+ }),
+ publisher: fk("Publisher", "books"),
+ authors: many({
+ to: "Person",
+ relatedName: "books",
+ through: "Authorship"
+ })
+});
+
+_defineProperty(Book, "options", {
+ idAttribute: "title"
+});
+
+var Person = /*#__PURE__*/function (_Model2) {
+ _inheritsLoose(Person, _Model2);
+
+ function Person() {
+ return _Model2.apply(this, arguments) || this;
+ }
+
+ return Person;
+}(Model);
+
+_defineProperty(Person, "modelName", "Person");
+
+_defineProperty(Person, "fields", {
+ id: attr(),
+ firstName: attr(),
+ lastName: attr(),
+ nationality: attr()
+});
+
+var Authorship = /*#__PURE__*/function (_Model3) {
+ _inheritsLoose(Authorship, _Model3);
+
+ function Authorship() {
+ return _Model3.apply(this, arguments) || this;
+ }
+
+ return Authorship;
+}(Model);
+
+_defineProperty(Authorship, "modelName", "Authorship");
+
+_defineProperty(Authorship, "fields", {
+ year: attr(),
+ book: fk("Book"),
+ author: fk("Person")
+});
+
+var Publisher = /*#__PURE__*/function (_Model4) {
+ _inheritsLoose(Publisher, _Model4);
+
+ function Publisher() {
+ return _Model4.apply(this, arguments) || this;
+ }
+
+ return Publisher;
+}(Model);
+
+_defineProperty(Publisher, "modelName", "Publisher");
+
+_defineProperty(Publisher, "fields", {
+ index: attr(),
+ name: attr()
+});
+
+_defineProperty(Publisher, "options", {
+ idAttribute: "index"
+});
+
+var schema = {
+ Book: Book,
+ Authorship: Authorship,
+ Person: Person,
+ Publisher: Publisher
+};
+
+// create ORM instance and register { Book, Publisher, Person, Authorship } schema
+var ormFixture = function ormFixture() {
+ var orm = new ORM({
+ stateSelector: function stateSelector(state) {
+ return state.db;
+ }
+ });
+ orm.register(Book, Authorship, Person, Publisher);
+ return orm;
+}; // create ORM instance and acquire new session
+
+
+var sessionFixture = function sessionFixture() {
+ var orm = ormFixture();
+ return orm.session(orm.getEmptyState());
+}; // argOptionalityAtModelCreation - inferred optionality of ModelType.create argument properties
+
+
+(function () {
+ var _sessionFixture = sessionFixture(),
+ Book = _sessionFixture.Book,
+ Publisher = _sessionFixture.Publisher;
+ /**
+ * 1.A. `number` Model identifiers are optional due to built-in incremental sequencing of numeric identifiers
+ * @see {@link PublisherFields.index}
+ */
+
+
+ Publisher.create({
+ name: "P1"
+ });
+ /**
+ * 1.B. `string` identifiers are mandatory
+ */
+
+ Book.create({
+ publisher: 1,
+ coverArt: "foo.bmp"
+ }); // $ExpectError
+
+ /**
+ * 2. non-relational fields with corresponding descriptors that contain defined `getDefault` callback: (`attr({ getDefault: () => 'empty.png' })`)
+ * @see {@link Book#fields.coverArt}
+ */
+
+ Book.create({
+ title: "B2",
+ publisher: 1
+ });
+ /**
+ * 3. both attribute and relational fields where corresponding ModelFields interface property has optional (`?`) modifier
+ * @see {@link BookFields.authors}
+ */
+
+ Book.create({
+ title: "B1",
+ publisher: 1,
+ coverArt: "foo.bmp"
+ });
+})(); // argPropertyTypeRestrictionsOnCreate - ModelFields contribute to type constraints within ModelType.create arguments
+
+
+(function () {
+ var _sessionFixture2 = sessionFixture(),
+ Book = _sessionFixture2.Book,
+ Publisher = _sessionFixture2.Publisher,
+ Person = _sessionFixture2.Person;
+ /** Keys of declared model fields interface contribute strict requirements regarding corresponding property types */
+
+
+ Book.create({
+ title: "B1",
+ publisher: 1,
+ coverArt: "foo.png",
+ authors: ["A1"]
+ });
+ /* Incompatible property types: */
+
+ Book.create({
+ title: 1,
+ publisher: 1
+ }); // $ExpectError
+
+ Book.create({
+ title: "B1",
+ publisher: "P1"
+ }); // $ExpectError
+
+ Book.create({
+ title: "B1",
+ publisher: 1,
+ coverArt: 4
+ }); // $ExpectError
+
+ Book.create({
+ title: "B1",
+ publisher: 1,
+ authors: {}
+ }); // $ExpectError
+
+ Book.create({
+ title: "B1",
+ publisher: 1,
+ authors: function authors() {
+ return null;
+ }
+ }); // $ExpectError
+
+ /**
+ * Properties associated to relational fields may be supplied with:
+ *
+ * - a primitive type matching id type of relation target
+ * - Model/SessionBoundModel instance matching relation target
+ *
+ * In case of MutableQuerySets/many-to-many relationships, an array of union of above-mentioned types is accepted
+ */
+
+ var authorModel = Person.create({
+ id: "A1",
+ firstName: "A1",
+ lastName: "A1"
+ });
+ var publisherModel = Publisher.create({
+ name: "P1"
+ });
+ Book.create({
+ title: "B1",
+ publisher: publisherModel,
+ authors: [authorModel]
+ });
+ Book.create({
+ title: "B1",
+ publisher: publisherModel.index,
+ authors: [authorModel, "A1", authorModel, authorModel.ref.id]
+ });
+ /** Id types are verified to match relation target */
+
+ Book.create({
+ title: "B1",
+ publisher: authorModel
+ }); // $ExpectError
+
+ Book.create({
+ title: "B1",
+ publisher: publisherModel.ref,
+ authors: [publisherModel.ref, "A1"]
+ }); // $ExpectError
+
+ Book.create({
+ title: "B1",
+ publisher: {
+ index: "P1 "
+ }
+ }); // $ExpectError
+
+ Book.create({
+ title: "B1",
+ publisher: {
+ index: 0
+ },
+ authors: [authorModel, true]
+ }); // $ExpectError
+})(); // argPropertyTypeRestrictionsOnUpsert - ModelFields contribute to type constraints within ModelType.create arguments
+
+
+(function () {
+ var _sessionFixture3 = sessionFixture(),
+ Book = _sessionFixture3.Book,
+ Publisher = _sessionFixture3.Publisher,
+ Person = _sessionFixture3.Person;
+ /** Upsert requires id to be provided */
+
+
+ Book.upsert({
+ publisher: 1
+ }); // $ExpectError
+ // $ExpectType SessionBoundModel<Book, Pick<{ title: string; publisher: number; }, never>> || SessionBoundModel<Book, CustomInstanceProps<Book, { title: string; publisher: number; }>>
+
+ Book.upsert({
+ title: "B1",
+ publisher: 1
+ });
+ /* Incompatible property types: */
+
+ Book.upsert({
+ title: 4,
+ publisher: "P1"
+ }); // $ExpectError
+
+ Book.upsert({
+ title: "B1",
+ publisher: "P1"
+ }); // $ExpectError
+
+ Book.upsert({
+ title: "B1",
+ publisher: 1,
+ coverArt: 4
+ }); // $ExpectError
+
+ Book.upsert({
+ title: "B1",
+ publisher: 1,
+ authors: {}
+ }); // $ExpectError
+
+ Book.upsert({
+ title: "B1",
+ publisher: 1,
+ authors: function authors() {
+ return null;
+ }
+ }); // $ExpectError
+
+ /**
+ * Properties associated to relational fields may be supplied with:
+ *
+ * - a primitive type matching id type of relation target
+ * - a Ref type derived from relation target
+ * - Model/SessionBoundModel instance matching relation target
+ * - a map containing {Idkey:IdType} entry, where IdKey/IdType are compatible with relation target id key:type signature
+ *
+ * In case of MutableQuerySets/many-to-many relationships, an array of union of above-mentioned types is accepted
+ */
+
+ var authorModel = Person.upsert({
+ id: "A1",
+ firstName: "A1",
+ lastName: "A1"
+ });
+ var publisherModel = Publisher.upsert({
+ name: "P1",
+ index: 1
+ });
+ Book.upsert({
+ title: "B1",
+ publisher: 1,
+ authors: [authorModel]
+ });
+ Book.upsert({
+ title: "B1",
+ publisher: publisherModel,
+ authors: [authorModel]
+ });
+ /** Id types are verified to match relation target */
+
+ Book.create({
+ title: "B1",
+ publisher: authorModel
+ }); // $ExpectError
+
+ Book.create({
+ title: "B1",
+ publisher: publisherModel.ref,
+ authors: [publisherModel.ref, "A1"]
+ }); // $ExpectError
+
+ Book.create({
+ title: "B1",
+ publisher: {
+ index: "P1 "
+ }
+ }); // $ExpectError
+
+ Book.create({
+ title: "B1",
+ publisher: {
+ index: 0
+ },
+ authors: [authorModel, true]
+ }); // $ExpectError
+})(); // restriction of allowed ORM.register args
+
+
+(function () {
+ var incompleteSchema = {
+ Book: Book,
+ Authorship: Authorship,
+ Person: Person
+ };
+ var orm = new ORM();
+ orm.register(Book, Authorship, Person, Publisher); // $ExpectError
+})(); // inference of ORM branch state type
+
+
+(function () {
+ var emptyState = ormFixture().getEmptyState();
+ var bookTableState = emptyState.Book; // $ExpectType TableState<typeof Book>
+
+ var bookItemsById = emptyState.Book.itemsById; // $ExpectType { readonly [K: string]: Ref<Book>; }
+
+ var authorshipMetaState = emptyState.Authorship.meta.maxId; // $ExpectType number
+
+ var bookMetaState = emptyState.Book.meta.maxId; // $ExpectType number | null
+})(); // sessionInstanceExtendedWithNarrowedModelClasses - indexing session instance using registered Model.modelName returns narrowed Model class
+
+
+(function () {
+ var _sessionFixture4 = sessionFixture(),
+ Book = _sessionFixture4.Book,
+ Person = _sessionFixture4.Person,
+ Publisher = _sessionFixture4.Publisher; // $ExpectType { Book: ModelType<Book>; Person: ModelType<Person>; Publisher: ModelType<Publisher>; }
+
+
+ var sessionBoundModels = {
+ Book: Book,
+ Person: Person,
+ Publisher: Publisher
+ };
+ return _objectSpread({}, sessionBoundModels);
+})(); // IdKey and IdType mapped types support for valid identifier configurations
+
+
+(function () {})(); // Model#create result retains custom properties supplied during call
+
+
+(function () {
+ var _sessionFixture5 = sessionFixture(),
+ Book = _sessionFixture5.Book;
+
+ var basicBook = Book.create({
+ title: "book",
+ publisher: 1
+ });
+ // $ExpectType "title" | "coverArt" | "publisher" | "authors" || keyof BookFields
+ var basicBookTitle = basicBook.title; // $ExpectType string
+
+ var authors = basicBook.authors; // $ExpectType MutableQuerySet<Person, {}>
+
+ var unknownPropertyError = basicBook.customProp; // $ExpectError
+
+ var customProp = {
+ foo: 0,
+ bar: true
+ };
+ var extendedBook = Book.create({
+ title: "extendedBook",
+ publisher: 1,
+ customProp: customProp
+ });
+ // $ExpectType "title" | "coverArt" | "publisher" | "authors" | "customProp" || keyof BookFields | "customProp"
+ var extendedBookTitle = extendedBook.title; // $ExpectType string
+
+ var instanceCustomProp = extendedBook.customProp; // $ExpectType { foo: number; bar: boolean; }
+})(); // reducer API is intact
+
+
+(function () {
+ var orm = ormFixture();
+ return function (state, action) {
+ var session = orm.session(state);
+ session.Book.create(action.payload);
+ return session.state;
+ };
+})(); // QuerySet type is retained though query chain until terminated.
+// Orders are optional, must conform to SortOrder type when present.
+// QuerySet.orderBy overloads accept iteratees applicable to QuerySet's type only
+// orderByArguments
+
+
+(function () {
+ var _sessionFixture6 = sessionFixture(),
+ Book = _sessionFixture6.Book;
+
+ var booksQuerySet = Book.all(); // $ExpectType readonly Ref<Book>[]
+
+ booksQuerySet.orderBy("title").orderBy(function (book) {
+ return book.publisher;
+ }, "desc").orderBy(function (book) {
+ return book.title;
+ }, false).orderBy("publisher", "asc").orderBy("publisher", true).toRefArray(); // $ExpectType readonly Ref<Book>[]
+
+ booksQuerySet.orderBy(["title"], ["asc"]).orderBy(["publisher", "title"], [true, "desc"]).orderBy([function (book) {
+ return book.title;
+ }], ["desc"]).orderBy(["title"]).orderBy([function (book) {
+ return book.title;
+ }, "publisher"], ["desc", false]).toRefArray();
+ booksQuerySet.orderBy("notABookPropertyKey"); // $ExpectError
+
+ booksQuerySet.orderBy([function (book) {
+ return book.notABookPropertyKey;
+ }], false); // $ExpectError
+
+ booksQuerySet.orderBy("title", "inc"); // $ExpectError
+
+ booksQuerySet.orderBy("title", 4); // $ExpectError
+
+ booksQuerySet.orderBy(["notABookPropertyKey"]); // $ExpectError
+
+ booksQuerySet.orderBy([function (book) {
+ return book.notABookPropertyKey;
+ }]); // $ExpectError
+
+ booksQuerySet.orderBy(["title"], ["inc"]); // $ExpectError
+
+ booksQuerySet.orderBy(["title"], [4]); // $ExpectError
+})(); // selectors
+
+
+(function () {
+ // test fixture, use reselect.createSelector in production code
+ var createSelector = function createSelector(param1Creator, combiner) {
+ return function (state) {
+ return combiner(param1Creator(state));
+ };
+ };
+
+ var orm = ormFixture();
+ var ormSelector = createOrmSelector(orm, function (session) {
+ return session.Book.all().toRefArray()[0];
+ });
+ var selector = createSelector(function (_ref) {
+ var db = _ref.db;
+ return db;
+ }, ormSelector);
+ createSelector(function (_ref2) {
+ var db = _ref2.db;
+ return db;
+ }, ormSelector // $ExpectError
+ );
+ selector({
+ db: orm.getEmptyState()
+ }); // $ExpectType Ref<Book>
+})(); // advanced selectors
+
+
+(function () {
+ var orm = ormFixture();
+ var selector0 = createOrmSelector(orm, function (s) {
+ return s.db;
+ }, function (session) {
+ return session.Book.first().ref;
+ });
+ var selector1 = createOrmSelector(orm, function (s) {
+ return s.db;
+ }, function (s) {
+ return s.bar;
+ }, function (session, title) {
+ return session.Book.get({
+ title: title
+ }).ref;
+ });
+ var selector2 = createOrmSelector(orm, function (s) {
+ return s.db;
+ }, function (s) {
+ return s.foo;
+ }, function (s) {
+ return s.bar;
+ }, function (session, id, title) {
+ return session.Book.get({
+ id: id,
+ title: title
+ }).ref;
+ });
+ var selector3 = createOrmSelector(orm, function (s) {
+ return s.db;
+ }, function (s) {
+ return s.foo;
+ }, function (s) {
+ return s.bar;
+ }, function (s) {
+ return s.foo;
+ }, function (session, id, title, id2) {
+ return session.Book.get({
+ id: id,
+ title: title,
+ id2: id2
+ }).ref;
+ });
+ var selector4 = createOrmSelector(orm, function (s) {
+ return s.db;
+ }, function (s) {
+ return s.foo;
+ }, function (s) {
+ return s.bar;
+ }, function (s) {
+ return s.foo;
+ }, function (s) {
+ return s.bar;
+ }, function (session, id, title, id2, title2) {
+ return session.Book.get({
+ id: id,
+ title: title,
+ id2: id2,
+ title2: title2
+ }).ref;
+ });
+ var selector5 = createOrmSelector(orm, function (s) {
+ return s.db;
+ }, function (s) {
+ return s.foo;
+ }, function (s) {
+ return s.bar;
+ }, function (s) {
+ return s.foo;
+ }, function (s) {
+ return s.bar;
+ }, function (s) {
+ return s.foo;
+ }, function (session) {
+ return session.Book.get({
+ title: arguments.length <= 2 ? undefined : arguments[2]
+ }).ref;
+ });
+ var selector6 = createOrmSelector(orm, function (s) {
+ return s.db;
+ }, function (s) {
+ return s.foo;
+ }, function (s) {
+ return s.bar;
+ }, function (s) {
+ return s.foo;
+ }, function (s) {
+ return s.bar;
+ }, function (s) {
+ return s.foo;
+ }, function (s) {
+ return s.bar;
+ }, function (session, id, title) {
+ return session.Book.get({
+ title: title
+ }).ref;
+ });
+ var invalidSelector = createOrmSelector(orm, function (s) {
+ return s.db;
+ }, function (s) {
+ return s.foo;
+ }, function (session, foo, missingArg) {
+ return foo;
+ } // $ExpectError
+ );
+ var invalidSelector2 = createOrmSelector(orm, function (s) {
+ return s.db;
+ }, function (s) {
+ return s.foo;
+ }, function (session, foo) {
+ return session.Book.withId(foo).ref;
+ } // $ExpectError
+ );
+ var state = {
+ db: orm.getEmptyState(),
+ foo: 1,
+ bar: "foo"
+ };
+ selector0(state); // $ExpectType Ref<Book>
+
+ selector1(state); // $ExpectType Ref<Book>
+
+ selector2(state); // $ExpectType Ref<Book>
+
+ selector3(state); // $ExpectType Ref<Book>
+
+ selector4(state); // $ExpectType Ref<Book>
+
+ selector5(state); // $ExpectType Ref<Book>
+
+ selector6(state); // $ExpectType Ref<Book>
+})(); // redux-orm-types#7
+
+
+(function () {
+ var _sessionFixture7 = sessionFixture(),
+ Book = _sessionFixture7.Book;
+
+ Book.exists({
+ title: "foo"
+ });
+ Book.all().exists();
+ Book.exists(); // $ExpectError
+
+ Book.exists("foo"); // $ExpectError
+
+ Book.all().exists({}); // $ExpectError
+})(); // redux-orm-types#8
+
+
+(function () {
+ var _sessionFixture8 = sessionFixture(),
+ Book = _sessionFixture8.Book;
+
+ Book.all().toModelArray();
+ Book.all().toRefArray();
+ Book.toModelArray(); // $ExpectError
+
+ Book.toRefArray(); // $ExpectError
+})(); // redux-orm-types#9
+
+
+(function () {
+ var _sessionFixture9 = sessionFixture(),
+ Book = _sessionFixture9.Book,
+ Person = _sessionFixture9.Person,
+ Publisher = _sessionFixture9.Publisher;
+
+ var author = Person.create({
+ id: "1",
+ firstName: "foo",
+ lastName: "bar",
+ nationality: "pl"
+ });
+ var publisher = Publisher.create({
+ name: "foo"
+ });
+ Book.create({
+ title: "foo",
+ publisher: 1
+ });
+ Book.create({
+ title: "foo",
+ publisher: 1,
+ coverArt: "bar"
+ });
+ Book.create({
+ title: "foo",
+ publisher: publisher,
+ coverArt: "bar",
+ authors: ["foo", author]
+ });
+ Book.create({
+ title: "foo",
+ publisher: author
+ }); // $ExpectError
+
+ Book.create({
+ title: "foo",
+ publisher: "error"
+ }); // $ExpectError
+
+ Book.create({
+ title: "foo",
+ publisher: publisher,
+ coverArt: "bar",
+ authors: [3, author]
+ }); // $ExpectError
+})(); // redux-orm-types#18
+
+
+(function () {
+ return many({
+ to: "Bar",
+ relatedName: "foos",
+ through: "FooBar",
+ throughFields: ["foo", "bar"]
+ });
+})();
\ No newline at end of file
diff --git a/node_modules/redux-orm/lib/Model.js b/node_modules/redux-orm/lib/Model.js
index b2982a2..f707fea 100644
--- a/node_modules/redux-orm/lib/Model.js
+++ b/node_modules/redux-orm/lib/Model.js
@@ -293,7 +293,7 @@ var Model = /*#__PURE__*/function () {
var value = userProps[key];
props[key] = (0, _utils.normalizeEntity)(value);
} else if (field.getDefault) {
- props[key] = field.getDefault();
+ props[key] = field.getDefault(userProps);
}
} else if (valuePassed) {
// Save for later processing
diff --git a/node_modules/redux-orm/lib/redux-orm-tests.js b/node_modules/redux-orm/lib/redux-orm-tests.js
new file mode 100644
index 0000000..5863ac7
--- /dev/null
+++ b/node_modules/redux-orm/lib/redux-orm-tests.js
@@ -0,0 +1,767 @@
+"use strict";
+
+var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
+
+var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
+
+var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
+
+var _ = require("./");
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+var Book = /*#__PURE__*/function (_Model) {
+ (0, _inheritsLoose2["default"])(Book, _Model);
+
+ function Book() {
+ return _Model.apply(this, arguments) || this;
+ }
+
+ Book.reducer = function reducer(action, _Book) {
+ switch (action.type) {
+ case "CREATE_BOOK":
+ _Book.create(action.payload);
+
+ break;
+
+ case "DELETE_BOOK":
+ _Book.filter(function (book) {
+ return book.title === action.payload.title;
+ })["delete"]();
+
+ break;
+
+ default:
+ break;
+ }
+ };
+
+ return Book;
+}(_.Model);
+
+(0, _defineProperty2["default"])(Book, "modelName", "Book");
+(0, _defineProperty2["default"])(Book, "fields", {
+ title: (0, _.attr)(),
+ coverArt: (0, _.attr)({
+ getDefault: function getDefault() {
+ return "empty.png";
+ }
+ }),
+ publisher: (0, _.fk)("Publisher", "books"),
+ authors: (0, _.many)({
+ to: "Person",
+ relatedName: "books",
+ through: "Authorship"
+ })
+});
+(0, _defineProperty2["default"])(Book, "options", {
+ idAttribute: "title"
+});
+
+var Person = /*#__PURE__*/function (_Model2) {
+ (0, _inheritsLoose2["default"])(Person, _Model2);
+
+ function Person() {
+ return _Model2.apply(this, arguments) || this;
+ }
+
+ return Person;
+}(_.Model);
+
+(0, _defineProperty2["default"])(Person, "modelName", "Person");
+(0, _defineProperty2["default"])(Person, "fields", {
+ id: (0, _.attr)(),
+ firstName: (0, _.attr)(),
+ lastName: (0, _.attr)(),
+ nationality: (0, _.attr)()
+});
+
+var Authorship = /*#__PURE__*/function (_Model3) {
+ (0, _inheritsLoose2["default"])(Authorship, _Model3);
+
+ function Authorship() {
+ return _Model3.apply(this, arguments) || this;
+ }
+
+ return Authorship;
+}(_.Model);
+
+(0, _defineProperty2["default"])(Authorship, "modelName", "Authorship");
+(0, _defineProperty2["default"])(Authorship, "fields", {
+ year: (0, _.attr)(),
+ book: (0, _.fk)("Book"),
+ author: (0, _.fk)("Person")
+});
+
+var Publisher = /*#__PURE__*/function (_Model4) {
+ (0, _inheritsLoose2["default"])(Publisher, _Model4);
+
+ function Publisher() {
+ return _Model4.apply(this, arguments) || this;
+ }
+
+ return Publisher;
+}(_.Model);
+
+(0, _defineProperty2["default"])(Publisher, "modelName", "Publisher");
+(0, _defineProperty2["default"])(Publisher, "fields", {
+ index: (0, _.attr)(),
+ name: (0, _.attr)()
+});
+(0, _defineProperty2["default"])(Publisher, "options", {
+ idAttribute: "index"
+});
+var schema = {
+ Book: Book,
+ Authorship: Authorship,
+ Person: Person,
+ Publisher: Publisher
+};
+
+// create ORM instance and register { Book, Publisher, Person, Authorship } schema
+var ormFixture = function ormFixture() {
+ var orm = new _.ORM({
+ stateSelector: function stateSelector(state) {
+ return state.db;
+ }
+ });
+ orm.register(Book, Authorship, Person, Publisher);
+ return orm;
+}; // create ORM instance and acquire new session
+
+
+var sessionFixture = function sessionFixture() {
+ var orm = ormFixture();
+ return orm.session(orm.getEmptyState());
+}; // argOptionalityAtModelCreation - inferred optionality of ModelType.create argument properties
+
+
+(function () {
+ var _sessionFixture = sessionFixture(),
+ Book = _sessionFixture.Book,
+ Publisher = _sessionFixture.Publisher;
+ /**
+ * 1.A. `number` Model identifiers are optional due to built-in incremental sequencing of numeric identifiers
+ * @see {@link PublisherFields.index}
+ */
+
+
+ Publisher.create({
+ name: "P1"
+ });
+ /**
+ * 1.B. `string` identifiers are mandatory
+ */
+
+ Book.create({
+ publisher: 1,
+ coverArt: "foo.bmp"
+ }); // $ExpectError
+
+ /**
+ * 2. non-relational fields with corresponding descriptors that contain defined `getDefault` callback: (`attr({ getDefault: () => 'empty.png' })`)
+ * @see {@link Book#fields.coverArt}
+ */
+
+ Book.create({
+ title: "B2",
+ publisher: 1
+ });
+ /**
+ * 3. both attribute and relational fields where corresponding ModelFields interface property has optional (`?`) modifier
+ * @see {@link BookFields.authors}
+ */
+
+ Book.create({
+ title: "B1",
+ publisher: 1,
+ coverArt: "foo.bmp"
+ });
+})(); // argPropertyTypeRestrictionsOnCreate - ModelFields contribute to type constraints within ModelType.create arguments
+
+
+(function () {
+ var _sessionFixture2 = sessionFixture(),
+ Book = _sessionFixture2.Book,
+ Publisher = _sessionFixture2.Publisher,
+ Person = _sessionFixture2.Person;
+ /** Keys of declared model fields interface contribute strict requirements regarding corresponding property types */
+
+
+ Book.create({
+ title: "B1",
+ publisher: 1,
+ coverArt: "foo.png",
+ authors: ["A1"]
+ });
+ /* Incompatible property types: */
+
+ Book.create({
+ title: 1,
+ publisher: 1
+ }); // $ExpectError
+
+ Book.create({
+ title: "B1",
+ publisher: "P1"
+ }); // $ExpectError
+
+ Book.create({
+ title: "B1",
+ publisher: 1,
+ coverArt: 4
+ }); // $ExpectError
+
+ Book.create({
+ title: "B1",
+ publisher: 1,
+ authors: {}
+ }); // $ExpectError
+
+ Book.create({
+ title: "B1",
+ publisher: 1,
+ authors: function authors() {
+ return null;
+ }
+ }); // $ExpectError
+
+ /**
+ * Properties associated to relational fields may be supplied with:
+ *
+ * - a primitive type matching id type of relation target
+ * - Model/SessionBoundModel instance matching relation target
+ *
+ * In case of MutableQuerySets/many-to-many relationships, an array of union of above-mentioned types is accepted
+ */
+
+ var authorModel = Person.create({
+ id: "A1",
+ firstName: "A1",
+ lastName: "A1"
+ });
+ var publisherModel = Publisher.create({
+ name: "P1"
+ });
+ Book.create({
+ title: "B1",
+ publisher: publisherModel,
+ authors: [authorModel]
+ });
+ Book.create({
+ title: "B1",
+ publisher: publisherModel.index,
+ authors: [authorModel, "A1", authorModel, authorModel.ref.id]
+ });
+ /** Id types are verified to match relation target */
+
+ Book.create({
+ title: "B1",
+ publisher: authorModel
+ }); // $ExpectError
+
+ Book.create({
+ title: "B1",
+ publisher: publisherModel.ref,
+ authors: [publisherModel.ref, "A1"]
+ }); // $ExpectError
+
+ Book.create({
+ title: "B1",
+ publisher: {
+ index: "P1 "
+ }
+ }); // $ExpectError
+
+ Book.create({
+ title: "B1",
+ publisher: {
+ index: 0
+ },
+ authors: [authorModel, true]
+ }); // $ExpectError
+})(); // argPropertyTypeRestrictionsOnUpsert - ModelFields contribute to type constraints within ModelType.create arguments
+
+
+(function () {
+ var _sessionFixture3 = sessionFixture(),
+ Book = _sessionFixture3.Book,
+ Publisher = _sessionFixture3.Publisher,
+ Person = _sessionFixture3.Person;
+ /** Upsert requires id to be provided */
+
+
+ Book.upsert({
+ publisher: 1
+ }); // $ExpectError
+ // $ExpectType SessionBoundModel<Book, Pick<{ title: string; publisher: number; }, never>> || SessionBoundModel<Book, CustomInstanceProps<Book, { title: string; publisher: number; }>>
+
+ Book.upsert({
+ title: "B1",
+ publisher: 1
+ });
+ /* Incompatible property types: */
+
+ Book.upsert({
+ title: 4,
+ publisher: "P1"
+ }); // $ExpectError
+
+ Book.upsert({
+ title: "B1",
+ publisher: "P1"
+ }); // $ExpectError
+
+ Book.upsert({
+ title: "B1",
+ publisher: 1,
+ coverArt: 4
+ }); // $ExpectError
+
+ Book.upsert({
+ title: "B1",
+ publisher: 1,
+ authors: {}
+ }); // $ExpectError
+
+ Book.upsert({
+ title: "B1",
+ publisher: 1,
+ authors: function authors() {
+ return null;
+ }
+ }); // $ExpectError
+
+ /**
+ * Properties associated to relational fields may be supplied with:
+ *
+ * - a primitive type matching id type of relation target
+ * - a Ref type derived from relation target
+ * - Model/SessionBoundModel instance matching relation target
+ * - a map containing {Idkey:IdType} entry, where IdKey/IdType are compatible with relation target id key:type signature
+ *
+ * In case of MutableQuerySets/many-to-many relationships, an array of union of above-mentioned types is accepted
+ */
+
+ var authorModel = Person.upsert({
+ id: "A1",
+ firstName: "A1",
+ lastName: "A1"
+ });
+ var publisherModel = Publisher.upsert({
+ name: "P1",
+ index: 1
+ });
+ Book.upsert({
+ title: "B1",
+ publisher: 1,
+ authors: [authorModel]
+ });
+ Book.upsert({
+ title: "B1",
+ publisher: publisherModel,
+ authors: [authorModel]
+ });
+ /** Id types are verified to match relation target */
+
+ Book.create({
+ title: "B1",
+ publisher: authorModel
+ }); // $ExpectError
+
+ Book.create({
+ title: "B1",
+ publisher: publisherModel.ref,
+ authors: [publisherModel.ref, "A1"]
+ }); // $ExpectError
+
+ Book.create({
+ title: "B1",
+ publisher: {
+ index: "P1 "
+ }
+ }); // $ExpectError
+
+ Book.create({
+ title: "B1",
+ publisher: {
+ index: 0
+ },
+ authors: [authorModel, true]
+ }); // $ExpectError
+})(); // restriction of allowed ORM.register args
+
+
+(function () {
+ var incompleteSchema = {
+ Book: Book,
+ Authorship: Authorship,
+ Person: Person
+ };
+ var orm = new _.ORM();
+ orm.register(Book, Authorship, Person, Publisher); // $ExpectError
+})(); // inference of ORM branch state type
+
+
+(function () {
+ var emptyState = ormFixture().getEmptyState();
+ var bookTableState = emptyState.Book; // $ExpectType TableState<typeof Book>
+
+ var bookItemsById = emptyState.Book.itemsById; // $ExpectType { readonly [K: string]: Ref<Book>; }
+
+ var authorshipMetaState = emptyState.Authorship.meta.maxId; // $ExpectType number
+
+ var bookMetaState = emptyState.Book.meta.maxId; // $ExpectType number | null
+})(); // sessionInstanceExtendedWithNarrowedModelClasses - indexing session instance using registered Model.modelName returns narrowed Model class
+
+
+(function () {
+ var _sessionFixture4 = sessionFixture(),
+ Book = _sessionFixture4.Book,
+ Person = _sessionFixture4.Person,
+ Publisher = _sessionFixture4.Publisher; // $ExpectType { Book: ModelType<Book>; Person: ModelType<Person>; Publisher: ModelType<Publisher>; }
+
+
+ var sessionBoundModels = {
+ Book: Book,
+ Person: Person,
+ Publisher: Publisher
+ };
+ return _objectSpread({}, sessionBoundModels);
+})(); // IdKey and IdType mapped types support for valid identifier configurations
+
+
+(function () {})(); // Model#create result retains custom properties supplied during call
+
+
+(function () {
+ var _sessionFixture5 = sessionFixture(),
+ Book = _sessionFixture5.Book;
+
+ var basicBook = Book.create({
+ title: "book",
+ publisher: 1
+ });
+ // $ExpectType "title" | "coverArt" | "publisher" | "authors" || keyof BookFields
+ var basicBookTitle = basicBook.title; // $ExpectType string
+
+ var authors = basicBook.authors; // $ExpectType MutableQuerySet<Person, {}>
+
+ var unknownPropertyError = basicBook.customProp; // $ExpectError
+
+ var customProp = {
+ foo: 0,
+ bar: true
+ };
+ var extendedBook = Book.create({
+ title: "extendedBook",
+ publisher: 1,
+ customProp: customProp
+ });
+ // $ExpectType "title" | "coverArt" | "publisher" | "authors" | "customProp" || keyof BookFields | "customProp"
+ var extendedBookTitle = extendedBook.title; // $ExpectType string
+
+ var instanceCustomProp = extendedBook.customProp; // $ExpectType { foo: number; bar: boolean; }
+})(); // reducer API is intact
+
+
+(function () {
+ var orm = ormFixture();
+ return function (state, action) {
+ var session = orm.session(state);
+ session.Book.create(action.payload);
+ return session.state;
+ };
+})(); // QuerySet type is retained though query chain until terminated.
+// Orders are optional, must conform to SortOrder type when present.
+// QuerySet.orderBy overloads accept iteratees applicable to QuerySet's type only
+// orderByArguments
+
+
+(function () {
+ var _sessionFixture6 = sessionFixture(),
+ Book = _sessionFixture6.Book;
+
+ var booksQuerySet = Book.all(); // $ExpectType readonly Ref<Book>[]
+
+ booksQuerySet.orderBy("title").orderBy(function (book) {
+ return book.publisher;
+ }, "desc").orderBy(function (book) {
+ return book.title;
+ }, false).orderBy("publisher", "asc").orderBy("publisher", true).toRefArray(); // $ExpectType readonly Ref<Book>[]
+
+ booksQuerySet.orderBy(["title"], ["asc"]).orderBy(["publisher", "title"], [true, "desc"]).orderBy([function (book) {
+ return book.title;
+ }], ["desc"]).orderBy(["title"]).orderBy([function (book) {
+ return book.title;
+ }, "publisher"], ["desc", false]).toRefArray();
+ booksQuerySet.orderBy("notABookPropertyKey"); // $ExpectError
+
+ booksQuerySet.orderBy([function (book) {
+ return book.notABookPropertyKey;
+ }], false); // $ExpectError
+
+ booksQuerySet.orderBy("title", "inc"); // $ExpectError
+
+ booksQuerySet.orderBy("title", 4); // $ExpectError
+
+ booksQuerySet.orderBy(["notABookPropertyKey"]); // $ExpectError
+
+ booksQuerySet.orderBy([function (book) {
+ return book.notABookPropertyKey;
+ }]); // $ExpectError
+
+ booksQuerySet.orderBy(["title"], ["inc"]); // $ExpectError
+
+ booksQuerySet.orderBy(["title"], [4]); // $ExpectError
+})(); // selectors
+
+
+(function () {
+ // test fixture, use reselect.createSelector in production code
+ var createSelector = function createSelector(param1Creator, combiner) {
+ return function (state) {
+ return combiner(param1Creator(state));
+ };
+ };
+
+ var orm = ormFixture();
+ var ormSelector = (0, _.createSelector)(orm, function (session) {
+ return session.Book.all().toRefArray()[0];
+ });
+ var selector = createSelector(function (_ref) {
+ var db = _ref.db;
+ return db;
+ }, ormSelector);
+ createSelector(function (_ref2) {
+ var db = _ref2.db;
+ return db;
+ }, ormSelector // $ExpectError
+ );
+ selector({
+ db: orm.getEmptyState()
+ }); // $ExpectType Ref<Book>
+})(); // advanced selectors
+
+
+(function () {
+ var orm = ormFixture();
+ var selector0 = (0, _.createSelector)(orm, function (s) {
+ return s.db;
+ }, function (session) {
+ return session.Book.first().ref;
+ });
+ var selector1 = (0, _.createSelector)(orm, function (s) {
+ return s.db;
+ }, function (s) {
+ return s.bar;
+ }, function (session, title) {
+ return session.Book.get({
+ title: title
+ }).ref;
+ });
+ var selector2 = (0, _.createSelector)(orm, function (s) {
+ return s.db;
+ }, function (s) {
+ return s.foo;
+ }, function (s) {
+ return s.bar;
+ }, function (session, id, title) {
+ return session.Book.get({
+ id: id,
+ title: title
+ }).ref;
+ });
+ var selector3 = (0, _.createSelector)(orm, function (s) {
+ return s.db;
+ }, function (s) {
+ return s.foo;
+ }, function (s) {
+ return s.bar;
+ }, function (s) {
+ return s.foo;
+ }, function (session, id, title, id2) {
+ return session.Book.get({
+ id: id,
+ title: title,
+ id2: id2
+ }).ref;
+ });
+ var selector4 = (0, _.createSelector)(orm, function (s) {
+ return s.db;
+ }, function (s) {
+ return s.foo;
+ }, function (s) {
+ return s.bar;
+ }, function (s) {
+ return s.foo;
+ }, function (s) {
+ return s.bar;
+ }, function (session, id, title, id2, title2) {
+ return session.Book.get({
+ id: id,
+ title: title,
+ id2: id2,
+ title2: title2
+ }).ref;
+ });
+ var selector5 = (0, _.createSelector)(orm, function (s) {
+ return s.db;
+ }, function (s) {
+ return s.foo;
+ }, function (s) {
+ return s.bar;
+ }, function (s) {
+ return s.foo;
+ }, function (s) {
+ return s.bar;
+ }, function (s) {
+ return s.foo;
+ }, function (session) {
+ return session.Book.get({
+ title: arguments.length <= 2 ? undefined : arguments[2]
+ }).ref;
+ });
+ var selector6 = (0, _.createSelector)(orm, function (s) {
+ return s.db;
+ }, function (s) {
+ return s.foo;
+ }, function (s) {
+ return s.bar;
+ }, function (s) {
+ return s.foo;
+ }, function (s) {
+ return s.bar;
+ }, function (s) {
+ return s.foo;
+ }, function (s) {
+ return s.bar;
+ }, function (session, id, title) {
+ return session.Book.get({
+ title: title
+ }).ref;
+ });
+ var invalidSelector = (0, _.createSelector)(orm, function (s) {
+ return s.db;
+ }, function (s) {
+ return s.foo;
+ }, function (session, foo, missingArg) {
+ return foo;
+ } // $ExpectError
+ );
+ var invalidSelector2 = (0, _.createSelector)(orm, function (s) {
+ return s.db;
+ }, function (s) {
+ return s.foo;
+ }, function (session, foo) {
+ return session.Book.withId(foo).ref;
+ } // $ExpectError
+ );
+ var state = {
+ db: orm.getEmptyState(),
+ foo: 1,
+ bar: "foo"
+ };
+ selector0(state); // $ExpectType Ref<Book>
+
+ selector1(state); // $ExpectType Ref<Book>
+
+ selector2(state); // $ExpectType Ref<Book>
+
+ selector3(state); // $ExpectType Ref<Book>
+
+ selector4(state); // $ExpectType Ref<Book>
+
+ selector5(state); // $ExpectType Ref<Book>
+
+ selector6(state); // $ExpectType Ref<Book>
+})(); // redux-orm-types#7
+
+
+(function () {
+ var _sessionFixture7 = sessionFixture(),
+ Book = _sessionFixture7.Book;
+
+ Book.exists({
+ title: "foo"
+ });
+ Book.all().exists();
+ Book.exists(); // $ExpectError
+
+ Book.exists("foo"); // $ExpectError
+
+ Book.all().exists({}); // $ExpectError
+})(); // redux-orm-types#8
+
+
+(function () {
+ var _sessionFixture8 = sessionFixture(),
+ Book = _sessionFixture8.Book;
+
+ Book.all().toModelArray();
+ Book.all().toRefArray();
+ Book.toModelArray(); // $ExpectError
+
+ Book.toRefArray(); // $ExpectError
+})(); // redux-orm-types#9
+
+
+(function () {
+ var _sessionFixture9 = sessionFixture(),
+ Book = _sessionFixture9.Book,
+ Person = _sessionFixture9.Person,
+ Publisher = _sessionFixture9.Publisher;
+
+ var author = Person.create({
+ id: "1",
+ firstName: "foo",
+ lastName: "bar",
+ nationality: "pl"
+ });
+ var publisher = Publisher.create({
+ name: "foo"
+ });
+ Book.create({
+ title: "foo",
+ publisher: 1
+ });
+ Book.create({
+ title: "foo",
+ publisher: 1,
+ coverArt: "bar"
+ });
+ Book.create({
+ title: "foo",
+ publisher: publisher,
+ coverArt: "bar",
+ authors: ["foo", author]
+ });
+ Book.create({
+ title: "foo",
+ publisher: author
+ }); // $ExpectError
+
+ Book.create({
+ title: "foo",
+ publisher: "error"
+ }); // $ExpectError
+
+ Book.create({
+ title: "foo",
+ publisher: publisher,
+ coverArt: "bar",
+ authors: [3, author]
+ }); // $ExpectError
+})(); // redux-orm-types#18
+
+
+(function () {
+ return (0, _.many)({
+ to: "Bar",
+ relatedName: "foos",
+ through: "FooBar",
+ throughFields: ["foo", "bar"]
+ });
+})();
\ No newline at end of file
diff --git a/node_modules/redux-orm/src/Model.js b/node_modules/redux-orm/src/Model.js
index 20f66ef..6263d01 100644
--- a/node_modules/redux-orm/src/Model.js
+++ b/node_modules/redux-orm/src/Model.js
@@ -71,7 +71,7 @@ const Model = class Model {
const propsObj = Object(props);
this._fields = { ...propsObj };
- Object.keys(propsObj).forEach(fieldName => {
+ Object.keys(propsObj).forEach((fieldName) => {
// In this case, we got a prop that wasn't defined as a field.
// Assuming it's an arbitrary data field, making an instance-specific
// descriptor for it.
@@ -80,7 +80,7 @@ const Model = class Model {
if (!(fieldName in this)) {
Object.defineProperty(this, fieldName, {
get: () => this._fields[fieldName],
- set: value => this.set(fieldName, value),
+ set: (value) => this.set(fieldName, value),
configurable: true,
enumerable: true,
});
@@ -292,7 +292,7 @@ const Model = class Model {
const declaredFieldNames = Object.keys(this.fields);
const declaredVirtualFieldNames = Object.keys(this.virtualFields);
- declaredFieldNames.forEach(key => {
+ declaredFieldNames.forEach((key) => {
const field = this.fields[key];
const valuePassed = userProps.hasOwnProperty(key);
if (!(field instanceof ManyToMany)) {
@@ -300,7 +300,7 @@ const Model = class Model {
const value = userProps[key];
props[key] = normalizeEntity(value);
} else if (field.getDefault) {
- props[key] = field.getDefault();
+ props[key] = field.getDefault(userProps);
}
} else if (valuePassed) {
// Save for later processing
@@ -320,7 +320,7 @@ const Model = class Model {
});
// add backward many-many if required
- declaredVirtualFieldNames.forEach(key => {
+ declaredVirtualFieldNames.forEach((key) => {
if (!m2mRelations.hasOwnProperty(key)) {
const field = this.virtualFields[key];
if (
@@ -527,12 +527,12 @@ const Model = class Model {
const className = ThisModel.modelName;
const fieldNames = Object.keys(ThisModel.fields);
const fields = fieldNames
- .map(fieldName => {
+ .map((fieldName) => {
const field = ThisModel.fields[fieldName];
if (field instanceof ManyToMany) {
const ids = this[fieldName]
.toModelArray()
- .map(model => model.getId());
+ .map((model) => model.getId());
return `${fieldName}: [${ids.join(", ")}]`;
}
const val = this._fields[fieldName];
@@ -697,7 +697,7 @@ const Model = class Model {
const ThisModel = this.getClass();
const { fields, virtualFields, modelName } = ThisModel;
- Object.keys(relations).forEach(name => {
+ Object.keys(relations).forEach((name) => {
const reverse = !fields.hasOwnProperty(name);
const field = virtualFields[name];
const values = relations[name];
@@ -731,10 +731,10 @@ const Model = class Model {
}
const currentIds = ThroughModel.filter(
- through => through[fromField] === this[ThisModel.idAttribute]
+ (through) => through[fromField] === this[ThisModel.idAttribute]
)
.toRefArray()
- .map(ref => ref[toField]);
+ .map((ref) => ref[toField]);
const diffActions = arrayDiffActions(currentIds, normalizedNewIds);
diff --git a/node_modules/redux-orm/src/ORM.js b/node_modules/redux-orm/src/ORM.js
index a0b00dd..5872107 100644
--- a/node_modules/redux-orm/src/ORM.js
+++ b/node_modules/redux-orm/src/ORM.js
@@ -22,7 +22,7 @@ const ORM_DEFAULTS = {
};
const RESERVED_TABLE_OPTIONS = ["indexes", "meta"];
-const isReservedTableOption = word => RESERVED_TABLE_OPTIONS.includes(word);
+const isReservedTableOption = (word) => RESERVED_TABLE_OPTIONS.includes(word);
/**
* ORM - the Object Relational Mapper.
@@ -68,7 +68,7 @@ class ORM {
* @return {undefined}
*/
register(...models) {
- models.forEach(model => {
+ models.forEach((model) => {
if (model.modelName === undefined) {
throw new Error(
"A model was passed that doesn't have a modelName set"
@@ -163,7 +163,7 @@ class ORM {
get(modelName) {
const allModels = this.registry.concat(this.implicitThroughModels);
const found = Object.values(allModels).find(
- model => model.modelName === modelName
+ (model) => model.modelName === modelName
);
if (typeof found === "undefined") {
@@ -185,7 +185,7 @@ class ORM {
const tableSpec = modelClass.tableOptions();
Object.keys(tableSpec)
.filter(isReservedTableOption)
- .forEach(key => {
+ .forEach((key) => {
throw new Error(
`Reserved keyword \`${key}\` used in ${tableName}.options.`
);
@@ -239,8 +239,8 @@ class ORM {
*/
_setupModelPrototypes(models) {
models
- .filter(model => !model.isSetUp)
- .forEach(model => {
+ .filter((model) => !model.isSetUp)
+ .forEach((model) => {
const { fields, modelName, querySetClass } = model;
Object.entries(fields).forEach(([fieldName, field]) => {
if (!(field instanceof Field)) {
diff --git a/node_modules/redux-orm/src/QuerySet.js b/node_modules/redux-orm/src/QuerySet.js
index 5dd357d..33bedbc 100644
--- a/node_modules/redux-orm/src/QuerySet.js
+++ b/node_modules/redux-orm/src/QuerySet.js
@@ -75,7 +75,7 @@ const QuerySet = class QuerySet {
*/
toModelArray() {
const { modelClass: ModelClass } = this;
- return this._evaluate().map(props => new ModelClass(props));
+ return this._evaluate().map((props) => new ModelClass(props));
}
/**
@@ -287,7 +287,7 @@ const QuerySet = class QuerySet {
const { session, modelName: table } = this.modelClass;
this.toModelArray().forEach(
- model => model._onDelete() // eslint-disable-line no-underscore-dangle
+ (model) => model._onDelete() // eslint-disable-line no-underscore-dangle
);
session.applyUpdate({
diff --git a/node_modules/redux-orm/src/Session.js b/node_modules/redux-orm/src/Session.js
index ce40ba8..27e0707 100644
--- a/node_modules/redux-orm/src/Session.js
+++ b/node_modules/redux-orm/src/Session.js
@@ -26,7 +26,7 @@ const Session = class Session {
this.models = schema.getModelClasses();
- this.sessionBoundModels = this.models.map(modelClass => {
+ this.sessionBoundModels = this.models.map((modelClass) => {
function SessionBoundModel() {
return Reflect.construct(
modelClass,
@@ -65,7 +65,7 @@ const Session = class Session {
if (!data.accessedInstances) {
data.accessedInstances = {};
}
- modelIds.forEach(id => {
+ modelIds.forEach((id) => {
data.accessedInstances[id] = true;
});
}
@@ -170,9 +170,9 @@ const Session = class Session {
const { rows } = result;
const { idAttribute } = this[table];
- const accessedIds = new Set(rows.map(row => row[idAttribute]));
+ const accessedIds = new Set(rows.map((row) => row[idAttribute]));
- const anyClauseFilteredByPk = clauses.some(clause => {
+ const anyClauseFilteredByPk = clauses.some((clause) => {
if (!clauseFiltersByAttribute(clause, idAttribute)) {
return false;
}
@@ -186,8 +186,8 @@ const Session = class Session {
const accessedIndexes = [];
const { indexes } = this.state[table];
- clauses.forEach(clause => {
- Object.keys(indexes).forEach(attr => {
+ clauses.forEach((clause) => {
+ Object.keys(indexes).forEach((attr) => {
if (!clauseFiltersByAttribute(clause, attr)) {
return;
}
diff --git a/node_modules/redux-orm/src/db/Database.js b/node_modules/redux-orm/src/db/Database.js
index 25ad4c0..023f090 100644
--- a/node_modules/redux-orm/src/db/Database.js
+++ b/node_modules/redux-orm/src/db/Database.js
@@ -105,7 +105,7 @@ export function createDatabase(schemaSpec) {
query: query.bind(null, tables),
update: update.bind(null, tables),
// Used to inspect the schema.
- describe: tableName => tables[tableName],
+ describe: (tableName) => tables[tableName],
};
}
diff --git a/node_modules/redux-orm/src/db/Table.js b/node_modules/redux-orm/src/db/Table.js
index 66670b2..9301f28 100644
--- a/node_modules/redux-orm/src/db/Table.js
+++ b/node_modules/redux-orm/src/db/Table.js
@@ -63,7 +63,7 @@ function normalizeOrders(orders) {
if (orders === undefined) {
return undefined;
}
- const convert = order => {
+ const convert = (order) => {
if (["desc", false].includes(order)) {
return "desc";
}
@@ -107,7 +107,7 @@ export class Table {
accessIds(branch, ids) {
const map = branch[this.mapName];
- return ids.map(id => map[id]);
+ return ids.map((id) => map[id]);
}
idExists(branch, id) {
@@ -144,8 +144,8 @@ export class Table {
[this.mapName]: {},
};
const attrIndexes = Object.keys(this.fields)
- .filter(attr => attr !== this.idAttribute)
- .filter(attr => this.fields[attr].index)
+ .filter((attr) => attr !== this.idAttribute)
+ .filter((attr) => this.fields[attr].index)
.reduce(
(indexes, attr) => ({
...indexes,
@@ -181,7 +181,7 @@ export class Table {
const { idAttribute } = this;
- const optimallyOrderedClauses = sortBy(clauses, clause => {
+ const optimallyOrderedClauses = sortBy(clauses, (clause) => {
if (clauseFiltersByAttribute(clause, idAttribute)) {
return 1;
}
@@ -344,9 +344,10 @@ export class Table {
const indexesToAppendTo = Object.keys(workingState.indexes)
.filter(
- fkAttr => entry.hasOwnProperty(fkAttr) && entry[fkAttr] !== null
+ (fkAttr) =>
+ entry.hasOwnProperty(fkAttr) && entry[fkAttr] !== null
)
- .map(fkAttr => [fkAttr, entry[fkAttr]]);
+ .map((fkAttr) => [fkAttr, entry[fkAttr]]);
if (withMutations) {
ops.mutable.push(id, workingState[this.arrName]);
@@ -427,7 +428,7 @@ export class Table {
update(tx, branch, rows, mergeObj) {
const { batchToken, withMutations } = tx;
- const mergeObjInto = row => {
+ const mergeObjInto = (row) => {
const merge = withMutations
? ops.mutable.merge
: ops.batch.merge(batchToken);
@@ -436,7 +437,7 @@ export class Table {
const set = withMutations ? ops.mutable.set : ops.batch.set(batchToken);
- const indexedAttrs = Object.keys(branch.indexes).filter(attr =>
+ const indexedAttrs = Object.keys(branch.indexes).filter((attr) =>
mergeObj.hasOwnProperty(attr)
);
const indexIdsToAdd = [];
@@ -460,7 +461,7 @@ export class Table {
);
const id = result[this.idAttribute];
const nextRow = set(id, result, map);
- indexedAttrs.forEach(attr => {
+ indexedAttrs.forEach((attr) => {
const { [attr]: prevValue } = prevAttrValues;
const { [attr]: nextValue } = nextAttrValues;
if (prevValue === nextValue) {
@@ -523,7 +524,7 @@ export class Table {
{
[value]: ops.batch.filter(
batchToken,
- rowId => rowId !== id,
+ (rowId) => rowId !== id,
indexMap[attr][value]
),
},
@@ -561,17 +562,17 @@ export class Table {
const { arrName, mapName } = this;
const arr = branch[arrName];
- const idsToDelete = rows.map(row => row[this.idAttribute]);
+ const idsToDelete = rows.map((row) => row[this.idAttribute]);
if (withMutations) {
- idsToDelete.forEach(id => {
+ idsToDelete.forEach((id) => {
const idx = arr.indexOf(id);
ops.mutable.splice(idx, 1, [], arr);
ops.mutable.omit(id, branch[mapName]);
});
// delete ids from all indexes
- Object.values(branch.indexes).forEach(attrIndex =>
- Object.values(attrIndex).forEach(valueIndex =>
- idsToDelete.forEach(id => {
+ Object.values(branch.indexes).forEach((attrIndex) =>
+ Object.values(attrIndex).forEach((valueIndex) =>
+ idsToDelete.forEach((id) => {
const idx = valueIndex.indexOf(id);
if (idx !== -1) {
ops.mutable.splice(idx, 1, [], valueIndex);
@@ -592,7 +593,7 @@ export class Table {
(attrIndexMap, [value, valueIndex]) => {
attrIndexMap[value] = ops.batch.filter(
batchToken,
- id => !idsToDelete.includes(id),
+ (id) => !idsToDelete.includes(id),
valueIndex
);
return attrIndexMap;
@@ -613,7 +614,7 @@ export class Table {
{
[arrName]: ops.batch.filter(
batchToken,
- id => !idsToDelete.includes(id),
+ (id) => !idsToDelete.includes(id),
branch[arrName]
),
[mapName]: ops.batch.omit(
diff --git a/node_modules/redux-orm/src/descriptors.js b/node_modules/redux-orm/src/descriptors.js
index 6344e86..84fbc11 100644
--- a/node_modules/redux-orm/src/descriptors.js
+++ b/node_modules/redux-orm/src/descriptors.js
@@ -166,14 +166,14 @@ function manyToManyDescriptor(
* referenced by any instance of the current model
*/
const referencedOtherIds = new Set(
- throughQs.toRefArray().map(obj => obj[otherReferencingField])
+ throughQs.toRefArray().map((obj) => obj[otherReferencingField])
);
/**
* selects all instances of other model that are referenced
* by any instance of the current model
*/
- const qs = OtherModel.filter(otherModelInstance =>
+ const qs = OtherModel.filter((otherModelInstance) =>
referencedOtherIds.has(
otherModelInstance[OtherModel.idAttribute]
)
@@ -190,21 +190,21 @@ function manyToManyDescriptor(
qs.add = function add(...entities) {
const idsToAdd = new Set(entities.map(normalizeEntity));
- const existingQs = throughQs.filter(through =>
+ const existingQs = throughQs.filter((through) =>
idsToAdd.has(through[otherReferencingField])
);
if (existingQs.exists()) {
const existingIds = existingQs
.toRefArray()
- .map(through => through[otherReferencingField]);
+ .map((through) => through[otherReferencingField]);
throw new Error(
`Tried to add already existing ${OtherModel.modelName} id(s) ${existingIds} to the ${ThisModel.modelName} instance with id ${thisId}`
);
}
- idsToAdd.forEach(id => {
+ idsToAdd.forEach((id) => {
ThroughModel.create({
[otherReferencingField]: id,
[thisReferencingField]: thisId,
@@ -235,7 +235,7 @@ function manyToManyDescriptor(
qs.remove = function remove(...entities) {
const idsToRemove = new Set(entities.map(normalizeEntity));
- const entitiesToDelete = throughQs.filter(through =>
+ const entitiesToDelete = throughQs.filter((through) =>
idsToRemove.has(through[otherReferencingField])
);
@@ -243,10 +243,10 @@ function manyToManyDescriptor(
// Tried deleting non-existing entities.
const entitiesToDeleteIds = entitiesToDelete
.toRefArray()
- .map(through => through[otherReferencingField]);
+ .map((through) => through[otherReferencingField]);
const unexistingIds = [...idsToRemove].filter(
- id => !entitiesToDeleteIds.includes(id)
+ (id) => !entitiesToDeleteIds.includes(id)
);
throw new Error(
diff --git a/node_modules/redux-orm/src/fields/ManyToMany.js b/node_modules/redux-orm/src/fields/ManyToMany.js
index 5b49ab1..c8b2747 100644
--- a/node_modules/redux-orm/src/fields/ManyToMany.js
+++ b/node_modules/redux-orm/src/fields/ManyToMany.js
@@ -98,8 +98,8 @@ export class ManyToMany extends RelationalField {
* determine which field references which model
* and infer the directions from that
*/
- const throughModelFieldReferencing = otherModel =>
- Object.keys(throughModel.fields).find(someFieldName =>
+ const throughModelFieldReferencing = (otherModel) =>
+ Object.keys(throughModel.fields).find((someFieldName) =>
throughModel.fields[someFieldName].references(otherModel)
);
diff --git a/node_modules/redux-orm/src/memoize.js b/node_modules/redux-orm/src/memoize.js
index b9f7c86..f5ef592 100644
--- a/node_modules/redux-orm/src/memoize.js
+++ b/node_modules/redux-orm/src/memoize.js
@@ -3,7 +3,7 @@ import { STATE_FLAG } from "./constants";
const defaultEqualityCheck = (a, b) => a === b;
export const eqCheck = defaultEqualityCheck;
-const isOrmState = arg =>
+const isOrmState = (arg) =>
arg && typeof arg === "object" && arg.hasOwnProperty(STATE_FLAG);
const argsAreEqual = (lastArgs, nextArgs, equalityCheck) =>
@@ -14,7 +14,7 @@ const argsAreEqual = (lastArgs, nextArgs, equalityCheck) =>
);
const rowsAreEqual = (ids, rowsA, rowsB) =>
- ids.every(id => rowsA[id] === rowsB[id]);
+ ids.every((id) => rowsA[id] === rowsB[id]);
const accessedModelInstancesAreEqual = (previous, ormState, orm) => {
const { accessedInstances } = previous;
@@ -41,7 +41,7 @@ const accessedIndexesAreEqual = (previous, ormState) => {
return Object.entries(accessedIndexes).every(([modelName, indexes]) =>
Object.entries(indexes).every(([column, values]) =>
values.every(
- value =>
+ (value) =>
previous.ormState[modelName].indexes[column][value] ===
ormState[modelName].indexes[column][value]
)
@@ -51,7 +51,7 @@ const accessedIndexesAreEqual = (previous, ormState) => {
const fullTableScannedModelsAreEqual = (previous, ormState) =>
previous.fullTableScannedModels.every(
- modelName => previous.ormState[modelName] === ormState[modelName]
+ (modelName) => previous.ormState[modelName] === ormState[modelName]
);
/**
@@ -160,7 +160,7 @@ export function memoize(func, argEqualityCheck = defaultEqualityCheck, orm) {
*/
const session = orm.session(ormState);
/* Replace all ORM state arguments by the session above */
- const argsWithSession = args.map(arg =>
+ const argsWithSession = args.map((arg) =>
isOrmState(arg) ? session : arg
);
diff --git a/node_modules/redux-orm/src/redux.js b/node_modules/redux-orm/src/redux.js
index 94a1b9e..603769d 100644
--- a/node_modules/redux-orm/src/redux.js
+++ b/node_modules/redux-orm/src/redux.js
@@ -19,7 +19,7 @@ import MapSelectorSpec from "./selectors/MapSelectorSpec";
* @global
*/
export function defaultUpdater(session, action) {
- session.sessionBoundModels.forEach(modelClass => {
+ session.sessionBoundModels.forEach((modelClass) => {
if (typeof modelClass.reducer === "function") {
// This calls this.applyUpdate to update this.state
modelClass.reducer(action, modelClass, session);
diff --git a/node_modules/redux-orm/src/selectors/MapSelectorSpec.js b/node_modules/redux-orm/src/selectors/MapSelectorSpec.js
index 095c9de..c971d12 100644
--- a/node_modules/redux-orm/src/selectors/MapSelectorSpec.js
+++ b/node_modules/redux-orm/src/selectors/MapSelectorSpec.js
@@ -18,12 +18,12 @@ export default class MapSelectorSpec extends ModelBasedSelectorSpec {
*/
const parentResult = parentSelector(state, ...other);
const idArg = idArgSelector(state, ...other);
- const single = refArray => {
+ const single = (refArray) => {
if (refArray === null) {
// an intermediate field could not be resolved
return null;
}
- return refArray.map(ref =>
+ return refArray.map((ref) =>
this._selector(state, ref[idAttribute])
);
};
diff --git a/node_modules/redux-orm/src/selectors/ModelBasedSelectorSpec.js b/node_modules/redux-orm/src/selectors/ModelBasedSelectorSpec.js
index 1c754d0..13b00f8 100644
--- a/node_modules/redux-orm/src/selectors/ModelBasedSelectorSpec.js
+++ b/node_modules/redux-orm/src/selectors/ModelBasedSelectorSpec.js
@@ -12,12 +12,12 @@ export default class ModelBasedSelectorSpec extends SelectorSpec {
if (typeof idArg === "undefined") {
return ModelClass.all()
.toModelArray()
- .map(instance =>
+ .map((instance) =>
this.valueForInstance(instance, session, ...other)
);
}
if (Array.isArray(idArg)) {
- return idArg.map(id =>
+ return idArg.map((id) =>
this.valueForInstance(
ModelClass.withId(id),
session,
diff --git a/node_modules/redux-orm/src/selectors/ModelSelectorSpec.js b/node_modules/redux-orm/src/selectors/ModelSelectorSpec.js
index 3609bfe..65800e6 100644
--- a/node_modules/redux-orm/src/selectors/ModelSelectorSpec.js
+++ b/node_modules/redux-orm/src/selectors/ModelSelectorSpec.js
@@ -21,7 +21,7 @@ export default class ModelSelectorSpec extends SelectorSpec {
return ModelClass.all().toRefArray();
}
if (Array.isArray(idArg)) {
- return idArg.map(id => {
+ return idArg.map((id) => {
const instance = ModelClass.withId(id);
return instance ? instance.ref : null;
});
diff --git a/node_modules/redux-orm/src/utils.js b/node_modules/redux-orm/src/utils.js
index da0436f..2066ee4 100644
--- a/node_modules/redux-orm/src/utils.js
+++ b/node_modules/redux-orm/src/utils.js
@@ -99,7 +99,7 @@ function attachQuerySetMethods(modelClass, querySetClass) {
// There is no way to get a property descriptor for the whole prototype chain;
// only from an objects own properties. Therefore we traverse the whole prototype
// chain for querySet.
- forEachSuperClass(querySetClass, cls => {
+ forEachSuperClass(querySetClass, (cls) => {
for (let i = 0; i < leftToDefine.length; i++) {
let defined = false;
const methodName = leftToDefine[i];
@@ -175,9 +175,9 @@ function objectShallowEquals(a, b) {
/** */
function arrayDiffActions(sourceArr, targetArr) {
- const itemsInBoth = sourceArr.filter(item => targetArr.includes(item));
- const deleteItems = sourceArr.filter(item => !itemsInBoth.includes(item));
- const addItems = targetArr.filter(item => !itemsInBoth.includes(item));
+ const itemsInBoth = sourceArr.filter((item) => targetArr.includes(item));
+ const deleteItems = sourceArr.filter((item) => !itemsInBoth.includes(item));
+ const addItems = targetArr.filter((item) => !itemsInBoth.includes(item));
if (deleteItems.length || addItems.length) {
return {