state-decorator 8.0.0 → 9.0.0-rc.0
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/README.md +34 -168
- package/development.js +2 -2
- package/development.js.map +1 -1
- package/helpers.js +2 -2
- package/helpers.js.map +1 -1
- package/impl.js +2 -2
- package/impl.js.map +1 -1
- package/index.js +42 -2
- package/index.js.map +1 -1
- package/middlewares.js +2 -2
- package/middlewares.js.map +1 -1
- package/package.json +2 -2
- package/test.js +2 -2
- package/test.js.map +1 -1
- package/es/development.d.ts +0 -10
- package/es/development.js +0 -2
- package/es/development.js.map +0 -1
- package/es/graph.d.ts +0 -8
- package/es/helpers.d.ts +0 -67
- package/es/helpers.js +0 -2
- package/es/helpers.js.map +0 -1
- package/es/impl.d.ts +0 -204
- package/es/impl.js +0 -2
- package/es/impl.js.map +0 -1
- package/es/index.d.ts +0 -182
- package/es/index.js +0 -2
- package/es/index.js.map +0 -1
- package/es/middlewares.d.ts +0 -3
- package/es/middlewares.js +0 -2
- package/es/middlewares.js.map +0 -1
- package/es/shallow.d.ts +0 -1
- package/es/test.d.ts +0 -126
- package/es/test.js +0 -2
- package/es/test.js.map +0 -1
- package/es/types.d.ts +0 -387
- package/es/v5.d.ts +0 -45
- package/es/v5.js +0 -2
- package/es/v5.js.map +0 -1
- package/es/v5_test.d.ts +0 -57
- package/es/v5_test.js +0 -2
- package/es/v5_test.js.map +0 -1
- package/es/v5_types.d.ts +0 -213
- package/es/v6.d.ts +0 -21
- package/es/v6.js +0 -2
- package/es/v6.js.map +0 -1
- package/v5.d.ts +0 -45
- package/v5.js +0 -2
- package/v5.js.map +0 -1
- package/v5_test.d.ts +0 -57
- package/v5_test.js +0 -2
- package/v5_test.js.map +0 -1
- package/v5_types.d.ts +0 -213
- package/v6.d.ts +0 -21
- package/v6.js +0 -2
- package/v6.js.map +0 -1
package/README.md
CHANGED
|
@@ -11,6 +11,7 @@ The StateDecorator is a set of React hooks that manage a complex component state
|
|
|
11
11
|
- [Features](#features)
|
|
12
12
|
- [V7: Partial state and new hooks](#v7-partial-state-and-new-hooks)
|
|
13
13
|
- [V8: Better React 19 compatibility](#v8-better-react-19-compatibility)
|
|
14
|
+
- [V9: ES-only build and legacy removal](#v9-es-only-build-and-legacy-removal)
|
|
14
15
|
- [Getting started](#getting-started)
|
|
15
16
|
- [React hooks](#react-hooks)
|
|
16
17
|
- [StoreApi](#storeapi)
|
|
@@ -36,9 +37,9 @@ The StateDecorator is a set of React hooks that manage a complex component state
|
|
|
36
37
|
- [Build](#build)
|
|
37
38
|
- [Limitations](#limitations)
|
|
38
39
|
- [Migration](#migration)
|
|
40
|
+
- [V8 to V9](#v8-to-v9)
|
|
39
41
|
- [V7 to V8](#v7-to-v8)
|
|
40
42
|
- [V6 to V7](#v6-to-v7)
|
|
41
|
-
- [V5 to V6](#v5-to-v6)
|
|
42
43
|
- [Examples](#examples)
|
|
43
44
|
- [Visual Studio Code user snippet](#visual-studio-code-user-snippet)
|
|
44
45
|
|
|
@@ -69,6 +70,13 @@ The StateDecorator is a set of React hooks that manage a complex component state
|
|
|
69
70
|
- Fixed a React 18+/19 concurrent rendering issue: **onMount** (and **onPropsChange** entries flagged **onMount: true**) used to run during **init()**, which can itself run during render. Under concurrent rendering, a discarded and retried render attempt could trigger these side effects (e.g. data fetches) more than once per real mount. They are now deferred to a new **runMountEffects()** store method, called once from a layout effect after the render that actually commits — see [Call actions on mount](#call-actions-on-mount).
|
|
70
71
|
- See migration details in [migration section](#migration).
|
|
71
72
|
|
|
73
|
+
# V9: ES-only build and legacy removal
|
|
74
|
+
|
|
75
|
+
- The **v5** and **v6** compatibility layers were removed: the `state-decorator/v5`, `state-decorator/v5_test` and `state-decorator/v6` entry points no longer exist.
|
|
76
|
+
- The package is now ES modules only: the CommonJS build and the `es/` folder were removed, the output is not transpiled (ESNext, it was ES5) and the ES files are now at the package root. A bundler is required.
|
|
77
|
+
- The library is now built with [rolldown](https://rolldown.rs).
|
|
78
|
+
- See migration details in [migration section](#migration).
|
|
79
|
+
|
|
72
80
|
# Getting started
|
|
73
81
|
|
|
74
82
|
## Installation
|
|
@@ -1757,17 +1765,15 @@ TypeError: Cannot set property 'crash' of null
|
|
|
1757
1765
|
|
|
1758
1766
|
# Build
|
|
1759
1767
|
|
|
1760
|
-
This library provides
|
|
1768
|
+
This library provides ES modules only, with untranspiled ESNext output: it is meant to be consumed through a bundler (webpack, Vite, Rollup, esbuild...) that transpiles it for your target browsers. Each entry point (`index`, `helpers`, `middlewares`, `development`, `test`) is a file at the package root, and no bundler alias is needed.
|
|
1761
1769
|
|
|
1762
|
-
|
|
1770
|
+
It is built with [rolldown](https://rolldown.rs):
|
|
1763
1771
|
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
},
|
|
1770
|
-
```
|
|
1772
|
+
- `yarn bundle` builds the production bundles (minified) in `lib` and emits the type declarations with `tsc`
|
|
1773
|
+
- `yarn bundle:dev` builds non-minified bundles
|
|
1774
|
+
- `yarn build` runs `yarn bundle` and prepares `lib` for publication
|
|
1775
|
+
|
|
1776
|
+
`process.env.NODE_ENV` is not replaced at build time: the development tools (`state-decorator/development`) rely on your own bundler defining it.
|
|
1771
1777
|
|
|
1772
1778
|
# Limitations
|
|
1773
1779
|
|
|
@@ -1779,6 +1785,24 @@ resolve: {
|
|
|
1779
1785
|
|
|
1780
1786
|
# Migration
|
|
1781
1787
|
|
|
1788
|
+
## V8 to V9
|
|
1789
|
+
|
|
1790
|
+
### Legacy compatibility layers removed
|
|
1791
|
+
|
|
1792
|
+
The following entry points were removed, along with everything they exported (**useStateDecorator**, **StateDecoratorActions**, the **testV6\*** helpers...):
|
|
1793
|
+
|
|
1794
|
+
- `state-decorator/v5`
|
|
1795
|
+
- `state-decorator/v5_test`
|
|
1796
|
+
- `state-decorator/v6`
|
|
1797
|
+
|
|
1798
|
+
If your code still imports one of them, migrate it to the current API **before** upgrading, using the guides of a previous release (the V5 to V6 guide only exists in the README of v8.0.0). The V6 to V7 guide below describes the code changes.
|
|
1799
|
+
|
|
1800
|
+
### ES modules only
|
|
1801
|
+
|
|
1802
|
+
- The CommonJS build was removed: `main` and `module` now both point to the ES file `index.js`, so `require('state-decorator')` is no longer supported. A bundler (webpack, Vite, Rollup, esbuild...) is required.
|
|
1803
|
+
- The `es/` folder was removed: the ES files are now at the package root, like the former CommonJS ones. Imports like `state-decorator/helpers` or `state-decorator/middlewares` are unchanged, but deep imports of `state-decorator/es/...` must drop the `es/` segment (`state-decorator/es/helpers` becomes `state-decorator/helpers`). The webpack alias `'state-decorator': 'state-decorator/es'` must be removed.
|
|
1804
|
+
- The output is ESNext instead of ES5: it is not transpiled, so your bundler must transpile `state-decorator` (e.g. include it in your Babel/SWC rules if `node_modules` is excluded) for the browsers you support.
|
|
1805
|
+
|
|
1782
1806
|
## V7 to V8
|
|
1783
1807
|
|
|
1784
1808
|
No breaking changes for **useLocalStore** / **useStore** / **useBindStore** users — they behave the same, no code change needed.
|
|
@@ -1795,17 +1819,6 @@ If you skip this, **onMount** (and `onMount`-flagged **onPropsChange** entries)
|
|
|
1795
1819
|
|
|
1796
1820
|
## V6 to V7
|
|
1797
1821
|
|
|
1798
|
-
### Step 1: V6 compatibility layer
|
|
1799
|
-
|
|
1800
|
-
Only **useLocalStore** is supported by compatiblity layer.
|
|
1801
|
-
|
|
1802
|
-
```diff
|
|
1803
|
-
-import useLocalStore from 'state-decorator';
|
|
1804
|
-
+import useLocalStore from 'state-decorator/v6';
|
|
1805
|
-
```
|
|
1806
|
-
|
|
1807
|
-
### Step 2: Migrate code
|
|
1808
|
-
|
|
1809
1822
|
- Merge _getInitialState_, _actions_, _options_ in a single object.
|
|
1810
1823
|
- Remove state spread in effects
|
|
1811
1824
|
|
|
@@ -1850,153 +1863,6 @@ Only **useLocalStore** is supported by compatiblity layer.
|
|
|
1850
1863
|
+ }
|
|
1851
1864
|
```
|
|
1852
1865
|
|
|
1853
|
-
## V5 to V6
|
|
1854
|
-
|
|
1855
|
-
### Step 1: v5 compatibility layer
|
|
1856
|
-
|
|
1857
|
-
To use the new engine while still using v5 API, juste import the v5 compatibility layer.
|
|
1858
|
-
You can new store in new code.
|
|
1859
|
-
|
|
1860
|
-
```diff
|
|
1861
|
-
-import useStateDecorator, { StateDecoratorActions } from 'state-decorator';
|
|
1862
|
-
+import useStateDecorator, { StateDecoratorActions } from 'state-decorator/v5';
|
|
1863
|
-
```
|
|
1864
|
-
|
|
1865
|
-
If you are using optimistic effects, make sure to set the **optimisticActions** middleware as a default middleware, see [Optimistic actions](#optimistic-actions).
|
|
1866
|
-
|
|
1867
|
-
```typescript
|
|
1868
|
-
import { setGlobalConfig } from 'state-decorator';
|
|
1869
|
-
import { optimisticActions } from 'state-decorator/middlewares';
|
|
1870
|
-
|
|
1871
|
-
setGlobalConfig({
|
|
1872
|
-
defaultMiddlewares: [optimisticActions()],
|
|
1873
|
-
});
|
|
1874
|
-
```
|
|
1875
|
-
|
|
1876
|
-
### Step 2: Migrate code but keep v5 tests
|
|
1877
|
-
|
|
1878
|
-
#### Code
|
|
1879
|
-
|
|
1880
|
-
##### Types
|
|
1881
|
-
|
|
1882
|
-
| Before | After |
|
|
1883
|
-
| --------------------- | ------------ |
|
|
1884
|
-
| StateDecoratorActions | StoreActions |
|
|
1885
|
-
| StateDecoratorOptions | StoreOptions |
|
|
1886
|
-
|
|
1887
|
-
##### Optimistic actions
|
|
1888
|
-
|
|
1889
|
-
If you are using optimistic effects, make sure to set the **optimisticActions** middleware to your stores, see [Optimistic actions](#optimistic-actions).
|
|
1890
|
-
|
|
1891
|
-
#### Hooks
|
|
1892
|
-
|
|
1893
|
-
Choose one of _useLocalStore_, _useStore_, _useStoreSlice_.
|
|
1894
|
-
|
|
1895
|
-
#### Actions
|
|
1896
|
-
|
|
1897
|
-
- rename action properties
|
|
1898
|
-
|
|
1899
|
-
| Before | After |
|
|
1900
|
-
| ----------------- | ----------------- |
|
|
1901
|
-
| action | effects |
|
|
1902
|
-
| onActionDone | sideEffects |
|
|
1903
|
-
| preReducer | preEffects |
|
|
1904
|
-
| optimisticReducer | optimisticEffects |
|
|
1905
|
-
| reducer | effects |
|
|
1906
|
-
| errorReducer | errorEffects |
|
|
1907
|
-
| onDone | sideEffects |
|
|
1908
|
-
| onFail | errorSideEffects |
|
|
1909
|
-
| promise | getPromise |
|
|
1910
|
-
| promiseGet | getGetPromise |
|
|
1911
|
-
| successMessage | getSuccessMessage |
|
|
1912
|
-
| errorMessage | getErrorMessage |
|
|
1913
|
-
|
|
1914
|
-
- replace argumtents by action context
|
|
1915
|
-
|
|
1916
|
-
```diff
|
|
1917
|
-
- const actions: StateDecoratorActions<S, A, P> = {
|
|
1918
|
-
+ const actions: StoreActions<S, A, P> = {
|
|
1919
|
-
loadList: {
|
|
1920
|
-
- promise: ([id], s, p, a) => {
|
|
1921
|
-
+ getPromise: ({ s, args: [id], p, a }) => {
|
|
1922
|
-
/* ... */
|
|
1923
|
-
},
|
|
1924
|
-
- reducer: (s, res) => ({
|
|
1925
|
-
+ effects: ({ s, res }) => ({
|
|
1926
|
-
/* ... */
|
|
1927
|
-
}),
|
|
1928
|
-
- errorReducer: (s, err) => ({
|
|
1929
|
-
+ errorEffects: ({ s, err }) => ({
|
|
1930
|
-
/* ... */
|
|
1931
|
-
}),
|
|
1932
|
-
},
|
|
1933
|
-
};
|
|
1934
|
-
```
|
|
1935
|
-
|
|
1936
|
-
#### Options
|
|
1937
|
-
|
|
1938
|
-
##### onMount
|
|
1939
|
-
|
|
1940
|
-
```diff
|
|
1941
|
-
- const options: StateDecoratorOptions<S, A, P> = {
|
|
1942
|
-
- onMount: (actions, props, state) => { /* initial side effects */ }
|
|
1943
|
-
- };
|
|
1944
|
-
|
|
1945
|
-
+ const options: StoreOptions<S, A, P> = {
|
|
1946
|
-
+ onMount: ({state, props, actions}) => { /* initial side effects */ }
|
|
1947
|
-
+} ;
|
|
1948
|
-
```
|
|
1949
|
-
|
|
1950
|
-
##### logEnabled
|
|
1951
|
-
|
|
1952
|
-
```diff
|
|
1953
|
-
- function Container(props: Props) {
|
|
1954
|
-
- const { state, actions } = useStateDecorator(getInitialState, actionsImpl, props, { logEnabled: true });
|
|
1955
|
-
- return <div />;
|
|
1956
|
-
- }
|
|
1957
|
-
|
|
1958
|
-
+ import { logDetailedEffects } from 'state-decorator/middlewares';
|
|
1959
|
-
+
|
|
1960
|
-
+ function Container(props: Props) {
|
|
1961
|
-
+ const { state, actions } = useLocalStore(getInitialState, actionsImpl, props, {}, [logDetailedEffects()]);
|
|
1962
|
-
+ return <div />;
|
|
1963
|
-
+ }
|
|
1964
|
-
```
|
|
1965
|
-
|
|
1966
|
-
##### Props changes
|
|
1967
|
-
|
|
1968
|
-
```diff
|
|
1969
|
-
- const options: StateDecoratorOptions<S, A, P> = {
|
|
1970
|
-
- getPropsRefValues: (p) => [],
|
|
1971
|
-
- onPropsChangeReducer: (s, p, indices) => ({ ...s /* new state */ }),
|
|
1972
|
-
- onPropsChange: (s, p, a, indices) => {
|
|
1973
|
-
- /* side effects */
|
|
1974
|
-
- },
|
|
1975
|
-
- };
|
|
1976
|
-
|
|
1977
|
-
+ const options: StoreOptions<S, A, P> = {
|
|
1978
|
-
+ onPropsChange: {
|
|
1979
|
-
+ getDeps: (p) => [],
|
|
1980
|
-
+ effects: ({ s, p, indices }) => ({ ...s /* new state */ }),
|
|
1981
|
-
+ sideEffects: ({ s, p, a, indices }) => {
|
|
1982
|
-
+ /* side effects */
|
|
1983
|
-
+ },
|
|
1984
|
-
+ },
|
|
1985
|
-
+} ;
|
|
1986
|
-
```
|
|
1987
|
-
|
|
1988
|
-
#### Reuse v5 tests with v6 actions
|
|
1989
|
-
|
|
1990
|
-
```diff
|
|
1991
|
-
- import { testSyncAction, testAsyncAction } from 'state-decorator';
|
|
1992
|
-
|
|
1993
|
-
+ import { testV6SyncAction, testV6AsyncAction } from 'state-decorator/v5_test';
|
|
1994
|
-
```
|
|
1995
|
-
|
|
1996
|
-
### Step 3 (optional): Migrate tests
|
|
1997
|
-
|
|
1998
|
-
🎊 Congratulations! 🎊
|
|
1999
|
-
|
|
2000
1866
|
# Examples
|
|
2001
1867
|
|
|
2002
1868
|
## TodoApp
|
package/development.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=development.js.map
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t,t.exports),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=/* @__PURE__ */ ((n,r,o)=>(o=n==null?{}:e(i(n)),s(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n)))((/* @__PURE__ */ o(((e,t)=>{t.exports=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t==`object`&&typeof n==`object`){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var o=a[i];if(!e(t[o],n[o]))return!1}return!0}return t!==t&&n!==n}})))());let l=null,u=null,d=null;if(process.env.NODE_ENV===`development`||process.env.NODE_ENV===`test`){let e=()=>({init:()=>{},destroy:null,effects:()=>null});l=(e=console.log)=>()=>{let t=e,n=``;return{init:e=>{n=e.options?.name?`[${e.options?.name}]`:``;let r=e.state;t(n,`initialState`,r)},destroy:null,effects:(e,r,i,a)=>(t(n,e.name,e.type,i===null?`no effect`:i,e.isAsync?e.type===`preEffects`&&!a?`Promise cancelled`:`loading: ${a}`:``),null)}},u=(e=console)=>()=>{let t=``,n=e,r=(e,t)=>{let n;if(t!==e){let r=e==null?typeof t:typeof e;if(r===`number`||r===`string`||r===`boolean`)n=`${e} => ${t===``?`""`:t}`;else if(e&&e.length||t&&t.length){if(e==null)n=`was ${e}, now contains ${t.length} element(s)`;else if(t==null)n=`contained ${e.length} element(s), now is ${t}`;else if(e.length===0)n=`was empty, now contains ${t.length} elements`;else if(t.length===0)n=`contained ${e.length} elements, now is empty`;else{let r=t.filter(t=>!e.find(e=>(0,c.default)(t,e))),i=e.filter(e=>!t.find(t=>(0,c.default)(e,t)));r.length>10&&(r=`${r.length} element(s) added`),i.length>10&&(i=`${i.length} element(s) removed`),n={added:r,removed:i}}}else n=t}return n},i=(e,t)=>{let n={};return e&&Object.keys(e).forEach(i=>{if(t.hasOwnProperty(i)){let a=e[i],o=t[i],s=r(a,o);s&&(n[i]=s)}else n[i]=`was deleted`}),Object.keys(t).forEach(i=>{if(e==null||!e.hasOwnProperty(i)){let e=t[i];n[i]=r(void 0,e)}}),n},a=e=>typeof e==`string`?`"${e}"`:e;return{init:r=>{t=r.options?.name?`[${r.options?.name}]`:``;let i=r.state;e.group(t,`initialState`),Object.keys(i).forEach(e=>void n.log(e,`:`,a(i[e]))),e.groupEnd()},destroy:null,effects:(e,r,o,s)=>{let c=e.context?.args,l=[t,e.name.toString()];if(e.isAsync&&(e.type===`preEffects`?l.push(s?`START`:`CANCELLED`):e.type===`effects`?l.push(`DONE`):l.push(`FAILED`)),o==null&&(!c||Object.keys(c).length===0)?n.log(...l):n.group(...l),c&&Object.keys(c).length>0&&(n.group(`Arguments`),c.forEach(e=>void n.log(e,`:`,a(e))),n.groupEnd()),o!=null&&(n.groupCollapsed(`Before`),r==null?n.log(`was null`):Object.keys(r).forEach(e=>void n.log(e,`:`,a(r[e]))),n.groupEnd(),n.groupCollapsed(`After`),o==null?n.log(`was null`):Object.keys(o).forEach(e=>void n.log(e,`:`,a(o[e]))),n.groupEnd(),o!=null)){n.group(`Diff`);let e=i(r,o);Object.keys(e).forEach(t=>n.log(t,`:`,e[t])),n.groupEnd()}return n.groupEnd(),null}}},d=()=>()=>{let t;try{t=window.__REDUX_DEVTOOLS_EXTENSION__||window.top.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!t)return e();let n,r;return{init(e){n=t.connect({name:e.options?.name??`StateDecorator`}),n.init(e.state);let i=null,a=e.state;r=n.subscribe(t=>{if(t.type===`DISPATCH`&&t.state&&t.payload?.type!==`ROLLBACK`){let n=JSON.parse(t.state);e.setState(n)}else t.payload?.type===`COMMIT`?i=e.state:t.payload?.type===`ROLLBACK`?i!=null&&e.setState(i):t.payload?.type===`RESET`&&e.setState(a)})},effects(e,t,r){if(r!=null){let t={...e.context};delete t.a,delete t.s,delete t.p,delete t.res,delete t.err,delete t.ds,n.send({type:`${e.name.toString()} ${e.type}`,args:t.args,context:t},r)}return null},destroy(){r(),n=null}}}}export{d as devtools,u as logDetailedEffects,l as logEffects};
|
|
2
|
+
//# sourceMappingURL=development.js.map
|
package/development.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"development.js","sources":["../node_modules/tslib/tslib.es6.mjs","../node_modules/fast-deep-equal/index.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","SuppressedError","equal","a","b","constructor","keys","Array","isArray","RegExp","source","flags","valueOf","toString","key"],"mappings":"oEA+BO,IAAIA,EAAW,WAQpB,OAPAA,EAAWC,OAAOC,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,CACV,EACMH,EAASa,MAAMC,KAAMP,UAC9B,EA+RkD,mBAApBQ,iBAAiCA,gBCjU/D,MAAiB,SAASC,EAAMC,EAAGC,GACjC,GAAID,IAAMC,EAAG,OAAO,EAEpB,GAAID,GAAKC,GAAiB,iBAALD,GAA6B,iBAALC,EAAe,CAC1D,GAAID,EAAEE,cAAgBD,EAAEC,YAAa,OAAO,EAE5C,IAAIX,EAAQH,EAAGe,EACf,GAAIC,MAAMC,QAAQL,GAAI,CAEpB,IADAT,EAASS,EAAET,SACGU,EAAEV,OAAQ,OAAO,EAC/B,IAAKH,EAAIG,EAAgB,GAARH,KACf,IAAKW,EAAMC,EAAEZ,GAAIa,EAAEb,IAAK,OAAO,EACjC,OAAO,CACR,CAID,GAAIY,EAAEE,cAAgBI,OAAQ,OAAON,EAAEO,SAAWN,EAAEM,QAAUP,EAAEQ,QAAUP,EAAEO,MAC5E,GAAIR,EAAES,UAAYzB,OAAOS,UAAUgB,QAAS,OAAOT,EAAES,YAAcR,EAAEQ,UACrE,GAAIT,EAAEU,WAAa1B,OAAOS,UAAUiB,SAAU,OAAOV,EAAEU,aAAeT,EAAES,WAIxE,IADAnB,GADAY,EAAOnB,OAAOmB,KAAKH,IACLT,UACCP,OAAOmB,KAAKF,GAAGV,OAAQ,OAAO,EAE7C,IAAKH,EAAIG,EAAgB,GAARH,KACf,IAAKJ,OAAOS,UAAUC,eAAeC,KAAKM,EAAGE,EAAKf,IAAK,OAAO,EAEhE,IAAKA,EAAIG,EAAgB,GAARH,KAAY,CAC3B,IAAIuB,EAAMR,EAAKf,GAEf,IAAKW,EAAMC,EAAEW,GAAMV,EAAEU,IAAO,OAAO,CACpC,CAED,OAAO,CACR,CAGD,OAAOX,GAAIA,GAAKC,GAAIA,CACtB"}
|
|
1
|
+
{"version":3,"file":"development.js","names":["isEqual","__create","__defProp","__getOwnPropDesc","__getOwnPropNames","__getProtoOf","__hasOwnProp","__commonJSMin","cb","mod","__copyProps","to","from","except","desc","keys","i","n","key","k","import_fast_deep_equal","isNodeMode","target","exports","module","equal","a","b","length","logEffects","logDetailedEffects","devtools","getNoopMiddleware","log","logger","storeName","storeContext","newState","action","_oldState","loading","console","computeDiffPropValue","oldValue","newValue","res","type","addedValues","removedValues","buildDiff","oldState","diff","getStr","v","prop","args","params","arg","extension","unsubscribe","savedState","initialState","message","ctx","cleanCtx"],"sources":["../node_modules/fast-deep-equal/index.js","../src/development.ts"],"sourcesContent":["'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","/* ! *****************************************************************************\nCopyright (c) GlobalSport SAS.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n\nimport type { DecoratedActions, Middleware, MiddlewareFactory } from './types';\nimport isEqual from 'fast-deep-equal';\n\nexport type Logger = {\n log: (...args: any[]) => void;\n group: (...args: any[]) => void;\n groupCollapsed: (...args: any[]) => void;\n groupEnd: (...args: any[]) => void;\n};\n\nexport let logEffects: <S, A extends DecoratedActions, P>(\n log?: (...msg: any[]) => void\n) => MiddlewareFactory<S, A, P> = null;\n\nexport let logDetailedEffects: <S, A extends DecoratedActions, P>(logger?: Logger) => MiddlewareFactory<S, A, P> = null;\n\nexport let devtools: <S, A extends DecoratedActions, P>() => MiddlewareFactory<S, A, P> = null;\n\n// @ts-ignore\nif (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') {\n const getNoopMiddleware = <S, A extends DecoratedActions, P>(): Middleware<S, A, P> => {\n const middleware: Middleware<S, A, P> = {\n init: () => {},\n destroy: null,\n effects: () => null,\n };\n\n return middleware;\n };\n\n logEffects = <S, A extends DecoratedActions, P>(\n log: (...msg: any[]) => void = console.log\n ): MiddlewareFactory<S, A, P> => {\n const f = () => {\n const logger = log;\n let storeName = '';\n\n const middleware: Middleware<S, A, P> = {\n init: (storeContext) => {\n storeName = storeContext.options?.name ? `[${storeContext.options?.name}]` : '';\n const newState = storeContext.state;\n logger(storeName, 'initialState', newState);\n },\n destroy: null,\n effects: (action, _oldState, newState, loading: boolean) => {\n logger(\n storeName,\n action.name,\n action.type,\n newState === null ? 'no effect' : newState,\n action.isAsync\n ? action.type === 'preEffects' && !loading\n ? 'Promise cancelled'\n : `loading: ${loading}`\n : ''\n );\n return null;\n },\n };\n return middleware;\n };\n\n return f;\n };\n\n logDetailedEffects = <S, A extends DecoratedActions, P>(logger: Logger = console): MiddlewareFactory<S, A, P> => {\n return () => {\n let storeName = '';\n\n const console = logger;\n\n const computeDiffPropValue = (oldValue: any, newValue: any) => {\n let res: any;\n if (newValue !== oldValue) {\n const type = oldValue != null ? typeof oldValue : typeof newValue;\n if (type === 'number' || type === 'string' || type === 'boolean') {\n res = `${oldValue} => ${newValue === '' ? '\"\"' : newValue}`;\n } else if ((oldValue && oldValue.length) || (newValue && newValue.length)) {\n if (oldValue == null) {\n res = `was ${oldValue}, now contains ${newValue.length} element(s)`;\n } else if (newValue == null) {\n res = `contained ${oldValue.length} element(s), now is ${newValue}`;\n } else if (oldValue.length === 0) {\n res = `was empty, now contains ${newValue.length} elements`;\n } else if (newValue.length === 0) {\n res = `contained ${oldValue.length} elements, now is empty`;\n } else {\n let addedValues = newValue.filter((a: any) => !oldValue.find((b: any) => isEqual(a, b)));\n let removedValues = oldValue.filter((a: any) => !newValue.find((b: any) => isEqual(a, b)));\n\n if (addedValues.length > 10) {\n addedValues = `${addedValues.length} element(s) added`;\n }\n if (removedValues.length > 10) {\n removedValues = `${removedValues.length} element(s) removed`;\n }\n res = {\n added: addedValues,\n removed: removedValues,\n };\n }\n } else {\n res = newValue;\n }\n }\n return res;\n };\n\n const buildDiff = <S>(oldState: S, newState: S) => {\n const res: Record<string, any> = {};\n\n if (oldState) {\n const keys = Object.keys(oldState) as (keyof S)[];\n keys.forEach((k) => {\n if (newState.hasOwnProperty(k)) {\n const oldValue = oldState[k];\n const newValue = newState[k];\n const diff = computeDiffPropValue(oldValue, newValue);\n if (diff) {\n res[k as any] = diff;\n }\n } else {\n res[k as any] = 'was deleted';\n }\n });\n }\n\n const keys = Object.keys(newState) as (keyof S)[];\n keys.forEach((k) => {\n if (oldState == null || !oldState.hasOwnProperty(k)) {\n const newValue = newState[k];\n\n res[k as any] = computeDiffPropValue(undefined, newValue);\n }\n });\n\n return res;\n };\n\n const getStr = (v: any) => {\n if (typeof v === 'string') {\n return `\"${v}\"`;\n }\n return v;\n };\n\n const middleware: Middleware<S, A, P> = {\n init: (storeContext) => {\n storeName = storeContext.options?.name ? `[${storeContext.options?.name}]` : '';\n const newState = storeContext.state;\n logger.group(storeName, 'initialState');\n const keys = Object.keys(newState) as (keyof S)[];\n keys.forEach((prop) => void console.log(prop, ':', getStr(newState[prop])));\n logger.groupEnd();\n },\n destroy: null,\n effects: (action, oldState, newState, loading) => {\n const args: any[] = action.context?.args;\n\n const params: string[] = [storeName, action.name.toString()];\n\n if (action.isAsync) {\n if (action.type === 'preEffects') {\n params.push(loading ? 'START' : 'CANCELLED');\n } else if (action.type === 'effects') {\n params.push('DONE');\n } else {\n params.push('FAILED');\n }\n }\n\n if (newState == null && (!args || Object.keys(args).length === 0)) {\n console.log(...params);\n } else {\n console.group(...params);\n }\n\n if (args && Object.keys(args).length > 0) {\n console.group('Arguments');\n args.forEach((arg) => void console.log(arg, ':', getStr(arg)));\n console.groupEnd();\n }\n\n if (newState != null) {\n console.groupCollapsed('Before');\n if (oldState == null) {\n console.log('was null');\n } else {\n const keys = Object.keys(oldState) as (keyof S)[];\n keys.forEach((prop) => void console.log(prop, ':', getStr(oldState[prop])));\n }\n console.groupEnd();\n\n console.groupCollapsed('After');\n if (newState == null) {\n console.log('was null');\n } else {\n const keys = Object.keys(newState) as (keyof S)[];\n keys.forEach((prop) => void console.log(prop, ':', getStr(newState[prop])));\n }\n console.groupEnd();\n\n if (newState != null) {\n console.group('Diff');\n const diff = buildDiff(oldState, newState);\n Object.keys(diff).forEach((prop) => console.log(prop, ':', diff[prop]));\n console.groupEnd();\n }\n }\n //\n console.groupEnd();\n\n return null;\n },\n };\n return middleware;\n };\n };\n\n devtools = <S, A extends DecoratedActions, P>(): MiddlewareFactory<S, A, P> => {\n const getMiddleware = () => {\n let extension: any;\n try {\n extension = (window as any).__REDUX_DEVTOOLS_EXTENSION__ || (window as any).top.__REDUX_DEVTOOLS_EXTENSION__;\n } catch {}\n\n if (!extension) {\n return getNoopMiddleware<S, A, P>();\n }\n\n let devtools: any;\n let unsubscribe: () => void;\n\n const middleware: Middleware<S, A, P> = {\n init(storeContext) {\n devtools = extension.connect({ name: storeContext.options?.name ?? 'StateDecorator' });\n devtools.init(storeContext.state);\n let savedState: S = null;\n const initialState: S = storeContext.state;\n\n unsubscribe = devtools.subscribe((message: any) => {\n if (message.type === 'DISPATCH' && message.state && message.payload?.type !== 'ROLLBACK') {\n const newState = JSON.parse(message.state);\n storeContext.setState(newState);\n } else if (message.payload?.type === 'COMMIT') {\n savedState = storeContext.state;\n } else if (message.payload?.type === 'ROLLBACK') {\n if (savedState != null) {\n storeContext.setState(savedState);\n }\n } else if (message.payload?.type === 'RESET') {\n storeContext.setState(initialState);\n }\n });\n },\n\n effects(ctx, _oldState, newState) {\n if (newState != null) {\n const cleanCtx: any = {\n ...ctx.context,\n };\n\n delete cleanCtx.a;\n delete cleanCtx.s;\n delete cleanCtx.p;\n delete cleanCtx.res;\n delete cleanCtx.err;\n delete cleanCtx.ds;\n\n devtools.send(\n {\n type: `${ctx.name.toString()} ${ctx.type}`,\n args: cleanCtx.args,\n context: cleanCtx,\n },\n newState\n );\n }\n\n return null; // no op on state\n },\n\n destroy() {\n unsubscribe();\n devtools = null;\n },\n };\n\n return middleware;\n };\n\n return getMiddleware;\n };\n}\n"],"ignoreList":[0],"mappings":"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"}
|
package/helpers.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=helpers.js.map
|
|
1
|
+
function e(e,t){return t&&(e[t]=!0),e}function t(t,n){return({s:r,args:[i]})=>r[t]===i?null:e({[t]:i},n)}function n(t,n){return({s:r})=>r[t]?null:e({[t]:!0},n)}function r(t,n){return({s:r})=>r[t]?e({[t]:!1},n):null}function i(t,n){return({s:r})=>e({[t]:!r[t]},n)}function a(t,n){return({s:r,args:[i,a]})=>e({[t]:{...r[t],[i]:a}},n)}function o(t,n){return({s:r,args:[i,a]})=>{let o=[...r[t]];return o[i]=a,e({[t]:o},n)}}function s(t,n){return({res:r})=>e({[t]:r},n)}function c(t,n){return({s:r,args:[i],res:a})=>{let o=[...r[t]];return o[i]=a,e({[t]:o},n)}}function l(t,n){return({s:r,args:[i],res:a})=>e({[t]:{...r[t],[i]:a}},n)}export{t as setArgIn,o as setArgsInArray,a as setArgsInMap,r as setFalseIn,s as setResIn,c as setResInArray,l as setResInMap,n as setTrueIn,i as toggleProp};
|
|
2
|
+
//# sourceMappingURL=helpers.js.map
|
package/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sources":["../node_modules/tslib/tslib.es6.mjs"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__spreadArray","to","from","pack","ar","l","Array","slice","concat","SuppressedError"],"mappings":"oEA+BO,IAAIA,EAAW,WAQpB,OAPAA,EAAWC,OAAOC,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,CACV,EACMH,EAASa,MAAMC,KAAMP,UAC9B,EA6KO,SAASQ,EAAcC,EAAIC,EAAMC,GACtC,GAAIA,GAA6B,IAArBX,UAAUC,OAAc,IAAK,IAA4BW,EAAxBd,EAAI,EAAGe,EAAIH,EAAKT,OAAYH,EAAIe,EAAGf,KACxEc,GAAQd,KAAKY,IACRE,IAAIA,EAAKE,MAAMX,UAAUY,MAAMV,KAAKK,EAAM,EAAGZ,IAClDc,EAAGd,GAAKY,EAAKZ,IAGrB,OAAOW,EAAGO,OAAOJ,GAAME,MAAMX,UAAUY,MAAMV,KAAKK,GACpD,uCA0GkD,mBAApBO,iBAAiCA"}
|
|
1
|
+
{"version":3,"file":"helpers.js","names":["addDirty","s","dirtyProp","setArgIn","propName","v","setTrueIn","setFalseIn","toggleProp","setArgsInMap","id","setArgsInArray","idx","newArr","setResIn","res","setResInArray","setResInMap"],"sources":["../src/helpers.ts"],"sourcesContent":["function addDirty<S, K extends keyof S>(s: any, dirtyProp?: K) {\n if (dirtyProp) {\n (s[dirtyProp] as any) = true;\n }\n return (s as unknown) as Partial<S>;\n}\n\n/**\n * Effect function that sets the first action argument to the specified prop.\n * if dirtyProp is set\n */\nexport function setArgIn<S, K extends keyof S, K2 extends keyof S>(\n propName: K,\n dirtyProp?: K2\n): (ctx: { s: S; args: [S[K]] }) => Partial<S> {\n return ({ s, args: [v] }) =>\n s[propName] === v\n ? null\n : addDirty<S, any>(\n {\n [propName]: v,\n },\n dirtyProp\n );\n}\n\n/**\n * Effect function that sets <code>true</code> in the specified prop.\n */\nexport function setTrueIn<S, K extends keyof S, K2 extends keyof S>(\n propName: K,\n dirtyProp?: K2\n): (ctx: { s: S }) => Partial<S> {\n return ({ s }) =>\n s[propName]\n ? null\n : addDirty<S, any>(\n {\n [propName]: true,\n },\n dirtyProp\n );\n}\n\n/**\n * Effect function that sets <code>false</code> in the specified prop.\n */\nexport function setFalseIn<S, K extends keyof S, K2 extends keyof S>(\n propName: K,\n dirtyProp?: K2\n): (ctx: { s: S }) => Partial<S> {\n return ({ s }) =>\n !s[propName]\n ? null\n : addDirty<S, any>(\n {\n [propName]: false,\n },\n dirtyProp\n );\n}\n\n/**\n * Effect function that sets toggles the boolean value of the specified prop.\n */\nexport function toggleProp<S, K extends keyof S, K2 extends keyof S>(\n propName: K,\n dirtyProp?: K2\n): (ctx: { s: S }) => Partial<S> {\n return ({ s }) =>\n addDirty<S, any>(\n {\n [propName]: !s[propName],\n },\n dirtyProp\n );\n}\n\n/**\n * Effect function that sets the update the specifed prop as an array using first action argument as index\n * and second as value to set.\n */\nexport function setArgsInMap<S, K extends keyof S, K2 extends keyof S, T>(\n propName: K,\n dirtyProp?: K2\n): (ctx: { s: S; args: [string, T] }) => Partial<S> {\n return ({ s, args: [id, v] }) =>\n addDirty<S, any>(\n {\n [propName]: {\n ...s[propName],\n [id]: v,\n },\n },\n dirtyProp\n );\n}\n\n/**\n * Effect function that sets the update the specifed prop as an array using first action argument as index\n * and second as value to set.\n */\nexport function setArgsInArray<S, K extends keyof S, K2 extends keyof S, T>(\n propName: K,\n dirtyProp?: K2\n): (ctx: { s: S; args: [number, T] }) => Partial<S> {\n return ({ s, args: [idx, v] }) => {\n const arr = (s[propName] as any) as T[];\n\n const newArr = [...arr];\n newArr[idx] = v;\n return addDirty<S, any>(\n {\n [propName]: newArr,\n },\n dirtyProp\n );\n };\n}\n\n/**\n * Effect function that sets the asynchronous action result to the specified prop.\n */\nexport function setResIn<S, K extends keyof S, K2 extends keyof S>(\n propName: K,\n dirtyProp?: K2\n): (ctx: { s: S; res: S[K] }) => Partial<S> {\n return ({ res }) =>\n addDirty<S, any>(\n {\n [propName]: res,\n },\n dirtyProp\n );\n}\n\n/**\n * Effect function that sets the update the specifed prop as an array using first action argument as index\n * and second as value to set.\n */\nexport function setResInArray<S, K extends keyof S, K2 extends keyof S, T>(\n propName: K,\n dirtyProp?: K2\n): (ctx: { s: S; args: [number]; res: T }) => Partial<S> {\n return ({ s, args: [idx], res }) => {\n const arr = (s[propName] as any) as T[];\n\n const newArr = [...arr];\n newArr[idx] = res;\n return addDirty<S, any>(\n {\n [propName]: newArr,\n },\n dirtyProp\n );\n };\n}\n\n/**\n * Effect function that sets the update the specifed prop as an array using first action argument as index\n * and second as value to set.\n */\nexport function setResInMap<S, K extends keyof S, K2 extends keyof S, T>(\n propName: K,\n dirtyProp?: K2\n): (ctx: { s: S; args: [string]; res: T }) => Partial<S> {\n return ({ s, args: [id], res }) =>\n addDirty<S, any>(\n {\n [propName]: {\n ...s[propName],\n [id]: res,\n },\n },\n dirtyProp\n );\n}\n"],"mappings":"AAAA,SAASA,EAA+BC,EAAQC,EAAe,CAI7D,OAHIA,IACDD,EAAEC,GAAqB,IAElBD,CACV,CAMA,SAAgBE,EACdC,EACAF,EAC6C,CAC7C,OAAQ,CAAED,IAAG,KAAM,CAACI,MAClBJ,EAAEG,KAAcC,EACZ,KACAL,EACE,EACGI,GAAWC,CACd,EACAH,CACF,CACR,CAKA,SAAgBI,EACdF,EACAF,EAC+B,CAC/B,OAAQ,CAAED,OACRA,EAAEG,GACE,KACAJ,EACE,EACGI,GAAW,EACd,EACAF,CACF,CACR,CAKA,SAAgBK,EACdH,EACAF,EAC+B,CAC/B,OAAQ,CAAED,OACPA,EAAEG,GAECJ,EACE,EACGI,GAAW,EACd,EACAF,CACF,EANA,IAOR,CAKA,SAAgBM,EACdJ,EACAF,EAC+B,CAC/B,OAAQ,CAAED,OACRD,EACE,EACGI,GAAW,CAACH,EAAEG,EACjB,EACAF,CACF,CACJ,CAMA,SAAgBO,EACdL,EACAF,EACkD,CAClD,OAAQ,CAAED,IAAG,KAAM,CAACS,EAAIL,MACtBL,EACE,EACGI,GAAW,CACV,GAAGH,EAAEG,IACJM,GAAKL,CACR,CACF,EACAH,CACF,CACJ,CAMA,SAAgBS,EACdP,EACAF,EACkD,CAClD,OAAQ,CAAED,IAAG,KAAM,CAACW,EAAKP,MAAS,CAGhC,IAAMQ,EAAS,CAAC,GAFHZ,EAAEG,EAEO,EAEtB,MADAS,GAAOD,GAAOP,EACPL,EACL,EACGI,GAAWS,CACd,EACAX,CACF,CACF,CACF,CAKA,SAAgBY,EACdV,EACAF,EAC0C,CAC1C,OAAQ,CAAEa,SACRf,EACE,EACGI,GAAWW,CACd,EACAb,CACF,CACJ,CAMA,SAAgBc,EACdZ,EACAF,EACuD,CACvD,OAAQ,CAAED,IAAG,KAAM,CAACW,GAAMG,SAAU,CAGlC,IAAMF,EAAS,CAAC,GAFHZ,EAAEG,EAEO,EAEtB,MADAS,GAAOD,GAAOG,EACPf,EACL,EACGI,GAAWS,CACd,EACAX,CACF,CACF,CACF,CAMA,SAAgBe,EACdb,EACAF,EACuD,CACvD,OAAQ,CAAED,IAAG,KAAM,CAACS,GAAKK,SACvBf,EACE,EACGI,GAAW,CACV,GAAGH,EAAEG,IACJM,GAAKK,CACR,CACF,EACAb,CACF,CACJ,C"}
|
package/impl.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=function(r,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])},e(r,t)};function r(r,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var t=function(){return t=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var o in r=arguments[t])Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o]);return e},t.apply(this,arguments)};function n(e,r,t,n){return new(t||(t=Promise))((function(o,i){function c(e){try{a(n.next(e))}catch(e){i(e)}}function u(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(c,u)}a((n=n.apply(e,r||[])).next())}))}function o(e,r){var t,n,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return c.next=u(0),c.throw=u(1),c.return=u(2),"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function u(u){return function(a){return function(u){if(t)throw new TypeError("Generator is already executing.");for(;c&&(c=0,u[0]&&(i=0)),i;)try{if(t=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,n=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==u[0]&&2!==u[0])){i=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){i.label=u[1];break}if(6===u[0]&&i.label<o[1]){i.label=o[1],o=u;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(u);break}o[2]&&i.ops.pop(),i.trys.pop();continue}u=r.call(e,i)}catch(e){u=[6,e],n=0}finally{t=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,a])}}}function i(e,r,t){if(t||2===arguments.length)for(var n,o=0,i=r.length;o<i;o++)!n&&o in r||(n||(n=Array.prototype.slice.call(r,0,o)),n[o]=r[o]);return e.concat(n||Array.prototype.slice.call(r))}"function"==typeof SuppressedError&&SuppressedError;var c,u=function(){function e(e){this.keys=e,this.adj={}}return e.prototype.isCyclicUtil=function(e,r,t){var n;if(t.has(e))return!0;if(r.has(e))return!1;r.add(e),t.add(e);for(var o=0,i=null!==(n=this.adj[e])&&void 0!==n?n:[];o<i.length;o++){var c=i[o];if(this.isCyclicUtil(c,r,t))return!0}return t.delete(e),!1},e.prototype.setEdges=function(e,r){this.adj[e]=r},e.prototype.isCyclic=function(){for(var e=new Set,r=new Set,t=0,n=this.keys;t<n.length;t++){var o=n[t];if(this.isCyclicUtil(o,e,r))return!0}return!1},e}();!function(e){e.REJECT="reject",e.IGNORE="ignore",e.KEEP_LAST="keepLast",e.KEEP_ALL="keepAll",e.PARALLEL="parallel",e.REUSE="reuse",e.ABORT="abort"}(c||(c={}));var a=function(e){function t(r,n){var o=e.call(this,r.message)||this;return o.source=r,o.initialError=n,Object.setPrototypeOf(o,t.prototype),o}return r(t,e),t}(Error),l={clone:function(e){return JSON.parse(JSON.stringify(e))},comparator:function(e,r){if(Object.is(e,r))return!0;if("object"!=typeof e||null===e||"object"!=typeof r||null===r)return!1;if(e instanceof Set||r instanceof Set)return!1;var t=Object.keys(e),n=Object.keys(r);if(t.length!==n.length)return!1;for(var o=0;o<t.length;o++)if(!Object.prototype.hasOwnProperty.call(r,t[o])||!Object.is(e[t[o]],r[t[o]]))return!1;return!0},asyncErrorHandler:function(){},retryOnErrorFunction:function(e){return e instanceof TypeError},notifySuccess:void 0,notifyError:void 0,notifyWarning:void 0,getErrorMessage:void 0,defaultMiddlewares:[],autoRetryCount:void 0,autoRetryTimeout:void 0};function s(e){try{return l.clone(e)}catch(e){var r="StateDecorator: Cannot clone object. Set setCloneFunction on global global with another implementation like lodash/cloneDeep.";throw"development"===process.env.NODE_ENV&&(console.error(r),console.error(e.toString())),new Error(r)}}function f(e){return"function"!=typeof e&&!e.hasOwnProperty("getPromise")&&e.hasOwnProperty("getGetPromise")}function d(e,r,n,o){var i,c,u,a;return t(t({},e),o?((i={})[r]=t(t({},e[r]||{}),((c={})[n]=o,c)),i):((u={})[r]=t(t({},e[r]),((a={})[n]=!1,a)),u))}function v(e,r,n,o){var i,c,u,a;return t(t({},e),o?((i={})[r]=t(t({},e[r]||{}),((c={})[n]=o,c)),i):((u={})[r]=t(t({},e[r]),((a={})[n]=void 0,a)),u))}var p=function(e){function t(r){var n=e.call(this,"Error")||this;return n.promiseIds=r,Object.setPrototypeOf(n,t.prototype),n}return r(t,e),t}(Error);function y(e,r,t,i,c){return void 0===t&&(t=1),void 0===i&&(i=1e3),void 0===c&&(c=function(){return!0}),1===t?e:function(u){var a=e(u);return null===a?null:function a(l,s){return n(this,void 0,void 0,(function(){return o(this,(function(n){return null===s?[2,null]:[2,s.catch((function(n){return c(n)?l===t?Promise.reject(n):new Promise((function(t,n){r(setTimeout((function(){var r=e(u);a(l+1,r).then(t).catch(n)}),i*l))})):Promise.reject(n)}))]}))}))}(1,a)}}function g(e){return void 0===e&&(e=null),{current:e}}function h(e,r,t){var n,o;return{state:e.current,s:e.current,ds:null===(n=null==r?void 0:r.current)||void 0===n?void 0:n.state,derived:null===(o=null==r?void 0:r.current)||void 0===o?void 0:o.state,props:t.current,p:t.current}}function E(e,r,t,n,o){var i=h(e,r,t);return i.args=n,o&&(i.promiseId=o),i}function S(e,r,t,n,o,i){var c=E(e,r,t,n,i);return c.result=o,c.res=o,c}function m(e,r){var t=e;return t.state=r.current,t.s=r.current,t}function P(e,r){var t=e;return t.actions=r.current,t.a=r.current,t}function b(e,r,t,n,o,i){var c,u=P(e,n);m(e,r);var a=null===(c=null==t?void 0:t.current)||void 0===c?void 0:c.state;return u.derived=a,u.ds=a,u.notifyWarning=o,u.clearError=i,u}function w(e){"development"===process.env.NODE_ENV&&console.warn("[state-decorator] ".concat(e," action was called while store is not initialized or destroyed, this is probably a leak"))}function A(e,r,n){return n?r:null==r?null:t(t({},e.current),r)}function R(e,r,t,n,o,i,c,u,a,s,f,d,v){var p=S(t,n,o,v,void 0),y=null,g=!1;if(null!=r.effects){var h=A(t,r.effects(p),s.fullStateEffects);if(null===h)g=!0;else{var E=null!=r.debounceSideEffectsTimeout||null==r.sideEffects;a.current=!E,y=f(h,void 0,e,"effects",!1,p,!1,!1,!E)}}if(!g){var m=function(e){var o;null===(o=r.sideEffects)||void 0===o||o.call(r,b(p,t,n,i,s.notifyWarning,d)),e&&a.current&&(null==y||y());var c=s.notifySuccess||l.notifySuccess;if(c){var u=void 0;r.getSuccessMessage&&(u=r.getSuccessMessage(p)),u&&c(u)}};if(r.debounceSideEffectsTimeout>0&&r.sideEffects){var P=c.current[e];P&&clearTimeout(P),c.current[e]=setTimeout((function(){u.current&&(delete c.current[e],m(!1))}),r.debounceSideEffectsTimeout)}else m(!0)}}function O(e,r,t,n){var o=e.action,i=e.stateRef,c=e.derivedStateRef,u=e.propsRef,s=e.actionsRef,f=e.loadingParallelMapRef,p=e.errorMapRef,y=e.promisesRef,g=e.conflictActionsRef,h=e.actionName,S=e.options,m=e.clearError,P=e.setState;if(e.initializedRef.current){var w=null,R=t,O=function(e,r,t,n,o,i){var c=E(e,r,t,n,i);return c.error=o,c.err=o,c}(i,c,u,n,R,r);if(o.errorEffects)try{w=A(i,o.errorEffects(O),S.fullStateEffects)}catch(e){R=new a(e,t)}p.current=v(p.current,h,r,R),P(w,d(f.current,h,r,!1),h,"errorEffects",!0,O,!1);var x=!1;(null!=w||o.errorSideEffects||o.isErrorManaged||S.isErrorManaged)&&(x=!0);var j=S.notifyError||l.notifyError;if(j){var L=void 0;o.getErrorMessage&&(L=o.getErrorMessage(O)),void 0===L&&!x&&l.getErrorMessage&&(L=l.getErrorMessage(R)),L&&(x=!0,j(L))}return l.asyncErrorHandler(R,x||o.rejectPromiseOnError,i.current,u.current,h,n),delete y.current[h][r],o.errorSideEffects&&o.errorSideEffects(b(O,i,c,s,l.notifyWarning,m)),C(e.initializedRef,h,s.current,g.current),!x||o.rejectPromiseOnError?Promise.reject(R):Promise.resolve()}}var x="__def__";function j(e,r){return e.length===r.length&&-1===e.findIndex((function(e,t){return r[t]!==e}))}function C(e,r,t,n){if(e.current){var o=n[r];if((null==o?void 0:o.length)>0){var i=o.shift();if(i){var c=t[r].apply(t,i.args);null==c?C(e,r,t,n):c.then((function(o){null===o&&C(e,r,t,n),i.resolve(o)})).catch((function(e){return i.reject(e)}))}}}}exports.DEFAULT_PROMISE_ID=x,exports.EffectError=a,exports.ParallelActionError=p,exports.areSameArgs=j,exports.buildErrorMap=function(e){return Object.keys(e).reduce((function(r,t){var n=e[t];if(null==n[x]);else if(n[x])r[t]=n[x];else{var o=Object.keys(n).reduce((function(e,r){return null!=n[r]&&(e.hasErr=!0,e.map[r]=n[r]),e}),{hasErr:!1,map:{}});o.hasErr&&(r[t]=new p(o.map))}return r}),{})},exports.buildInvocationContextBase=h,exports.buildLoadingMap=d,exports.buildOnMountInvocationContext=function(e,r,t,n){return P(h(e,r,t),n)},exports.buildOnUnMountInvocationContext=function(e,r,n,o){return t(t({},h(e,r,n)),{abortedActions:o})},exports.computeAsyncActionInput=function(e){var r,n,o;return e.conflictPolicy===c.ABORT&&(e.abortable=!0),f(e)?t(t({},e),{getPromise:e.getGetPromise,retryDelaySeed:null!==(r=l.autoRetryTimeout)&&void 0!==r?r:1e3,retryCount:null!==(n=l.autoRetryCount)&&void 0!==n?n:3,conflictPolicy:null!==(o=e.conflictPolicy)&&void 0!==o?o:c.REUSE}):e},exports.computeDerivedValues=function(e,r,n,o,i){if(void 0===i&&(i=null),null==(null==o?void 0:o.derivedState))return!1;var c=!1,u=l.comparator,a=n.current.deps,s=h(e,null,r),f=Object.keys(o.derivedState);return n.current.state=f.reduce((function(e,r){var l,f,d,v,p=!1;if(null===(l=null==i?void 0:i.current)||void 0===l?void 0:l[r])e[r]=null===(f=i.current)||void 0===f?void 0:f[r];else{var y=o.derivedState[r],g=a[r],h=null!==(v=null===(d=y.getDeps)||void 0===d?void 0:d.call(y,s))&&void 0!==v?v:[];if(y.derivedDeps&&y.derivedDeps.forEach((function(r){var t,o,i;return h.push(null!==(t=e[r])&&void 0!==t?t:null===(i=null===(o=n.current)||void 0===o?void 0:o.state)||void 0===i?void 0:i[r])})),null==g)p=!0;else p=-1!==h.findIndex((function(e,r){return g.length<r||!u(g[r],e)}));c=c||p,a[r]=h,e[r]=p?o.derivedState[r].get(function(e,r){return t(t({},e),{ds:r,derived:r})}(s,e)):n.current.state[r]}return e}),{}),c},exports.createRef=g,exports.decorateAsyncAction=function(e){var r=e.action,n=e.stateRef,o=e.derivedStateRef,u=e.propsRef,f=e.actionsRef,p=e.timeoutRef,g=e.promisesRef,h=e.loadingParallelMapRef,m=e.errorMapRef,R=e.initializedRef,L=e.conflictActionsRef,M=e.actionName,T=e.setState,_=e.options;return function(){for(var I,D,k,G=[],N=0;N<arguments.length;N++)G[N]=arguments[N];if(!R.current)return w(M),null;var U=g.current,z=r.conflictPolicy,F=void 0===z?c.KEEP_ALL:z,K=F===c.PARALLEL,W=null;if(K){if(!r.getPromiseId)throw new Error("If conflict policy is set to ConflictPolicy.PARALLEL, getPromiseId must be set and return a string.");W=r.getPromiseId.apply(r,G)}else W=x;if(!K&&(null===(D=U[M])||void 0===D?void 0:D[W])){var B=function(e,r,t,n,o){var i=n;if(i===c.REUSE){if(j(e[t][x].refArgs,o))return e[t][x].promise;i=c.KEEP_ALL}return new Promise((function(n,u){var a,l={resolve:n,reject:u,args:s(o),timestamp:Date.now()};switch(i){case c.IGNORE:n(void 0);break;case c.REJECT:u(new Error("An asynchronous action ".concat(t," is already ongoing.")));break;case c.KEEP_LAST:r[t]=[l];break;case c.ABORT:var f=null===(a=e[t][x])||void 0===a?void 0:a.abortController;null==f||f.abort("conflict");case c.KEEP_ALL:var d=r[t];d||(r[t]=d=[]),d.push(l);case c.PARALLEL:}}))}(U,L.current,M,F,G);return B}var J=null,H=!1,V=E(n,o,u,G,W);if(r.preEffects){try{J=A(n,r.preEffects(V),_.fullStateEffects)}catch(e){return l.asyncErrorHandler(new a(e),!1,n.current,u.current,M,G),Promise.reject(new a(e))}J&&(H=!0,n.current=J)}var q=r.abortable,Q=r.retryCount,X=r.retryDelaySeed,Y=r.isTriggerRetryError,Z=q&&window.AbortController?new AbortController:null,$=null===(k=y(r.getPromise,(function(e){p.current&&(p.current[M]=e)}),Q?1+Q:1,X,Y||l.retryOnErrorFunction)(function(e,r,t,n,o,i,c){var u=P(E(e,r,t,n,c),o);return u.abortSignal=i,u}(n,o,u,G,f,null==Z?void 0:Z.signal)))||void 0===k?void 0:k.then((function(r){return function(e,r,t,n){var o=e.action,i=e.stateRef,c=e.needNotifyListenersRef,u=e.derivedStateRef,s=e.propsRef,f=e.promisesRef,v=e.actionsRef,p=e.loadingParallelMapRef,y=e.conflictActionsRef,g=e.actionName,h=e.options,E=e.setState,m=e.clearError;if(e.initializedRef.current){var P=null,w=S(i,u,s,n,t,r);if(o.effects)try{P=A(i,o.effects(w),h.fullStateEffects)}catch(e){return Promise.reject(new a(e))}c.current=!0;var R=E(P,d(p.current,g,r,!1),g,"effects",!0,w,!1,!1,!0),O=h.notifySuccess||l.notifySuccess;if(O){var x=void 0;o.getSuccessMessage&&(x=o.getSuccessMessage(w)),x&&O(x)}return delete f.current[g][r],o.sideEffects&&o.sideEffects(b(w,i,u,v,l.notifyWarning,m)),c.current&&R(),C(e.initializedRef,g,v.current,y.current),t}}(e,W,r,G)})).catch((function(r){return O(e,W,r,G)}));return null!=$&&(U[M]=t(t({},U[M]||{}),((I={})[W||x]={abortController:Z,promise:$,refArgs:F===c.REUSE&&G.length>0?i([],G,!0):[]},I))),m.current=v(m.current,M,W,null),T(null!=$||H?n.current:void 0,null==$?void 0:d(h.current,M,W,!0),M,"preEffects",!0,V,!1),$}},exports.decorateSimpleSyncAction=function(e,r,t,n,o,i,c,u){return function(){for(var a=[],l=0;l<arguments.length;l++)a[l]=arguments[l];if(i.current){var s=E(t,n,o,a),f=A(t,r(s),c.fullStateEffects);u(f,null,e,"effects",!1,s,!1)}else w(e)}},exports.decorateSyncAction=function(e,r,t,n,o,i,c,u,a,l,s,f){return function(){for(var d=[],v=0;v<arguments.length;v++)d[v]=arguments[v];if(c.current)if(r.debounceTimeout){var p=u.current[e];p&&clearTimeout(p),u.current[e]=setTimeout((function(){c.current&&(delete u.current[e],R(e,r,t,n,o,i,u,c,a,l,s,f,d))}),r.debounceTimeout)}else R(e,r,t,n,o,i,u,c,a,l,s,f,d);else w(e)}},exports.fixDerivedDeps=function(e){var r,t=Object.keys(e.derivedState),n=new u(t);if(t.forEach((function(r){n.setEdges(r,e.derivedState[r].derivedDeps)})),n.isCyclic())throw new Error("There are cycles in the derived state dependencies");for(var o=!1,i={},c=0,a=t;c<a.length;c++){var l=a[c],s=null!==(r=e.derivedState[l].derivedDeps)&&void 0!==r?r:[];o=o||s.length>0,i[l]=s.concat()}if(o){t.sort((function(e,r){return i[e].length-i[r].length}));for(var f=[],d=new Set,v=t.length;d.size!==v;){var p=t.pop();if(!d.has(p))i[p]=i[p].filter((function(e){return!d.has(e)})),0===i[p].length?(f.push(p),d.add(p)):t.splice(0,0,p)}for(var y={},g=0,h=f;g<h.length;g++){y[p=h[g]]=e.derivedState[p]}e.derivedState=y}},exports.globalConfig=l,exports.isAsyncAction=function(e){return!(e instanceof Function)&&(e.hasOwnProperty("getPromise")||e.hasOwnProperty("getGetPromise"))},exports.isAsyncGetPromiseAction=function(e){return"function"!=typeof e&&e.hasOwnProperty("getPromise")&&!e.hasOwnProperty("getGetPromise")},exports.isAsyncGetPromiseGetAction=f,exports.isFuncConfig=function(e){return e.hasOwnProperty("getInitialState")},exports.isLoadingImpl=function(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];return r.some((function(r){var t,n=null,o=x;Array.isArray(r)?(n=r[0],o=void 0===(t=r[1])?x:t):n=r;var i=e[n];return null!=i&&(null!=i[o]&&i[o])}))},exports.isSimpleSyncAction=function(e){return"function"==typeof e},exports.isSyncAction=function(e){return"function"!=typeof e&&!e.hasOwnProperty("getPromise")&&!e.hasOwnProperty("getGetPromise")},exports.onPropChange=function(e,r,n,o,i,c,u,a,s,f){if(null!=e.current){var d=null!=(null==c?void 0:c.derivedState);if(null!=c.onPropsChange){var v;v=Array.isArray(c.onPropsChange)?c.onPropsChange:[c.onPropsChange];var p=!1,y=g(e.current),E=[],S=l.comparator;v.forEach((function(t,i){var l,d=t.getDeps;if(d){var v=!1,g=[];if(s){if(!(!f&&t.onMount||f&&t.onMountDeferred))return;v=!0}else{var m=d(o),P=d(n.current);m.length!==P.length?(console.warn("options.onPropsChange.getDeps returned array must be stable (same length)"),v=!0):m.forEach((function(e,r){S(e,P[r])||(v=!0,g.push(r))}))}if(v){var b=function(e,r,t,n,o,i,c){var u=h(e,r,t);return u.indices=n,u.index=o,u.isInit=i,u.getInitialState=c,u}(y,r,n,g,i,s,u),w=A(e,null===(l=t.effects)||void 0===l?void 0:l.call(t,b),c.fullStateEffects);null!=w&&(p=!0,y.current=w,a(y.current,void 0,"onPropsChange","effects",!1,b,!0,s)),t.sideEffects&&E.push({index:i,indices:g,ctx:b})}}})),!p&&d&&a(void 0,void 0,"onPropsChange","effects",!1,null,!0),E.length>0&&E.forEach((function(e){v[e.index].sideEffects(t(t({},m(P(e.ctx,i),y)),{indices:e.indices}))}))}else null!=(null==c?void 0:c.derivedState)&&a(void 0,void 0,"onPropsChange","effects",!1,null,!0)}},exports.retryPromiseDecorator=y,exports.runMiddlewares=function(e,r,t,n,o,i,c,u){if("onPropsChange"===o&&void 0===t)return{newState:null,newLoading:!1};if(e&&e.length>0){var a=e.reduce((function(e,r){var t=r.effects({isAsync:c,name:o,type:i,context:u},e.oldState,e.newState,n);return{newState:(null==t?void 0:t.state)||e.newState,oldState:(null==t?void 0:t.state)?e.newState:e.oldState,loading:null==(null==t?void 0:t.loading)?e.loading:t.loading}}),{oldState:r,newState:t,loading:n});return{newLoading:a.loading,newState:a.newState}}return{newState:t,newLoading:n}},exports.setGlobalConfig=function(e){Object.keys(e).forEach((function(r){null!=e[r]&&(l[r]=e[r])}))},exports.updateErrorMap=v;
|
|
2
|
-
//# sourceMappingURL=impl.js.map
|
|
1
|
+
var e=class{keys;adj;constructor(e){this.keys=e,this.adj={}}isCyclicUtil(e,t,n){if(n.has(e))return!0;if(t.has(e))return!1;t.add(e),n.add(e);let r=this.adj[e]??[];for(let e of r)if(this.isCyclicUtil(e,t,n))return!0;return n.delete(e),!1}setEdges(e,t){this.adj[e]=t}isCyclic(){let e=/* @__PURE__ */ new Set,t=/* @__PURE__ */ new Set;for(let n of this.keys)if(this.isCyclicUtil(n,e,t))return!0;return!1}};function t(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t||e instanceof Set||t instanceof Set)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r=0;r<n.length;r++)if(!Object.prototype.hasOwnProperty.call(t,n[r])||!Object.is(e[n[r]],t[n[r]]))return!1;return!0}var n=class e extends Error{source;initialError;constructor(t,n){super(t.message),this.source=t,this.initialError=n,Object.setPrototypeOf(this,e.prototype)}};const r={clone:a,comparator:t,asyncErrorHandler:()=>{},retryOnErrorFunction:e=>e instanceof TypeError,notifySuccess:void 0,notifyError:void 0,notifyWarning:void 0,getErrorMessage:void 0,defaultMiddlewares:[],autoRetryCount:void 0,autoRetryTimeout:void 0};function i(e){Object.keys(e).forEach(t=>{e[t]!=null&&(r[t]=e[t])})}function a(e){return JSON.parse(JSON.stringify(e))}function o(e){try{return r.clone(e)}catch(e){let t=`StateDecorator: Cannot clone object. Set setCloneFunction on global global with another implementation like lodash/cloneDeep.`;throw process.env.NODE_ENV===`development`&&(console.error(t),console.error(e.toString())),Error(t)}}function s(e){return!(e instanceof Function)&&(e.hasOwnProperty(`getPromise`)||e.hasOwnProperty(`getGetPromise`))}function c(e){return typeof e==`function`}function l(e){return typeof e!=`function`&&!e.hasOwnProperty(`getPromise`)&&!e.hasOwnProperty(`getGetPromise`)}function u(e){return typeof e!=`function`&&e.hasOwnProperty(`getPromise`)&&!e.hasOwnProperty(`getGetPromise`)}function d(e){return typeof e!=`function`&&!e.hasOwnProperty(`getPromise`)&&e.hasOwnProperty(`getGetPromise`)}function f(e){return e.conflictPolicy===`abort`&&(e.abortable=!0),d(e)?{...e,getPromise:e.getGetPromise,retryDelaySeed:r.autoRetryTimeout??1e3,retryCount:r.autoRetryCount??3,conflictPolicy:e.conflictPolicy??`reuse`}:e}function p(e,t,n,r){return r?{...e,[t]:{...e[t],[n]:r}}:{...e,[t]:{...e[t],[n]:!1}}}function m(e,t,n,r){return r?{...e,[t]:{...e[t],[n]:r}}:{...e,[t]:{...e[t],[n]:void 0}}}var h=class e extends Error{promiseIds;constructor(t){super(`Error`),this.promiseIds=t,Object.setPrototypeOf(this,e.prototype)}};function g(e){return Object.keys(e).reduce((t,n)=>{let r=e[n];if(r.__def__!=null){if(r.__def__)t[n]=r[V];else{let e=Object.keys(r).reduce((e,t)=>(r[t]!=null&&(e.hasErr=!0,e.map[t]=r[t]),e),{hasErr:!1,map:{}});e.hasErr&&(t[n]=new h(e.map))}}return t},{})}function _(e,t,n=1,r=1e3,i=()=>!0){return n===1?e:a=>{async function o(s,c){return c===null?null:c.catch(c=>i(c)?s===n?Promise.reject(c):new Promise((n,i)=>{t(setTimeout(()=>{let t=e(a);o(s+1,t).then(n).catch(i)},r*s))}):Promise.reject(c))}let s=e(a);return s===null?null:o(1,s)}}function v(e=null){return{current:e}}function y(e,t,n){return{state:e.current,s:e.current,ds:t?.current?.state,derived:t?.current?.state,props:n.current,p:n.current}}function b(e,t){return{...e,ds:t,derived:t}}function x(e,t,n,r){return k(y(e,t,n),r)}function S(e,t,n,r){return{...y(e,t,n),abortedActions:r}}function C(e,t,n,r,i,a,o){let s=y(e,t,n);return s.indices=r,s.index=i,s.isInit=a,s.getInitialState=o,s}function w(e,t,n,r,i){let a=y(e,t,n);return a.args=r,i&&(a.promiseId=i),a}function T(e,t,n,r,i,a){let o=w(e,t,n,r,a);return o.result=i,o.res=i,o}function E(e,t,n,r,i,a){let o=w(e,t,n,r,a);return o.error=i,o.err=i,o}function D(e,t,n,r,i,a,o){let s=k(w(e,t,n,r,o),i);return s.abortSignal=a,s}function O(e,t){let n=e;return n.state=t.current,n.s=t.current,n}function k(e,t){let n=e;return n.actions=t.current,n.a=t.current,n}function A(e,t,n,r,i,a){let o=k(e,r);O(e,t);let s=n?.current?.state;return o.derived=s,o.ds=s,o.notifyWarning=i,o.clearError=a,o}function j(e){process.env.NODE_ENV===`development`&&console.warn(`[state-decorator] ${e} action was called while store is not initialized or destroyed, this is probably a leak`)}function M(e,t,n){return n?t:t==null?null:{...e.current,...t}}function N(e){return e.hasOwnProperty(`getInitialState`)}function P(e,t,n,r,i,a,o,s){return(...c)=>{if(!a.current){j(e);return}let l=w(n,r,i,c);s(M(n,t(l),o.fullStateEffects),null,e,`effects`,!1,l,!1)}}function F(e,t,n,i,a,o,s,c,l,u,d,f,p){let m=T(n,i,a,p,void 0),h=null,g=!1;if(t.effects!=null){let r=M(n,t.effects(m),u.fullStateEffects);if(r===null)g=!0;else{let n=t.debounceSideEffectsTimeout!=null||t.sideEffects==null;l.current=!n,h=d(r,void 0,e,`effects`,!1,m,!1,!1,!n)}}if(!g){let a=e=>{t.sideEffects?.(A(m,n,i,o,u.notifyWarning,f)),e&&l.current&&h?.();let a=u.notifySuccess||r.notifySuccess;if(a){let e;t.getSuccessMessage&&(e=t.getSuccessMessage(m)),e&&a(e)}};if(t.debounceSideEffectsTimeout>0&&t.sideEffects){let n=s.current[e];n&&clearTimeout(n),s.current[e]=setTimeout(()=>{c.current&&(delete s.current[e],a(!1))},t.debounceSideEffectsTimeout)}else a(!0)}}function I(e,t,n,r,i,a,o,s,c,l,u,d){return(...f)=>{if(!o.current)j(e);else if(t.debounceTimeout){let p=s.current[e];p&&clearTimeout(p),s.current[e]=setTimeout(()=>{o.current&&(delete s.current[e],F(e,t,n,r,i,a,s,o,c,l,u,d,f))},t.debounceTimeout)}else F(e,t,n,r,i,a,s,o,c,l,u,d,f)}}function L(e,t,i,a){let{action:o,stateRef:s,needNotifyListenersRef:c,derivedStateRef:l,propsRef:u,promisesRef:d,actionsRef:f,loadingParallelMapRef:m,conflictActionsRef:h,actionName:g,options:_,setState:v,clearError:y}=e;if(!e.initializedRef.current)return;let b=null,x=T(s,l,u,a,i,t);if(o.effects)try{b=M(s,o.effects(x),_.fullStateEffects)}catch(e){return Promise.reject(new n(e))}c.current=!0;let S=v(b,p(m.current,g,t,!1),g,`effects`,!0,x,!1,!1,!0),C=_.notifySuccess||r.notifySuccess;if(C){let e;o.getSuccessMessage&&(e=o.getSuccessMessage(x)),e&&C(e)}return delete d.current[g][t],o.sideEffects&&o.sideEffects(A(x,s,l,f,r.notifyWarning,y)),c.current&&S(),W(e.initializedRef,g,f.current,h.current),i}function R(e,t,i,a){let{action:o,stateRef:s,derivedStateRef:c,propsRef:l,actionsRef:u,loadingParallelMapRef:d,errorMapRef:f,promisesRef:h,conflictActionsRef:g,actionName:_,options:v,clearError:y,setState:b}=e;if(!e.initializedRef.current)return;let x=null,S=i,C=E(s,c,l,a,S,t);if(o.errorEffects)try{x=M(s,o.errorEffects(C),v.fullStateEffects)}catch(e){S=new n(e,i)}f.current=m(f.current,_,t,S),b(x,p(d.current,_,t,!1),_,`errorEffects`,!0,C,!1);let w=!1;(x!=null||o.errorSideEffects||o.isErrorManaged||v.isErrorManaged)&&(w=!0);let T=v.notifyError||r.notifyError;if(T){let e;o.getErrorMessage&&(e=o.getErrorMessage(C)),e===void 0&&!w&&r.getErrorMessage&&(e=r.getErrorMessage(S)),e&&(w=!0,T(e))}return r.asyncErrorHandler(S,w||o.rejectPromiseOnError,s.current,l.current,_,a),delete h.current[_][t],o.errorSideEffects&&o.errorSideEffects(A(C,s,c,u,r.notifyWarning,y)),W(e.initializedRef,_,u.current,g.current),!w||o.rejectPromiseOnError?Promise.reject(S):Promise.resolve()}function z(e){let{action:t,stateRef:i,derivedStateRef:a,propsRef:o,actionsRef:s,timeoutRef:c,promisesRef:l,loadingParallelMapRef:u,errorMapRef:d,initializedRef:f,conflictActionsRef:h,actionName:g,setState:v,options:y}=e;return(...b)=>{if(!f.current)return j(g),null;let x=l.current,{conflictPolicy:S=`keepAll`}=t,C=S===`parallel`,T=null;if(C){if(!t.getPromiseId)throw Error(`If conflict policy is set to ConflictPolicy.PARALLEL, getPromiseId must be set and return a string.`);T=t.getPromiseId(...b)}else T=V;if(!C&&x[g]?.[T])return U(x,h.current,g,S,b);let E=null,O=!1,k=w(i,a,o,b,T);if(t.preEffects){try{E=M(i,t.preEffects(k),y.fullStateEffects)}catch(e){return r.asyncErrorHandler(new n(e),!1,i.current,o.current,g,b),Promise.reject(new n(e))}E&&(O=!0,i.current=E)}let{abortable:A,retryCount:N,retryDelaySeed:P,isTriggerRetryError:F}=t,I=A&&window.AbortController?new AbortController:null,z=_(t.getPromise,e=>{c.current&&(c.current[g]=e)},N?1+N:1,P,F||r.retryOnErrorFunction)(D(i,a,o,b,s,I?.signal))?.then(t=>L(e,T,t,b)).catch(t=>R(e,T,t,b));return z!=null&&(x[g]={...x[g],[T||`__def__`]:{abortController:I,promise:z,refArgs:S===`reuse`&&b.length>0?[...b]:[]}}),d.current=m(d.current,g,T,null),v(z==null&&!O?void 0:i.current,z==null?void 0:p(u.current,g,T,!0),g,`preEffects`,!0,k,!1),z}}function B(e,...t){return t.some(t=>{let n=null,r=V;Array.isArray(t)?[n,r=V]=t:n=t;let i=e[n];return i!=null&&i[r]!=null&&i[r]})}const V=`__def__`;function H(e,t){return e.length===t.length&&e.findIndex((e,n)=>t[n]!==e)===-1}function U(e,t,n,r,i){let a=r;if(a===`reuse`){if(H(e[n].__def__.refArgs,i))return e[n][V].promise;a=`keepAll`}return new Promise((r,s)=>{let c={resolve:r,reject:s,args:o(i),timestamp:Date.now()};switch(a){case`ignore`:r(void 0);break;case`reject`:s(/* @__PURE__ */ Error(`An asynchronous action ${n} is already ongoing.`));break;case`keepLast`:t[n]=[c];break;case`abort`:(e[n][V]?.abortController)?.abort(`conflict`);case`keepAll`:{let e=t[n];e||(t[n]=e=[]),e.push(c);break}}})}function W(e,t,n,r){if(!e.current)return;let i=r[t];if(i?.length>0){let a=i.shift();if(a){let i=n[t](...a.args);i==null?W(e,t,n,r):i.then(i=>{i===null&&W(e,t,n,r),a.resolve(i)}).catch(e=>a.reject(e))}}}function G(e,t,n,i,a=null){if(i?.derivedState==null)return!1;let o=!1,s=r.comparator,c=n.current.deps,l=y(e,null,t),u=Object.keys(i.derivedState);return n.current.state=u.reduce((e,t)=>{let r=!1;if(a?.current?.[t])e[t]=a.current?.[t];else{let a=i.derivedState[t],u=c[t],d=a.getDeps?.(l)??[];a.derivedDeps&&a.derivedDeps.forEach(t=>d.push(e[t]??n.current?.state?.[t])),r=u==null||d.findIndex((e,t)=>u.length<t||!s(u[t],e))!==-1,o||=r,c[t]=d,e[t]=r?i.derivedState[t].get(b(l,e)):n.current.state[t]}return e},{}),o}function K(t){let n=Object.keys(t.derivedState),r=new e(n);if(n.forEach(e=>{r.setEdges(e,t.derivedState[e].derivedDeps)}),r.isCyclic())throw Error(`There are cycles in the derived state dependencies`);let i=!1,a={};for(let e of n){let n=t.derivedState[e].derivedDeps??[];i||=n.length>0,a[e]=[...n]}if(i){n.sort((e,t)=>a[e].length-a[t].length);let e=[],r=/* @__PURE__ */ new Set,i=n.length;for(;r.size!==i;){let t=n.pop();r.has(t)||(a[t]=a[t].filter(e=>!r.has(e)),a[t].length===0?(e.push(t),r.add(t)):n.splice(0,0,t))}let o={};for(let n of e)o[n]=t.derivedState[n];t.derivedState=o}}function q(e,t,n,i,a,o,s,c,l,u){if(e.current==null)return;let d=o?.derivedState!=null;if(o.onPropsChange==null){o?.derivedState!=null&&c(void 0,void 0,`onPropsChange`,`effects`,!1,null,!0);return}let f;f=Array.isArray(o.onPropsChange)?o.onPropsChange:[o.onPropsChange];let p=!1,m=v(e.current),h=[],g=r.comparator;f.forEach((r,a)=>{let d=r.getDeps;if(d){let f=!1,_=[];if(l){if(!u&&r.onMount||u&&r.onMountDeferred)f=!0;else return}else{let e=d(i),t=d(n.current);e.length===t.length?e.forEach((e,n)=>{g(e,t[n])||(f=!0,_.push(n))}):(console.warn(`options.onPropsChange.getDeps returned array must be stable (same length)`),f=!0)}if(f){let i=C(m,t,n,_,a,l,s),u=M(e,r.effects?.(i),o.fullStateEffects);u!=null&&(p=!0,m.current=u,c(m.current,void 0,`onPropsChange`,`effects`,!1,i,!0,l)),r.sideEffects&&h.push({index:a,indices:_,ctx:i})}}}),!p&&d&&c(void 0,void 0,`onPropsChange`,`effects`,!1,null,!0),h.length>0&&h.forEach(e=>{f[e.index].sideEffects({...O(k(e.ctx,a),m),indices:e.indices})})}function J(e,t,n,r,i,a,o,s){if(i===`onPropsChange`&&n===void 0)return{newState:null,newLoading:!1};if(e&&e.length>0){let c=e.reduce((e,t)=>{let n=t.effects({isAsync:o,name:i,type:a,context:s},e.oldState,e.newState,r);return{newState:n?.state||e.newState,oldState:n?.state?e.newState:e.oldState,loading:n?.loading==null?e.loading:n.loading}},{oldState:t,newState:n,loading:r});return{newLoading:c.loading,newState:c.newState}}return{newState:n,newLoading:r}}export{V as DEFAULT_PROMISE_ID,n as EffectError,h as ParallelActionError,H as areSameArgs,g as buildErrorMap,y as buildInvocationContextBase,p as buildLoadingMap,x as buildOnMountInvocationContext,S as buildOnUnMountInvocationContext,f as computeAsyncActionInput,G as computeDerivedValues,v as createRef,z as decorateAsyncAction,P as decorateSimpleSyncAction,I as decorateSyncAction,K as fixDerivedDeps,r as globalConfig,s as isAsyncAction,u as isAsyncGetPromiseAction,d as isAsyncGetPromiseGetAction,N as isFuncConfig,B as isLoadingImpl,c as isSimpleSyncAction,l as isSyncAction,q as onPropChange,_ as retryPromiseDecorator,J as runMiddlewares,i as setGlobalConfig,m as updateErrorMap};
|
|
2
|
+
//# sourceMappingURL=impl.js.map
|