@lowentry/react-redux 1.10.4 → 1.10.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +9 -9
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -304,7 +304,7 @@ var LeRed = function () {
|
|
|
304
304
|
return result;
|
|
305
305
|
};
|
|
306
306
|
if (sagaMiddleware !== null) {
|
|
307
|
-
sagaMiddleware.run(
|
|
307
|
+
sagaMiddleware.run(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
|
308
308
|
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
309
309
|
while (1) switch (_context3.prev = _context3.next) {
|
|
310
310
|
case 0:
|
|
@@ -617,7 +617,7 @@ var LeRed = function () {
|
|
|
617
617
|
LeRed.useEffectGenerator = function (callable, comparingValues, intervalMs, fireImmediately, equalsComparator) {
|
|
618
618
|
return LeRed.useEffect(function () {
|
|
619
619
|
var stop = false;
|
|
620
|
-
_asyncToGenerator(
|
|
620
|
+
_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
|
|
621
621
|
var _iterator, _step, promise;
|
|
622
622
|
return _regeneratorRuntime.wrap(function _callee5$(_context6) {
|
|
623
623
|
while (1) switch (_context6.prev = _context6.next) {
|
|
@@ -673,7 +673,7 @@ var LeRed = function () {
|
|
|
673
673
|
LeRed.useEffectGeneratorLoop = function (callable, comparingValues, intervalMs, fireImmediately, equalsComparator) {
|
|
674
674
|
return LeRed.useEffect(function () {
|
|
675
675
|
var stop = false;
|
|
676
|
-
_asyncToGenerator(
|
|
676
|
+
_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {
|
|
677
677
|
var _iterator2, _step2, promise;
|
|
678
678
|
return _regeneratorRuntime.wrap(function _callee6$(_context7) {
|
|
679
679
|
while (1) switch (_context7.prev = _context7.next) {
|
|
@@ -1158,8 +1158,8 @@ var LeRed = function () {
|
|
|
1158
1158
|
LeUtils.each(promisesKeyed, function (_ref3) {
|
|
1159
1159
|
var promise = _ref3.promise,
|
|
1160
1160
|
key = _ref3.key;
|
|
1161
|
-
wrappedPromises.push(promise.then(
|
|
1162
|
-
var _ref4 = _asyncToGenerator(
|
|
1161
|
+
wrappedPromises.push(promise.then(/*#__PURE__*/function () {
|
|
1162
|
+
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee7(result) {
|
|
1163
1163
|
return _regeneratorRuntime.wrap(function _callee7$(_context8) {
|
|
1164
1164
|
while (1) switch (_context8.prev = _context8.next) {
|
|
1165
1165
|
case 0:
|
|
@@ -1260,8 +1260,8 @@ var LeRed = function () {
|
|
|
1260
1260
|
var createFetch = function createFetch(urlString) {
|
|
1261
1261
|
return LeUtils.fetch(STRING(urlString), _objectSpread({
|
|
1262
1262
|
retries: 3
|
|
1263
|
-
}, options !== null && options !== void 0 ? options : {})).then(
|
|
1264
|
-
var _ref7 = _asyncToGenerator(
|
|
1263
|
+
}, options !== null && options !== void 0 ? options : {})).then(/*#__PURE__*/function () {
|
|
1264
|
+
var _ref7 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee8(response) {
|
|
1265
1265
|
var data;
|
|
1266
1266
|
return _regeneratorRuntime.wrap(function _callee8$(_context9) {
|
|
1267
1267
|
while (1) switch (_context9.prev = _context9.next) {
|
|
@@ -1386,7 +1386,7 @@ var LeRed = function () {
|
|
|
1386
1386
|
Component = _LeRed$useState18[0],
|
|
1387
1387
|
setComponent = _LeRed$useState18[1];
|
|
1388
1388
|
LeRed.useEffect(function () {
|
|
1389
|
-
_asyncToGenerator(
|
|
1389
|
+
_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee9() {
|
|
1390
1390
|
var LoadedComponent;
|
|
1391
1391
|
return _regeneratorRuntime.wrap(function _callee9$(_context10) {
|
|
1392
1392
|
while (1) switch (_context10.prev = _context10.next) {
|
|
@@ -1415,7 +1415,7 @@ var LeRed = function () {
|
|
|
1415
1415
|
setComponent(null);
|
|
1416
1416
|
return _context10.abrupt("return");
|
|
1417
1417
|
case 13:
|
|
1418
|
-
setComponent(
|
|
1418
|
+
setComponent(/*#__PURE__*/React.createElement(LoadedComponent, other));
|
|
1419
1419
|
case 14:
|
|
1420
1420
|
case "end":
|
|
1421
1421
|
return _context10.stop();
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["src/LeRed.jsx"],"sourcesContent":["import * as RTK from '@reduxjs/toolkit';\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport * as ReactRedux from 'react-redux';\nimport * as ReduxSaga from 'redux-saga';\nimport * as ReduxSagaEffects from 'redux-saga/effects';\nimport FastDeepEqualReact from 'fast-deep-equal/react';\nimport {LeUtils, ISSET, ARRAY, STRING, INT_LAX_ANY, IS_OBJECT, IS_ARRAY} from '@lowentry/utils';\n\nexport const LeRed = (() =>\n{\n\tconst LeRed = {};\n\t\n\t\n\ttry\n\t{\n\t\tconst set = (key, value, ignoreOverrides = false) =>\n\t\t{\n\t\t\tconst keyFirstChar = key.charAt(0);\n\t\t\tif(keyFirstChar === keyFirstChar.toLowerCase() && (keyFirstChar !== keyFirstChar.toUpperCase()))\n\t\t\t{\n\t\t\t\tif((key === 'default') || (key === 'version'))\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif((key === 'set') || (key === 'setAll'))\n\t\t\t\t{\n\t\t\t\t\tconsole.error('tried to override LeRed[\"' + key + '\"], which isn\\'t allowed, to:');\n\t\t\t\t\tconsole.error(value);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif((ignoreOverrides !== true) && (key in LeRed))\n\t\t\t\t{\n\t\t\t\t\tconsole.warn('LeRed[\"' + key + '\"] was overwritten, from:');\n\t\t\t\t\tconsole.warn(LeRed[key]);\n\t\t\t\t\tconsole.warn('to:');\n\t\t\t\t\tconsole.warn(value);\n\t\t\t\t}\n\t\t\t\tLeRed[key] = value;\n\t\t\t}\n\t\t};\n\t\tconst setAll = (obj, ignoreOverrides = false, optionalSkipHasOwnPropertyCheck = true) =>\n\t\t{\n\t\t\tLeUtils.each(obj, (value, key) =>\n\t\t\t{\n\t\t\t\tset(key, value, ignoreOverrides);\n\t\t\t}, optionalSkipHasOwnPropertyCheck);\n\t\t};\n\t\t\n\t\tLeRed.set = (key, value) => set(key, value, true);\n\t\tLeRed.setAll = (obj, optionalSkipHasOwnPropertyCheck = true) => setAll(obj, true, optionalSkipHasOwnPropertyCheck);\n\t\t\n\t\tsetAll(ReactDOM);\n\t\tsetAll(ReduxSaga);\n\t\tsetAll({effects:{...ReduxSagaEffects}});\n\t\tsetAll(RTK);\n\t\tsetAll(React);\n\t\tsetAll(ReactRedux);\n\t\t\n\t\tLeRed.effects.delayFrames = function* (frames = 1)\n\t\t{\n\t\t\tyield LeRed.effects.call(() =>\n\t\t\t{\n\t\t\t\treturn new Promise((resolve, reject) =>\n\t\t\t\t{\n\t\t\t\t\ttry\n\t\t\t\t\t{\n\t\t\t\t\t\tLeUtils.setAnimationFrameTimeout(resolve, frames);\n\t\t\t\t\t}\n\t\t\t\t\tcatch(e)\n\t\t\t\t\t{\n\t\t\t\t\t\treject(e);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\t\t\n\t\tLeRed.effects.interval = function* (callback, intervalMs)\n\t\t{\n\t\t\tlet channel = LeRed.eventChannel((emitter) =>\n\t\t\t{\n\t\t\t\tconst interval = setInterval(() =>\n\t\t\t\t{\n\t\t\t\t\temitter({});\n\t\t\t\t}, intervalMs);\n\t\t\t\treturn () =>\n\t\t\t\t{\n\t\t\t\t\tclearInterval(interval);\n\t\t\t\t};\n\t\t\t});\n\t\t\t\n\t\t\tconst stop = () =>\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tif(channel !== null)\n\t\t\t\t\t{\n\t\t\t\t\t\tchannel.close();\n\t\t\t\t\t\tchannel = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcatch(e)\n\t\t\t\t{\n\t\t\t\t\tconsole.error(e);\n\t\t\t\t}\n\t\t\t};\n\t\t\t\n\t\t\twhile(channel !== null)\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tyield LeRed.effects.take(channel);\n\t\t\t\t\tyield callback(stop);\n\t\t\t\t}\n\t\t\t\tcatch(e)\n\t\t\t\t{\n\t\t\t\t\tconsole.error(e);\n\t\t\t\t}\n\t\t\t\tfinally\n\t\t\t\t{\n\t\t\t\t\ttry\n\t\t\t\t\t{\n\t\t\t\t\t\tif(yield LeRed.effects.cancelled())\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tchannel.close();\n\t\t\t\t\t\t\tchannel = null;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch(e)\n\t\t\t\t\t{\n\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\tcatch(e)\n\t{\n\t\tconsole.error(e);\n\t}\n\t\n\t\n\tconst fixEqualsComparator = (equalsComparator, errorMessage) =>\n\t{\n\t\tif(ISSET(equalsComparator))\n\t\t{\n\t\t\tif(typeof equalsComparator !== 'function')\n\t\t\t{\n\t\t\t\tconsole.error(errorMessage);\n\t\t\t\tconsole.error(equalsComparator);\n\t\t\t\treturn FastDeepEqualReact;\n\t\t\t}\n\t\t\treturn equalsComparator;\n\t\t}\n\t\treturn FastDeepEqualReact;\n\t};\n\t\n\tconst useCompareMemoize = (value, equalsComparator) =>\n\t{\n\t\tconst ref = React.useRef();\n\t\tif(!equalsComparator(value, ref.current))\n\t\t{\n\t\t\tref.current = value;\n\t\t}\n\t\treturn ref.current;\n\t};\n\t\n\t\n\tLeRed.configureStore = (storeData) =>\n\t{\n\t\tif(storeData.__lowentry_store__ === true)\n\t\t{\n\t\t\treturn storeData;\n\t\t}\n\t\tif(ISSET(storeData.slices))\n\t\t{\n\t\t\tstoreData.reducer = storeData.slices;\n\t\t\tdelete storeData.slices;\n\t\t}\n\t\tlet sagaListeners = [];\n\t\tif(ISSET(storeData.reducer))\n\t\t{\n\t\t\tlet slices = storeData.reducer;\n\t\t\tif(typeof slices === 'object')\n\t\t\t{\n\t\t\t\tif(slices.name || slices.__lowentry_unfinished_slice)\n\t\t\t\t{\n\t\t\t\t\tslices = [slices];\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tlet slicesArray = [];\n\t\t\t\t\tLeUtils.each(slices, (slice, index) =>\n\t\t\t\t\t{\n\t\t\t\t\t\tif(!slice.name)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tslice.name = index;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tslicesArray.push(slice);\n\t\t\t\t\t});\n\t\t\t\t\tslices = slicesArray;\n\t\t\t\t}\n\t\t\t}\n\t\t\tslices = ARRAY(slices);\n\t\t\t\n\t\t\tlet initialState = {};\n\t\t\tlet reducerArrays = {};\n\t\t\tLeUtils.each(slices, (slice, index) =>\n\t\t\t{\n\t\t\t\tif(!slice.name)\n\t\t\t\t{\n\t\t\t\t\tslice.name = 'slice_' + index;\n\t\t\t\t}\n\t\t\t\tif(slice.__lowentry_unfinished_slice)\n\t\t\t\t{\n\t\t\t\t\tdelete slice.__lowentry_unfinished_slice;\n\t\t\t\t\tslice = LeRed.createSlice(slice);\n\t\t\t\t}\n\t\t\t\tinitialState[slice.name] = ((typeof slice.state === 'function') ? slice.state() : slice.state);\n\t\t\t\tLeUtils.each(slice.reducers, (reducer, reducerName) =>\n\t\t\t\t{\n\t\t\t\t\tconst fullReducerName = reducerName.startsWith('lowentrystore/') ? reducerName.substring('lowentrystore/'.length) : (slice.name + '/' + reducerName);\n\t\t\t\t\tif(typeof reducerArrays[fullReducerName] === 'undefined')\n\t\t\t\t\t{\n\t\t\t\t\t\treducerArrays[fullReducerName] = [];\n\t\t\t\t\t}\n\t\t\t\t\treducerArrays[fullReducerName].push(reducer);\n\t\t\t\t});\n\t\t\t\tLeUtils.each(slice.sagaListeners, (sagaListener, reducerName) =>\n\t\t\t\t{\n\t\t\t\t\tLeUtils.each(LeUtils.flattenArray(sagaListener), (listener) =>\n\t\t\t\t\t{\n\t\t\t\t\t\ttry\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsagaListeners.push(listener());\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch(e)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconsole.error('an error was thrown by your saga code, in slice \"' + slice.name + '\", action \"' + reducerName + '\":');\n\t\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t\t\n\t\t\tlet reducers = {};\n\t\t\tLeUtils.each(reducerArrays, (reducerArray, reducerName) =>\n\t\t\t{\n\t\t\t\treducerArray = LeUtils.flattenArray(reducerArray);\n\t\t\t\tif(reducerArray.length <= 0)\n\t\t\t\t{\n\t\t\t\t\treducers[reducerName] = reducerArray[0];\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\treducers[reducerName] = (...args) =>\n\t\t\t\t\t{\n\t\t\t\t\t\tLeUtils.each(reducerArray, (reducer) =>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttry\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treducer(...args);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcatch(e)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t});\n\t\t\t\n\t\t\tstoreData.reducer = RTK.createSlice({\n\t\t\t\tname: 'lowentrystore',\n\t\t\t\tinitialState:initialState,\n\t\t\t\treducers: reducers,\n\t\t\t}).reducer;\n\t\t}\n\t\tif(ISSET(storeData.state))\n\t\t{\n\t\t\tstoreData.preloadedState = storeData.state;\n\t\t\tdelete storeData.state;\n\t\t}\n\t\tif(ISSET(storeData.preloadedState))\n\t\t{\n\t\t\tstoreData.preloadedState = {reducer:storeData.preloadedState};\n\t\t}\n\t\t\n\t\tlet middleware = ARRAY(storeData.middleware);\n\t\tlet sagaMiddleware = null;\n\t\tif(sagaListeners.length > 0)\n\t\t{\n\t\t\tsagaMiddleware = ReduxSaga.default();\n\t\t\tmiddleware.push(sagaMiddleware);\n\t\t}\n\t\tstoreData.middleware = (getDefaultMiddleware) => getDefaultMiddleware().concat(...middleware);\n\t\t\n\t\tlet store = RTK.configureStore(storeData);\n\t\tstore.__lowentry_store__ = true;\n\t\tstore.state = () => store.getState().reducer;\n\t\t\n\t\tconst dispatch = store.dispatch;\n\t\t// noinspection JSValidateTypes\n\t\tstore.dispatch = (action) =>\n\t\t{\n\t\t\taction.__lowentry_dispatch__ = true;\n\t\t\tif(STRING(action.type).startsWith('lowentrystore/lowentryaction/'))\n\t\t\t{\n\t\t\t\taction.__lowentry_dispatch_result__ = [];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tdelete action.__lowentry_dispatch_result__;\n\t\t\t}\n\t\t\tdispatch(action);\n\t\t\tconst result = action.__lowentry_dispatch_result__;\n\t\t\tdelete action.__lowentry_dispatch_result__;\n\t\t\tdelete action.__lowentry_dispatch__;\n\t\t\treturn result;\n\t\t};\n\t\t\n\t\tif(sagaMiddleware !== null)\n\t\t{\n\t\t\tsagaMiddleware.run(function* ()\n\t\t\t{\n\t\t\t\tyield ReduxSagaEffects.all(sagaListeners);\n\t\t\t});\n\t\t}\n\t\treturn store;\n\t};\n\t\n\tLeRed.createAction = (id) =>\n\t{\n\t\treturn RTK.createAction('lowentrystore/lowentryaction/' + id);\n\t};\n\t\n\tLeRed.createSelector = (selectorsGenerator) =>\n\t{\n\t\treturn function(stateOfSlice)\n\t\t{\n\t\t\tconst state = this;\n\t\t\tconst selectors = selectorsGenerator.apply(state, [stateOfSlice]);\n\t\t\tlet selectorArgs = [];\n\t\t\t\n\t\t\tfor(let i = 0; i < selectors.length - 1; i++)\n\t\t\t{\n\t\t\t\tlet selectorsEntry = selectors[i];\n\t\t\t\tif(typeof selectorsEntry === 'function')\n\t\t\t\t{\n\t\t\t\t\tselectorsEntry = selectorsEntry.apply(state, [state]);\n\t\t\t\t}\n\t\t\t\tselectorArgs.push(selectorsEntry);\n\t\t\t}\n\t\t\t\n\t\t\tlet finalSelector = selectors[selectors.length - 1];\n\t\t\tif(typeof finalSelector === 'function')\n\t\t\t{\n\t\t\t\tfinalSelector = finalSelector.apply(state, selectorArgs);\n\t\t\t}\n\t\t\treturn finalSelector;\n\t\t};\n\t};\n\t\n\tLeRed.createCachedSelector = (selectorsGenerator, equalsComparator) =>\n\t{\n\t\tequalsComparator = fixEqualsComparator(equalsComparator, 'LeRed.createCachedSelector() was given an invalid comparator:');\n\t\tif(equalsComparator === false)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tlet previousSelectorArgs = null;\n\t\tlet previousFinalSelectorResult = null;\n\t\treturn function(stateOfSlice)\n\t\t{\n\t\t\tconst state = this;\n\t\t\tconst selectors = selectorsGenerator.apply(state, [stateOfSlice]);\n\t\t\tlet selectorArgs = [];\n\t\t\t\n\t\t\tfor(let i = 0; i < selectors.length - 1; i++)\n\t\t\t{\n\t\t\t\tlet selectorsEntry = selectors[i];\n\t\t\t\tif(typeof selectorsEntry === 'function')\n\t\t\t\t{\n\t\t\t\t\tselectorsEntry = selectorsEntry.apply(state, [state]);\n\t\t\t\t}\n\t\t\t\tselectorArgs.push(selectorsEntry);\n\t\t\t}\n\t\t\t\n\t\t\tlet finalSelector = selectors[selectors.length - 1];\n\t\t\tif(typeof finalSelector === 'function')\n\t\t\t{\n\t\t\t\tif(equalsComparator(previousSelectorArgs, selectorArgs))\n\t\t\t\t{\n\t\t\t\t\tfinalSelector = previousFinalSelectorResult;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tfinalSelector = finalSelector.apply(state, selectorArgs);\n\t\t\t\t\tpreviousSelectorArgs = selectorArgs;\n\t\t\t\t\tpreviousFinalSelectorResult = finalSelector;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn finalSelector;\n\t\t};\n\t};\n\t\n\tLeRed.createSlice = (slice) =>\n\t{\n\t\tif(Array.isArray(slice))\n\t\t{\n\t\t\tconst e = new Error('the given slice is an array (instead of an object)');\n\t\t\tconsole.error('an error was thrown by your LeRed.createSlice(...) code:');\n\t\t\tconsole.error(e);\n\t\t\tthrow e;\n\t\t}\n\t\tif(slice.name)\n\t\t{\n\t\t\tlet actions = {};\n\t\t\tlet reducers = {};\n\t\t\tlet sagas = {};\n\t\t\tlet sagaListeners = {};\n\t\t\tLeUtils.each(slice.actions, (reducer, reducerNames) =>\n\t\t\t{\n\t\t\t\tLeUtils.each(reducerNames.split(','), (reducerName) =>\n\t\t\t\t{\n\t\t\t\t\tif(reducerName.length <= 0)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tconst reducerAction = RTK.createAction((reducerName.startsWith('lowentrystore/') ? '' : ('lowentrystore/' + slice.name + '/')) + reducerName);\n\t\t\t\t\tactions[reducerName] = reducerAction;\n\t\t\t\t\tLeUtils.each(LeUtils.flattenArray(reducer), (reducer) =>\n\t\t\t\t\t{\n\t\t\t\t\t\tif(LeUtils.isGeneratorFunction(reducer))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst sagaListener = function* ()\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tyield ReduxSagaEffects.takeEvery(reducerAction, function* (action)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlet promiseResolve = null;\n\t\t\t\t\t\t\t\t\tlet promiseReject = null;\n\t\t\t\t\t\t\t\t\ttry\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tif(action.__lowentry_dispatch__ === true)\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tconst promise = new Promise((resolve, reject) =>\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tpromiseResolve = resolve;\n\t\t\t\t\t\t\t\t\t\t\t\tpromiseReject = reject;\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\tif(Array.isArray(action.__lowentry_dispatch_result__))\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tif(typeof promise !== 'undefined')\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\taction.__lowentry_dispatch_result__.push(promise);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\taction.__lowentry_dispatch_result__ = promise;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tconst result = yield reducer.apply(slice, [action.payload]);\n\t\t\t\t\t\t\t\t\t\tif(promiseResolve !== null)\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tpromiseResolve(result);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcatch(e)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tconsole.error('an error was thrown by your LeRed.createSlice(...) code, by slice \"' + slice.name + '\", action \"' + reducerName + '\":');\n\t\t\t\t\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\t\t\t\t\tif(promiseReject !== null)\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttry\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tpromiseReject(e);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tcatch(e2)\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tconsole.error(e2);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif(ISSET(sagas[reducerName]))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsagas[reducerName].push(reducer);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsagas[reducerName] = [reducer];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif(ISSET(sagaListeners[reducerName]))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsagaListeners[reducerName].push(sagaListener);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsagaListeners[reducerName] = [sagaListener];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst reducerFunction = (state, action) =>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttry\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tconst result = reducer.apply(state, [state[slice.name], action.payload]);\n\t\t\t\t\t\t\t\t\tif(action.__lowentry_dispatch__ === true)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tif(Array.isArray(action.__lowentry_dispatch_result__))\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tif(typeof result !== 'undefined')\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\taction.__lowentry_dispatch_result__.push(result);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\taction.__lowentry_dispatch_result__ = result;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch(e)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tconsole.error('an error was thrown by your LeRed.createSlice(...) code, by slice \"' + slice.name + '\", action \"' + reducerName + '\":');\n\t\t\t\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif(ISSET(reducers[reducerName]))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treducers[reducerName].push(reducerFunction);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treducers[reducerName] = [reducerFunction];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t\tslice.actions = actions;\n\t\t\tslice.reducers = reducers;\n\t\t\tslice.sagas = sagas;\n\t\t\tslice.sagaListeners = sagaListeners;\n\t\t\t\n\t\t\tlet selectors = {};\n\t\t\tLeUtils.each(slice.selectors, (selector, selectorName) =>\n\t\t\t{\n\t\t\t\tselectors[selectorName] = (state) =>\n\t\t\t\t{\n\t\t\t\t\ttry\n\t\t\t\t\t{\n\t\t\t\t\t\treturn selector.apply(state, [state[slice.name]]);\n\t\t\t\t\t}\n\t\t\t\t\tcatch(e)\n\t\t\t\t\t{\n\t\t\t\t\t\tconsole.error('an error was thrown by your LeRed.createSlice(...) code, by slice \"' + slice.name + '\", selector \"' + selectorName + '\":');\n\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t\tslice.selectors = selectors;\n\t\t\t\n\t\t\tlet getters = {};\n\t\t\tLeUtils.each(slice.getters, (getter, getterName) =>\n\t\t\t{\n\t\t\t\tgetters[getterName] = (...params) =>\n\t\t\t\t{\n\t\t\t\t\ttry\n\t\t\t\t\t{\n\t\t\t\t\t\tconst selector = getter(...params);\n\t\t\t\t\t\treturn (state) =>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttry\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treturn selector.apply(state, [state[slice.name]]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcatch(e)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tconsole.error('an error was thrown by your LeRed.createSlice(...) code, by slice \"' + slice.name + '\", getter \"' + getterName + '\":');\n\t\t\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\t\t\tthrow e;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\tcatch(e)\n\t\t\t\t\t{\n\t\t\t\t\t\tconsole.error('an error was thrown by your LeRed.createSlice(...) code, by slice \"' + slice.name + '\", getter \"' + getterName + '\":');\n\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t\tslice.getters = getters;\n\t\t\treturn slice;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tslice.__lowentry_unfinished_slice = true;\n\t\t\treturn slice;\n\t\t}\n\t};\n\t\n\tLeRed.createFastSlice = (slice) =>\n\t{\n\t\tif(Array.isArray(slice))\n\t\t{\n\t\t\tconst e = new Error('the given slice is an array (instead of an object)');\n\t\t\tconsole.error('an error was thrown by your LeRed.createFastSlice(...) code:');\n\t\t\tconsole.error(e);\n\t\t\tthrow e;\n\t\t}\n\t\t\n\t\tlet actions = {};\n\t\tLeUtils.each(slice.actions, (reducer, reducerName) =>\n\t\t{\n\t\t\tactions[reducerName] = (...params) => reducer.apply(slice, [slice.state, ...params]);\n\t\t});\n\t\tslice.actions = actions;\n\t\t\n\t\tlet selectors = {};\n\t\tLeUtils.each(slice.selectors, (selector, selectorName) =>\n\t\t{\n\t\t\tselectors[selectorName] = () => selector.apply(slice, [slice.state]);\n\t\t});\n\t\tslice.selectors = new Proxy(selectors, {\n\t\t\tget:(target, key) => (key in target) ? target[key]() : undefined,\n\t\t});\n\t\t\n\t\tlet getters = {};\n\t\tLeUtils.each(slice.getters, (selector, selectorName) =>\n\t\t{\n\t\t\tgetters[selectorName] = (...params) => selector.apply(slice, [slice.state, ...params]);\n\t\t});\n\t\tslice.getters = getters;\n\t\treturn slice;\n\t};\n\t\n\tLeRed.current = (obj) =>\n\t{\n\t\ttry\n\t\t{\n\t\t\treturn RTK.current(obj);\n\t\t}\n\t\tcatch(e)\n\t\t{\n\t\t}\n\t\treturn obj;\n\t};\n\t\n\tLeRed.useConfigureStore = (storeData) =>\n\t{\n\t\treturn LeRed.useMemo(() => LeRed.configureStore(storeData), [storeData]);\n\t};\n\t\n\tLeRed.useSelector = (selector, equalsComparator) =>\n\t{\n\t\tif(typeof selector !== 'function')\n\t\t{\n\t\t\tconsole.error('LeRed.useSelector() was given an invalid selector:');\n\t\t\tconsole.error(selector);\n\t\t\tselector = () =>\n\t\t\t{\n\t\t\t};\n\t\t}\n\t\tequalsComparator = fixEqualsComparator(equalsComparator, 'LeRed.useSelector() was given an invalid comparator:');\n\t\treturn ReactRedux.useSelector(selector, equalsComparator);\n\t};\n\t\n\tLeRed.useEffect = (callable, comparingValues, equalsComparator) =>\n\t{\n\t\tequalsComparator = fixEqualsComparator(equalsComparator, 'LeRed.useEffect() was given an invalid comparator:');\n\t\tcomparingValues = ARRAY(comparingValues);\n\t\t// eslint-disable-next-line react-hooks/rules-of-hooks\n\t\tcomparingValues = comparingValues.map(value => useCompareMemoize(value, equalsComparator));\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\treturn React.useEffect(callable, comparingValues);\n\t};\n\t\n\tLeRed.useEffectInterval = (callable, comparingValues, intervalMs, fireImmediately, equalsComparator) =>\n\t{\n\t\treturn LeRed.useEffect(() => LeUtils.setInterval(callable, intervalMs, fireImmediately).remove, [comparingValues, equalsComparator]);\n\t};\n\t\n\tLeRed.useEffectAnimationFrameInterval = (callable, comparingValues, intervalFrames, fireImmediately, equalsComparator) =>\n\t{\n\t\treturn LeRed.useEffect(() => LeUtils.setAnimationFrameInterval(callable, intervalFrames, fireImmediately).remove, [comparingValues, equalsComparator]);\n\t};\n\t\n\tLeRed.useEffectGenerator = (callable, comparingValues, intervalMs, fireImmediately, equalsComparator) =>\n\t{\n\t\treturn LeRed.useEffect(() =>\n\t\t{\n\t\t\tlet stop = false;\n\t\t\t\n\t\t\t(async () =>\n\t\t\t{\n\t\t\t\tfor(const promise of callable())\n\t\t\t\t{\n\t\t\t\t\tif(stop)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tawait promise;\n\t\t\t\t\tif(stop)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})();\n\t\t\t\n\t\t\treturn () =>\n\t\t\t{\n\t\t\t\tstop = true;\n\t\t\t};\n\t\t}, [comparingValues, equalsComparator]);\n\t};\n\t\n\tLeRed.useEffectGeneratorLoop = (callable, comparingValues, intervalMs, fireImmediately, equalsComparator) =>\n\t{\n\t\treturn LeRed.useEffect(() =>\n\t\t{\n\t\t\tlet stop = false;\n\t\t\t\n\t\t\t(async () =>\n\t\t\t{\n\t\t\t\twhile(!stop)\n\t\t\t\t{\n\t\t\t\t\tfor(const promise of callable())\n\t\t\t\t\t{\n\t\t\t\t\t\tif(stop)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tawait promise;\n\t\t\t\t\t\tif(stop)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})();\n\t\t\t\n\t\t\treturn () =>\n\t\t\t{\n\t\t\t\tstop = true;\n\t\t\t};\n\t\t}, [comparingValues, equalsComparator]);\n\t};\n\t\n\tLeRed.useEffectShutdown = (callable, comparingValues, equalsComparator) =>\n\t{\n\t\treturn LeRed.useEffect(() =>\n\t\t{\n\t\t\tconst run = () =>\n\t\t\t{\n\t\t\t\tcallable();\n\t\t\t};\n\t\t\t\n\t\t\tif(typeof window !== 'undefined')\n\t\t\t{\n\t\t\t\twindow.addEventListener('beforeunload', run, {capture:true});\n\t\t\t}\n\t\t\treturn () =>\n\t\t\t{\n\t\t\t\tif(typeof window !== 'undefined')\n\t\t\t\t{\n\t\t\t\t\twindow.removeEventListener('beforeunload', run, {capture:true});\n\t\t\t\t}\n\t\t\t\trun();\n\t\t\t};\n\t\t}, [comparingValues, equalsComparator]);\n\t};\n\t\n\tLeRed.useEffectPageFocusLost = (callable, comparingValues, equalsComparator) =>\n\t{\n\t\tconst events = ['pagehide', 'freeze', 'blur', 'visibilitychange'];\n\t\treturn LeRed.useEffect(() =>\n\t\t{\n\t\t\tif((typeof window === 'undefined'))\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t\n\t\t\tconst run = () =>\n\t\t\t{\n\t\t\t\tif(typeof document === 'undefined')\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif((document.visibilityState !== 'hidden') && document.hasFocus())\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcallable();\n\t\t\t};\n\t\t\t\n\t\t\tevents.forEach(type => window.addEventListener(type, run, {capture:true}));\n\t\t\treturn () =>\n\t\t\t{\n\t\t\t\tevents.forEach(type => window.removeEventListener(type, run, {capture:true}));\n\t\t\t};\n\t\t}, [comparingValues, equalsComparator]);\n\t};\n\t\n\tLeRed.memo = (component, equalsComparator) =>\n\t{\n\t\tequalsComparator = fixEqualsComparator(equalsComparator, 'LeRed.memo() was given an invalid comparator:');\n\t\treturn React.memo(component, equalsComparator);\n\t};\n\t\n\tLeRed.useMemo = (callable, comparingValues, equalsComparator) =>\n\t{\n\t\tequalsComparator = fixEqualsComparator(equalsComparator, 'LeRed.useMemo() was given an invalid comparator:');\n\t\tcomparingValues = ARRAY(comparingValues);\n\t\t// eslint-disable-next-line react-hooks/rules-of-hooks\n\t\tcomparingValues = comparingValues.map(value => useCompareMemoize(value, equalsComparator));\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\treturn React.useMemo(callable, comparingValues);\n\t};\n\t\n\tLeRed.useCallback = (callable, comparingValues, equalsComparator) =>\n\t{\n\t\tequalsComparator = fixEqualsComparator(equalsComparator, 'LeRed.useCallback() was given an invalid comparator:');\n\t\tcomparingValues = ARRAY(comparingValues);\n\t\t// eslint-disable-next-line react-hooks/rules-of-hooks\n\t\tcomparingValues = comparingValues.map(value => useCompareMemoize(value, equalsComparator));\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\treturn React.useCallback(callable, comparingValues);\n\t};\n\t\n\tLeRed.usePrevious = (value, initialValue) =>\n\t{\n\t\tconst ref = LeRed.useRef(initialValue);\n\t\tLeRed.useEffect(() =>\n\t\t{\n\t\t\tref.current = value;\n\t\t}, [value]);\n\t\treturn ref.current;\n\t};\n\t\n\tLeRed.useFont = (font) =>\n\t{\n\t\tfont = '12px ' + STRING(font).trim();\n\t\tconst [hasFont, setHasFont] = LeRed.useState(false);\n\t\tLeRed.useEffect(() =>\n\t\t{\n\t\t\tif(!hasFont)\n\t\t\t{\n\t\t\t\tif((typeof window === 'undefined') || !ISSET(document?.fonts?.check))\n\t\t\t\t{\n\t\t\t\t\tsetHasFont(true);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst handler = setInterval(() =>\n\t\t\t\t{\n\t\t\t\t\ttry\n\t\t\t\t\t{\n\t\t\t\t\t\tif(document.fonts.check(font))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclearInterval(handler);\n\t\t\t\t\t\t\tsetHasFont(true);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch(e)\n\t\t\t\t\t{\n\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\tclearInterval(handler);\n\t\t\t\t\t\tsetHasFont(true);\n\t\t\t\t\t}\n\t\t\t\t}, 30);\n\t\t\t}\n\t\t}, [hasFont]);\n\t\treturn hasFont;\n\t};\n\t\n\t/**\n\t * Adds a <script> tag to the <head> of the document.\n\t * Only for development and testing purposes.\n\t *\n\t * @param {string} url The URL of the js file to include.\n\t * @param {object} props Additional props of the <script> tag.\n\t */\n\tLeRed.useScript = (url, props = {}) =>\n\t{\n\t\treturn LeRed.useEffect(() =>\n\t\t{\n\t\t\tif((typeof window === 'undefined') || !document)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t\n\t\t\tconst script = document.createElement('script');\n\t\t\tscript.type = 'text/javascript';\n\t\t\tscript.src = url;\n\t\t\t\n\t\t\tLeUtils.each(props, (value, key) =>\n\t\t\t{\n\t\t\t\tscript.setAttribute(key, value);\n\t\t\t});\n\t\t\t\n\t\t\tdocument.head.appendChild(script);\n\t\t\treturn () => document.head.removeChild(script);\n\t\t}, [url, props]);\n\t};\n\t\n\tLeRed.mergeRefs = (...refs) =>\n\t{\n\t\trefs = LeUtils.flattenArray(refs);\n\t\tif(!refs)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t\t\n\t\tlet newRefs = [];\n\t\tLeUtils.each(refs, (ref) =>\n\t\t{\n\t\t\tif(ref)\n\t\t\t{\n\t\t\t\tnewRefs.push(ref);\n\t\t\t}\n\t\t});\n\t\trefs = newRefs;\n\t\t\n\t\tif(refs.length <= 0)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t\tif(refs.length === 1)\n\t\t{\n\t\t\treturn refs[0];\n\t\t}\n\t\treturn (inst) =>\n\t\t{\n\t\t\tLeUtils.each(refs, (ref) =>\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tif(typeof ref === 'function')\n\t\t\t\t\t{\n\t\t\t\t\t\tref(inst);\n\t\t\t\t\t}\n\t\t\t\t\telse if(ref)\n\t\t\t\t\t{\n\t\t\t\t\t\tref.current = inst;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcatch(e)\n\t\t\t\t{\n\t\t\t\t\tconsole.error(e);\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\t};\n\t\n\tLeRed.useTriggerable = (event) =>\n\t{\n\t\tconst [[value, uniqueId], setValue] = LeRed.useState([null, LeUtils.uniqueId()]);\n\t\t\n\t\tLeRed.useEffect(() =>\n\t\t{\n\t\t\tif(typeof window === 'undefined')\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t\n\t\t\tconst callback = (e) =>\n\t\t\t{\n\t\t\t\tsetValue([e?.detail, LeUtils.uniqueId()]);\n\t\t\t};\n\t\t\t\n\t\t\tconst eventName = 'lowentrytriggerable_' + event;\n\t\t\twindow.addEventListener(eventName, callback);\n\t\t\treturn () => window.removeEventListener(eventName, callback);\n\t\t}, []);\n\t\t\n\t\treturn value;\n\t};\n\t\n\tLeRed.trigger = (event, value) =>\n\t{\n\t\tif(typeof window === 'undefined')\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tconst eventName = 'lowentrytriggerable_' + event;\n\t\twindow.dispatchEvent(new CustomEvent(eventName, {detail:value}));\n\t};\n\t\n\t/**\n\t * A useState() hook that automatically resets to the defaultValue after the given duration.\n\t *\n\t * Example:\n\t *\n\t * ```js\n\t * const [value, setValue] = LeRed.useTempState(true, 2000);\n\t * // somewhere in your code:\n\t * setValue(false); // value is now false, after 2 seconds it will be reset to true\n\t * ```\n\t *\n\t * Repeated calls cause the timer to reset, meaning each set value will always remain for the full given duration.\n\t */\n\tLeRed.useTempState = (defaultValue, duration) =>\n\t{\n\t\tconst [value, setValue] = LeRed.useState(defaultValue);\n\t\tconst timeoutHandle = LeRed.useRef(null);\n\t\t\n\t\treturn [value, (newValue) =>\n\t\t{\n\t\t\tif(timeoutHandle.current)\n\t\t\t{\n\t\t\t\tclearTimeout(timeoutHandle.current);\n\t\t\t}\n\t\t\tsetValue(newValue);\n\t\t\ttimeoutHandle.current = setTimeout(() =>\n\t\t\t{\n\t\t\t\ttimeoutHandle.current = null;\n\t\t\t\tsetValue(defaultValue);\n\t\t\t}, duration);\n\t\t}];\n\t};\n\t\n\t/**\n\t * Allows you to listen to the browser history events (forwards, backwards) and execute a callback on those events.\n\t *\n\t * You pass 2 functions to it (the callbacks), and it also provides 2 functions (for manually going forwards and backwards).\n\t *\n\t * Usage:\n\t *\n\t * ```js\n\t * const [goForwards, goBackwards] = LeRed.useHistory(() => console.log('has gone forwards'), () => console.log('has gone backwards'));\n\t * ```\n\t */\n\tLeRed.useHistory = (() =>\n\t{\n\t\tlet historyStateListeners = [];\n\t\t\n\t\tif(typeof window !== 'undefined')\n\t\t{\n\t\t\twindow.addEventListener('popstate', () =>\n\t\t\t{\n\t\t\t\thistoryStateListeners.pop()?.callback();\n\t\t\t});\n\t\t}\n\t\t\n\t\tconst addListener = (callback) =>\n\t\t{\n\t\t\tconst id = LeUtils.uniqueId();\n\t\t\thistoryStateListeners.push({id, callback});\n\t\t\treturn id;\n\t\t};\n\t\t\n\t\tconst removeListener = (id) =>\n\t\t{\n\t\t\tif(!id)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\thistoryStateListeners = historyStateListeners.filter(listener => (listener.id !== id));\n\t\t};\n\t\t\n\t\treturn (onForward, onBack) =>\n\t\t{\n\t\t\tconst remaining = LeRed.useRef(0);\n\t\t\tconst id = LeRed.useRef(null);\n\t\t\t\n\t\t\tconst goBack = LeRed.useCallback(() =>\n\t\t\t{\n\t\t\t\tif(remaining.current <= 0)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tremaining.current--;\n\t\t\t\tif(remaining.current === 0)\n\t\t\t\t{\n\t\t\t\t\tif(id.current)\n\t\t\t\t\t{\n\t\t\t\t\t\tremoveListener(id.current);\n\t\t\t\t\t}\n\t\t\t\t\tid.current = null;\n\t\t\t\t}\n\t\t\t\tonBack();\n\t\t\t}, [onBack]);\n\t\t\t\n\t\t\treturn [\n\t\t\t\t() => /** do **/\n\t\t\t\t{\n\t\t\t\t\tLeRed.navigate('#');\n\t\t\t\t\tremaining.current++;\n\t\t\t\t\tif(remaining.current === 1)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(id.current)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tremoveListener(id.current);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tid.current = addListener(goBack);\n\t\t\t\t\t}\n\t\t\t\t\tonForward();\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t() => /** undo **/\n\t\t\t\t{\n\t\t\t\t\tif(remaining.current > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tLeRed.navigate(-1);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t];\n\t\t};\n\t})();\n\t\n\t/**\n\t * Similar to {@link LeRed.useHistory}, but this is specifically for toggling a boolean state between true and false. For example, for a modal, which you'd like to be closed when the user goes back in history.\n\t *\n\t * Example:\n\t *\n\t * ```js\n\t * const [isModalOpen, openModal, closeModal] = LeRed.useHistoryState(false); // you'd open it programmatically using openModal(), afterwards, if the user goes back in history, it will close again\n\t * ```\n\t *\n\t * or, if you'd like it to be true by default:\n\t *\n\t * ```js\n\t * const [isModalOpen, openModal, closeModal] = LeRed.useHistoryState(true); // you'd close it programmatically using closeModal(), afterwards, if the user goes back in history, it will open again\n\t * ```\n\t */\n\tLeRed.useHistoryState = (initialState) =>\n\t{\n\t\tconst [state, setState] = LeRed.useState(!!initialState);\n\t\tconst [forwards, backwards] = LeRed.useHistory(() => setState(!initialState), () => setState(!!initialState));\n\t\tif(!!initialState)\n\t\t{\n\t\t\treturn [state, backwards, forwards];\n\t\t}\n\t\treturn [state, forwards, backwards];\n\t};\n\t\n\t/**\n\t * Allows you to easily create an <pre><img></pre> url and onError handler that will automatically retry loading the image if it fails.\n\t */\n\tLeRed.useRetryingImageUrl = (url, options) =>\n\t{\n\t\turl = STRING(url);\n\t\tconst urlHasQ = url.includes('?');\n\t\t\n\t\tconst [imageUrl, setImageUrl] = LeRed.useState(url);\n\t\tconst retries = LeRed.useRef(0);\n\t\tconst timeout = LeRed.useRef({remove:() => undefined});\n\t\t\n\t\tLeRed.useEffect(() =>\n\t\t{\n\t\t\ttimeout.current.remove();\n\t\t\tretries.current = 0;\n\t\t\tsetImageUrl(url);\n\t\t}, [url]);\n\t\t\n\t\tconst onImageLoadError = LeRed.useCallback(() =>\n\t\t{\n\t\t\tif(retries.current < INT_LAX_ANY(options?.retries, 30))\n\t\t\t{\n\t\t\t\tconst defaultDelay = 100 + (50 * retries.current);\n\t\t\t\ttimeout.current.remove();\n\t\t\t\ttimeout.current = LeUtils.setTimeout(() =>\n\t\t\t\t{\n\t\t\t\t\tsetImageUrl(url + (urlHasQ ? '&' : '?') + (options?.queryParam || 'lowentryretryingimgversion') + '=' + (retries.current++));\n\t\t\t\t}, (typeof options?.delay === 'function') ? INT_LAX_ANY(options?.delay(retries.current), defaultDelay) : (INT_LAX_ANY(options?.delay, defaultDelay)));\n\t\t\t}\n\t\t}, [url, options]);\n\t\t\n\t\tconst onImageLoadErrorIgnored = LeRed.useCallback(() =>\n\t\t{\n\t\t}, []);\n\t\t\n\t\tif(!url)\n\t\t{\n\t\t\treturn [url, onImageLoadErrorIgnored];\n\t\t}\n\t\treturn [imageUrl, onImageLoadError];\n\t};\n\t\n\t/**\n\t * Allows you to easily convert promises to react hooks.\n\t *\n\t * The given callable should return promises. The returned promises can be an array, an object, or even a single promise. The returned data of this hook will match the promises it has operated on.\n\t *\n\t * The given comparingValues can be anything, this is used to detect whether the given promises have changed or not, and so whether new promises have to be generated and executed again.\n\t */\n\tLeRed.usePromises = (callable, comparingValues) =>\n\t{\n\t\tconst comparingValuesClone = LeUtils.clone(comparingValues);\n\t\tconst comparingValuesRef = LeRed.useRef(comparingValuesClone);\n\t\tconst latestComparingValuesRef = LeRed.useRef();\n\t\tlatestComparingValuesRef.current = comparingValuesClone;\n\t\t\n\t\tconst [data, setData] = LeRed.useState(null);\n\t\tconst [loading, setLoading] = LeRed.useState(true);\n\t\tconst [error, setError] = LeRed.useState(null);\n\t\t\n\t\tLeRed.useEffect(() =>\n\t\t{\n\t\t\tsetLoading(true);\n\t\t\tsetData(null);\n\t\t\tsetError(null);\n\t\t\t\n\t\t\ttry\n\t\t\t{\n\t\t\t\tconst promises = callable();\n\t\t\t\t\n\t\t\t\tconst promisesIsObject = IS_OBJECT(promises) && (typeof promises?.then !== 'function');\n\t\t\t\tconst promisesIsArray = IS_ARRAY(promises);\n\t\t\t\t\n\t\t\t\tlet promisesKeyed = [];\n\t\t\t\tif(promisesIsObject || promisesIsArray)\n\t\t\t\t{\n\t\t\t\t\tLeUtils.each(promises, (promise, key) =>\n\t\t\t\t\t{\n\t\t\t\t\t\tpromisesKeyed.push({promise, key});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tpromisesKeyed.push({promise:promises, key:undefined});\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tlet wrappedPromises = [];\n\t\t\t\tLeUtils.each(promisesKeyed, ({promise, key}) =>\n\t\t\t\t{\n\t\t\t\t\twrappedPromises.push(promise\n\t\t\t\t\t\t.then(async result => ({result, key})));\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\tPromise.all(wrappedPromises)\n\t\t\t\t\t.then(resultObjects =>\n\t\t\t\t\t{\n\t\t\t\t\t\tif(promisesIsObject)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlet results = {};\n\t\t\t\t\t\t\tLeUtils.each(resultObjects, ({result, key}) =>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tresults[key] = result;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(promisesIsArray)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlet results = [];\n\t\t\t\t\t\t\tLeUtils.each(resultObjects, ({result, key}) =>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tresults[key] = result;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn resultObjects.pop()?.result;\n\t\t\t\t\t})\n\t\t\t\t\t.then(results =>\n\t\t\t\t\t{\n\t\t\t\t\t\tif(!LeUtils.equals(latestComparingValuesRef.current, comparingValuesClone))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// canceled\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcomparingValuesRef.current = comparingValuesClone;\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\tsetData(results);\n\t\t\t\t\t\tsetError(null);\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error =>\n\t\t\t\t\t{\n\t\t\t\t\t\tif(!LeUtils.equals(latestComparingValuesRef.current, comparingValuesClone))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// canceled\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcomparingValuesRef.current = comparingValuesClone;\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\tsetData(null);\n\t\t\t\t\t\tsetError(LeUtils.purgeErrorMessage(error));\n\t\t\t\t\t});\n\t\t\t\t\n\t\t\t\treturn () =>\n\t\t\t\t{\n\t\t\t\t\tLeUtils.each(wrappedPromises, promise =>\n\t\t\t\t\t{\n\t\t\t\t\t\ttry\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpromise?.cancel?.();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch(e)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconsole.error('Failed to cancel the given promise:', e);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\ttry\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpromise?.remove?.();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch(e)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconsole.error('Failed to remove the given promise:', e);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t}\n\t\t\tcatch(error)\n\t\t\t{\n\t\t\t\tLeUtils.setAnimationFrameTimeout(() =>\n\t\t\t\t{\n\t\t\t\t\tif(!LeUtils.equals(latestComparingValuesRef.current, comparingValuesClone))\n\t\t\t\t\t{\n\t\t\t\t\t\t// canceled\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tcomparingValuesRef.current = comparingValuesClone;\n\t\t\t\t\tsetLoading(false);\n\t\t\t\t\tsetData(null);\n\t\t\t\t\tsetError(LeUtils.purgeErrorMessage(error));\n\t\t\t\t});\n\t\t\t}\n\t\t}, [comparingValuesClone]);\n\t\t\n\t\tif(!LeUtils.equals(comparingValuesRef.current, comparingValuesClone))\n\t\t{\n\t\t\treturn [null, true, null];\n\t\t}\n\t\treturn [data, loading, error];\n\t};\n\t\n\t/**\n\t * Allows you to easily obtain external data.\n\t */\n\tLeRed.useExternal = (url, options, responseFunction) =>\n\t{\n\t\treturn LeRed.usePromises(() =>\n\t\t{\n\t\t\tconst createFetch = (urlString) => LeUtils.fetch(STRING(urlString), {retries:3, ...(options ?? {})})\n\t\t\t\t.then(async response =>\n\t\t\t\t{\n\t\t\t\t\tconst data = await responseFunction(response);\n\t\t\t\t\tif(typeof options?.verify === 'function')\n\t\t\t\t\t{\n\t\t\t\t\t\tawait options.verify(data, response);\n\t\t\t\t\t}\n\t\t\t\t\treturn data;\n\t\t\t\t});\n\t\t\t\n\t\t\tif(IS_OBJECT(url))\n\t\t\t{\n\t\t\t\tlet promises = {};\n\t\t\t\tLeUtils.each(url, (urlString, key) =>\n\t\t\t\t{\n\t\t\t\t\tpromises[key] = createFetch(urlString);\n\t\t\t\t});\n\t\t\t\treturn promises;\n\t\t\t}\n\t\t\tif(IS_ARRAY(url))\n\t\t\t{\n\t\t\t\tlet promises = [];\n\t\t\t\tLeUtils.each(url, urlString =>\n\t\t\t\t{\n\t\t\t\t\tpromises.push(createFetch(urlString));\n\t\t\t\t});\n\t\t\t\treturn promises;\n\t\t\t}\n\t\t\treturn createFetch(url);\n\t\t}, [url, options, responseFunction]);\n\t};\n\t\n\t/**\n\t * Allows you to easily obtain external JSON data.\n\t */\n\tLeRed.useExternalJson = (url, options) =>\n\t{\n\t\tconst responseFunction = LeRed.useCallback(response => response.json(), []);\n\t\treturn LeRed.useExternal(url, options, responseFunction);\n\t};\n\t\n\t/**\n\t * Allows you to easily obtain external Blob data.\n\t */\n\tLeRed.useExternalBlob = (url, options) =>\n\t{\n\t\tconst responseFunction = LeRed.useCallback(response => response.blob(), []);\n\t\treturn LeRed.useExternal(url, options, responseFunction);\n\t};\n\t\n\t/**\n\t * Allows you to easily obtain external ArrayBuffer data.\n\t */\n\tLeRed.useExternalArrayBuffer = (url, options) =>\n\t{\n\t\tconst responseFunction = LeRed.useCallback(response => response.arrayBuffer(), []);\n\t\treturn LeRed.useExternal(url, options, responseFunction);\n\t};\n\t\n\t/**\n\t * Allows you to easily obtain external string data.\n\t */\n\tLeRed.useExternalString = (url, options) =>\n\t{\n\t\tconst responseFunction = LeRed.useCallback(response => response.text(), []);\n\t\treturn LeRed.useExternal(url, options, responseFunction);\n\t};\n\t\n\t/**\n\t * Allows you to easily obtain external form data.\n\t */\n\tLeRed.useExternalFormData = (url, options) =>\n\t{\n\t\tconst responseFunction = LeRed.useCallback(response => response.formData(), []);\n\t\treturn LeRed.useExternal(url, options, responseFunction);\n\t};\n\t\n\t\n\tLeRed.Root = LeRed.memo(({store, children, ...other}) =>\n\t{\n\t\tif(ISSET(store))\n\t\t{\n\t\t\tstore = LeRed.configureStore(store);\n\t\t\treturn (<ReactRedux.Provider store={store} {...other}>{children}</ReactRedux.Provider>);\n\t\t}\n\t\treturn children;\n\t});\n\t\n\tLeRed.PreloadComponent = (load) =>\n\t{\n\t\tif(typeof window !== 'undefined')\n\t\t{\n\t\t\tconst promise = load(); // start loading already, before it's being rendered in React\n\t\t\treturn () => promise;\n\t\t}\n\t\treturn load;\n\t};\n\t\n\tLeRed.LoadComponent = LeRed.memo(({loading, load, ...other}) =>\n\t{\n\t\tconst [Component, setComponent] = LeRed.useState(loading ?? null);\n\t\t\n\t\tLeRed.useEffect(() =>\n\t\t{\n\t\t\t(async () =>\n\t\t\t{\n\t\t\t\tconst LoadedComponent = (typeof load === 'function') ? await load() : await load;\n\t\t\t\tif(!LoadedComponent)\n\t\t\t\t{\n\t\t\t\t\tsetComponent(null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tsetComponent(<LoadedComponent {...other}/>);\n\t\t\t})();\n\t\t}, []);\n\t\t\n\t\treturn Component;\n\t});\n\t\n\t\n\tif(typeof Proxy === 'undefined')\n\t{\n\t\treturn LeRed;\n\t}\n\t\n\treturn new Proxy(LeRed, {\n\t\tset:(target, key, value) =>\n\t\t {\n\t\t\t LeRed.set(key, value);\n\t\t\t return true;\n\t\t },\n\t});\n})();\n"],"names":["LeRed","set","key","value","ignoreOverrides","arguments","length","undefined","keyFirstChar","charAt","toLowerCase","toUpperCase","console","error","warn","setAll","obj","optionalSkipHasOwnPropertyCheck","LeUtils","each","ReactDOM","ReduxSaga","effects","_objectSpread","ReduxSagaEffects","RTK","React","ReactRedux","delayFrames","frames","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","call","Promise","resolve","reject","setAnimationFrameTimeout","e","stop","interval","_callee2","callback","intervalMs","channel","_callee2$","_context2","eventChannel","emitter","setInterval","clearInterval","close","take","t0","cancelled","sent","t1","finish","fixEqualsComparator","equalsComparator","errorMessage","ISSET","FastDeepEqualReact","useCompareMemoize","ref","useRef","current","configureStore","storeData","__lowentry_store__","slices","reducer","sagaListeners","_typeof","name","__lowentry_unfinished_slice","slicesArray","slice","index","push","ARRAY","initialState","reducerArrays","createSlice","state","reducers","reducerName","fullReducerName","startsWith","substring","sagaListener","flattenArray","listener","reducerArray","_len","args","Array","_key","apply","preloadedState","middleware","sagaMiddleware","getDefaultMiddleware","_getDefaultMiddleware","concat","_toConsumableArray","store","getState","dispatch","action","__lowentry_dispatch__","STRING","type","__lowentry_dispatch_result__","result","run","_callee3","_callee3$","_context3","all","createAction","id","createSelector","selectorsGenerator","stateOfSlice","selectors","selectorArgs","i","selectorsEntry","finalSelector","createCachedSelector","previousSelectorArgs","previousFinalSelectorResult","isArray","Error","actions","sagas","reducerNames","split","reducerAction","isGeneratorFunction","sagaListener$","_context5","takeEvery","_callee4","promiseResolve","promiseReject","promise","_callee4$","_context4","payload","e2","reducerFunction","selector","selectorName","getters","getter","getterName","createFastSlice","_len2","params","_key2","Proxy","get","target","_len3","_key3","useConfigureStore","useMemo","useSelector","useEffect","callable","comparingValues","map","useEffectInterval","fireImmediately","remove","useEffectAnimationFrameInterval","intervalFrames","setAnimationFrameInterval","useEffectGenerator","_asyncToGenerator","_callee5","_iterator","_step","_callee5$","_context6","_createForOfIteratorHelper","s","n","done","abrupt","f","useEffectGeneratorLoop","_callee6","_iterator2","_step2","_callee6$","_context7","useEffectShutdown","window","addEventListener","capture","removeEventListener","useEffectPageFocusLost","events","document","visibilityState","hasFocus","forEach","memo","component","useCallback","usePrevious","initialValue","useFont","font","trim","_LeRed$useState","useState","_LeRed$useState2","_slicedToArray","hasFont","setHasFont","_document","fonts","check","handler","useScript","url","props","script","createElement","src","setAttribute","head","appendChild","removeChild","mergeRefs","_len4","refs","_key4","newRefs","inst","useTriggerable","event","_LeRed$useState3","uniqueId","_LeRed$useState4","_LeRed$useState4$","setValue","detail","eventName","trigger","dispatchEvent","CustomEvent","useTempState","defaultValue","duration","_LeRed$useState5","_LeRed$useState6","timeoutHandle","newValue","clearTimeout","setTimeout","useHistory","historyStateListeners","_historyStateListener","pop","addListener","removeListener","filter","onForward","onBack","remaining","goBack","navigate","useHistoryState","_LeRed$useState7","_LeRed$useState8","setState","_LeRed$useHistory","_LeRed$useHistory2","forwards","backwards","useRetryingImageUrl","options","urlHasQ","includes","_LeRed$useState9","_LeRed$useState10","imageUrl","setImageUrl","retries","timeout","onImageLoadError","INT_LAX_ANY","defaultDelay","queryParam","delay","onImageLoadErrorIgnored","usePromises","comparingValuesClone","clone","comparingValuesRef","latestComparingValuesRef","_LeRed$useState11","_LeRed$useState12","data","setData","_LeRed$useState13","_LeRed$useState14","loading","setLoading","_LeRed$useState15","_LeRed$useState16","setError","promises","promisesIsObject","IS_OBJECT","then","promisesIsArray","IS_ARRAY","promisesKeyed","wrappedPromises","_ref3","_ref4","_callee7","_callee7$","_context8","_x","resultObjects","_resultObjects$pop","results","_ref5","_ref6","equals","purgeErrorMessage","_promise$cancel","cancel","_promise$remove","useExternal","responseFunction","createFetch","urlString","fetch","_ref7","_callee8","response","_callee8$","_context9","verify","_x2","useExternalJson","json","useExternalBlob","blob","useExternalArrayBuffer","arrayBuffer","useExternalString","text","useExternalFormData","formData","Root","_ref8","children","other","_objectWithoutProperties","_excluded","Provider","_extends","PreloadComponent","load","LoadComponent","_ref9","_excluded2","_LeRed$useState17","_LeRed$useState18","Component","setComponent","_callee9","LoadedComponent","_callee9$","_context10"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["src/LeRed.jsx"],"sourcesContent":["import * as RTK from '@reduxjs/toolkit';\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport * as ReactRedux from 'react-redux';\nimport * as ReduxSaga from 'redux-saga';\nimport * as ReduxSagaEffects from 'redux-saga/effects';\nimport FastDeepEqualReact from 'fast-deep-equal/react';\nimport {LeUtils, ISSET, ARRAY, STRING, INT_LAX_ANY, IS_OBJECT, IS_ARRAY} from '@lowentry/utils';\n\nexport const LeRed = (() =>\n{\n\tconst LeRed = {};\n\t\n\t\n\ttry\n\t{\n\t\tconst set = (key, value, ignoreOverrides = false) =>\n\t\t{\n\t\t\tconst keyFirstChar = key.charAt(0);\n\t\t\tif(keyFirstChar === keyFirstChar.toLowerCase() && (keyFirstChar !== keyFirstChar.toUpperCase()))\n\t\t\t{\n\t\t\t\tif((key === 'default') || (key === 'version'))\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif((key === 'set') || (key === 'setAll'))\n\t\t\t\t{\n\t\t\t\t\tconsole.error('tried to override LeRed[\"' + key + '\"], which isn\\'t allowed, to:');\n\t\t\t\t\tconsole.error(value);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif((ignoreOverrides !== true) && (key in LeRed))\n\t\t\t\t{\n\t\t\t\t\tconsole.warn('LeRed[\"' + key + '\"] was overwritten, from:');\n\t\t\t\t\tconsole.warn(LeRed[key]);\n\t\t\t\t\tconsole.warn('to:');\n\t\t\t\t\tconsole.warn(value);\n\t\t\t\t}\n\t\t\t\tLeRed[key] = value;\n\t\t\t}\n\t\t};\n\t\tconst setAll = (obj, ignoreOverrides = false, optionalSkipHasOwnPropertyCheck = true) =>\n\t\t{\n\t\t\tLeUtils.each(obj, (value, key) =>\n\t\t\t{\n\t\t\t\tset(key, value, ignoreOverrides);\n\t\t\t}, optionalSkipHasOwnPropertyCheck);\n\t\t};\n\t\t\n\t\tLeRed.set = (key, value) => set(key, value, true);\n\t\tLeRed.setAll = (obj, optionalSkipHasOwnPropertyCheck = true) => setAll(obj, true, optionalSkipHasOwnPropertyCheck);\n\t\t\n\t\tsetAll(ReactDOM);\n\t\tsetAll(ReduxSaga);\n\t\tsetAll({effects:{...ReduxSagaEffects}});\n\t\tsetAll(RTK);\n\t\tsetAll(React);\n\t\tsetAll(ReactRedux);\n\t\t\n\t\tLeRed.effects.delayFrames = function* (frames = 1)\n\t\t{\n\t\t\tyield LeRed.effects.call(() =>\n\t\t\t{\n\t\t\t\treturn new Promise((resolve, reject) =>\n\t\t\t\t{\n\t\t\t\t\ttry\n\t\t\t\t\t{\n\t\t\t\t\t\tLeUtils.setAnimationFrameTimeout(resolve, frames);\n\t\t\t\t\t}\n\t\t\t\t\tcatch(e)\n\t\t\t\t\t{\n\t\t\t\t\t\treject(e);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\t\t\n\t\tLeRed.effects.interval = function* (callback, intervalMs)\n\t\t{\n\t\t\tlet channel = LeRed.eventChannel((emitter) =>\n\t\t\t{\n\t\t\t\tconst interval = setInterval(() =>\n\t\t\t\t{\n\t\t\t\t\temitter({});\n\t\t\t\t}, intervalMs);\n\t\t\t\treturn () =>\n\t\t\t\t{\n\t\t\t\t\tclearInterval(interval);\n\t\t\t\t};\n\t\t\t});\n\t\t\t\n\t\t\tconst stop = () =>\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tif(channel !== null)\n\t\t\t\t\t{\n\t\t\t\t\t\tchannel.close();\n\t\t\t\t\t\tchannel = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcatch(e)\n\t\t\t\t{\n\t\t\t\t\tconsole.error(e);\n\t\t\t\t}\n\t\t\t};\n\t\t\t\n\t\t\twhile(channel !== null)\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tyield LeRed.effects.take(channel);\n\t\t\t\t\tyield callback(stop);\n\t\t\t\t}\n\t\t\t\tcatch(e)\n\t\t\t\t{\n\t\t\t\t\tconsole.error(e);\n\t\t\t\t}\n\t\t\t\tfinally\n\t\t\t\t{\n\t\t\t\t\ttry\n\t\t\t\t\t{\n\t\t\t\t\t\tif(yield LeRed.effects.cancelled())\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tchannel.close();\n\t\t\t\t\t\t\tchannel = null;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch(e)\n\t\t\t\t\t{\n\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\tcatch(e)\n\t{\n\t\tconsole.error(e);\n\t}\n\t\n\t\n\tconst fixEqualsComparator = (equalsComparator, errorMessage) =>\n\t{\n\t\tif(ISSET(equalsComparator))\n\t\t{\n\t\t\tif(typeof equalsComparator !== 'function')\n\t\t\t{\n\t\t\t\tconsole.error(errorMessage);\n\t\t\t\tconsole.error(equalsComparator);\n\t\t\t\treturn FastDeepEqualReact;\n\t\t\t}\n\t\t\treturn equalsComparator;\n\t\t}\n\t\treturn FastDeepEqualReact;\n\t};\n\t\n\tconst useCompareMemoize = (value, equalsComparator) =>\n\t{\n\t\tconst ref = React.useRef();\n\t\tif(!equalsComparator(value, ref.current))\n\t\t{\n\t\t\tref.current = value;\n\t\t}\n\t\treturn ref.current;\n\t};\n\t\n\t\n\tLeRed.configureStore = (storeData) =>\n\t{\n\t\tif(storeData.__lowentry_store__ === true)\n\t\t{\n\t\t\treturn storeData;\n\t\t}\n\t\tif(ISSET(storeData.slices))\n\t\t{\n\t\t\tstoreData.reducer = storeData.slices;\n\t\t\tdelete storeData.slices;\n\t\t}\n\t\tlet sagaListeners = [];\n\t\tif(ISSET(storeData.reducer))\n\t\t{\n\t\t\tlet slices = storeData.reducer;\n\t\t\tif(typeof slices === 'object')\n\t\t\t{\n\t\t\t\tif(slices.name || slices.__lowentry_unfinished_slice)\n\t\t\t\t{\n\t\t\t\t\tslices = [slices];\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tlet slicesArray = [];\n\t\t\t\t\tLeUtils.each(slices, (slice, index) =>\n\t\t\t\t\t{\n\t\t\t\t\t\tif(!slice.name)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tslice.name = index;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tslicesArray.push(slice);\n\t\t\t\t\t});\n\t\t\t\t\tslices = slicesArray;\n\t\t\t\t}\n\t\t\t}\n\t\t\tslices = ARRAY(slices);\n\t\t\t\n\t\t\tlet initialState = {};\n\t\t\tlet reducerArrays = {};\n\t\t\tLeUtils.each(slices, (slice, index) =>\n\t\t\t{\n\t\t\t\tif(!slice.name)\n\t\t\t\t{\n\t\t\t\t\tslice.name = 'slice_' + index;\n\t\t\t\t}\n\t\t\t\tif(slice.__lowentry_unfinished_slice)\n\t\t\t\t{\n\t\t\t\t\tdelete slice.__lowentry_unfinished_slice;\n\t\t\t\t\tslice = LeRed.createSlice(slice);\n\t\t\t\t}\n\t\t\t\tinitialState[slice.name] = ((typeof slice.state === 'function') ? slice.state() : slice.state);\n\t\t\t\tLeUtils.each(slice.reducers, (reducer, reducerName) =>\n\t\t\t\t{\n\t\t\t\t\tconst fullReducerName = reducerName.startsWith('lowentrystore/') ? reducerName.substring('lowentrystore/'.length) : (slice.name + '/' + reducerName);\n\t\t\t\t\tif(typeof reducerArrays[fullReducerName] === 'undefined')\n\t\t\t\t\t{\n\t\t\t\t\t\treducerArrays[fullReducerName] = [];\n\t\t\t\t\t}\n\t\t\t\t\treducerArrays[fullReducerName].push(reducer);\n\t\t\t\t});\n\t\t\t\tLeUtils.each(slice.sagaListeners, (sagaListener, reducerName) =>\n\t\t\t\t{\n\t\t\t\t\tLeUtils.each(LeUtils.flattenArray(sagaListener), (listener) =>\n\t\t\t\t\t{\n\t\t\t\t\t\ttry\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsagaListeners.push(listener());\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch(e)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconsole.error('an error was thrown by your saga code, in slice \"' + slice.name + '\", action \"' + reducerName + '\":');\n\t\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t\t\n\t\t\tlet reducers = {};\n\t\t\tLeUtils.each(reducerArrays, (reducerArray, reducerName) =>\n\t\t\t{\n\t\t\t\treducerArray = LeUtils.flattenArray(reducerArray);\n\t\t\t\tif(reducerArray.length <= 0)\n\t\t\t\t{\n\t\t\t\t\treducers[reducerName] = reducerArray[0];\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\treducers[reducerName] = (...args) =>\n\t\t\t\t\t{\n\t\t\t\t\t\tLeUtils.each(reducerArray, (reducer) =>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttry\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treducer(...args);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcatch(e)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t});\n\t\t\t\n\t\t\tstoreData.reducer = RTK.createSlice({\n\t\t\t\tname: 'lowentrystore',\n\t\t\t\tinitialState:initialState,\n\t\t\t\treducers: reducers,\n\t\t\t}).reducer;\n\t\t}\n\t\tif(ISSET(storeData.state))\n\t\t{\n\t\t\tstoreData.preloadedState = storeData.state;\n\t\t\tdelete storeData.state;\n\t\t}\n\t\tif(ISSET(storeData.preloadedState))\n\t\t{\n\t\t\tstoreData.preloadedState = {reducer:storeData.preloadedState};\n\t\t}\n\t\t\n\t\tlet middleware = ARRAY(storeData.middleware);\n\t\tlet sagaMiddleware = null;\n\t\tif(sagaListeners.length > 0)\n\t\t{\n\t\t\tsagaMiddleware = ReduxSaga.default();\n\t\t\tmiddleware.push(sagaMiddleware);\n\t\t}\n\t\tstoreData.middleware = (getDefaultMiddleware) => getDefaultMiddleware().concat(...middleware);\n\t\t\n\t\tlet store = RTK.configureStore(storeData);\n\t\tstore.__lowentry_store__ = true;\n\t\tstore.state = () => store.getState().reducer;\n\t\t\n\t\tconst dispatch = store.dispatch;\n\t\t// noinspection JSValidateTypes\n\t\tstore.dispatch = (action) =>\n\t\t{\n\t\t\taction.__lowentry_dispatch__ = true;\n\t\t\tif(STRING(action.type).startsWith('lowentrystore/lowentryaction/'))\n\t\t\t{\n\t\t\t\taction.__lowentry_dispatch_result__ = [];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tdelete action.__lowentry_dispatch_result__;\n\t\t\t}\n\t\t\tdispatch(action);\n\t\t\tconst result = action.__lowentry_dispatch_result__;\n\t\t\tdelete action.__lowentry_dispatch_result__;\n\t\t\tdelete action.__lowentry_dispatch__;\n\t\t\treturn result;\n\t\t};\n\t\t\n\t\tif(sagaMiddleware !== null)\n\t\t{\n\t\t\tsagaMiddleware.run(function* ()\n\t\t\t{\n\t\t\t\tyield ReduxSagaEffects.all(sagaListeners);\n\t\t\t});\n\t\t}\n\t\treturn store;\n\t};\n\t\n\tLeRed.createAction = (id) =>\n\t{\n\t\treturn RTK.createAction('lowentrystore/lowentryaction/' + id);\n\t};\n\t\n\tLeRed.createSelector = (selectorsGenerator) =>\n\t{\n\t\treturn function(stateOfSlice)\n\t\t{\n\t\t\tconst state = this;\n\t\t\tconst selectors = selectorsGenerator.apply(state, [stateOfSlice]);\n\t\t\tlet selectorArgs = [];\n\t\t\t\n\t\t\tfor(let i = 0; i < selectors.length - 1; i++)\n\t\t\t{\n\t\t\t\tlet selectorsEntry = selectors[i];\n\t\t\t\tif(typeof selectorsEntry === 'function')\n\t\t\t\t{\n\t\t\t\t\tselectorsEntry = selectorsEntry.apply(state, [state]);\n\t\t\t\t}\n\t\t\t\tselectorArgs.push(selectorsEntry);\n\t\t\t}\n\t\t\t\n\t\t\tlet finalSelector = selectors[selectors.length - 1];\n\t\t\tif(typeof finalSelector === 'function')\n\t\t\t{\n\t\t\t\tfinalSelector = finalSelector.apply(state, selectorArgs);\n\t\t\t}\n\t\t\treturn finalSelector;\n\t\t};\n\t};\n\t\n\tLeRed.createCachedSelector = (selectorsGenerator, equalsComparator) =>\n\t{\n\t\tequalsComparator = fixEqualsComparator(equalsComparator, 'LeRed.createCachedSelector() was given an invalid comparator:');\n\t\tif(equalsComparator === false)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tlet previousSelectorArgs = null;\n\t\tlet previousFinalSelectorResult = null;\n\t\treturn function(stateOfSlice)\n\t\t{\n\t\t\tconst state = this;\n\t\t\tconst selectors = selectorsGenerator.apply(state, [stateOfSlice]);\n\t\t\tlet selectorArgs = [];\n\t\t\t\n\t\t\tfor(let i = 0; i < selectors.length - 1; i++)\n\t\t\t{\n\t\t\t\tlet selectorsEntry = selectors[i];\n\t\t\t\tif(typeof selectorsEntry === 'function')\n\t\t\t\t{\n\t\t\t\t\tselectorsEntry = selectorsEntry.apply(state, [state]);\n\t\t\t\t}\n\t\t\t\tselectorArgs.push(selectorsEntry);\n\t\t\t}\n\t\t\t\n\t\t\tlet finalSelector = selectors[selectors.length - 1];\n\t\t\tif(typeof finalSelector === 'function')\n\t\t\t{\n\t\t\t\tif(equalsComparator(previousSelectorArgs, selectorArgs))\n\t\t\t\t{\n\t\t\t\t\tfinalSelector = previousFinalSelectorResult;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tfinalSelector = finalSelector.apply(state, selectorArgs);\n\t\t\t\t\tpreviousSelectorArgs = selectorArgs;\n\t\t\t\t\tpreviousFinalSelectorResult = finalSelector;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn finalSelector;\n\t\t};\n\t};\n\t\n\tLeRed.createSlice = (slice) =>\n\t{\n\t\tif(Array.isArray(slice))\n\t\t{\n\t\t\tconst e = new Error('the given slice is an array (instead of an object)');\n\t\t\tconsole.error('an error was thrown by your LeRed.createSlice(...) code:');\n\t\t\tconsole.error(e);\n\t\t\tthrow e;\n\t\t}\n\t\tif(slice.name)\n\t\t{\n\t\t\tlet actions = {};\n\t\t\tlet reducers = {};\n\t\t\tlet sagas = {};\n\t\t\tlet sagaListeners = {};\n\t\t\tLeUtils.each(slice.actions, (reducer, reducerNames) =>\n\t\t\t{\n\t\t\t\tLeUtils.each(reducerNames.split(','), (reducerName) =>\n\t\t\t\t{\n\t\t\t\t\tif(reducerName.length <= 0)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tconst reducerAction = RTK.createAction((reducerName.startsWith('lowentrystore/') ? '' : ('lowentrystore/' + slice.name + '/')) + reducerName);\n\t\t\t\t\tactions[reducerName] = reducerAction;\n\t\t\t\t\tLeUtils.each(LeUtils.flattenArray(reducer), (reducer) =>\n\t\t\t\t\t{\n\t\t\t\t\t\tif(LeUtils.isGeneratorFunction(reducer))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst sagaListener = function* ()\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tyield ReduxSagaEffects.takeEvery(reducerAction, function* (action)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlet promiseResolve = null;\n\t\t\t\t\t\t\t\t\tlet promiseReject = null;\n\t\t\t\t\t\t\t\t\ttry\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tif(action.__lowentry_dispatch__ === true)\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tconst promise = new Promise((resolve, reject) =>\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tpromiseResolve = resolve;\n\t\t\t\t\t\t\t\t\t\t\t\tpromiseReject = reject;\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\tif(Array.isArray(action.__lowentry_dispatch_result__))\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tif(typeof promise !== 'undefined')\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\taction.__lowentry_dispatch_result__.push(promise);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\taction.__lowentry_dispatch_result__ = promise;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tconst result = yield reducer.apply(slice, [action.payload]);\n\t\t\t\t\t\t\t\t\t\tif(promiseResolve !== null)\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tpromiseResolve(result);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcatch(e)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tconsole.error('an error was thrown by your LeRed.createSlice(...) code, by slice \"' + slice.name + '\", action \"' + reducerName + '\":');\n\t\t\t\t\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\t\t\t\t\tif(promiseReject !== null)\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttry\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tpromiseReject(e);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tcatch(e2)\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tconsole.error(e2);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif(ISSET(sagas[reducerName]))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsagas[reducerName].push(reducer);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsagas[reducerName] = [reducer];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif(ISSET(sagaListeners[reducerName]))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsagaListeners[reducerName].push(sagaListener);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsagaListeners[reducerName] = [sagaListener];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst reducerFunction = (state, action) =>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttry\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tconst result = reducer.apply(state, [state[slice.name], action.payload]);\n\t\t\t\t\t\t\t\t\tif(action.__lowentry_dispatch__ === true)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tif(Array.isArray(action.__lowentry_dispatch_result__))\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tif(typeof result !== 'undefined')\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\taction.__lowentry_dispatch_result__.push(result);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\taction.__lowentry_dispatch_result__ = result;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch(e)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tconsole.error('an error was thrown by your LeRed.createSlice(...) code, by slice \"' + slice.name + '\", action \"' + reducerName + '\":');\n\t\t\t\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif(ISSET(reducers[reducerName]))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treducers[reducerName].push(reducerFunction);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treducers[reducerName] = [reducerFunction];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t\tslice.actions = actions;\n\t\t\tslice.reducers = reducers;\n\t\t\tslice.sagas = sagas;\n\t\t\tslice.sagaListeners = sagaListeners;\n\t\t\t\n\t\t\tlet selectors = {};\n\t\t\tLeUtils.each(slice.selectors, (selector, selectorName) =>\n\t\t\t{\n\t\t\t\tselectors[selectorName] = (state) =>\n\t\t\t\t{\n\t\t\t\t\ttry\n\t\t\t\t\t{\n\t\t\t\t\t\treturn selector.apply(state, [state[slice.name]]);\n\t\t\t\t\t}\n\t\t\t\t\tcatch(e)\n\t\t\t\t\t{\n\t\t\t\t\t\tconsole.error('an error was thrown by your LeRed.createSlice(...) code, by slice \"' + slice.name + '\", selector \"' + selectorName + '\":');\n\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t\tslice.selectors = selectors;\n\t\t\t\n\t\t\tlet getters = {};\n\t\t\tLeUtils.each(slice.getters, (getter, getterName) =>\n\t\t\t{\n\t\t\t\tgetters[getterName] = (...params) =>\n\t\t\t\t{\n\t\t\t\t\ttry\n\t\t\t\t\t{\n\t\t\t\t\t\tconst selector = getter(...params);\n\t\t\t\t\t\treturn (state) =>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttry\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treturn selector.apply(state, [state[slice.name]]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcatch(e)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tconsole.error('an error was thrown by your LeRed.createSlice(...) code, by slice \"' + slice.name + '\", getter \"' + getterName + '\":');\n\t\t\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\t\t\tthrow e;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\tcatch(e)\n\t\t\t\t\t{\n\t\t\t\t\t\tconsole.error('an error was thrown by your LeRed.createSlice(...) code, by slice \"' + slice.name + '\", getter \"' + getterName + '\":');\n\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t\tslice.getters = getters;\n\t\t\treturn slice;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tslice.__lowentry_unfinished_slice = true;\n\t\t\treturn slice;\n\t\t}\n\t};\n\t\n\tLeRed.createFastSlice = (slice) =>\n\t{\n\t\tif(Array.isArray(slice))\n\t\t{\n\t\t\tconst e = new Error('the given slice is an array (instead of an object)');\n\t\t\tconsole.error('an error was thrown by your LeRed.createFastSlice(...) code:');\n\t\t\tconsole.error(e);\n\t\t\tthrow e;\n\t\t}\n\t\t\n\t\tlet actions = {};\n\t\tLeUtils.each(slice.actions, (reducer, reducerName) =>\n\t\t{\n\t\t\tactions[reducerName] = (...params) => reducer.apply(slice, [slice.state, ...params]);\n\t\t});\n\t\tslice.actions = actions;\n\t\t\n\t\tlet selectors = {};\n\t\tLeUtils.each(slice.selectors, (selector, selectorName) =>\n\t\t{\n\t\t\tselectors[selectorName] = () => selector.apply(slice, [slice.state]);\n\t\t});\n\t\tslice.selectors = new Proxy(selectors, {\n\t\t\tget:(target, key) => (key in target) ? target[key]() : undefined,\n\t\t});\n\t\t\n\t\tlet getters = {};\n\t\tLeUtils.each(slice.getters, (selector, selectorName) =>\n\t\t{\n\t\t\tgetters[selectorName] = (...params) => selector.apply(slice, [slice.state, ...params]);\n\t\t});\n\t\tslice.getters = getters;\n\t\treturn slice;\n\t};\n\t\n\tLeRed.current = (obj) =>\n\t{\n\t\ttry\n\t\t{\n\t\t\treturn RTK.current(obj);\n\t\t}\n\t\tcatch(e)\n\t\t{\n\t\t}\n\t\treturn obj;\n\t};\n\t\n\tLeRed.useConfigureStore = (storeData) =>\n\t{\n\t\treturn LeRed.useMemo(() => LeRed.configureStore(storeData), [storeData]);\n\t};\n\t\n\tLeRed.useSelector = (selector, equalsComparator) =>\n\t{\n\t\tif(typeof selector !== 'function')\n\t\t{\n\t\t\tconsole.error('LeRed.useSelector() was given an invalid selector:');\n\t\t\tconsole.error(selector);\n\t\t\tselector = () =>\n\t\t\t{\n\t\t\t};\n\t\t}\n\t\tequalsComparator = fixEqualsComparator(equalsComparator, 'LeRed.useSelector() was given an invalid comparator:');\n\t\treturn ReactRedux.useSelector(selector, equalsComparator);\n\t};\n\t\n\tLeRed.useEffect = (callable, comparingValues, equalsComparator) =>\n\t{\n\t\tequalsComparator = fixEqualsComparator(equalsComparator, 'LeRed.useEffect() was given an invalid comparator:');\n\t\tcomparingValues = ARRAY(comparingValues);\n\t\t// eslint-disable-next-line react-hooks/rules-of-hooks\n\t\tcomparingValues = comparingValues.map(value => useCompareMemoize(value, equalsComparator));\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\treturn React.useEffect(callable, comparingValues);\n\t};\n\t\n\tLeRed.useEffectInterval = (callable, comparingValues, intervalMs, fireImmediately, equalsComparator) =>\n\t{\n\t\treturn LeRed.useEffect(() => LeUtils.setInterval(callable, intervalMs, fireImmediately).remove, [comparingValues, equalsComparator]);\n\t};\n\t\n\tLeRed.useEffectAnimationFrameInterval = (callable, comparingValues, intervalFrames, fireImmediately, equalsComparator) =>\n\t{\n\t\treturn LeRed.useEffect(() => LeUtils.setAnimationFrameInterval(callable, intervalFrames, fireImmediately).remove, [comparingValues, equalsComparator]);\n\t};\n\t\n\tLeRed.useEffectGenerator = (callable, comparingValues, intervalMs, fireImmediately, equalsComparator) =>\n\t{\n\t\treturn LeRed.useEffect(() =>\n\t\t{\n\t\t\tlet stop = false;\n\t\t\t\n\t\t\t(async () =>\n\t\t\t{\n\t\t\t\tfor(const promise of callable())\n\t\t\t\t{\n\t\t\t\t\tif(stop)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tawait promise;\n\t\t\t\t\tif(stop)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})();\n\t\t\t\n\t\t\treturn () =>\n\t\t\t{\n\t\t\t\tstop = true;\n\t\t\t};\n\t\t}, [comparingValues, equalsComparator]);\n\t};\n\t\n\tLeRed.useEffectGeneratorLoop = (callable, comparingValues, intervalMs, fireImmediately, equalsComparator) =>\n\t{\n\t\treturn LeRed.useEffect(() =>\n\t\t{\n\t\t\tlet stop = false;\n\t\t\t\n\t\t\t(async () =>\n\t\t\t{\n\t\t\t\twhile(!stop)\n\t\t\t\t{\n\t\t\t\t\tfor(const promise of callable())\n\t\t\t\t\t{\n\t\t\t\t\t\tif(stop)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tawait promise;\n\t\t\t\t\t\tif(stop)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})();\n\t\t\t\n\t\t\treturn () =>\n\t\t\t{\n\t\t\t\tstop = true;\n\t\t\t};\n\t\t}, [comparingValues, equalsComparator]);\n\t};\n\t\n\tLeRed.useEffectShutdown = (callable, comparingValues, equalsComparator) =>\n\t{\n\t\treturn LeRed.useEffect(() =>\n\t\t{\n\t\t\tconst run = () =>\n\t\t\t{\n\t\t\t\tcallable();\n\t\t\t};\n\t\t\t\n\t\t\tif(typeof window !== 'undefined')\n\t\t\t{\n\t\t\t\twindow.addEventListener('beforeunload', run, {capture:true});\n\t\t\t}\n\t\t\treturn () =>\n\t\t\t{\n\t\t\t\tif(typeof window !== 'undefined')\n\t\t\t\t{\n\t\t\t\t\twindow.removeEventListener('beforeunload', run, {capture:true});\n\t\t\t\t}\n\t\t\t\trun();\n\t\t\t};\n\t\t}, [comparingValues, equalsComparator]);\n\t};\n\t\n\tLeRed.useEffectPageFocusLost = (callable, comparingValues, equalsComparator) =>\n\t{\n\t\tconst events = ['pagehide', 'freeze', 'blur', 'visibilitychange'];\n\t\treturn LeRed.useEffect(() =>\n\t\t{\n\t\t\tif((typeof window === 'undefined'))\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t\n\t\t\tconst run = () =>\n\t\t\t{\n\t\t\t\tif(typeof document === 'undefined')\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif((document.visibilityState !== 'hidden') && document.hasFocus())\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcallable();\n\t\t\t};\n\t\t\t\n\t\t\tevents.forEach(type => window.addEventListener(type, run, {capture:true}));\n\t\t\treturn () =>\n\t\t\t{\n\t\t\t\tevents.forEach(type => window.removeEventListener(type, run, {capture:true}));\n\t\t\t};\n\t\t}, [comparingValues, equalsComparator]);\n\t};\n\t\n\tLeRed.memo = (component, equalsComparator) =>\n\t{\n\t\tequalsComparator = fixEqualsComparator(equalsComparator, 'LeRed.memo() was given an invalid comparator:');\n\t\treturn React.memo(component, equalsComparator);\n\t};\n\t\n\tLeRed.useMemo = (callable, comparingValues, equalsComparator) =>\n\t{\n\t\tequalsComparator = fixEqualsComparator(equalsComparator, 'LeRed.useMemo() was given an invalid comparator:');\n\t\tcomparingValues = ARRAY(comparingValues);\n\t\t// eslint-disable-next-line react-hooks/rules-of-hooks\n\t\tcomparingValues = comparingValues.map(value => useCompareMemoize(value, equalsComparator));\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\treturn React.useMemo(callable, comparingValues);\n\t};\n\t\n\tLeRed.useCallback = (callable, comparingValues, equalsComparator) =>\n\t{\n\t\tequalsComparator = fixEqualsComparator(equalsComparator, 'LeRed.useCallback() was given an invalid comparator:');\n\t\tcomparingValues = ARRAY(comparingValues);\n\t\t// eslint-disable-next-line react-hooks/rules-of-hooks\n\t\tcomparingValues = comparingValues.map(value => useCompareMemoize(value, equalsComparator));\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\treturn React.useCallback(callable, comparingValues);\n\t};\n\t\n\tLeRed.usePrevious = (value, initialValue) =>\n\t{\n\t\tconst ref = LeRed.useRef(initialValue);\n\t\tLeRed.useEffect(() =>\n\t\t{\n\t\t\tref.current = value;\n\t\t}, [value]);\n\t\treturn ref.current;\n\t};\n\t\n\tLeRed.useFont = (font) =>\n\t{\n\t\tfont = '12px ' + STRING(font).trim();\n\t\tconst [hasFont, setHasFont] = LeRed.useState(false);\n\t\tLeRed.useEffect(() =>\n\t\t{\n\t\t\tif(!hasFont)\n\t\t\t{\n\t\t\t\tif((typeof window === 'undefined') || !ISSET(document?.fonts?.check))\n\t\t\t\t{\n\t\t\t\t\tsetHasFont(true);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst handler = setInterval(() =>\n\t\t\t\t{\n\t\t\t\t\ttry\n\t\t\t\t\t{\n\t\t\t\t\t\tif(document.fonts.check(font))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclearInterval(handler);\n\t\t\t\t\t\t\tsetHasFont(true);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch(e)\n\t\t\t\t\t{\n\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\tclearInterval(handler);\n\t\t\t\t\t\tsetHasFont(true);\n\t\t\t\t\t}\n\t\t\t\t}, 30);\n\t\t\t}\n\t\t}, [hasFont]);\n\t\treturn hasFont;\n\t};\n\t\n\t/**\n\t * Adds a <script> tag to the <head> of the document.\n\t * Only for development and testing purposes.\n\t *\n\t * @param {string} url The URL of the js file to include.\n\t * @param {object} props Additional props of the <script> tag.\n\t */\n\tLeRed.useScript = (url, props = {}) =>\n\t{\n\t\treturn LeRed.useEffect(() =>\n\t\t{\n\t\t\tif((typeof window === 'undefined') || !document)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t\n\t\t\tconst script = document.createElement('script');\n\t\t\tscript.type = 'text/javascript';\n\t\t\tscript.src = url;\n\t\t\t\n\t\t\tLeUtils.each(props, (value, key) =>\n\t\t\t{\n\t\t\t\tscript.setAttribute(key, value);\n\t\t\t});\n\t\t\t\n\t\t\tdocument.head.appendChild(script);\n\t\t\treturn () => document.head.removeChild(script);\n\t\t}, [url, props]);\n\t};\n\t\n\tLeRed.mergeRefs = (...refs) =>\n\t{\n\t\trefs = LeUtils.flattenArray(refs);\n\t\tif(!refs)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t\t\n\t\tlet newRefs = [];\n\t\tLeUtils.each(refs, (ref) =>\n\t\t{\n\t\t\tif(ref)\n\t\t\t{\n\t\t\t\tnewRefs.push(ref);\n\t\t\t}\n\t\t});\n\t\trefs = newRefs;\n\t\t\n\t\tif(refs.length <= 0)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t\tif(refs.length === 1)\n\t\t{\n\t\t\treturn refs[0];\n\t\t}\n\t\treturn (inst) =>\n\t\t{\n\t\t\tLeUtils.each(refs, (ref) =>\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tif(typeof ref === 'function')\n\t\t\t\t\t{\n\t\t\t\t\t\tref(inst);\n\t\t\t\t\t}\n\t\t\t\t\telse if(ref)\n\t\t\t\t\t{\n\t\t\t\t\t\tref.current = inst;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcatch(e)\n\t\t\t\t{\n\t\t\t\t\tconsole.error(e);\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\t};\n\t\n\tLeRed.useTriggerable = (event) =>\n\t{\n\t\tconst [[value, uniqueId], setValue] = LeRed.useState([null, LeUtils.uniqueId()]);\n\t\t\n\t\tLeRed.useEffect(() =>\n\t\t{\n\t\t\tif(typeof window === 'undefined')\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t\n\t\t\tconst callback = (e) =>\n\t\t\t{\n\t\t\t\tsetValue([e?.detail, LeUtils.uniqueId()]);\n\t\t\t};\n\t\t\t\n\t\t\tconst eventName = 'lowentrytriggerable_' + event;\n\t\t\twindow.addEventListener(eventName, callback);\n\t\t\treturn () => window.removeEventListener(eventName, callback);\n\t\t}, []);\n\t\t\n\t\treturn value;\n\t};\n\t\n\tLeRed.trigger = (event, value) =>\n\t{\n\t\tif(typeof window === 'undefined')\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tconst eventName = 'lowentrytriggerable_' + event;\n\t\twindow.dispatchEvent(new CustomEvent(eventName, {detail:value}));\n\t};\n\t\n\t/**\n\t * A useState() hook that automatically resets to the defaultValue after the given duration.\n\t *\n\t * Example:\n\t *\n\t * ```js\n\t * const [value, setValue] = LeRed.useTempState(true, 2000);\n\t * // somewhere in your code:\n\t * setValue(false); // value is now false, after 2 seconds it will be reset to true\n\t * ```\n\t *\n\t * Repeated calls cause the timer to reset, meaning each set value will always remain for the full given duration.\n\t */\n\tLeRed.useTempState = (defaultValue, duration) =>\n\t{\n\t\tconst [value, setValue] = LeRed.useState(defaultValue);\n\t\tconst timeoutHandle = LeRed.useRef(null);\n\t\t\n\t\treturn [value, (newValue) =>\n\t\t{\n\t\t\tif(timeoutHandle.current)\n\t\t\t{\n\t\t\t\tclearTimeout(timeoutHandle.current);\n\t\t\t}\n\t\t\tsetValue(newValue);\n\t\t\ttimeoutHandle.current = setTimeout(() =>\n\t\t\t{\n\t\t\t\ttimeoutHandle.current = null;\n\t\t\t\tsetValue(defaultValue);\n\t\t\t}, duration);\n\t\t}];\n\t};\n\t\n\t/**\n\t * Allows you to listen to the browser history events (forwards, backwards) and execute a callback on those events.\n\t *\n\t * You pass 2 functions to it (the callbacks), and it also provides 2 functions (for manually going forwards and backwards).\n\t *\n\t * Usage:\n\t *\n\t * ```js\n\t * const [goForwards, goBackwards] = LeRed.useHistory(() => console.log('has gone forwards'), () => console.log('has gone backwards'));\n\t * ```\n\t */\n\tLeRed.useHistory = (() =>\n\t{\n\t\tlet historyStateListeners = [];\n\t\t\n\t\tif(typeof window !== 'undefined')\n\t\t{\n\t\t\twindow.addEventListener('popstate', () =>\n\t\t\t{\n\t\t\t\thistoryStateListeners.pop()?.callback();\n\t\t\t});\n\t\t}\n\t\t\n\t\tconst addListener = (callback) =>\n\t\t{\n\t\t\tconst id = LeUtils.uniqueId();\n\t\t\thistoryStateListeners.push({id, callback});\n\t\t\treturn id;\n\t\t};\n\t\t\n\t\tconst removeListener = (id) =>\n\t\t{\n\t\t\tif(!id)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\thistoryStateListeners = historyStateListeners.filter(listener => (listener.id !== id));\n\t\t};\n\t\t\n\t\treturn (onForward, onBack) =>\n\t\t{\n\t\t\tconst remaining = LeRed.useRef(0);\n\t\t\tconst id = LeRed.useRef(null);\n\t\t\t\n\t\t\tconst goBack = LeRed.useCallback(() =>\n\t\t\t{\n\t\t\t\tif(remaining.current <= 0)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tremaining.current--;\n\t\t\t\tif(remaining.current === 0)\n\t\t\t\t{\n\t\t\t\t\tif(id.current)\n\t\t\t\t\t{\n\t\t\t\t\t\tremoveListener(id.current);\n\t\t\t\t\t}\n\t\t\t\t\tid.current = null;\n\t\t\t\t}\n\t\t\t\tonBack();\n\t\t\t}, [onBack]);\n\t\t\t\n\t\t\treturn [\n\t\t\t\t() => /** do **/\n\t\t\t\t{\n\t\t\t\t\tLeRed.navigate('#');\n\t\t\t\t\tremaining.current++;\n\t\t\t\t\tif(remaining.current === 1)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(id.current)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tremoveListener(id.current);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tid.current = addListener(goBack);\n\t\t\t\t\t}\n\t\t\t\t\tonForward();\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t() => /** undo **/\n\t\t\t\t{\n\t\t\t\t\tif(remaining.current > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tLeRed.navigate(-1);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t];\n\t\t};\n\t})();\n\t\n\t/**\n\t * Similar to {@link LeRed.useHistory}, but this is specifically for toggling a boolean state between true and false. For example, for a modal, which you'd like to be closed when the user goes back in history.\n\t *\n\t * Example:\n\t *\n\t * ```js\n\t * const [isModalOpen, openModal, closeModal] = LeRed.useHistoryState(false); // you'd open it programmatically using openModal(), afterwards, if the user goes back in history, it will close again\n\t * ```\n\t *\n\t * or, if you'd like it to be true by default:\n\t *\n\t * ```js\n\t * const [isModalOpen, openModal, closeModal] = LeRed.useHistoryState(true); // you'd close it programmatically using closeModal(), afterwards, if the user goes back in history, it will open again\n\t * ```\n\t */\n\tLeRed.useHistoryState = (initialState) =>\n\t{\n\t\tconst [state, setState] = LeRed.useState(!!initialState);\n\t\tconst [forwards, backwards] = LeRed.useHistory(() => setState(!initialState), () => setState(!!initialState));\n\t\tif(!!initialState)\n\t\t{\n\t\t\treturn [state, backwards, forwards];\n\t\t}\n\t\treturn [state, forwards, backwards];\n\t};\n\t\n\t/**\n\t * Allows you to easily create an <pre><img></pre> url and onError handler that will automatically retry loading the image if it fails.\n\t */\n\tLeRed.useRetryingImageUrl = (url, options) =>\n\t{\n\t\turl = STRING(url);\n\t\tconst urlHasQ = url.includes('?');\n\t\t\n\t\tconst [imageUrl, setImageUrl] = LeRed.useState(url);\n\t\tconst retries = LeRed.useRef(0);\n\t\tconst timeout = LeRed.useRef({remove:() => undefined});\n\t\t\n\t\tLeRed.useEffect(() =>\n\t\t{\n\t\t\ttimeout.current.remove();\n\t\t\tretries.current = 0;\n\t\t\tsetImageUrl(url);\n\t\t}, [url]);\n\t\t\n\t\tconst onImageLoadError = LeRed.useCallback(() =>\n\t\t{\n\t\t\tif(retries.current < INT_LAX_ANY(options?.retries, 30))\n\t\t\t{\n\t\t\t\tconst defaultDelay = 100 + (50 * retries.current);\n\t\t\t\ttimeout.current.remove();\n\t\t\t\ttimeout.current = LeUtils.setTimeout(() =>\n\t\t\t\t{\n\t\t\t\t\tsetImageUrl(url + (urlHasQ ? '&' : '?') + (options?.queryParam || 'lowentryretryingimgversion') + '=' + (retries.current++));\n\t\t\t\t}, (typeof options?.delay === 'function') ? INT_LAX_ANY(options?.delay(retries.current), defaultDelay) : (INT_LAX_ANY(options?.delay, defaultDelay)));\n\t\t\t}\n\t\t}, [url, options]);\n\t\t\n\t\tconst onImageLoadErrorIgnored = LeRed.useCallback(() =>\n\t\t{\n\t\t}, []);\n\t\t\n\t\tif(!url)\n\t\t{\n\t\t\treturn [url, onImageLoadErrorIgnored];\n\t\t}\n\t\treturn [imageUrl, onImageLoadError];\n\t};\n\t\n\t/**\n\t * Allows you to easily convert promises to react hooks.\n\t *\n\t * The given callable should return promises. The returned promises can be an array, an object, or even a single promise. The returned data of this hook will match the promises it has operated on.\n\t *\n\t * The given comparingValues can be anything, this is used to detect whether the given promises have changed or not, and so whether new promises have to be generated and executed again.\n\t */\n\tLeRed.usePromises = (callable, comparingValues) =>\n\t{\n\t\tconst comparingValuesClone = LeUtils.clone(comparingValues);\n\t\tconst comparingValuesRef = LeRed.useRef(comparingValuesClone);\n\t\tconst latestComparingValuesRef = LeRed.useRef();\n\t\tlatestComparingValuesRef.current = comparingValuesClone;\n\t\t\n\t\tconst [data, setData] = LeRed.useState(null);\n\t\tconst [loading, setLoading] = LeRed.useState(true);\n\t\tconst [error, setError] = LeRed.useState(null);\n\t\t\n\t\tLeRed.useEffect(() =>\n\t\t{\n\t\t\tsetLoading(true);\n\t\t\tsetData(null);\n\t\t\tsetError(null);\n\t\t\t\n\t\t\ttry\n\t\t\t{\n\t\t\t\tconst promises = callable();\n\t\t\t\t\n\t\t\t\tconst promisesIsObject = IS_OBJECT(promises) && (typeof promises?.then !== 'function');\n\t\t\t\tconst promisesIsArray = IS_ARRAY(promises);\n\t\t\t\t\n\t\t\t\tlet promisesKeyed = [];\n\t\t\t\tif(promisesIsObject || promisesIsArray)\n\t\t\t\t{\n\t\t\t\t\tLeUtils.each(promises, (promise, key) =>\n\t\t\t\t\t{\n\t\t\t\t\t\tpromisesKeyed.push({promise, key});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tpromisesKeyed.push({promise:promises, key:undefined});\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tlet wrappedPromises = [];\n\t\t\t\tLeUtils.each(promisesKeyed, ({promise, key}) =>\n\t\t\t\t{\n\t\t\t\t\twrappedPromises.push(promise\n\t\t\t\t\t\t.then(async result => ({result, key})));\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\tPromise.all(wrappedPromises)\n\t\t\t\t\t.then(resultObjects =>\n\t\t\t\t\t{\n\t\t\t\t\t\tif(promisesIsObject)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlet results = {};\n\t\t\t\t\t\t\tLeUtils.each(resultObjects, ({result, key}) =>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tresults[key] = result;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(promisesIsArray)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlet results = [];\n\t\t\t\t\t\t\tLeUtils.each(resultObjects, ({result, key}) =>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tresults[key] = result;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn resultObjects.pop()?.result;\n\t\t\t\t\t})\n\t\t\t\t\t.then(results =>\n\t\t\t\t\t{\n\t\t\t\t\t\tif(!LeUtils.equals(latestComparingValuesRef.current, comparingValuesClone))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// canceled\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcomparingValuesRef.current = comparingValuesClone;\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\tsetData(results);\n\t\t\t\t\t\tsetError(null);\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error =>\n\t\t\t\t\t{\n\t\t\t\t\t\tif(!LeUtils.equals(latestComparingValuesRef.current, comparingValuesClone))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// canceled\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcomparingValuesRef.current = comparingValuesClone;\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\tsetData(null);\n\t\t\t\t\t\tsetError(LeUtils.purgeErrorMessage(error));\n\t\t\t\t\t});\n\t\t\t\t\n\t\t\t\treturn () =>\n\t\t\t\t{\n\t\t\t\t\tLeUtils.each(wrappedPromises, promise =>\n\t\t\t\t\t{\n\t\t\t\t\t\ttry\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpromise?.cancel?.();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch(e)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconsole.error('Failed to cancel the given promise:', e);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\ttry\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpromise?.remove?.();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch(e)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconsole.error('Failed to remove the given promise:', e);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t}\n\t\t\tcatch(error)\n\t\t\t{\n\t\t\t\tLeUtils.setAnimationFrameTimeout(() =>\n\t\t\t\t{\n\t\t\t\t\tif(!LeUtils.equals(latestComparingValuesRef.current, comparingValuesClone))\n\t\t\t\t\t{\n\t\t\t\t\t\t// canceled\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tcomparingValuesRef.current = comparingValuesClone;\n\t\t\t\t\tsetLoading(false);\n\t\t\t\t\tsetData(null);\n\t\t\t\t\tsetError(LeUtils.purgeErrorMessage(error));\n\t\t\t\t});\n\t\t\t}\n\t\t}, [comparingValuesClone]);\n\t\t\n\t\tif(!LeUtils.equals(comparingValuesRef.current, comparingValuesClone))\n\t\t{\n\t\t\treturn [null, true, null];\n\t\t}\n\t\treturn [data, loading, error];\n\t};\n\t\n\t/**\n\t * Allows you to easily obtain external data.\n\t */\n\tLeRed.useExternal = (url, options, responseFunction) =>\n\t{\n\t\treturn LeRed.usePromises(() =>\n\t\t{\n\t\t\tconst createFetch = (urlString) => LeUtils.fetch(STRING(urlString), {retries:3, ...(options ?? {})})\n\t\t\t\t.then(async response =>\n\t\t\t\t{\n\t\t\t\t\tconst data = await responseFunction(response);\n\t\t\t\t\tif(typeof options?.verify === 'function')\n\t\t\t\t\t{\n\t\t\t\t\t\tawait options.verify(data, response);\n\t\t\t\t\t}\n\t\t\t\t\treturn data;\n\t\t\t\t});\n\t\t\t\n\t\t\tif(IS_OBJECT(url))\n\t\t\t{\n\t\t\t\tlet promises = {};\n\t\t\t\tLeUtils.each(url, (urlString, key) =>\n\t\t\t\t{\n\t\t\t\t\tpromises[key] = createFetch(urlString);\n\t\t\t\t});\n\t\t\t\treturn promises;\n\t\t\t}\n\t\t\tif(IS_ARRAY(url))\n\t\t\t{\n\t\t\t\tlet promises = [];\n\t\t\t\tLeUtils.each(url, urlString =>\n\t\t\t\t{\n\t\t\t\t\tpromises.push(createFetch(urlString));\n\t\t\t\t});\n\t\t\t\treturn promises;\n\t\t\t}\n\t\t\treturn createFetch(url);\n\t\t}, [url, options, responseFunction]);\n\t};\n\t\n\t/**\n\t * Allows you to easily obtain external JSON data.\n\t */\n\tLeRed.useExternalJson = (url, options) =>\n\t{\n\t\tconst responseFunction = LeRed.useCallback(response => response.json(), []);\n\t\treturn LeRed.useExternal(url, options, responseFunction);\n\t};\n\t\n\t/**\n\t * Allows you to easily obtain external Blob data.\n\t */\n\tLeRed.useExternalBlob = (url, options) =>\n\t{\n\t\tconst responseFunction = LeRed.useCallback(response => response.blob(), []);\n\t\treturn LeRed.useExternal(url, options, responseFunction);\n\t};\n\t\n\t/**\n\t * Allows you to easily obtain external ArrayBuffer data.\n\t */\n\tLeRed.useExternalArrayBuffer = (url, options) =>\n\t{\n\t\tconst responseFunction = LeRed.useCallback(response => response.arrayBuffer(), []);\n\t\treturn LeRed.useExternal(url, options, responseFunction);\n\t};\n\t\n\t/**\n\t * Allows you to easily obtain external string data.\n\t */\n\tLeRed.useExternalString = (url, options) =>\n\t{\n\t\tconst responseFunction = LeRed.useCallback(response => response.text(), []);\n\t\treturn LeRed.useExternal(url, options, responseFunction);\n\t};\n\t\n\t/**\n\t * Allows you to easily obtain external form data.\n\t */\n\tLeRed.useExternalFormData = (url, options) =>\n\t{\n\t\tconst responseFunction = LeRed.useCallback(response => response.formData(), []);\n\t\treturn LeRed.useExternal(url, options, responseFunction);\n\t};\n\t\n\t\n\tLeRed.Root = LeRed.memo(({store, children, ...other}) =>\n\t{\n\t\tif(ISSET(store))\n\t\t{\n\t\t\tstore = LeRed.configureStore(store);\n\t\t\treturn (<ReactRedux.Provider store={store} {...other}>{children}</ReactRedux.Provider>);\n\t\t}\n\t\treturn children;\n\t});\n\t\n\tLeRed.PreloadComponent = (load) =>\n\t{\n\t\tif(typeof window !== 'undefined')\n\t\t{\n\t\t\tconst promise = load(); // start loading already, before it's being rendered in React\n\t\t\treturn () => promise;\n\t\t}\n\t\treturn load;\n\t};\n\t\n\tLeRed.LoadComponent = LeRed.memo(({loading, load, ...other}) =>\n\t{\n\t\tconst [Component, setComponent] = LeRed.useState(loading ?? null);\n\t\t\n\t\tLeRed.useEffect(() =>\n\t\t{\n\t\t\t(async () =>\n\t\t\t{\n\t\t\t\tconst LoadedComponent = (typeof load === 'function') ? await load() : await load;\n\t\t\t\tif(!LoadedComponent)\n\t\t\t\t{\n\t\t\t\t\tsetComponent(null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tsetComponent(<LoadedComponent {...other}/>);\n\t\t\t})();\n\t\t}, []);\n\t\t\n\t\treturn Component;\n\t});\n\t\n\t\n\tif(typeof Proxy === 'undefined')\n\t{\n\t\treturn LeRed;\n\t}\n\t\n\treturn new Proxy(LeRed, {\n\t\tset:(target, key, value) =>\n\t\t {\n\t\t\t LeRed.set(key, value);\n\t\t\t return true;\n\t\t },\n\t});\n})();\n"],"names":["LeRed","set","key","value","ignoreOverrides","arguments","length","undefined","keyFirstChar","charAt","toLowerCase","toUpperCase","console","error","warn","setAll","obj","optionalSkipHasOwnPropertyCheck","LeUtils","each","ReactDOM","ReduxSaga","effects","_objectSpread","ReduxSagaEffects","RTK","React","ReactRedux","delayFrames","frames","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","call","Promise","resolve","reject","setAnimationFrameTimeout","e","stop","interval","_callee2","callback","intervalMs","channel","_callee2$","_context2","eventChannel","emitter","setInterval","clearInterval","close","take","t0","cancelled","sent","t1","finish","fixEqualsComparator","equalsComparator","errorMessage","ISSET","FastDeepEqualReact","useCompareMemoize","ref","useRef","current","configureStore","storeData","__lowentry_store__","slices","reducer","sagaListeners","_typeof","name","__lowentry_unfinished_slice","slicesArray","slice","index","push","ARRAY","initialState","reducerArrays","createSlice","state","reducers","reducerName","fullReducerName","startsWith","substring","sagaListener","flattenArray","listener","reducerArray","_len","args","Array","_key","apply","preloadedState","middleware","sagaMiddleware","getDefaultMiddleware","_getDefaultMiddleware","concat","_toConsumableArray","store","getState","dispatch","action","__lowentry_dispatch__","STRING","type","__lowentry_dispatch_result__","result","run","_callee3","_callee3$","_context3","all","createAction","id","createSelector","selectorsGenerator","stateOfSlice","selectors","selectorArgs","i","selectorsEntry","finalSelector","createCachedSelector","previousSelectorArgs","previousFinalSelectorResult","isArray","Error","actions","sagas","reducerNames","split","reducerAction","isGeneratorFunction","sagaListener$","_context5","takeEvery","_callee4","promiseResolve","promiseReject","promise","_callee4$","_context4","payload","e2","reducerFunction","selector","selectorName","getters","getter","getterName","createFastSlice","_len2","params","_key2","Proxy","get","target","_len3","_key3","useConfigureStore","useMemo","useSelector","useEffect","callable","comparingValues","map","useEffectInterval","fireImmediately","remove","useEffectAnimationFrameInterval","intervalFrames","setAnimationFrameInterval","useEffectGenerator","_asyncToGenerator","_callee5","_iterator","_step","_callee5$","_context6","_createForOfIteratorHelper","s","n","done","abrupt","f","useEffectGeneratorLoop","_callee6","_iterator2","_step2","_callee6$","_context7","useEffectShutdown","window","addEventListener","capture","removeEventListener","useEffectPageFocusLost","events","document","visibilityState","hasFocus","forEach","memo","component","useCallback","usePrevious","initialValue","useFont","font","trim","_LeRed$useState","useState","_LeRed$useState2","_slicedToArray","hasFont","setHasFont","_document","fonts","check","handler","useScript","url","props","script","createElement","src","setAttribute","head","appendChild","removeChild","mergeRefs","_len4","refs","_key4","newRefs","inst","useTriggerable","event","_LeRed$useState3","uniqueId","_LeRed$useState4","_LeRed$useState4$","setValue","detail","eventName","trigger","dispatchEvent","CustomEvent","useTempState","defaultValue","duration","_LeRed$useState5","_LeRed$useState6","timeoutHandle","newValue","clearTimeout","setTimeout","useHistory","historyStateListeners","_historyStateListener","pop","addListener","removeListener","filter","onForward","onBack","remaining","goBack","navigate","useHistoryState","_LeRed$useState7","_LeRed$useState8","setState","_LeRed$useHistory","_LeRed$useHistory2","forwards","backwards","useRetryingImageUrl","options","urlHasQ","includes","_LeRed$useState9","_LeRed$useState10","imageUrl","setImageUrl","retries","timeout","onImageLoadError","INT_LAX_ANY","defaultDelay","queryParam","delay","onImageLoadErrorIgnored","usePromises","comparingValuesClone","clone","comparingValuesRef","latestComparingValuesRef","_LeRed$useState11","_LeRed$useState12","data","setData","_LeRed$useState13","_LeRed$useState14","loading","setLoading","_LeRed$useState15","_LeRed$useState16","setError","promises","promisesIsObject","IS_OBJECT","then","promisesIsArray","IS_ARRAY","promisesKeyed","wrappedPromises","_ref3","_ref4","_callee7","_callee7$","_context8","_x","resultObjects","_resultObjects$pop","results","_ref5","_ref6","equals","purgeErrorMessage","_promise$cancel","cancel","_promise$remove","useExternal","responseFunction","createFetch","urlString","fetch","_ref7","_callee8","response","_callee8$","_context9","verify","_x2","useExternalJson","json","useExternalBlob","blob","useExternalArrayBuffer","arrayBuffer","useExternalString","text","useExternalFormData","formData","Root","_ref8","children","other","_objectWithoutProperties","_excluded","Provider","_extends","PreloadComponent","load","LoadComponent","_ref9","_excluded2","_LeRed$useState17","_LeRed$useState18","Component","setComponent","_callee9","LoadedComponent","_callee9$","_context10"],"mappings":"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"}
|