mobx-react-use-autorun 1.0.33 → 2.0.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.
@@ -1,5 +1,5 @@
1
1
  import { extendObservable, observable, runInAction, isObservable, remove } from 'mobx';
2
- import { useRef } from 'react';
2
+ import { useRef, useState } from 'react';
3
3
  export function useAsLocalSource(data) {
4
4
  var initStateCallback = function () {
5
5
  if (Array.isArray(data)) {
@@ -8,26 +8,19 @@ export function useAsLocalSource(data) {
8
8
  var initState = observable({}, undefined, { deep: false });
9
9
  return initState;
10
10
  };
11
- var state = useRef(initStateCallback());
11
+ var state = useRef(useState(function () { return initStateCallback(); })[0]);
12
12
  runInAction(function () {
13
- var _a, _b, _c, _d;
13
+ var _a, _b;
14
14
  for (var key in state.current) {
15
15
  if (!Object.keys(data).includes(key)) {
16
16
  remove(state.current, key);
17
17
  }
18
18
  }
19
19
  for (var key in data) {
20
- if (isObservable(data[key])) {
21
- extendObservable(state.current, (_a = {}, _a[key] = data[key], _a), (_b = {},
22
- _b[key] = true,
23
- _b));
24
- }
25
- else {
26
- remove(state.current, key);
27
- extendObservable(state.current, (_c = {}, _c[key] = data[key], _c), (_d = {},
28
- _d[key] = false,
29
- _d));
30
- }
20
+ remove(state.current, key);
21
+ extendObservable(state.current, (_a = {}, _a[key] = data[key], _a), (_b = {},
22
+ _b[key] = isObservable(data[key]),
23
+ _b));
31
24
  }
32
25
  });
33
26
  return state.current;
@@ -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,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;IAE1C,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,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;gBACzB,gBAAgB,CAAC,KAAK,CAAC,OAAO,YAAI,GAAC,GAAG,IAAG,IAAI,CAAC,GAAG,CAAC;oBAC9C,GAAC,GAAG,IAAG,IAAI;wBACb,CAAA;aACL;iBAAM;gBACH,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC3B,gBAAgB,CAAC,KAAK,CAAC,OAAO,YAAI,GAAC,GAAG,IAAG,IAAI,CAAC,GAAG,CAAC;oBAC9C,GAAC,GAAG,IAAG,KAAK;wBACd,CAAA;aACL;SACJ;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,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,2 +1 @@
1
- import './mobx_config';
2
1
  export declare function useAsyncExhaust<T>(callback: T): T;
@@ -34,13 +34,11 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
34
34
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
35
  }
36
36
  };
37
- import './mobx_config';
38
37
  import { toJS } from 'mobx';
39
- import { useLocalObservable } from 'mobx-react-lite';
38
+ import { useRef, useState } from 'react';
40
39
  import { useMount, useUnmount } from 'react-use';
41
40
  import { catchError, concatMap, debounceTime, EMPTY, from, lastValueFrom, ReplaySubject, Subscription } from 'rxjs';
42
41
  import { exhaustMapWithTrailing } from 'rxjs-exhaustmap-with-trailing';
43
- import { useAsLocalSource } from './useAsLocalSource';
44
42
  export function useAsyncExhaust(callback) {
45
43
  var _this = this;
46
44
  var runCallback = function () {
@@ -62,24 +60,21 @@ export function useAsyncExhaust(callback) {
62
60
  return resultSubjectPromise;
63
61
  }
64
62
  };
65
- var state = useLocalObservable(function () {
63
+ var state = useRef(useState(function () {
66
64
  return {
67
65
  subscription: new Subscription(),
68
66
  subject: new ReplaySubject(0),
69
67
  resultSubjectList: [],
70
68
  isUnmount: false,
71
69
  };
72
- });
73
- var source = useAsLocalSource({
74
- callback: callback
75
- });
70
+ })[0]).current;
76
71
  useMount(function () {
77
72
  state.subscription.add(state.subject.pipe(debounceTime(0), exhaustMapWithTrailing(function (_a) {
78
73
  var params = _a.params;
79
74
  var resultSubjectList = toJS(state.resultSubjectList);
80
75
  return from((function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
81
76
  switch (_a.label) {
82
- case 0: return [4 /*yield*/, source.callback.apply(source, params)];
77
+ case 0: return [4 /*yield*/, callback.apply(void 0, params)];
83
78
  case 1: return [2 /*return*/, _a.sent()];
84
79
  }
85
80
  }); }); })()).pipe(concatMap(function (result) {
@@ -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,2 +1 @@
1
- import './mobx_config';
2
1
  export declare const useAutorun: (callback: () => void, dependencyList: any[]) => void;
@@ -1,4 +1,3 @@
1
- import './mobx_config';
2
1
  import { useLocalObservable } from 'mobx-react-lite';
3
2
  import { useMount, useUnmount } from 'react-use';
4
3
  import { Subscription } from 'rxjs';
@@ -10,7 +9,7 @@ export var useAutorun = function (callback, dependencyList) {
10
9
  }); });
11
10
  var dependencyListSource = useAsLocalSource(Object.assign({}, dependencyList));
12
11
  useMount(function () {
13
- var disposer = reaction(function () { return [toJS(dependencyListSource)]; }, callback, { fireImmediately: true });
12
+ var disposer = reaction(function () { return [toJS(dependencyListSource)]; }, callback, { fireImmediately: true, delay: 1 });
14
13
  state.subscription.add(new Subscription(function () {
15
14
  disposer();
16
15
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"useAutorun.js","sourceRoot":"","sources":["../../lib/lib/useAutorun.tsx"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAA;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAErC,MAAM,CAAC,IAAM,UAAU,GAAG,UAAC,QAAoB,EAAE,cAAqB;IAElE,IAAM,KAAK,GAAG,kBAAkB,CAAC,cAAM,OAAA,CAAC;QACpC,YAAY,EAAE,IAAI,YAAY,EAAE;KACnC,CAAC,EAFqC,CAErC,CAAC,CAAA;IAEH,IAAM,oBAAoB,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAA;IAEhF,QAAQ,CAAC;QACL,IAAM,QAAQ,GAAG,QAAQ,CAAC,cAAM,OAAA,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAA5B,CAA4B,EAAE,QAAQ,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QAEnG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC;YACpC,QAAQ,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,CAAC;IACR,CAAC,CAAC,CAAA;IAEF,UAAU,CAAC;QACP,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC,CAAC,CAAA;AACN,CAAC,CAAA"}
1
+ {"version":3,"file":"useAutorun.js","sourceRoot":"","sources":["../../lib/lib/useAutorun.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAErC,MAAM,CAAC,IAAM,UAAU,GAAG,UAAC,QAAoB,EAAE,cAAqB;IAElE,IAAM,KAAK,GAAG,kBAAkB,CAAC,cAAM,OAAA,CAAC;QACpC,YAAY,EAAE,IAAI,YAAY,EAAE;KACnC,CAAC,EAFqC,CAErC,CAAC,CAAA;IAEH,IAAM,oBAAoB,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAA;IAEhF,QAAQ,CAAC;QACL,IAAM,QAAQ,GAAG,QAAQ,CAAC,cAAM,OAAA,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAA5B,CAA4B,EAAE,QAAQ,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAE7G,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC;YACpC,QAAQ,EAAE,CAAC;QACf,CAAC,CAAC,CAAC,CAAC;IACR,CAAC,CAAC,CAAA;IAEF,UAAU,CAAC;QACP,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC,CAAC,CAAA;AACN,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { extendObservable, observable, runInAction, isObservable, remove } from 'mobx';
2
- import { useRef } from 'react';
2
+ import { useRef, useState } from 'react';
3
3
 
4
4
  export function useAsLocalSource<T extends object>(data: T): T {
5
5
 
@@ -11,7 +11,7 @@ export function useAsLocalSource<T extends object>(data: T): T {
11
11
  return initState;
12
12
  };
13
13
 
14
- const state = useRef(initStateCallback());
14
+ const state = useRef(useState(() => initStateCallback())[0]);
15
15
 
16
16
  runInAction(() => {
17
17
  for (const key in state.current) {
@@ -20,16 +20,10 @@ export function useAsLocalSource<T extends object>(data: T): T {
20
20
  }
21
21
  }
22
22
  for (const key in data) {
23
- if (isObservable(data[key])) {
24
- extendObservable(state.current, { [key]: data[key] }, {
25
- [key]: true
26
- })
27
- } else {
28
- remove(state.current, key);
29
- extendObservable(state.current, { [key]: data[key] }, {
30
- [key]: false
31
- })
32
- }
23
+ remove(state.current, key);
24
+ extendObservable(state.current, { [key]: data[key] }, {
25
+ [key]: isObservable(data[key])
26
+ })
33
27
  }
34
28
  })
35
29
 
@@ -1,10 +1,8 @@
1
- import './mobx_config'
2
1
  import { toJS } from 'mobx';
3
- import { useLocalObservable } from 'mobx-react-lite';
2
+ import { useRef, useState } from 'react';
4
3
  import { useMount, useUnmount } from 'react-use';
5
4
  import { catchError, concatMap, debounceTime, EMPTY, from, lastValueFrom, ReplaySubject, Subscription } from 'rxjs';
6
5
  import { exhaustMapWithTrailing } from 'rxjs-exhaustmap-with-trailing';
7
- import { useAsLocalSource } from './useAsLocalSource';
8
6
 
9
7
  export function useAsyncExhaust<T>(callback: T) {
10
8
 
@@ -27,7 +25,7 @@ export function useAsyncExhaust<T>(callback: T) {
27
25
  }
28
26
  }
29
27
 
30
- const state = useLocalObservable(() => {
28
+ const state = useRef(useState(() => {
31
29
  return {
32
30
  subscription: new Subscription(),
33
31
  subject: new ReplaySubject(0),
@@ -37,18 +35,14 @@ export function useAsyncExhaust<T>(callback: T) {
37
35
  }[],
38
36
  isUnmount: false,
39
37
  };
40
- })
41
-
42
- const source: { callback: any } = useAsLocalSource({
43
- callback
44
- })
38
+ })[0]).current;
45
39
 
46
40
  useMount(() => {
47
41
  state.subscription.add(state.subject.pipe(
48
42
  debounceTime(0),
49
43
  exhaustMapWithTrailing(({ params }: any) => {
50
44
  const resultSubjectList = toJS(state.resultSubjectList);
51
- return from((async () => { return await source.callback(...params) })()).pipe(
45
+ return from((async () => { return await (callback as any)(...params) })()).pipe(
52
46
  concatMap((result) => {
53
47
  for (const resultSubject of resultSubjectList) {
54
48
  resultSubject.subject.next(result);
@@ -1,4 +1,3 @@
1
- import './mobx_config'
2
1
  import { useLocalObservable } from 'mobx-react-lite';
3
2
  import { useMount, useUnmount } from 'react-use';
4
3
  import { Subscription } from 'rxjs';
@@ -14,7 +13,7 @@ export const useAutorun = (callback: () => void, dependencyList: any[]): void =>
14
13
  const dependencyListSource = useAsLocalSource(Object.assign({}, dependencyList))
15
14
 
16
15
  useMount(() => {
17
- const disposer = reaction(() => [toJS(dependencyListSource)], callback, { fireImmediately: true });
16
+ const disposer = reaction(() => [toJS(dependencyListSource)], callback, { fireImmediately: true, delay: 1 });
18
17
 
19
18
  state.subscription.add(new Subscription(() => {
20
19
  disposer();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mobx-react-use-autorun",
3
- "version": "1.0.33",
3
+ "version": "2.0.0",
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",