mobx-react-use-autorun 1.0.35 → 2.0.1
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;
|
|
4
5
|
var initStateCallback = function () {
|
|
5
6
|
if (Array.isArray(data)) {
|
|
6
7
|
throw new Error('Arrays is unsupported!');
|
|
@@ -8,21 +9,18 @@ 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
|
-
for (var key in state.current) {
|
|
15
|
-
if (!Object.keys(data).includes(key)) {
|
|
16
|
-
remove(state.current, key);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
for (var key in data) {
|
|
12
|
+
var state = useRef(initStateCallback());
|
|
13
|
+
for (var key in state.current) {
|
|
14
|
+
if (!Object.keys(data).includes(key)) {
|
|
20
15
|
remove(state.current, key);
|
|
21
|
-
extendObservable(state.current, (_a = {}, _a[key] = data[key], _a), (_b = {},
|
|
22
|
-
_b[key] = isObservable(data[key]),
|
|
23
|
-
_b));
|
|
24
16
|
}
|
|
25
|
-
}
|
|
17
|
+
}
|
|
18
|
+
for (var key in data) {
|
|
19
|
+
remove(state.current, key);
|
|
20
|
+
extendObservable(state.current, (_a = {}, _a[key] = data[key], _a), (_b = {},
|
|
21
|
+
_b[key] = isObservable(data[key]),
|
|
22
|
+
_b));
|
|
23
|
+
}
|
|
26
24
|
return state.current;
|
|
27
25
|
}
|
|
28
26
|
;
|
|
@@ -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;IAE1C,KAAK,IAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAClC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SAC9B;KACJ;IACD,KAAK,IAAM,GAAG,IAAI,IAAI,EAAE;QACpB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC3B,gBAAgB,CAAC,KAAK,CAAC,OAAO,YAAI,GAAC,GAAG,IAAG,IAAI,CAAC,GAAG,CAAC;YAC9C,GAAC,GAAG,IAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChC,CAAA;KACL;IAED,OAAO,KAAK,CAAC,OAAO,CAAC;AACzB,CAAC;AAAA,CAAC"}
|
|
@@ -35,11 +35,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
37
|
import { toJS } from 'mobx';
|
|
38
|
-
import {
|
|
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';
|
|
42
|
-
import { useAsLocalSource } from './useAsLocalSource';
|
|
43
42
|
export function useAsyncExhaust(callback) {
|
|
44
43
|
var _this = this;
|
|
45
44
|
var runCallback = function () {
|
|
@@ -61,24 +60,19 @@ export function useAsyncExhaust(callback) {
|
|
|
61
60
|
return resultSubjectPromise;
|
|
62
61
|
}
|
|
63
62
|
};
|
|
64
|
-
var state =
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
};
|
|
71
|
-
});
|
|
72
|
-
var source = useAsLocalSource({
|
|
73
|
-
callback: callback
|
|
74
|
-
});
|
|
63
|
+
var state = useRef({
|
|
64
|
+
subscription: new Subscription(),
|
|
65
|
+
subject: new ReplaySubject(0),
|
|
66
|
+
resultSubjectList: [],
|
|
67
|
+
isUnmount: false,
|
|
68
|
+
}).current;
|
|
75
69
|
useMount(function () {
|
|
76
70
|
state.subscription.add(state.subject.pipe(debounceTime(0), exhaustMapWithTrailing(function (_a) {
|
|
77
71
|
var params = _a.params;
|
|
78
72
|
var resultSubjectList = toJS(state.resultSubjectList);
|
|
79
73
|
return from((function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
80
74
|
switch (_a.label) {
|
|
81
|
-
case 0: return [4 /*yield*/,
|
|
75
|
+
case 0: return [4 /*yield*/, callback.apply(void 0, params)];
|
|
82
76
|
case 1: return [2 /*return*/, _a.sent()];
|
|
83
77
|
}
|
|
84
78
|
}); }); })()).pipe(concatMap(function (result) {
|
|
@@ -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,
|
|
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,19 @@ 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());
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
if (!Object.keys(data).includes(key)) {
|
|
19
|
-
remove(state.current, key);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
for (const key in data) {
|
|
16
|
+
for (const key in state.current) {
|
|
17
|
+
if (!Object.keys(data).includes(key)) {
|
|
23
18
|
remove(state.current, key);
|
|
24
|
-
extendObservable(state.current, { [key]: data[key] }, {
|
|
25
|
-
[key]: isObservable(data[key])
|
|
26
|
-
})
|
|
27
19
|
}
|
|
28
|
-
}
|
|
20
|
+
}
|
|
21
|
+
for (const key in data) {
|
|
22
|
+
remove(state.current, key);
|
|
23
|
+
extendObservable(state.current, { [key]: data[key] }, {
|
|
24
|
+
[key]: isObservable(data[key])
|
|
25
|
+
})
|
|
26
|
+
}
|
|
29
27
|
|
|
30
28
|
return state.current;
|
|
31
29
|
};
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { toJS } from 'mobx';
|
|
2
|
-
import {
|
|
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';
|
|
6
|
-
import { useAsLocalSource } from './useAsLocalSource';
|
|
7
6
|
|
|
8
7
|
export function useAsyncExhaust<T>(callback: T) {
|
|
9
8
|
|
|
@@ -26,28 +25,22 @@ export function useAsyncExhaust<T>(callback: T) {
|
|
|
26
25
|
}
|
|
27
26
|
}
|
|
28
27
|
|
|
29
|
-
const state =
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
};
|
|
39
|
-
})
|
|
40
|
-
|
|
41
|
-
const source: { callback: any } = useAsLocalSource({
|
|
42
|
-
callback
|
|
43
|
-
})
|
|
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;
|
|
44
37
|
|
|
45
38
|
useMount(() => {
|
|
46
39
|
state.subscription.add(state.subject.pipe(
|
|
47
40
|
debounceTime(0),
|
|
48
41
|
exhaustMapWithTrailing(({ params }: any) => {
|
|
49
42
|
const resultSubjectList = toJS(state.resultSubjectList);
|
|
50
|
-
return from((async () => { return await
|
|
43
|
+
return from((async () => { return await (callback as any)(...params) })()).pipe(
|
|
51
44
|
concatMap((result) => {
|
|
52
45
|
for (const resultSubject of resultSubjectList) {
|
|
53
46
|
resultSubject.subject.next(result);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mobx-react-use-autorun",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.1",
|
|
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",
|