@lowentry/react-redux 1.6.9 → 1.6.11
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 +1150 -1
- package/index.js.map +1 -1
- package/package.json +2 -2
package/index.js
CHANGED
|
@@ -1,2 +1,1151 @@
|
|
|
1
|
-
import e from"@babel/runtime/helpers/extends";import r from"@babel/runtime/helpers/objectWithoutProperties";import t from"@babel/runtime/helpers/slicedToArray";import n from"@babel/runtime/helpers/asyncToGenerator";import o from"@babel/runtime/helpers/toConsumableArray";import a from"@babel/runtime/helpers/typeof";import c from"@babel/runtime/helpers/defineProperty";import u from"@babel/runtime/regenerator";import*as i from"@reduxjs/toolkit";import*as s from"react";import*as f from"react-dom";import*as l from"react-redux";import*as d from"redux-saga";import*as p from"redux-saga/effects";import v from"fast-deep-equal/react";import{LeUtils as h,ISSET as y,ARRAY as m,STRING as w}from"@lowentry/utils";var _=["store","children"],b=["loading","load"];function g(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=function(e,r){if(e){if("string"==typeof e)return x(e,r);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?x(e,r):void 0}}(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,c=!0,u=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return c=e.done,e},e:function(e){u=!0,a=e},f:function(){try{c||null==t.return||t.return()}finally{if(u)throw a}}}}function x(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}function S(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function k(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?S(Object(t),!0).forEach((function(r){c(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):S(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var E=function(){var c={};try{var x=function(e,r){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=e.charAt(0);if(n===n.toLowerCase()&&n!==n.toUpperCase()){if("default"===e||"version"===e)return;if("set"===e||"setAll"===e)return console.error('tried to override LeRed["'+e+"\"], which isn't allowed, to:"),void console.error(r);!0!==t&&e in c&&(console.warn('LeRed["'+e+'"] was overwritten, from:'),console.warn(c[e]),console.warn("to:"),console.warn(r)),c[e]=r}},S=function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];h.each(e,(function(e,t){x(t,e,r)}),t)};c.set=function(e,r){return x(e,r,!0)},c.setAll=function(e){return S(e,!0,!(arguments.length>1&&void 0!==arguments[1])||arguments[1])},S(f),S(d),S({effects:k({},p)}),S(i),S(s),S(l),c.effects.delayFrames=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return u.mark((function r(){return u.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,c.effects.call((function(){return new Promise((function(r,t){try{h.setAnimationFrameTimeout(r,e)}catch(e){t(e)}}))}));case 2:case"end":return r.stop()}}),r)}))()},c.effects.interval=u.mark((function e(r,t){var n,o;return u.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=c.eventChannel((function(e){var r=setInterval((function(){e({})}),t);return function(){clearInterval(r)}})),o=function(){try{null!==n&&(n.close(),n=null)}catch(e){console.error(e)}};case 2:if(null===n){e.next=28;break}return e.prev=3,e.next=6,c.effects.take(n);case 6:return e.next=8,r(o);case 8:e.next=13;break;case 10:e.prev=10,e.t0=e.catch(3),console.error(e.t0);case 13:return e.prev=13,e.prev=14,e.next=17,c.effects.cancelled();case 17:if(!e.sent){e.next=20;break}n.close(),n=null;case 20:e.next=25;break;case 22:e.prev=22,e.t1=e.catch(14),console.error(e.t1);case 25:return e.finish(13);case 26:e.next=2;break;case 28:case"end":return e.stop()}}),e,null,[[3,10,13,26],[14,22]])}))}catch(e){console.error(e)}var E=function(e,r){return y(e)?"function"!=typeof e?(console.error(r),console.error(e),v):e:v},A=function(e,r){var t=s.useRef();return r(e,t.current)||(t.current=e),t.current};return c.configureStore=function(e){if(!0===e.__lowentry_store__)return e;y(e.slices)&&(e.reducer=e.slices,delete e.slices);var r=[];if(y(e.reducer)){var t=e.reducer;if("object"===a(t))if(t.name||t.__lowentry_unfinished_slice)t=[t];else{var n=[];h.each(t,(function(e,r){e.name||(e.name=r),n.push(e)})),t=n}t=m(t);var s={},f={};h.each(t,(function(e,t){e.name||(e.name="slice_"+t),e.__lowentry_unfinished_slice&&(delete e.__lowentry_unfinished_slice,e=c.createSlice(e)),s[e.name]="function"==typeof e.state?e.state():e.state,h.each(e.reducers,(function(r,t){var n=t.startsWith("lowentrystore/")?t.substring(14):e.name+"/"+t;void 0===f[n]&&(f[n]=[]),f[n].push(r)})),h.each(e.sagaListeners,(function(t,n){h.each(h.flattenArray(t),(function(t){try{r.push(t())}catch(r){console.error('an error was thrown by your saga code, in slice "'+e.name+'", action "'+n+'":'),console.error(r)}}))}))}));var l={};h.each(f,(function(e,r){(e=h.flattenArray(e)).length<=0?l[r]=e[0]:l[r]=function(){for(var r=arguments.length,t=new Array(r),n=0;n<r;n++)t[n]=arguments[n];h.each(e,(function(e){try{e.apply(void 0,t)}catch(e){console.error(e)}}))}})),e.reducer=i.createSlice({name:"lowentrystore",initialState:s,reducers:l}).reducer}y(e.state)&&(e.preloadedState=e.state,delete e.state),y(e.preloadedState)&&(e.preloadedState={reducer:e.preloadedState});var v=m(e.middleware),_=null;r.length>0&&(_=d.default(),v.push(_)),e.middleware=function(e){var r;return(r=e()).concat.apply(r,o(v))};var b=i.configureStore(e);b.__lowentry_store__=!0,b.state=function(){return b.getState().reducer};var g=b.dispatch;return b.dispatch=function(e){e.__lowentry_dispatch__=!0,w(e.type).startsWith("lowentrystore/lowentryaction/")?e.__lowentry_dispatch_result__=[]:delete e.__lowentry_dispatch_result__,g(e);var r=e.__lowentry_dispatch_result__;return delete e.__lowentry_dispatch_result__,delete e.__lowentry_dispatch__,r},null!==_&&_.run(u.mark((function e(){return u.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,p.all(r);case 2:case"end":return e.stop()}}),e)}))),b},c.createAction=function(e){return i.createAction("lowentrystore/lowentryaction/"+e)},c.createSelector=function(e){return function(r){for(var t=this,n=e.apply(t,[r]),o=[],a=0;a<n.length-1;a++){var c=n[a];"function"==typeof c&&(c=c.apply(t,[t])),o.push(c)}var u=n[n.length-1];return"function"==typeof u&&(u=u.apply(t,o)),u}},c.createCachedSelector=function(e,r){if(!1!==(r=E(r,"LeRed.createCachedSelector() was given an invalid comparator:"))){var t=null,n=null;return function(o){for(var a=this,c=e.apply(a,[o]),u=[],i=0;i<c.length-1;i++){var s=c[i];"function"==typeof s&&(s=s.apply(a,[a])),u.push(s)}var f=c[c.length-1];return"function"==typeof f&&(r(t,u)?f=n:(f=f.apply(a,u),t=u,n=f)),f}}},c.createSlice=function(e){if(Array.isArray(e)){var r=new Error("the given slice is an array (instead of an object)");throw console.error("an error was thrown by your LeRed.createSlice(...) code:"),console.error(r),r}if(e.name){var t={},n={},o={},a={};h.each(e.actions,(function(r,c){h.each(c.split(","),(function(c){if(!(c.length<=0)){var s=i.createAction((c.startsWith("lowentrystore/")?"":"lowentrystore/"+e.name+"/")+c);t[c]=s,h.each(h.flattenArray(r),(function(r){if(h.isGeneratorFunction(r)){var t=u.mark((function t(){return u.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,p.takeEvery(s,u.mark((function t(n){var o,a,i,s;return u.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=null,a=null,t.prev=2,!0===n.__lowentry_dispatch__&&(i=new Promise((function(e,r){o=e,a=r})),Array.isArray(n.__lowentry_dispatch_result__)?void 0!==i&&n.__lowentry_dispatch_result__.push(i):n.__lowentry_dispatch_result__=i),t.next=6,r.apply(e,[n.payload]);case 6:s=t.sent,null!==o&&o(s),t.next=15;break;case 10:if(t.prev=10,t.t0=t.catch(2),console.error('an error was thrown by your LeRed.createSlice(...) code, by slice "'+e.name+'", action "'+c+'":'),console.error(t.t0),null!==a)try{a(t.t0)}catch(e){console.error(e)}case 15:case"end":return t.stop()}}),t,null,[[2,10]])})));case 2:case"end":return t.stop()}}),t)}));y(o[c])?o[c].push(r):o[c]=[r],y(a[c])?a[c].push(t):a[c]=[t]}else{var i=function(t,n){try{var o=r.apply(t,[t[e.name],n.payload]);!0===n.__lowentry_dispatch__&&(Array.isArray(n.__lowentry_dispatch_result__)?void 0!==o&&n.__lowentry_dispatch_result__.push(o):n.__lowentry_dispatch_result__=o)}catch(r){console.error('an error was thrown by your LeRed.createSlice(...) code, by slice "'+e.name+'", action "'+c+'":'),console.error(r)}};y(n[c])?n[c].push(i):n[c]=[i]}}))}}))})),e.actions=t,e.reducers=n,e.sagas=o,e.sagaListeners=a;var c={};h.each(e.selectors,(function(r,t){c[t]=function(n){try{return r.apply(n,[n[e.name]])}catch(r){throw console.error('an error was thrown by your LeRed.createSlice(...) code, by slice "'+e.name+'", selector "'+t+'":'),console.error(r),r}}})),e.selectors=c;var s={};return h.each(e.getters,(function(r,t){s[t]=function(){try{var n=r.apply(void 0,arguments);return function(r){try{return n.apply(r,[r[e.name]])}catch(r){throw console.error('an error was thrown by your LeRed.createSlice(...) code, by slice "'+e.name+'", getter "'+t+'":'),console.error(r),r}}}catch(r){throw console.error('an error was thrown by your LeRed.createSlice(...) code, by slice "'+e.name+'", getter "'+t+'":'),console.error(r),r}}})),e.getters=s,e}return e.__lowentry_unfinished_slice=!0,e},c.createFastSlice=function(e){if(Array.isArray(e)){var r=new Error("the given slice is an array (instead of an object)");throw console.error("an error was thrown by your LeRed.createFastSlice(...) code:"),console.error(r),r}var t={};h.each(e.actions,(function(r,n){t[n]=function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return r.apply(e,[e.state].concat(n))}})),e.actions=t;var n={};h.each(e.selectors,(function(r,t){n[t]=function(){return r.apply(e,[e.state])}})),e.selectors=new Proxy(n,{get:function(e,r){return r in e?e[r]():void 0}});var o={};return h.each(e.getters,(function(r,t){o[t]=function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return r.apply(e,[e.state].concat(n))}})),e.getters=o,e},c.current=function(e){try{return i.current(e)}catch(e){}return e},c.useConfigureStore=function(e){return c.useMemo((function(){return c.configureStore(e)}),[e])},c.useSelector=function(e,r){return"function"!=typeof e&&(console.error("LeRed.useSelector() was given an invalid selector:"),console.error(e),e=function(){}),r=E(r,"LeRed.useSelector() was given an invalid comparator:"),l.useSelector(e,r)},c.useEffect=function(e,r,t){return t=E(t,"LeRed.useEffect() was given an invalid comparator:"),r=(r=m(r)).map((function(e){return A(e,t)})),s.useEffect(e,r)},c.useEffectInterval=function(e,r,t,n,o){return c.useEffect((function(){return h.setInterval(e,t,n).remove}),[r,o])},c.useEffectAnimationFrameInterval=function(e,r,t,n,o){return c.useEffect((function(){return h.setAnimationFrameInterval(e,t,n).remove}),[r,o])},c.useEffectGenerator=function(e,r,t,o,a){return c.useEffect((function(){var r=!1;return n(u.mark((function t(){var n,o,a;return u.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=g(e()),t.prev=1,n.s();case 3:if((o=n.n()).done){t.next=13;break}if(a=o.value,!r){t.next=7;break}return t.abrupt("return");case 7:return t.next=9,a;case 9:if(!r){t.next=11;break}return t.abrupt("return");case 11:t.next=3;break;case 13:t.next=18;break;case 15:t.prev=15,t.t0=t.catch(1),n.e(t.t0);case 18:return t.prev=18,n.f(),t.finish(18);case 21:case"end":return t.stop()}}),t,null,[[1,15,18,21]])})))(),function(){r=!0}}),[r,a])},c.useEffectGeneratorLoop=function(e,r,t,o,a){return c.useEffect((function(){var r=!1;return n(u.mark((function t(){var n,o,a;return u.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r){t.next=24;break}n=g(e()),t.prev=2,n.s();case 4:if((o=n.n()).done){t.next=14;break}if(a=o.value,!r){t.next=8;break}return t.abrupt("return");case 8:return t.next=10,a;case 10:if(!r){t.next=12;break}return t.abrupt("return");case 12:t.next=4;break;case 14:t.next=19;break;case 16:t.prev=16,t.t0=t.catch(2),n.e(t.t0);case 19:return t.prev=19,n.f(),t.finish(19);case 22:t.next=0;break;case 24:case"end":return t.stop()}}),t,null,[[2,16,19,22]])})))(),function(){r=!0}}),[r,a])},c.useEffectShutdown=function(e,r,t){return c.useEffect((function(){var r=function(){e()};return"undefined"!=typeof window&&window.addEventListener("beforeunload",r,{capture:!0}),function(){"undefined"!=typeof window&&window.removeEventListener("beforeunload",r,{capture:!0}),r()}}),[r,t])},c.useEffectPageFocusLost=function(e,r,t){var n=["pagehide","freeze","blur","visibilitychange"];return c.useEffect((function(){if("undefined"!=typeof window){var r=function(){"undefined"!=typeof document&&("hidden"!==document.visibilityState&&document.hasFocus()||e())};return n.forEach((function(e){return window.addEventListener(e,r,{capture:!0})})),function(){n.forEach((function(e){return window.removeEventListener(e,r,{capture:!0})}))}}}),[r,t])},c.memo=function(e,r){return r=E(r,"LeRed.memo() was given an invalid comparator:"),s.memo(e,r)},c.useMemo=function(e,r,t){return t=E(t,"LeRed.useMemo() was given an invalid comparator:"),r=(r=m(r)).map((function(e){return A(e,t)})),s.useMemo(e,r)},c.useCallback=function(e,r,t){return t=E(t,"LeRed.useCallback() was given an invalid comparator:"),r=(r=m(r)).map((function(e){return A(e,t)})),s.useCallback(e,r)},c.usePrevious=function(e,r){var t=c.useRef(r);return c.useEffect((function(){t.current=e}),[e]),t.current},c.useFont=function(e){e="12px "+w(e).trim();var r=c.useState(!1),n=t(r,2),o=n[0],a=n[1];return c.useEffect((function(){if(!o){var r;if(!y(null===(r=document)||void 0===r||null===(r=r.fonts)||void 0===r?void 0:r.check))return void a(!0);var t=setInterval((function(){try{document.fonts.check(e)&&(clearInterval(t),a(!0))}catch(e){console.error(e),clearInterval(t),a(!0)}}),30)}}),[o]),o},c.useScript=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return c.useEffect((function(){var t=document.createElement("script");return t.type="text/javascript",t.src=e,h.each(r,(function(e,r){t.setAttribute(r,e)})),document.head.appendChild(t),function(){return document.head.removeChild(t)}}),[e,r])},c.mergeRefs=function(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];if(!(r=h.flattenArray(r)))return null;var n=[];return h.each(r,(function(e){e&&n.push(e)})),(r=n).length<=0?null:1===r.length?r[0]:function(e){h.each(r,(function(r){try{"function"==typeof r?r(e):r&&(r.current=e)}catch(e){console.error(e)}}))}},c.useTriggerable=function(e){var r=c.useState([null,h.uniqueId()]),n=t(r,2),o=t(n[0],2),a=o[0];o[1];var u=n[1];return c.useEffect((function(){if("undefined"!=typeof window){var r=function(e){u([null==e?void 0:e.detail,h.uniqueId()])},t="lowentrytriggerable_"+e;return window.addEventListener(t,r),function(){return window.removeEventListener(t,r)}}}),[]),a},c.trigger=function(e,r){if("undefined"!=typeof window){var t="lowentrytriggerable_"+e;window.dispatchEvent(new CustomEvent(t,{detail:r}))}},c.useTempState=function(e,r){var n=c.useState(e),o=t(n,2),a=o[0],u=o[1],i=c.useRef(null);return[a,function(t){i.current&&clearTimeout(i.current),u(t),i.current=setTimeout((function(){i.current=null,u(e)}),r)}]},c.useHistory=function(){var e=[];"undefined"!=typeof window&&window.addEventListener("popstate",(function(){var r;null===(r=e.pop())||void 0===r||r.callback()}));var r=function(r){r&&(e=e.filter((function(e){return e.id!==r})))};return function(t,n){var o=c.useRef(0),a=c.useRef(null),u=c.useCallback((function(){o.current<=0||(o.current--,0===o.current&&(a.current&&r(a.current),a.current=null),n())}),[n]);return[function(){c.navigate("#"),o.current++,1===o.current&&(a.current&&r(a.current),a.current=function(r){var t=h.uniqueId();return e.push({id:t,callback:r}),t}(u)),t()},function(){o.current>0&&c.navigate(-1)}]}}(),c.useHistoryState=function(e){var r=c.useState(!!e),n=t(r,2),o=n[0],a=n[1],u=c.useHistory((function(){return a(!e)}),(function(){return a(!!e)})),i=t(u,2),s=i[0],f=i[1];return e?[o,f,s]:[o,s,f]},c.Root=c.memo((function(t){var n=t.store,o=t.children,a=r(t,_);return y(n)?(n=c.configureStore(n),s.createElement(l.Provider,e({store:n},a),o)):o})),c.PreloadComponent=function(e){if("undefined"!=typeof window){var r=e();return function(){return r}}return e},c.LoadComponent=c.memo((function(e){var o=e.loading,a=e.load,i=r(e,b),f=c.useState(null!=o?o:null),l=t(f,2),d=l[0],p=l[1];return c.useEffect((function(){n(u.mark((function e(){var r;return u.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!=typeof a){e.next=6;break}return e.next=3,a();case 3:e.t0=e.sent,e.next=9;break;case 6:return e.next=8,a;case 8:e.t0=e.sent;case 9:if(r=e.t0){e.next=13;break}return p(null),e.abrupt("return");case 13:p(s.createElement(r,i));case 14:case"end":return e.stop()}}),e)})))()}),[]),d})),"undefined"==typeof Proxy?c:new Proxy(c,{set:function(e,r,t){return c.set(r,t),!0}})}();export{E as LeRed};
|
|
1
|
+
import _extends from '@babel/runtime/helpers/extends';
|
|
2
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
4
|
+
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
5
|
+
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
6
|
+
import _typeof from '@babel/runtime/helpers/typeof';
|
|
7
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
8
|
+
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
9
|
+
import * as RTK from '@reduxjs/toolkit';
|
|
10
|
+
import * as React from 'react';
|
|
11
|
+
import * as ReactDOM from 'react-dom';
|
|
12
|
+
import * as ReactRedux from 'react-redux';
|
|
13
|
+
import * as ReduxSaga from 'redux-saga';
|
|
14
|
+
import * as ReduxSagaEffects from 'redux-saga/effects';
|
|
15
|
+
import FastDeepEqualReact from 'fast-deep-equal/react';
|
|
16
|
+
import { LeUtils, ISSET, ARRAY, STRING } from '@lowentry/utils';
|
|
17
|
+
|
|
18
|
+
var _excluded = ["store", "children"],
|
|
19
|
+
_excluded2 = ["loading", "load"];
|
|
20
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
21
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
22
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
23
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
24
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
25
|
+
var LeRed = function () {
|
|
26
|
+
var LeRed = {};
|
|
27
|
+
try {
|
|
28
|
+
var set = function set(key, value) {
|
|
29
|
+
var ignoreOverrides = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
30
|
+
var keyFirstChar = key.charAt(0);
|
|
31
|
+
if (keyFirstChar === keyFirstChar.toLowerCase() && keyFirstChar !== keyFirstChar.toUpperCase()) {
|
|
32
|
+
if (key === 'default' || key === 'version') {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (key === 'set' || key === 'setAll') {
|
|
36
|
+
console.error('tried to override LeRed["' + key + '"], which isn\'t allowed, to:');
|
|
37
|
+
console.error(value);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (ignoreOverrides !== true && key in LeRed) {
|
|
41
|
+
console.warn('LeRed["' + key + '"] was overwritten, from:');
|
|
42
|
+
console.warn(LeRed[key]);
|
|
43
|
+
console.warn('to:');
|
|
44
|
+
console.warn(value);
|
|
45
|
+
}
|
|
46
|
+
LeRed[key] = value;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
var setAll = function setAll(obj) {
|
|
50
|
+
var ignoreOverrides = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
51
|
+
var optionalSkipHasOwnPropertyCheck = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
52
|
+
LeUtils.each(obj, function (value, key) {
|
|
53
|
+
set(key, value, ignoreOverrides);
|
|
54
|
+
}, optionalSkipHasOwnPropertyCheck);
|
|
55
|
+
};
|
|
56
|
+
LeRed.set = function (key, value) {
|
|
57
|
+
return set(key, value, true);
|
|
58
|
+
};
|
|
59
|
+
LeRed.setAll = function (obj) {
|
|
60
|
+
var optionalSkipHasOwnPropertyCheck = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
61
|
+
return setAll(obj, true, optionalSkipHasOwnPropertyCheck);
|
|
62
|
+
};
|
|
63
|
+
setAll(ReactDOM);
|
|
64
|
+
setAll(ReduxSaga);
|
|
65
|
+
setAll({
|
|
66
|
+
effects: _objectSpread({}, ReduxSagaEffects)
|
|
67
|
+
});
|
|
68
|
+
setAll(RTK);
|
|
69
|
+
setAll(React);
|
|
70
|
+
setAll(ReactRedux);
|
|
71
|
+
LeRed.effects.delayFrames = function () {
|
|
72
|
+
var frames = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
|
|
73
|
+
return /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
74
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
75
|
+
while (1) switch (_context.prev = _context.next) {
|
|
76
|
+
case 0:
|
|
77
|
+
_context.next = 2;
|
|
78
|
+
return LeRed.effects.call(function () {
|
|
79
|
+
return new Promise(function (resolve, reject) {
|
|
80
|
+
try {
|
|
81
|
+
LeUtils.setAnimationFrameTimeout(resolve, frames);
|
|
82
|
+
} catch (e) {
|
|
83
|
+
reject(e);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
case 2:
|
|
88
|
+
case "end":
|
|
89
|
+
return _context.stop();
|
|
90
|
+
}
|
|
91
|
+
}, _callee);
|
|
92
|
+
})();
|
|
93
|
+
};
|
|
94
|
+
LeRed.effects.interval = /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(callback, intervalMs) {
|
|
95
|
+
var channel, stop;
|
|
96
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
97
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
98
|
+
case 0:
|
|
99
|
+
channel = LeRed.eventChannel(function (emitter) {
|
|
100
|
+
var interval = setInterval(function () {
|
|
101
|
+
emitter({});
|
|
102
|
+
}, intervalMs);
|
|
103
|
+
return function () {
|
|
104
|
+
clearInterval(interval);
|
|
105
|
+
};
|
|
106
|
+
});
|
|
107
|
+
stop = function stop() {
|
|
108
|
+
try {
|
|
109
|
+
if (channel !== null) {
|
|
110
|
+
channel.close();
|
|
111
|
+
channel = null;
|
|
112
|
+
}
|
|
113
|
+
} catch (e) {
|
|
114
|
+
console.error(e);
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
case 2:
|
|
118
|
+
if (!(channel !== null)) {
|
|
119
|
+
_context2.next = 28;
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
_context2.prev = 3;
|
|
123
|
+
_context2.next = 6;
|
|
124
|
+
return LeRed.effects.take(channel);
|
|
125
|
+
case 6:
|
|
126
|
+
_context2.next = 8;
|
|
127
|
+
return callback(stop);
|
|
128
|
+
case 8:
|
|
129
|
+
_context2.next = 13;
|
|
130
|
+
break;
|
|
131
|
+
case 10:
|
|
132
|
+
_context2.prev = 10;
|
|
133
|
+
_context2.t0 = _context2["catch"](3);
|
|
134
|
+
console.error(_context2.t0);
|
|
135
|
+
case 13:
|
|
136
|
+
_context2.prev = 13;
|
|
137
|
+
_context2.prev = 14;
|
|
138
|
+
_context2.next = 17;
|
|
139
|
+
return LeRed.effects.cancelled();
|
|
140
|
+
case 17:
|
|
141
|
+
if (!_context2.sent) {
|
|
142
|
+
_context2.next = 20;
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
145
|
+
channel.close();
|
|
146
|
+
channel = null;
|
|
147
|
+
case 20:
|
|
148
|
+
_context2.next = 25;
|
|
149
|
+
break;
|
|
150
|
+
case 22:
|
|
151
|
+
_context2.prev = 22;
|
|
152
|
+
_context2.t1 = _context2["catch"](14);
|
|
153
|
+
console.error(_context2.t1);
|
|
154
|
+
case 25:
|
|
155
|
+
return _context2.finish(13);
|
|
156
|
+
case 26:
|
|
157
|
+
_context2.next = 2;
|
|
158
|
+
break;
|
|
159
|
+
case 28:
|
|
160
|
+
case "end":
|
|
161
|
+
return _context2.stop();
|
|
162
|
+
}
|
|
163
|
+
}, _callee2, null, [[3, 10, 13, 26], [14, 22]]);
|
|
164
|
+
});
|
|
165
|
+
} catch (e) {
|
|
166
|
+
console.error(e);
|
|
167
|
+
}
|
|
168
|
+
var fixEqualsComparator = function fixEqualsComparator(equalsComparator, errorMessage) {
|
|
169
|
+
if (ISSET(equalsComparator)) {
|
|
170
|
+
if (typeof equalsComparator !== 'function') {
|
|
171
|
+
console.error(errorMessage);
|
|
172
|
+
console.error(equalsComparator);
|
|
173
|
+
return FastDeepEqualReact;
|
|
174
|
+
}
|
|
175
|
+
return equalsComparator;
|
|
176
|
+
}
|
|
177
|
+
return FastDeepEqualReact;
|
|
178
|
+
};
|
|
179
|
+
var useCompareMemoize = function useCompareMemoize(value, equalsComparator) {
|
|
180
|
+
var ref = React.useRef();
|
|
181
|
+
if (!equalsComparator(value, ref.current)) {
|
|
182
|
+
ref.current = value;
|
|
183
|
+
}
|
|
184
|
+
return ref.current;
|
|
185
|
+
};
|
|
186
|
+
LeRed.configureStore = function (storeData) {
|
|
187
|
+
if (storeData.__lowentry_store__ === true) {
|
|
188
|
+
return storeData;
|
|
189
|
+
}
|
|
190
|
+
if (ISSET(storeData.slices)) {
|
|
191
|
+
storeData.reducer = storeData.slices;
|
|
192
|
+
delete storeData.slices;
|
|
193
|
+
}
|
|
194
|
+
var sagaListeners = [];
|
|
195
|
+
if (ISSET(storeData.reducer)) {
|
|
196
|
+
var slices = storeData.reducer;
|
|
197
|
+
if (_typeof(slices) === 'object') {
|
|
198
|
+
if (slices.name || slices.__lowentry_unfinished_slice) {
|
|
199
|
+
slices = [slices];
|
|
200
|
+
} else {
|
|
201
|
+
var slicesArray = [];
|
|
202
|
+
LeUtils.each(slices, function (slice, index) {
|
|
203
|
+
if (!slice.name) {
|
|
204
|
+
slice.name = index;
|
|
205
|
+
}
|
|
206
|
+
slicesArray.push(slice);
|
|
207
|
+
});
|
|
208
|
+
slices = slicesArray;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
slices = ARRAY(slices);
|
|
212
|
+
var initialState = {};
|
|
213
|
+
var reducerArrays = {};
|
|
214
|
+
LeUtils.each(slices, function (slice, index) {
|
|
215
|
+
if (!slice.name) {
|
|
216
|
+
slice.name = 'slice_' + index;
|
|
217
|
+
}
|
|
218
|
+
if (slice.__lowentry_unfinished_slice) {
|
|
219
|
+
delete slice.__lowentry_unfinished_slice;
|
|
220
|
+
slice = LeRed.createSlice(slice);
|
|
221
|
+
}
|
|
222
|
+
initialState[slice.name] = typeof slice.state === 'function' ? slice.state() : slice.state;
|
|
223
|
+
LeUtils.each(slice.reducers, function (reducer, reducerName) {
|
|
224
|
+
var fullReducerName = reducerName.startsWith('lowentrystore/') ? reducerName.substring('lowentrystore/'.length) : slice.name + '/' + reducerName;
|
|
225
|
+
if (typeof reducerArrays[fullReducerName] === 'undefined') {
|
|
226
|
+
reducerArrays[fullReducerName] = [];
|
|
227
|
+
}
|
|
228
|
+
reducerArrays[fullReducerName].push(reducer);
|
|
229
|
+
});
|
|
230
|
+
LeUtils.each(slice.sagaListeners, function (sagaListener, reducerName) {
|
|
231
|
+
LeUtils.each(LeUtils.flattenArray(sagaListener), function (listener) {
|
|
232
|
+
try {
|
|
233
|
+
sagaListeners.push(listener());
|
|
234
|
+
} catch (e) {
|
|
235
|
+
console.error('an error was thrown by your saga code, in slice "' + slice.name + '", action "' + reducerName + '":');
|
|
236
|
+
console.error(e);
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
});
|
|
240
|
+
});
|
|
241
|
+
var reducers = {};
|
|
242
|
+
LeUtils.each(reducerArrays, function (reducerArray, reducerName) {
|
|
243
|
+
reducerArray = LeUtils.flattenArray(reducerArray);
|
|
244
|
+
if (reducerArray.length <= 0) {
|
|
245
|
+
reducers[reducerName] = reducerArray[0];
|
|
246
|
+
} else {
|
|
247
|
+
reducers[reducerName] = function () {
|
|
248
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
249
|
+
args[_key] = arguments[_key];
|
|
250
|
+
}
|
|
251
|
+
LeUtils.each(reducerArray, function (reducer) {
|
|
252
|
+
try {
|
|
253
|
+
reducer.apply(void 0, args);
|
|
254
|
+
} catch (e) {
|
|
255
|
+
console.error(e);
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
});
|
|
261
|
+
storeData.reducer = RTK.createSlice({
|
|
262
|
+
name: 'lowentrystore',
|
|
263
|
+
initialState: initialState,
|
|
264
|
+
reducers: reducers
|
|
265
|
+
}).reducer;
|
|
266
|
+
}
|
|
267
|
+
if (ISSET(storeData.state)) {
|
|
268
|
+
storeData.preloadedState = storeData.state;
|
|
269
|
+
delete storeData.state;
|
|
270
|
+
}
|
|
271
|
+
if (ISSET(storeData.preloadedState)) {
|
|
272
|
+
storeData.preloadedState = {
|
|
273
|
+
reducer: storeData.preloadedState
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
var middleware = ARRAY(storeData.middleware);
|
|
277
|
+
var sagaMiddleware = null;
|
|
278
|
+
if (sagaListeners.length > 0) {
|
|
279
|
+
sagaMiddleware = ReduxSaga["default"]();
|
|
280
|
+
middleware.push(sagaMiddleware);
|
|
281
|
+
}
|
|
282
|
+
storeData.middleware = function (getDefaultMiddleware) {
|
|
283
|
+
var _getDefaultMiddleware;
|
|
284
|
+
return (_getDefaultMiddleware = getDefaultMiddleware()).concat.apply(_getDefaultMiddleware, _toConsumableArray(middleware));
|
|
285
|
+
};
|
|
286
|
+
var store = RTK.configureStore(storeData);
|
|
287
|
+
store.__lowentry_store__ = true;
|
|
288
|
+
store.state = function () {
|
|
289
|
+
return store.getState().reducer;
|
|
290
|
+
};
|
|
291
|
+
var dispatch = store.dispatch;
|
|
292
|
+
// noinspection JSValidateTypes
|
|
293
|
+
store.dispatch = function (action) {
|
|
294
|
+
action.__lowentry_dispatch__ = true;
|
|
295
|
+
if (STRING(action.type).startsWith('lowentrystore/lowentryaction/')) {
|
|
296
|
+
action.__lowentry_dispatch_result__ = [];
|
|
297
|
+
} else {
|
|
298
|
+
delete action.__lowentry_dispatch_result__;
|
|
299
|
+
}
|
|
300
|
+
dispatch(action);
|
|
301
|
+
var result = action.__lowentry_dispatch_result__;
|
|
302
|
+
delete action.__lowentry_dispatch_result__;
|
|
303
|
+
delete action.__lowentry_dispatch__;
|
|
304
|
+
return result;
|
|
305
|
+
};
|
|
306
|
+
if (sagaMiddleware !== null) {
|
|
307
|
+
sagaMiddleware.run( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
|
308
|
+
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
309
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
310
|
+
case 0:
|
|
311
|
+
_context3.next = 2;
|
|
312
|
+
return ReduxSagaEffects.all(sagaListeners);
|
|
313
|
+
case 2:
|
|
314
|
+
case "end":
|
|
315
|
+
return _context3.stop();
|
|
316
|
+
}
|
|
317
|
+
}, _callee3);
|
|
318
|
+
}));
|
|
319
|
+
}
|
|
320
|
+
return store;
|
|
321
|
+
};
|
|
322
|
+
LeRed.createAction = function (id) {
|
|
323
|
+
return RTK.createAction('lowentrystore/lowentryaction/' + id);
|
|
324
|
+
};
|
|
325
|
+
LeRed.createSelector = function (selectorsGenerator) {
|
|
326
|
+
return function (stateOfSlice) {
|
|
327
|
+
var state = this;
|
|
328
|
+
var selectors = selectorsGenerator.apply(state, [stateOfSlice]);
|
|
329
|
+
var selectorArgs = [];
|
|
330
|
+
for (var i = 0; i < selectors.length - 1; i++) {
|
|
331
|
+
var selectorsEntry = selectors[i];
|
|
332
|
+
if (typeof selectorsEntry === 'function') {
|
|
333
|
+
selectorsEntry = selectorsEntry.apply(state, [state]);
|
|
334
|
+
}
|
|
335
|
+
selectorArgs.push(selectorsEntry);
|
|
336
|
+
}
|
|
337
|
+
var finalSelector = selectors[selectors.length - 1];
|
|
338
|
+
if (typeof finalSelector === 'function') {
|
|
339
|
+
finalSelector = finalSelector.apply(state, selectorArgs);
|
|
340
|
+
}
|
|
341
|
+
return finalSelector;
|
|
342
|
+
};
|
|
343
|
+
};
|
|
344
|
+
LeRed.createCachedSelector = function (selectorsGenerator, equalsComparator) {
|
|
345
|
+
equalsComparator = fixEqualsComparator(equalsComparator, 'LeRed.createCachedSelector() was given an invalid comparator:');
|
|
346
|
+
if (equalsComparator === false) {
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
var previousSelectorArgs = null;
|
|
350
|
+
var previousFinalSelectorResult = null;
|
|
351
|
+
return function (stateOfSlice) {
|
|
352
|
+
var state = this;
|
|
353
|
+
var selectors = selectorsGenerator.apply(state, [stateOfSlice]);
|
|
354
|
+
var selectorArgs = [];
|
|
355
|
+
for (var i = 0; i < selectors.length - 1; i++) {
|
|
356
|
+
var selectorsEntry = selectors[i];
|
|
357
|
+
if (typeof selectorsEntry === 'function') {
|
|
358
|
+
selectorsEntry = selectorsEntry.apply(state, [state]);
|
|
359
|
+
}
|
|
360
|
+
selectorArgs.push(selectorsEntry);
|
|
361
|
+
}
|
|
362
|
+
var finalSelector = selectors[selectors.length - 1];
|
|
363
|
+
if (typeof finalSelector === 'function') {
|
|
364
|
+
if (equalsComparator(previousSelectorArgs, selectorArgs)) {
|
|
365
|
+
finalSelector = previousFinalSelectorResult;
|
|
366
|
+
} else {
|
|
367
|
+
finalSelector = finalSelector.apply(state, selectorArgs);
|
|
368
|
+
previousSelectorArgs = selectorArgs;
|
|
369
|
+
previousFinalSelectorResult = finalSelector;
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
return finalSelector;
|
|
373
|
+
};
|
|
374
|
+
};
|
|
375
|
+
LeRed.createSlice = function (slice) {
|
|
376
|
+
if (Array.isArray(slice)) {
|
|
377
|
+
var e = new Error('the given slice is an array (instead of an object)');
|
|
378
|
+
console.error('an error was thrown by your LeRed.createSlice(...) code:');
|
|
379
|
+
console.error(e);
|
|
380
|
+
throw e;
|
|
381
|
+
}
|
|
382
|
+
if (slice.name) {
|
|
383
|
+
var actions = {};
|
|
384
|
+
var reducers = {};
|
|
385
|
+
var sagas = {};
|
|
386
|
+
var sagaListeners = {};
|
|
387
|
+
LeUtils.each(slice.actions, function (reducer, reducerNames) {
|
|
388
|
+
LeUtils.each(reducerNames.split(','), function (reducerName) {
|
|
389
|
+
if (reducerName.length <= 0) {
|
|
390
|
+
return;
|
|
391
|
+
}
|
|
392
|
+
var reducerAction = RTK.createAction((reducerName.startsWith('lowentrystore/') ? '' : 'lowentrystore/' + slice.name + '/') + reducerName);
|
|
393
|
+
actions[reducerName] = reducerAction;
|
|
394
|
+
LeUtils.each(LeUtils.flattenArray(reducer), function (reducer) {
|
|
395
|
+
if (LeUtils.isGeneratorFunction(reducer)) {
|
|
396
|
+
var sagaListener = /*#__PURE__*/_regeneratorRuntime.mark(function sagaListener() {
|
|
397
|
+
return _regeneratorRuntime.wrap(function sagaListener$(_context5) {
|
|
398
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
399
|
+
case 0:
|
|
400
|
+
_context5.next = 2;
|
|
401
|
+
return ReduxSagaEffects.takeEvery(reducerAction, /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(action) {
|
|
402
|
+
var promiseResolve, promiseReject, promise, result;
|
|
403
|
+
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
404
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
405
|
+
case 0:
|
|
406
|
+
promiseResolve = null;
|
|
407
|
+
promiseReject = null;
|
|
408
|
+
_context4.prev = 2;
|
|
409
|
+
if (action.__lowentry_dispatch__ === true) {
|
|
410
|
+
promise = new Promise(function (resolve, reject) {
|
|
411
|
+
promiseResolve = resolve;
|
|
412
|
+
promiseReject = reject;
|
|
413
|
+
});
|
|
414
|
+
if (Array.isArray(action.__lowentry_dispatch_result__)) {
|
|
415
|
+
if (typeof promise !== 'undefined') {
|
|
416
|
+
action.__lowentry_dispatch_result__.push(promise);
|
|
417
|
+
}
|
|
418
|
+
} else {
|
|
419
|
+
action.__lowentry_dispatch_result__ = promise;
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
_context4.next = 6;
|
|
423
|
+
return reducer.apply(slice, [action.payload]);
|
|
424
|
+
case 6:
|
|
425
|
+
result = _context4.sent;
|
|
426
|
+
if (promiseResolve !== null) {
|
|
427
|
+
promiseResolve(result);
|
|
428
|
+
}
|
|
429
|
+
_context4.next = 15;
|
|
430
|
+
break;
|
|
431
|
+
case 10:
|
|
432
|
+
_context4.prev = 10;
|
|
433
|
+
_context4.t0 = _context4["catch"](2);
|
|
434
|
+
console.error('an error was thrown by your LeRed.createSlice(...) code, by slice "' + slice.name + '", action "' + reducerName + '":');
|
|
435
|
+
console.error(_context4.t0);
|
|
436
|
+
if (promiseReject !== null) {
|
|
437
|
+
try {
|
|
438
|
+
promiseReject(_context4.t0);
|
|
439
|
+
} catch (e2) {
|
|
440
|
+
console.error(e2);
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
case 15:
|
|
444
|
+
case "end":
|
|
445
|
+
return _context4.stop();
|
|
446
|
+
}
|
|
447
|
+
}, _callee4, null, [[2, 10]]);
|
|
448
|
+
}));
|
|
449
|
+
case 2:
|
|
450
|
+
case "end":
|
|
451
|
+
return _context5.stop();
|
|
452
|
+
}
|
|
453
|
+
}, sagaListener);
|
|
454
|
+
});
|
|
455
|
+
if (ISSET(sagas[reducerName])) {
|
|
456
|
+
sagas[reducerName].push(reducer);
|
|
457
|
+
} else {
|
|
458
|
+
sagas[reducerName] = [reducer];
|
|
459
|
+
}
|
|
460
|
+
if (ISSET(sagaListeners[reducerName])) {
|
|
461
|
+
sagaListeners[reducerName].push(sagaListener);
|
|
462
|
+
} else {
|
|
463
|
+
sagaListeners[reducerName] = [sagaListener];
|
|
464
|
+
}
|
|
465
|
+
} else {
|
|
466
|
+
var reducerFunction = function reducerFunction(state, action) {
|
|
467
|
+
try {
|
|
468
|
+
var result = reducer.apply(state, [state[slice.name], action.payload]);
|
|
469
|
+
if (action.__lowentry_dispatch__ === true) {
|
|
470
|
+
if (Array.isArray(action.__lowentry_dispatch_result__)) {
|
|
471
|
+
if (typeof result !== 'undefined') {
|
|
472
|
+
action.__lowentry_dispatch_result__.push(result);
|
|
473
|
+
}
|
|
474
|
+
} else {
|
|
475
|
+
action.__lowentry_dispatch_result__ = result;
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
} catch (e) {
|
|
479
|
+
console.error('an error was thrown by your LeRed.createSlice(...) code, by slice "' + slice.name + '", action "' + reducerName + '":');
|
|
480
|
+
console.error(e);
|
|
481
|
+
}
|
|
482
|
+
};
|
|
483
|
+
if (ISSET(reducers[reducerName])) {
|
|
484
|
+
reducers[reducerName].push(reducerFunction);
|
|
485
|
+
} else {
|
|
486
|
+
reducers[reducerName] = [reducerFunction];
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
});
|
|
490
|
+
});
|
|
491
|
+
});
|
|
492
|
+
slice.actions = actions;
|
|
493
|
+
slice.reducers = reducers;
|
|
494
|
+
slice.sagas = sagas;
|
|
495
|
+
slice.sagaListeners = sagaListeners;
|
|
496
|
+
var selectors = {};
|
|
497
|
+
LeUtils.each(slice.selectors, function (selector, selectorName) {
|
|
498
|
+
selectors[selectorName] = function (state) {
|
|
499
|
+
try {
|
|
500
|
+
return selector.apply(state, [state[slice.name]]);
|
|
501
|
+
} catch (e) {
|
|
502
|
+
console.error('an error was thrown by your LeRed.createSlice(...) code, by slice "' + slice.name + '", selector "' + selectorName + '":');
|
|
503
|
+
console.error(e);
|
|
504
|
+
throw e;
|
|
505
|
+
}
|
|
506
|
+
};
|
|
507
|
+
});
|
|
508
|
+
slice.selectors = selectors;
|
|
509
|
+
var getters = {};
|
|
510
|
+
LeUtils.each(slice.getters, function (getter, getterName) {
|
|
511
|
+
getters[getterName] = function () {
|
|
512
|
+
try {
|
|
513
|
+
var selector = getter.apply(void 0, arguments);
|
|
514
|
+
return function (state) {
|
|
515
|
+
try {
|
|
516
|
+
return selector.apply(state, [state[slice.name]]);
|
|
517
|
+
} catch (e) {
|
|
518
|
+
console.error('an error was thrown by your LeRed.createSlice(...) code, by slice "' + slice.name + '", getter "' + getterName + '":');
|
|
519
|
+
console.error(e);
|
|
520
|
+
throw e;
|
|
521
|
+
}
|
|
522
|
+
};
|
|
523
|
+
} catch (e) {
|
|
524
|
+
console.error('an error was thrown by your LeRed.createSlice(...) code, by slice "' + slice.name + '", getter "' + getterName + '":');
|
|
525
|
+
console.error(e);
|
|
526
|
+
throw e;
|
|
527
|
+
}
|
|
528
|
+
};
|
|
529
|
+
});
|
|
530
|
+
slice.getters = getters;
|
|
531
|
+
return slice;
|
|
532
|
+
} else {
|
|
533
|
+
slice.__lowentry_unfinished_slice = true;
|
|
534
|
+
return slice;
|
|
535
|
+
}
|
|
536
|
+
};
|
|
537
|
+
LeRed.createFastSlice = function (slice) {
|
|
538
|
+
if (Array.isArray(slice)) {
|
|
539
|
+
var e = new Error('the given slice is an array (instead of an object)');
|
|
540
|
+
console.error('an error was thrown by your LeRed.createFastSlice(...) code:');
|
|
541
|
+
console.error(e);
|
|
542
|
+
throw e;
|
|
543
|
+
}
|
|
544
|
+
var actions = {};
|
|
545
|
+
LeUtils.each(slice.actions, function (reducer, reducerName) {
|
|
546
|
+
actions[reducerName] = function () {
|
|
547
|
+
for (var _len2 = arguments.length, params = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
548
|
+
params[_key2] = arguments[_key2];
|
|
549
|
+
}
|
|
550
|
+
return reducer.apply(slice, [slice.state].concat(params));
|
|
551
|
+
};
|
|
552
|
+
});
|
|
553
|
+
slice.actions = actions;
|
|
554
|
+
var selectors = {};
|
|
555
|
+
LeUtils.each(slice.selectors, function (selector, selectorName) {
|
|
556
|
+
selectors[selectorName] = function () {
|
|
557
|
+
return selector.apply(slice, [slice.state]);
|
|
558
|
+
};
|
|
559
|
+
});
|
|
560
|
+
slice.selectors = new Proxy(selectors, {
|
|
561
|
+
get: function get(target, key) {
|
|
562
|
+
return key in target ? target[key]() : undefined;
|
|
563
|
+
}
|
|
564
|
+
});
|
|
565
|
+
var getters = {};
|
|
566
|
+
LeUtils.each(slice.getters, function (selector, selectorName) {
|
|
567
|
+
getters[selectorName] = function () {
|
|
568
|
+
for (var _len3 = arguments.length, params = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
569
|
+
params[_key3] = arguments[_key3];
|
|
570
|
+
}
|
|
571
|
+
return selector.apply(slice, [slice.state].concat(params));
|
|
572
|
+
};
|
|
573
|
+
});
|
|
574
|
+
slice.getters = getters;
|
|
575
|
+
return slice;
|
|
576
|
+
};
|
|
577
|
+
LeRed.current = function (obj) {
|
|
578
|
+
try {
|
|
579
|
+
return RTK.current(obj);
|
|
580
|
+
} catch (e) {}
|
|
581
|
+
return obj;
|
|
582
|
+
};
|
|
583
|
+
LeRed.useConfigureStore = function (storeData) {
|
|
584
|
+
return LeRed.useMemo(function () {
|
|
585
|
+
return LeRed.configureStore(storeData);
|
|
586
|
+
}, [storeData]);
|
|
587
|
+
};
|
|
588
|
+
LeRed.useSelector = function (selector, equalsComparator) {
|
|
589
|
+
if (typeof selector !== 'function') {
|
|
590
|
+
console.error('LeRed.useSelector() was given an invalid selector:');
|
|
591
|
+
console.error(selector);
|
|
592
|
+
selector = function selector() {};
|
|
593
|
+
}
|
|
594
|
+
equalsComparator = fixEqualsComparator(equalsComparator, 'LeRed.useSelector() was given an invalid comparator:');
|
|
595
|
+
return ReactRedux.useSelector(selector, equalsComparator);
|
|
596
|
+
};
|
|
597
|
+
LeRed.useEffect = function (callable, comparingValues, equalsComparator) {
|
|
598
|
+
equalsComparator = fixEqualsComparator(equalsComparator, 'LeRed.useEffect() was given an invalid comparator:');
|
|
599
|
+
comparingValues = ARRAY(comparingValues);
|
|
600
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
601
|
+
comparingValues = comparingValues.map(function (value) {
|
|
602
|
+
return useCompareMemoize(value, equalsComparator);
|
|
603
|
+
});
|
|
604
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
605
|
+
return React.useEffect(callable, comparingValues);
|
|
606
|
+
};
|
|
607
|
+
LeRed.useEffectInterval = function (callable, comparingValues, intervalMs, fireImmediately, equalsComparator) {
|
|
608
|
+
return LeRed.useEffect(function () {
|
|
609
|
+
return LeUtils.setInterval(callable, intervalMs, fireImmediately).remove;
|
|
610
|
+
}, [comparingValues, equalsComparator]);
|
|
611
|
+
};
|
|
612
|
+
LeRed.useEffectAnimationFrameInterval = function (callable, comparingValues, intervalFrames, fireImmediately, equalsComparator) {
|
|
613
|
+
return LeRed.useEffect(function () {
|
|
614
|
+
return LeUtils.setAnimationFrameInterval(callable, intervalFrames, fireImmediately).remove;
|
|
615
|
+
}, [comparingValues, equalsComparator]);
|
|
616
|
+
};
|
|
617
|
+
LeRed.useEffectGenerator = function (callable, comparingValues, intervalMs, fireImmediately, equalsComparator) {
|
|
618
|
+
return LeRed.useEffect(function () {
|
|
619
|
+
var stop = false;
|
|
620
|
+
_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
|
|
621
|
+
var _iterator, _step, promise;
|
|
622
|
+
return _regeneratorRuntime.wrap(function _callee5$(_context6) {
|
|
623
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
624
|
+
case 0:
|
|
625
|
+
_iterator = _createForOfIteratorHelper(callable());
|
|
626
|
+
_context6.prev = 1;
|
|
627
|
+
_iterator.s();
|
|
628
|
+
case 3:
|
|
629
|
+
if ((_step = _iterator.n()).done) {
|
|
630
|
+
_context6.next = 13;
|
|
631
|
+
break;
|
|
632
|
+
}
|
|
633
|
+
promise = _step.value;
|
|
634
|
+
if (!stop) {
|
|
635
|
+
_context6.next = 7;
|
|
636
|
+
break;
|
|
637
|
+
}
|
|
638
|
+
return _context6.abrupt("return");
|
|
639
|
+
case 7:
|
|
640
|
+
_context6.next = 9;
|
|
641
|
+
return promise;
|
|
642
|
+
case 9:
|
|
643
|
+
if (!stop) {
|
|
644
|
+
_context6.next = 11;
|
|
645
|
+
break;
|
|
646
|
+
}
|
|
647
|
+
return _context6.abrupt("return");
|
|
648
|
+
case 11:
|
|
649
|
+
_context6.next = 3;
|
|
650
|
+
break;
|
|
651
|
+
case 13:
|
|
652
|
+
_context6.next = 18;
|
|
653
|
+
break;
|
|
654
|
+
case 15:
|
|
655
|
+
_context6.prev = 15;
|
|
656
|
+
_context6.t0 = _context6["catch"](1);
|
|
657
|
+
_iterator.e(_context6.t0);
|
|
658
|
+
case 18:
|
|
659
|
+
_context6.prev = 18;
|
|
660
|
+
_iterator.f();
|
|
661
|
+
return _context6.finish(18);
|
|
662
|
+
case 21:
|
|
663
|
+
case "end":
|
|
664
|
+
return _context6.stop();
|
|
665
|
+
}
|
|
666
|
+
}, _callee5, null, [[1, 15, 18, 21]]);
|
|
667
|
+
}))();
|
|
668
|
+
return function () {
|
|
669
|
+
stop = true;
|
|
670
|
+
};
|
|
671
|
+
}, [comparingValues, equalsComparator]);
|
|
672
|
+
};
|
|
673
|
+
LeRed.useEffectGeneratorLoop = function (callable, comparingValues, intervalMs, fireImmediately, equalsComparator) {
|
|
674
|
+
return LeRed.useEffect(function () {
|
|
675
|
+
var stop = false;
|
|
676
|
+
_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {
|
|
677
|
+
var _iterator2, _step2, promise;
|
|
678
|
+
return _regeneratorRuntime.wrap(function _callee6$(_context7) {
|
|
679
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
680
|
+
case 0:
|
|
681
|
+
if (stop) {
|
|
682
|
+
_context7.next = 24;
|
|
683
|
+
break;
|
|
684
|
+
}
|
|
685
|
+
_iterator2 = _createForOfIteratorHelper(callable());
|
|
686
|
+
_context7.prev = 2;
|
|
687
|
+
_iterator2.s();
|
|
688
|
+
case 4:
|
|
689
|
+
if ((_step2 = _iterator2.n()).done) {
|
|
690
|
+
_context7.next = 14;
|
|
691
|
+
break;
|
|
692
|
+
}
|
|
693
|
+
promise = _step2.value;
|
|
694
|
+
if (!stop) {
|
|
695
|
+
_context7.next = 8;
|
|
696
|
+
break;
|
|
697
|
+
}
|
|
698
|
+
return _context7.abrupt("return");
|
|
699
|
+
case 8:
|
|
700
|
+
_context7.next = 10;
|
|
701
|
+
return promise;
|
|
702
|
+
case 10:
|
|
703
|
+
if (!stop) {
|
|
704
|
+
_context7.next = 12;
|
|
705
|
+
break;
|
|
706
|
+
}
|
|
707
|
+
return _context7.abrupt("return");
|
|
708
|
+
case 12:
|
|
709
|
+
_context7.next = 4;
|
|
710
|
+
break;
|
|
711
|
+
case 14:
|
|
712
|
+
_context7.next = 19;
|
|
713
|
+
break;
|
|
714
|
+
case 16:
|
|
715
|
+
_context7.prev = 16;
|
|
716
|
+
_context7.t0 = _context7["catch"](2);
|
|
717
|
+
_iterator2.e(_context7.t0);
|
|
718
|
+
case 19:
|
|
719
|
+
_context7.prev = 19;
|
|
720
|
+
_iterator2.f();
|
|
721
|
+
return _context7.finish(19);
|
|
722
|
+
case 22:
|
|
723
|
+
_context7.next = 0;
|
|
724
|
+
break;
|
|
725
|
+
case 24:
|
|
726
|
+
case "end":
|
|
727
|
+
return _context7.stop();
|
|
728
|
+
}
|
|
729
|
+
}, _callee6, null, [[2, 16, 19, 22]]);
|
|
730
|
+
}))();
|
|
731
|
+
return function () {
|
|
732
|
+
stop = true;
|
|
733
|
+
};
|
|
734
|
+
}, [comparingValues, equalsComparator]);
|
|
735
|
+
};
|
|
736
|
+
LeRed.useEffectShutdown = function (callable, comparingValues, equalsComparator) {
|
|
737
|
+
return LeRed.useEffect(function () {
|
|
738
|
+
var run = function run() {
|
|
739
|
+
callable();
|
|
740
|
+
};
|
|
741
|
+
if (typeof window !== 'undefined') {
|
|
742
|
+
window.addEventListener('beforeunload', run, {
|
|
743
|
+
capture: true
|
|
744
|
+
});
|
|
745
|
+
}
|
|
746
|
+
return function () {
|
|
747
|
+
if (typeof window !== 'undefined') {
|
|
748
|
+
window.removeEventListener('beforeunload', run, {
|
|
749
|
+
capture: true
|
|
750
|
+
});
|
|
751
|
+
}
|
|
752
|
+
run();
|
|
753
|
+
};
|
|
754
|
+
}, [comparingValues, equalsComparator]);
|
|
755
|
+
};
|
|
756
|
+
LeRed.useEffectPageFocusLost = function (callable, comparingValues, equalsComparator) {
|
|
757
|
+
var events = ['pagehide', 'freeze', 'blur', 'visibilitychange'];
|
|
758
|
+
return LeRed.useEffect(function () {
|
|
759
|
+
if (typeof window === 'undefined') {
|
|
760
|
+
return;
|
|
761
|
+
}
|
|
762
|
+
var run = function run() {
|
|
763
|
+
if (typeof document === 'undefined') {
|
|
764
|
+
return;
|
|
765
|
+
}
|
|
766
|
+
if (document.visibilityState !== 'hidden' && document.hasFocus()) {
|
|
767
|
+
return;
|
|
768
|
+
}
|
|
769
|
+
callable();
|
|
770
|
+
};
|
|
771
|
+
events.forEach(function (type) {
|
|
772
|
+
return window.addEventListener(type, run, {
|
|
773
|
+
capture: true
|
|
774
|
+
});
|
|
775
|
+
});
|
|
776
|
+
return function () {
|
|
777
|
+
events.forEach(function (type) {
|
|
778
|
+
return window.removeEventListener(type, run, {
|
|
779
|
+
capture: true
|
|
780
|
+
});
|
|
781
|
+
});
|
|
782
|
+
};
|
|
783
|
+
}, [comparingValues, equalsComparator]);
|
|
784
|
+
};
|
|
785
|
+
LeRed.memo = function (component, equalsComparator) {
|
|
786
|
+
equalsComparator = fixEqualsComparator(equalsComparator, 'LeRed.memo() was given an invalid comparator:');
|
|
787
|
+
return /*#__PURE__*/React.memo(component, equalsComparator);
|
|
788
|
+
};
|
|
789
|
+
LeRed.useMemo = function (callable, comparingValues, equalsComparator) {
|
|
790
|
+
equalsComparator = fixEqualsComparator(equalsComparator, 'LeRed.useMemo() was given an invalid comparator:');
|
|
791
|
+
comparingValues = ARRAY(comparingValues);
|
|
792
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
793
|
+
comparingValues = comparingValues.map(function (value) {
|
|
794
|
+
return useCompareMemoize(value, equalsComparator);
|
|
795
|
+
});
|
|
796
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
797
|
+
return React.useMemo(callable, comparingValues);
|
|
798
|
+
};
|
|
799
|
+
LeRed.useCallback = function (callable, comparingValues, equalsComparator) {
|
|
800
|
+
equalsComparator = fixEqualsComparator(equalsComparator, 'LeRed.useCallback() was given an invalid comparator:');
|
|
801
|
+
comparingValues = ARRAY(comparingValues);
|
|
802
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
803
|
+
comparingValues = comparingValues.map(function (value) {
|
|
804
|
+
return useCompareMemoize(value, equalsComparator);
|
|
805
|
+
});
|
|
806
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
807
|
+
return React.useCallback(callable, comparingValues);
|
|
808
|
+
};
|
|
809
|
+
LeRed.usePrevious = function (value, initialValue) {
|
|
810
|
+
var ref = LeRed.useRef(initialValue);
|
|
811
|
+
LeRed.useEffect(function () {
|
|
812
|
+
ref.current = value;
|
|
813
|
+
}, [value]);
|
|
814
|
+
return ref.current;
|
|
815
|
+
};
|
|
816
|
+
LeRed.useFont = function (font) {
|
|
817
|
+
font = '12px ' + STRING(font).trim();
|
|
818
|
+
var _LeRed$useState = LeRed.useState(false),
|
|
819
|
+
_LeRed$useState2 = _slicedToArray(_LeRed$useState, 2),
|
|
820
|
+
hasFont = _LeRed$useState2[0],
|
|
821
|
+
setHasFont = _LeRed$useState2[1];
|
|
822
|
+
LeRed.useEffect(function () {
|
|
823
|
+
if (!hasFont) {
|
|
824
|
+
var _document;
|
|
825
|
+
if (!ISSET((_document = document) === null || _document === void 0 || (_document = _document.fonts) === null || _document === void 0 ? void 0 : _document.check)) {
|
|
826
|
+
setHasFont(true);
|
|
827
|
+
return;
|
|
828
|
+
}
|
|
829
|
+
var handler = setInterval(function () {
|
|
830
|
+
try {
|
|
831
|
+
if (document.fonts.check(font)) {
|
|
832
|
+
clearInterval(handler);
|
|
833
|
+
setHasFont(true);
|
|
834
|
+
}
|
|
835
|
+
} catch (e) {
|
|
836
|
+
console.error(e);
|
|
837
|
+
clearInterval(handler);
|
|
838
|
+
setHasFont(true);
|
|
839
|
+
}
|
|
840
|
+
}, 30);
|
|
841
|
+
}
|
|
842
|
+
}, [hasFont]);
|
|
843
|
+
return hasFont;
|
|
844
|
+
};
|
|
845
|
+
|
|
846
|
+
/**
|
|
847
|
+
* Adds a <script> tag to the <head> of the document.
|
|
848
|
+
* Only for development and testing purposes.
|
|
849
|
+
*
|
|
850
|
+
* @param {string} url The URL of the js file to include.
|
|
851
|
+
* @param {object} props Additional props of the <script> tag.
|
|
852
|
+
*/
|
|
853
|
+
LeRed.useScript = function (url) {
|
|
854
|
+
var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
855
|
+
return LeRed.useEffect(function () {
|
|
856
|
+
var script = document.createElement('script');
|
|
857
|
+
script.type = 'text/javascript';
|
|
858
|
+
script.src = url;
|
|
859
|
+
LeUtils.each(props, function (value, key) {
|
|
860
|
+
script.setAttribute(key, value);
|
|
861
|
+
});
|
|
862
|
+
document.head.appendChild(script);
|
|
863
|
+
return function () {
|
|
864
|
+
return document.head.removeChild(script);
|
|
865
|
+
};
|
|
866
|
+
}, [url, props]);
|
|
867
|
+
};
|
|
868
|
+
LeRed.mergeRefs = function () {
|
|
869
|
+
for (var _len4 = arguments.length, refs = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
|
870
|
+
refs[_key4] = arguments[_key4];
|
|
871
|
+
}
|
|
872
|
+
refs = LeUtils.flattenArray(refs);
|
|
873
|
+
if (!refs) {
|
|
874
|
+
return null;
|
|
875
|
+
}
|
|
876
|
+
var newRefs = [];
|
|
877
|
+
LeUtils.each(refs, function (ref) {
|
|
878
|
+
if (ref) {
|
|
879
|
+
newRefs.push(ref);
|
|
880
|
+
}
|
|
881
|
+
});
|
|
882
|
+
refs = newRefs;
|
|
883
|
+
if (refs.length <= 0) {
|
|
884
|
+
return null;
|
|
885
|
+
}
|
|
886
|
+
if (refs.length === 1) {
|
|
887
|
+
return refs[0];
|
|
888
|
+
}
|
|
889
|
+
return function (inst) {
|
|
890
|
+
LeUtils.each(refs, function (ref) {
|
|
891
|
+
try {
|
|
892
|
+
if (typeof ref === 'function') {
|
|
893
|
+
ref(inst);
|
|
894
|
+
} else if (ref) {
|
|
895
|
+
ref.current = inst;
|
|
896
|
+
}
|
|
897
|
+
} catch (e) {
|
|
898
|
+
console.error(e);
|
|
899
|
+
}
|
|
900
|
+
});
|
|
901
|
+
};
|
|
902
|
+
};
|
|
903
|
+
LeRed.useTriggerable = function (event) {
|
|
904
|
+
var _LeRed$useState3 = LeRed.useState([null, LeUtils.uniqueId()]),
|
|
905
|
+
_LeRed$useState4 = _slicedToArray(_LeRed$useState3, 2),
|
|
906
|
+
_LeRed$useState4$ = _slicedToArray(_LeRed$useState4[0], 2),
|
|
907
|
+
value = _LeRed$useState4$[0];
|
|
908
|
+
_LeRed$useState4$[1];
|
|
909
|
+
var setValue = _LeRed$useState4[1];
|
|
910
|
+
LeRed.useEffect(function () {
|
|
911
|
+
if (typeof window === 'undefined') {
|
|
912
|
+
return;
|
|
913
|
+
}
|
|
914
|
+
var callback = function callback(e) {
|
|
915
|
+
setValue([e === null || e === void 0 ? void 0 : e.detail, LeUtils.uniqueId()]);
|
|
916
|
+
};
|
|
917
|
+
var eventName = 'lowentrytriggerable_' + event;
|
|
918
|
+
window.addEventListener(eventName, callback);
|
|
919
|
+
return function () {
|
|
920
|
+
return window.removeEventListener(eventName, callback);
|
|
921
|
+
};
|
|
922
|
+
}, []);
|
|
923
|
+
return value;
|
|
924
|
+
};
|
|
925
|
+
LeRed.trigger = function (event, value) {
|
|
926
|
+
if (typeof window === 'undefined') {
|
|
927
|
+
return;
|
|
928
|
+
}
|
|
929
|
+
var eventName = 'lowentrytriggerable_' + event;
|
|
930
|
+
window.dispatchEvent(new CustomEvent(eventName, {
|
|
931
|
+
detail: value
|
|
932
|
+
}));
|
|
933
|
+
};
|
|
934
|
+
|
|
935
|
+
/**
|
|
936
|
+
* A useState() hook that automatically resets to the defaultValue after the given duration.
|
|
937
|
+
*
|
|
938
|
+
* Example:
|
|
939
|
+
*
|
|
940
|
+
* ```js
|
|
941
|
+
* const [value, setValue] = LeRed.useTempState(true, 2000);
|
|
942
|
+
* // somewhere in your code:
|
|
943
|
+
* setValue(false); // value is now false, after 2 seconds it will be reset to true
|
|
944
|
+
* ```
|
|
945
|
+
*
|
|
946
|
+
* Repeated calls cause the timer to reset, meaning each set value will always remain for the full given duration.
|
|
947
|
+
*/
|
|
948
|
+
LeRed.useTempState = function (defaultValue, duration) {
|
|
949
|
+
var _LeRed$useState5 = LeRed.useState(defaultValue),
|
|
950
|
+
_LeRed$useState6 = _slicedToArray(_LeRed$useState5, 2),
|
|
951
|
+
value = _LeRed$useState6[0],
|
|
952
|
+
setValue = _LeRed$useState6[1];
|
|
953
|
+
var timeoutHandle = LeRed.useRef(null);
|
|
954
|
+
return [value, function (newValue) {
|
|
955
|
+
if (timeoutHandle.current) {
|
|
956
|
+
clearTimeout(timeoutHandle.current);
|
|
957
|
+
}
|
|
958
|
+
setValue(newValue);
|
|
959
|
+
timeoutHandle.current = setTimeout(function () {
|
|
960
|
+
timeoutHandle.current = null;
|
|
961
|
+
setValue(defaultValue);
|
|
962
|
+
}, duration);
|
|
963
|
+
}];
|
|
964
|
+
};
|
|
965
|
+
|
|
966
|
+
/**
|
|
967
|
+
* Allows you to listen to the browser history events (forwards, backwards) and execute a callback on those events.
|
|
968
|
+
*
|
|
969
|
+
* You pass 2 functions to it (the callbacks), and it also provides 2 functions (for manually going forwards and backwards).
|
|
970
|
+
*
|
|
971
|
+
* Usage:
|
|
972
|
+
*
|
|
973
|
+
* ```js
|
|
974
|
+
* const [goForwards, goBackwards] = LeRed.useHistory(() => console.log('has gone forwards'), () => console.log('has gone backwards'));
|
|
975
|
+
* ```
|
|
976
|
+
*/
|
|
977
|
+
LeRed.useHistory = function () {
|
|
978
|
+
var historyStateListeners = [];
|
|
979
|
+
if (typeof window !== 'undefined') {
|
|
980
|
+
window.addEventListener('popstate', function () {
|
|
981
|
+
var _historyStateListener;
|
|
982
|
+
(_historyStateListener = historyStateListeners.pop()) === null || _historyStateListener === void 0 || _historyStateListener.callback();
|
|
983
|
+
});
|
|
984
|
+
}
|
|
985
|
+
var addListener = function addListener(callback) {
|
|
986
|
+
var id = LeUtils.uniqueId();
|
|
987
|
+
historyStateListeners.push({
|
|
988
|
+
id: id,
|
|
989
|
+
callback: callback
|
|
990
|
+
});
|
|
991
|
+
return id;
|
|
992
|
+
};
|
|
993
|
+
var removeListener = function removeListener(id) {
|
|
994
|
+
if (!id) {
|
|
995
|
+
return;
|
|
996
|
+
}
|
|
997
|
+
historyStateListeners = historyStateListeners.filter(function (listener) {
|
|
998
|
+
return listener.id !== id;
|
|
999
|
+
});
|
|
1000
|
+
};
|
|
1001
|
+
return function (onForward, onBack) {
|
|
1002
|
+
var remaining = LeRed.useRef(0);
|
|
1003
|
+
var id = LeRed.useRef(null);
|
|
1004
|
+
var goBack = LeRed.useCallback(function () {
|
|
1005
|
+
if (remaining.current <= 0) {
|
|
1006
|
+
return;
|
|
1007
|
+
}
|
|
1008
|
+
remaining.current--;
|
|
1009
|
+
if (remaining.current === 0) {
|
|
1010
|
+
if (id.current) {
|
|
1011
|
+
removeListener(id.current);
|
|
1012
|
+
}
|
|
1013
|
+
id.current = null;
|
|
1014
|
+
}
|
|
1015
|
+
onBack();
|
|
1016
|
+
}, [onBack]);
|
|
1017
|
+
return [function () /** do **/
|
|
1018
|
+
{
|
|
1019
|
+
LeRed.navigate('#');
|
|
1020
|
+
remaining.current++;
|
|
1021
|
+
if (remaining.current === 1) {
|
|
1022
|
+
if (id.current) {
|
|
1023
|
+
removeListener(id.current);
|
|
1024
|
+
}
|
|
1025
|
+
id.current = addListener(goBack);
|
|
1026
|
+
}
|
|
1027
|
+
onForward();
|
|
1028
|
+
}, function () /** undo **/
|
|
1029
|
+
{
|
|
1030
|
+
if (remaining.current > 0) {
|
|
1031
|
+
LeRed.navigate(-1);
|
|
1032
|
+
}
|
|
1033
|
+
}];
|
|
1034
|
+
};
|
|
1035
|
+
}();
|
|
1036
|
+
|
|
1037
|
+
/**
|
|
1038
|
+
* 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.
|
|
1039
|
+
*
|
|
1040
|
+
* Example:
|
|
1041
|
+
*
|
|
1042
|
+
* ```js
|
|
1043
|
+
* 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
|
|
1044
|
+
* ```
|
|
1045
|
+
*
|
|
1046
|
+
* or, if you'd like it to be true by default:
|
|
1047
|
+
*
|
|
1048
|
+
* ```js
|
|
1049
|
+
* 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
|
|
1050
|
+
* ```
|
|
1051
|
+
*/
|
|
1052
|
+
LeRed.useHistoryState = function (initialState) {
|
|
1053
|
+
var _LeRed$useState7 = LeRed.useState(!!initialState),
|
|
1054
|
+
_LeRed$useState8 = _slicedToArray(_LeRed$useState7, 2),
|
|
1055
|
+
state = _LeRed$useState8[0],
|
|
1056
|
+
setState = _LeRed$useState8[1];
|
|
1057
|
+
var _LeRed$useHistory = LeRed.useHistory(function () {
|
|
1058
|
+
return setState(!initialState);
|
|
1059
|
+
}, function () {
|
|
1060
|
+
return setState(!!initialState);
|
|
1061
|
+
}),
|
|
1062
|
+
_LeRed$useHistory2 = _slicedToArray(_LeRed$useHistory, 2),
|
|
1063
|
+
forwards = _LeRed$useHistory2[0],
|
|
1064
|
+
backwards = _LeRed$useHistory2[1];
|
|
1065
|
+
if (!!initialState) {
|
|
1066
|
+
return [state, backwards, forwards];
|
|
1067
|
+
}
|
|
1068
|
+
return [state, forwards, backwards];
|
|
1069
|
+
};
|
|
1070
|
+
LeRed.Root = LeRed.memo(function (_ref3) {
|
|
1071
|
+
var store = _ref3.store,
|
|
1072
|
+
children = _ref3.children,
|
|
1073
|
+
other = _objectWithoutProperties(_ref3, _excluded);
|
|
1074
|
+
if (ISSET(store)) {
|
|
1075
|
+
store = LeRed.configureStore(store);
|
|
1076
|
+
return /*#__PURE__*/React.createElement(ReactRedux.Provider, _extends({
|
|
1077
|
+
store: store
|
|
1078
|
+
}, other), children);
|
|
1079
|
+
}
|
|
1080
|
+
return children;
|
|
1081
|
+
});
|
|
1082
|
+
LeRed.PreloadComponent = function (load) {
|
|
1083
|
+
if (typeof window !== 'undefined') {
|
|
1084
|
+
var promise = load(); // start loading already, before it's being rendered in React
|
|
1085
|
+
return function () {
|
|
1086
|
+
return promise;
|
|
1087
|
+
};
|
|
1088
|
+
}
|
|
1089
|
+
return load;
|
|
1090
|
+
};
|
|
1091
|
+
LeRed.LoadComponent = LeRed.memo(function (_ref4) {
|
|
1092
|
+
var loading = _ref4.loading,
|
|
1093
|
+
load = _ref4.load,
|
|
1094
|
+
other = _objectWithoutProperties(_ref4, _excluded2);
|
|
1095
|
+
var _LeRed$useState9 = LeRed.useState(loading !== null && loading !== void 0 ? loading : null),
|
|
1096
|
+
_LeRed$useState10 = _slicedToArray(_LeRed$useState9, 2),
|
|
1097
|
+
Component = _LeRed$useState10[0],
|
|
1098
|
+
setComponent = _LeRed$useState10[1];
|
|
1099
|
+
LeRed.useEffect(function () {
|
|
1100
|
+
_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7() {
|
|
1101
|
+
var LoadedComponent;
|
|
1102
|
+
return _regeneratorRuntime.wrap(function _callee7$(_context8) {
|
|
1103
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
1104
|
+
case 0:
|
|
1105
|
+
if (!(typeof load === 'function')) {
|
|
1106
|
+
_context8.next = 6;
|
|
1107
|
+
break;
|
|
1108
|
+
}
|
|
1109
|
+
_context8.next = 3;
|
|
1110
|
+
return load();
|
|
1111
|
+
case 3:
|
|
1112
|
+
_context8.t0 = _context8.sent;
|
|
1113
|
+
_context8.next = 9;
|
|
1114
|
+
break;
|
|
1115
|
+
case 6:
|
|
1116
|
+
_context8.next = 8;
|
|
1117
|
+
return load;
|
|
1118
|
+
case 8:
|
|
1119
|
+
_context8.t0 = _context8.sent;
|
|
1120
|
+
case 9:
|
|
1121
|
+
LoadedComponent = _context8.t0;
|
|
1122
|
+
if (LoadedComponent) {
|
|
1123
|
+
_context8.next = 13;
|
|
1124
|
+
break;
|
|
1125
|
+
}
|
|
1126
|
+
setComponent(null);
|
|
1127
|
+
return _context8.abrupt("return");
|
|
1128
|
+
case 13:
|
|
1129
|
+
setComponent( /*#__PURE__*/React.createElement(LoadedComponent, other));
|
|
1130
|
+
case 14:
|
|
1131
|
+
case "end":
|
|
1132
|
+
return _context8.stop();
|
|
1133
|
+
}
|
|
1134
|
+
}, _callee7);
|
|
1135
|
+
}))();
|
|
1136
|
+
}, []);
|
|
1137
|
+
return Component;
|
|
1138
|
+
});
|
|
1139
|
+
if (typeof Proxy === 'undefined') {
|
|
1140
|
+
return LeRed;
|
|
1141
|
+
}
|
|
1142
|
+
return new Proxy(LeRed, {
|
|
1143
|
+
set: function set(target, key, value) {
|
|
1144
|
+
LeRed.set(key, value);
|
|
1145
|
+
return true;
|
|
1146
|
+
}
|
|
1147
|
+
});
|
|
1148
|
+
}();
|
|
1149
|
+
|
|
1150
|
+
export { LeRed };
|
|
2
1151
|
//# sourceMappingURL=index.js.map
|