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,
|
|
2
|
-
import { useRef
|
|
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(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
|
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,
|
|
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
|
|
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(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,
|
|
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,
|
|
2
|
-
import { useRef
|
|
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(
|
|
14
|
+
const state = useRef(initStateCallback()).current;
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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
|
|
44
|
+
return state;
|
|
31
45
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { toJS } from 'mobx';
|
|
2
|
-
import { useRef
|
|
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(
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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.
|
|
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",
|