mobx-react-use-autorun 2.0.0 → 2.0.3

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.
@@ -1,6 +1,7 @@
1
- import { extendObservable, observable, runInAction, isObservable, remove } from 'mobx';
2
- import { useRef, useState } from 'react';
1
+ import { extendObservable, observable, isObservable, remove } from 'mobx';
2
+ import { useRef } from 'react';
3
3
  export function useAsLocalSource(data) {
4
+ var _a, _b, _c, _d;
4
5
  var initStateCallback = function () {
5
6
  if (Array.isArray(data)) {
6
7
  throw new Error('Arrays is unsupported!');
@@ -8,22 +9,37 @@ export function useAsLocalSource(data) {
8
9
  var initState = observable({}, undefined, { deep: false });
9
10
  return initState;
10
11
  };
11
- var state = useRef(useState(function () { return initStateCallback(); })[0]);
12
- runInAction(function () {
13
- var _a, _b;
14
- for (var key in state.current) {
15
- if (!Object.keys(data).includes(key)) {
16
- remove(state.current, key);
12
+ var state = useRef(initStateCallback()).current;
13
+ for (var key in state) {
14
+ if (!Object.keys(data).includes(key)) {
15
+ remove(state, key);
16
+ }
17
+ }
18
+ for (var key in data) {
19
+ if (isObservable(data[key])) {
20
+ if (isObservable(state[key])) {
21
+ state[key] = data[key];
22
+ }
23
+ else {
24
+ remove(state, key);
25
+ extendObservable(state, (_a = {}, _a[key] = data[key], _a), (_b = {},
26
+ _b[key] = true,
27
+ _b));
17
28
  }
18
29
  }
19
- for (var key in data) {
20
- remove(state.current, key);
21
- extendObservable(state.current, (_a = {}, _a[key] = data[key], _a), (_b = {},
22
- _b[key] = isObservable(data[key]),
23
- _b));
30
+ else {
31
+ if (isObservable(state[key])) {
32
+ remove(state, key);
33
+ extendObservable(state, (_c = {}, _c[key] = data[key], _c), (_d = {},
34
+ _d[key] = false,
35
+ _d));
36
+ }
37
+ else {
38
+ state[key] = data[key];
39
+ }
24
40
  }
25
- });
26
- return state.current;
41
+ }
42
+ return state;
27
43
  }
28
44
  ;
29
45
  //# sourceMappingURL=useAsLocalSource.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAsLocalSource.js","sourceRoot":"","sources":["../../lib/lib/useAsLocalSource.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEzC,MAAM,UAAU,gBAAgB,CAAmB,IAAO;IAEtD,IAAM,iBAAiB,GAAG;QACtB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC7C;QACD,IAAM,SAAS,GAAG,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAM,CAAC;QAClE,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;IAEF,IAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAM,OAAA,iBAAiB,EAAE,EAAnB,CAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,WAAW,CAAC;;QACR,KAAK,IAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAClC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;aAC9B;SACJ;QACD,KAAK,IAAM,GAAG,IAAI,IAAI,EAAE;YACpB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC3B,gBAAgB,CAAC,KAAK,CAAC,OAAO,YAAI,GAAC,GAAG,IAAG,IAAI,CAAC,GAAG,CAAC;gBAC9C,GAAC,GAAG,IAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAChC,CAAA;SACL;IACL,CAAC,CAAC,CAAA;IAEF,OAAO,KAAK,CAAC,OAAO,CAAC;AACzB,CAAC;AAAA,CAAC"}
1
+ {"version":3,"file":"useAsLocalSource.js","sourceRoot":"","sources":["../../lib/lib/useAsLocalSource.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,MAAM,UAAU,gBAAgB,CAAmB,IAAO;;IAEtD,IAAM,iBAAiB,GAAG;QACtB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC7C;QACD,IAAM,SAAS,GAAG,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAM,CAAC;QAClE,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;IAEF,IAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC;IAElD,KAAK,IAAM,GAAG,IAAI,KAAK,EAAE;QACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAClC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;SACtB;KACJ;IACD,KAAK,IAAM,GAAG,IAAI,IAAI,EAAE;QACpB,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YACzB,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC1B,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;aAC1B;iBAAM;gBACH,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACnB,gBAAgB,CAAC,KAAK,YAAI,GAAC,GAAG,IAAG,IAAI,CAAC,GAAG,CAAC;oBACtC,GAAC,GAAG,IAAG,IAAI;wBACb,CAAA;aACL;SAEJ;aAAM;YACH,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC1B,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACnB,gBAAgB,CAAC,KAAK,YAAI,GAAC,GAAG,IAAG,IAAI,CAAC,GAAG,CAAC;oBACtC,GAAC,GAAG,IAAG,KAAK;wBACd,CAAA;aACL;iBAAM;gBACH,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;aAC1B;SACJ;KACJ;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAAA,CAAC"}
@@ -35,7 +35,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  }
36
36
  };
37
37
  import { toJS } from 'mobx';
38
- import { useRef, useState } from 'react';
38
+ import { useRef } from 'react';
39
39
  import { useMount, useUnmount } from 'react-use';
40
40
  import { catchError, concatMap, debounceTime, EMPTY, from, lastValueFrom, ReplaySubject, Subscription } from 'rxjs';
41
41
  import { exhaustMapWithTrailing } from 'rxjs-exhaustmap-with-trailing';
@@ -60,14 +60,12 @@ export function useAsyncExhaust(callback) {
60
60
  return resultSubjectPromise;
61
61
  }
62
62
  };
63
- var state = useRef(useState(function () {
64
- return {
65
- subscription: new Subscription(),
66
- subject: new ReplaySubject(0),
67
- resultSubjectList: [],
68
- isUnmount: false,
69
- };
70
- })[0]).current;
63
+ var state = useRef({
64
+ subscription: new Subscription(),
65
+ subject: new ReplaySubject(0),
66
+ resultSubjectList: [],
67
+ isUnmount: false,
68
+ }).current;
71
69
  useMount(function () {
72
70
  state.subscription.add(state.subject.pipe(debounceTime(0), exhaustMapWithTrailing(function (_a) {
73
71
  var params = _a.params;
@@ -1 +1 @@
1
- {"version":3,"file":"useAsyncExhaust.js","sourceRoot":"","sources":["../../lib/lib/useAsyncExhaust.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAsyncExhaust.js","sourceRoot":"","sources":["../../lib/lib/useAsyncExhaust.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { extendObservable, observable, runInAction, isObservable, remove } from 'mobx';
2
- import { useRef, useState } from 'react';
1
+ import { extendObservable, observable, isObservable, remove } from 'mobx';
2
+ import { useRef } from 'react';
3
3
 
4
4
  export function useAsLocalSource<T extends object>(data: T): T {
5
5
 
@@ -11,21 +11,35 @@ export function useAsLocalSource<T extends object>(data: T): T {
11
11
  return initState;
12
12
  };
13
13
 
14
- const state = useRef(useState(() => initStateCallback())[0]);
14
+ const state = useRef(initStateCallback()).current;
15
15
 
16
- runInAction(() => {
17
- for (const key in state.current) {
18
- if (!Object.keys(data).includes(key)) {
19
- remove(state.current, key);
20
- }
16
+ for (const key in state) {
17
+ if (!Object.keys(data).includes(key)) {
18
+ remove(state, key);
21
19
  }
22
- for (const key in data) {
23
- remove(state.current, key);
24
- extendObservable(state.current, { [key]: data[key] }, {
25
- [key]: isObservable(data[key])
26
- })
20
+ }
21
+ for (const key in data) {
22
+ if (isObservable(data[key])) {
23
+ if (isObservable(state[key])) {
24
+ state[key] = data[key];
25
+ } else {
26
+ remove(state, key);
27
+ extendObservable(state, { [key]: data[key] }, {
28
+ [key]: true
29
+ })
30
+ }
31
+
32
+ } else {
33
+ if (isObservable(state[key])) {
34
+ remove(state, key);
35
+ extendObservable(state, { [key]: data[key] }, {
36
+ [key]: false
37
+ })
38
+ } else {
39
+ state[key] = data[key];
40
+ }
27
41
  }
28
- })
42
+ }
29
43
 
30
- return state.current;
44
+ return state;
31
45
  };
@@ -1,5 +1,5 @@
1
1
  import { toJS } from 'mobx';
2
- import { useRef, useState } from 'react';
2
+ import { useRef } from 'react';
3
3
  import { useMount, useUnmount } from 'react-use';
4
4
  import { catchError, concatMap, debounceTime, EMPTY, from, lastValueFrom, ReplaySubject, Subscription } from 'rxjs';
5
5
  import { exhaustMapWithTrailing } from 'rxjs-exhaustmap-with-trailing';
@@ -25,17 +25,15 @@ export function useAsyncExhaust<T>(callback: T) {
25
25
  }
26
26
  }
27
27
 
28
- const state = useRef(useState(() => {
29
- return {
30
- subscription: new Subscription(),
31
- subject: new ReplaySubject(0),
32
- resultSubjectList: [] as {
33
- subject: ReplaySubject<any>,
34
- promise: Promise<any>,
35
- }[],
36
- isUnmount: false,
37
- };
38
- })[0]).current;
28
+ const state = useRef({
29
+ subscription: new Subscription(),
30
+ subject: new ReplaySubject(0),
31
+ resultSubjectList: [] as {
32
+ subject: ReplaySubject<any>,
33
+ promise: Promise<any>,
34
+ }[],
35
+ isUnmount: false,
36
+ }).current;
39
37
 
40
38
  useMount(() => {
41
39
  state.subscription.add(state.subject.pipe(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mobx-react-use-autorun",
3
- "version": "2.0.0",
3
+ "version": "2.0.3",
4
4
  "description": "React Hook for mobx",
5
5
  "scripts": {
6
6
  "build": "npm install -g typescript@4.6.3 @types/node@17.0.23 ts-node@10.7.0 cross-env@7.0.3 && cross-env TS_NODE_SKIP_PROJECT=true ts-node bin/mobx_react_build.ts",