jpf-mobx 1.0.121 → 1.0.123
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/dist/index.d.ts +2 -1
- package/dist/index.js +13 -12
- package/dist/index.js.map +1 -1
- package/dist/observable.d.ts +13 -13
- package/dist/observable.js +41 -16
- package/dist/observable.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +14 -12
- package/src/observable.ts +66 -36
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { controls, utilities, attributes, element, event, properties, root, style, types } from "jpf";
|
|
1
|
+
import { controls, utilities, attributes, element, event, observableInterfaces, properties, root, style, types } from "jpf";
|
|
2
2
|
export { controls };
|
|
3
3
|
export { utilities };
|
|
4
4
|
export { attributes };
|
|
5
5
|
export { element };
|
|
6
6
|
export { event };
|
|
7
|
+
export { observableInterfaces };
|
|
7
8
|
export { properties };
|
|
8
9
|
export { root };
|
|
9
10
|
export { style };
|
package/dist/index.js
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
import { controls, utilities, attributes, element, event,
|
|
1
|
+
import { controls, utilities, attributes, element, event, observableInterfaces, observableImplementations, properties, root, style, types } from "jpf";
|
|
2
2
|
import { unwrap, isComputed, isObservableValue, isObservableArray, isObservableMap, isObservableSet, computed, observableValue, observableArray, observableMap, observableSet } from "./observable";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
3
|
+
observableImplementations.implementations.unwrap = unwrap;
|
|
4
|
+
observableImplementations.implementations.isComputed = isComputed;
|
|
5
|
+
observableImplementations.implementations.isObservableValue = isObservableValue;
|
|
6
|
+
observableImplementations.implementations.isObservableArray = isObservableArray;
|
|
7
|
+
observableImplementations.implementations.isObservableMap = isObservableMap;
|
|
8
|
+
observableImplementations.implementations.isObservableSet = isObservableSet;
|
|
9
|
+
observableImplementations.implementations.computed = computed;
|
|
10
|
+
observableImplementations.implementations.observableValue = observableValue;
|
|
11
|
+
observableImplementations.implementations.observableArray = observableArray;
|
|
12
|
+
observableImplementations.implementations.observableMap = observableMap;
|
|
13
|
+
observableImplementations.implementations.observableSet = observableSet;
|
|
14
14
|
export { controls };
|
|
15
15
|
export { utilities };
|
|
16
16
|
export { attributes };
|
|
17
17
|
export { element };
|
|
18
18
|
export { event };
|
|
19
|
+
export { observableInterfaces };
|
|
19
20
|
export { properties };
|
|
20
21
|
export { root };
|
|
21
22
|
export { style };
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,SAAS,EACT,UAAU,EACV,OAAO,EACP,KAAK,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,SAAS,EACT,UAAU,EACV,OAAO,EACP,KAAK,EACL,oBAAoB,EACpB,yBAAyB,EACzB,UAAU,EACV,IAAI,EACJ,KAAK,EACL,KAAK,EACR,MAAM,KAAK,CAAC;AAEb,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGpM,yBAAyB,CAAC,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC;AAC1D,yBAAyB,CAAC,eAAe,CAAC,UAAU,GAAG,UAAU,CAAC;AAClE,yBAAyB,CAAC,eAAe,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AAChF,yBAAyB,CAAC,eAAe,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AAChF,yBAAyB,CAAC,eAAe,CAAC,eAAe,GAAG,eAAe,CAAC;AAC5E,yBAAyB,CAAC,eAAe,CAAC,eAAe,GAAG,eAAe,CAAC;AAC5E,yBAAyB,CAAC,eAAe,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC9D,yBAAyB,CAAC,eAAe,CAAC,eAAe,GAAG,eAAe,CAAC;AAC5E,yBAAyB,CAAC,eAAe,CAAC,eAAe,GAAG,eAAe,CAAC;AAC5E,yBAAyB,CAAC,eAAe,CAAC,aAAa,GAAG,aAAa,CAAC;AACxE,yBAAyB,CAAC,eAAe,CAAC,aAAa,GAAG,aAAa,CAAC;AAExE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,CAAC;AACnB,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,IAAI,EAAE,CAAC;AAChB,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,cAAc,cAAc,CAAC"}
|
package/dist/observable.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { IComputedValueOptions as mobxIComputedValueOptions, CreateObservableOptions as mobxCreateObservableOptions, IObservableMapInitialValues as mobxIObservableMapInitialValues, IObservableSetInitialValues as mobxIObservableSetInitialValues } from "mobx";
|
|
2
|
-
import {
|
|
3
|
-
export declare function computed<TComputed>(func: () => TComputed, options?: mobxIComputedValueOptions<TComputed>):
|
|
2
|
+
import { observableInterfaces } from "jpf";
|
|
3
|
+
export declare function computed<TComputed>(func: () => TComputed, options?: mobxIComputedValueOptions<TComputed>): observableInterfaces.IComputed<TComputed>;
|
|
4
4
|
export declare function runInAction<T>(fn: () => T): T;
|
|
5
|
-
export declare function observableValue<TValue, TSetter = TValue>(value?: TValue | null, setter?: (value: TSetter, observableValue:
|
|
6
|
-
export declare function observableArray<TItem = any, TSetter = Array<TItem>>(initialValues?: Array<TItem> | null, setter?: (value: TSetter, observableArray:
|
|
7
|
-
export declare function observableMap<TKey = any, TItem = any>(initialValues?: mobxIObservableMapInitialValues<TKey, TItem>, options?: mobxCreateObservableOptions):
|
|
8
|
-
export declare function observableSet<TItem = any>(initialValues?: mobxIObservableSetInitialValues<TItem>, options?: mobxCreateObservableOptions):
|
|
9
|
-
export declare function isComputed<TValue>(value: any): value is
|
|
10
|
-
export declare function isSubscribable<TValue>(value: any): value is
|
|
11
|
-
export declare function isObservableValue(value: any): value is
|
|
12
|
-
export declare function isObservableArray(value: any): value is
|
|
13
|
-
export declare function isObservableMap<TKey, TItem>(value: any): value is
|
|
14
|
-
export declare function isObservableSet<TItem>(value: any): value is
|
|
15
|
-
export declare function unwrap<TValue>(value: TValue |
|
|
5
|
+
export declare function observableValue<TValue, TSetter = TValue>(value?: TValue | null, setter?: (value: TSetter, observableValue: observableInterfaces.IObservableValue<TValue, TSetter>) => void, options?: mobxCreateObservableOptions): observableInterfaces.IObservableValue<TValue, TSetter>;
|
|
6
|
+
export declare function observableArray<TItem = any, TSetter = Array<TItem>>(initialValues?: Array<TItem> | null, setter?: (value: TSetter, observableArray: observableInterfaces.IObservableArray<TItem, TSetter>) => void, options?: mobxCreateObservableOptions): observableInterfaces.IObservableArray<TItem, TSetter>;
|
|
7
|
+
export declare function observableMap<TKey = any, TItem = any>(initialValues?: mobxIObservableMapInitialValues<TKey, TItem>, options?: mobxCreateObservableOptions): observableInterfaces.IObservableMap<TKey, TItem>;
|
|
8
|
+
export declare function observableSet<TItem = any>(initialValues?: mobxIObservableSetInitialValues<TItem>, options?: mobxCreateObservableOptions): observableInterfaces.IObservableSet<TItem>;
|
|
9
|
+
export declare function isComputed<TValue>(value: any): value is observableInterfaces.IComputed<TValue>;
|
|
10
|
+
export declare function isSubscribable<TValue>(value: any): value is observableInterfaces.ISubscribable<TValue>;
|
|
11
|
+
export declare function isObservableValue(value: any): value is observableInterfaces.IObservableValue;
|
|
12
|
+
export declare function isObservableArray(value: any): value is observableInterfaces.IObservableArray;
|
|
13
|
+
export declare function isObservableMap<TKey, TItem>(value: any): value is observableInterfaces.IObservableMap<TKey, TItem>;
|
|
14
|
+
export declare function isObservableSet<TItem>(value: any): value is observableInterfaces.IObservableSet<TItem>;
|
|
15
|
+
export declare function unwrap<TValue>(value: TValue | observableInterfaces.ISubscribable<TValue>): TValue;
|
package/dist/observable.js
CHANGED
|
@@ -19,7 +19,10 @@ export function observableValue(value, setter, options) {
|
|
|
19
19
|
options.deep = false;
|
|
20
20
|
}
|
|
21
21
|
const observableValue = mobxObservable.box(value || null, options);
|
|
22
|
-
|
|
22
|
+
const result = function () {
|
|
23
|
+
return observableValue.get();
|
|
24
|
+
};
|
|
25
|
+
result.setValue = (newValue) => {
|
|
23
26
|
if (newValue === undefined) {
|
|
24
27
|
newValue = null;
|
|
25
28
|
}
|
|
@@ -30,44 +33,66 @@ export function observableValue(value, setter, options) {
|
|
|
30
33
|
observableValue["set"](newValue);
|
|
31
34
|
}
|
|
32
35
|
};
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
result.setValueInAction = (newValue) => {
|
|
37
|
+
runInAction(() => {
|
|
38
|
+
result.setValue(newValue);
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
result.setInternal = (newValue) => {
|
|
42
|
+
if (newValue === undefined) {
|
|
43
|
+
newValue = null;
|
|
36
44
|
}
|
|
37
|
-
observableValue["set"](
|
|
45
|
+
observableValue["set"](newValue);
|
|
46
|
+
};
|
|
47
|
+
result.setInternalInAction = (newValue) => {
|
|
48
|
+
runInAction(() => {
|
|
49
|
+
result.setInternal(newValue);
|
|
50
|
+
});
|
|
38
51
|
};
|
|
39
|
-
|
|
52
|
+
result.subscribe = (effect) => {
|
|
40
53
|
return mobxReaction(() => {
|
|
41
54
|
return unwrap(observableValue);
|
|
42
55
|
}, (value, prev, r) => {
|
|
43
56
|
effect(value, prev, r);
|
|
44
57
|
});
|
|
45
58
|
};
|
|
46
|
-
return
|
|
59
|
+
return result;
|
|
47
60
|
}
|
|
48
61
|
export function observableArray(initialValues, setter, options) {
|
|
49
62
|
const observableArray = mobxObservable.array(initialValues || null, options);
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
63
|
+
const result = function () {
|
|
64
|
+
return observableArray.toJSON();
|
|
65
|
+
};
|
|
66
|
+
result.setItems = (items) => {
|
|
67
|
+
if (items === undefined) {
|
|
68
|
+
items = [];
|
|
53
69
|
}
|
|
54
70
|
if (setter) {
|
|
55
|
-
setter(
|
|
71
|
+
setter(items, observableArray);
|
|
56
72
|
}
|
|
57
73
|
else {
|
|
58
|
-
observableArray["replace"](
|
|
74
|
+
observableArray["replace"](items);
|
|
59
75
|
}
|
|
60
76
|
};
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
77
|
+
result.setItemsInAction = (items) => {
|
|
78
|
+
runInAction(() => {
|
|
79
|
+
result.setItems(items);
|
|
80
|
+
});
|
|
81
|
+
};
|
|
82
|
+
result.setInternal = observableArray["replace"];
|
|
83
|
+
result.setInternalInAction = (items) => {
|
|
84
|
+
runInAction(() => {
|
|
85
|
+
result.setInternal(items);
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
result.subscribe = (effect) => {
|
|
64
89
|
return mobxReaction(() => {
|
|
65
90
|
return unwrap(observableArray);
|
|
66
91
|
}, (value, prev, r) => {
|
|
67
92
|
effect(value, prev, r);
|
|
68
93
|
});
|
|
69
94
|
};
|
|
70
|
-
return
|
|
95
|
+
return result;
|
|
71
96
|
}
|
|
72
97
|
export function observableMap(initialValues, options) {
|
|
73
98
|
var defaultOptions = { deep: false };
|
package/dist/observable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable.js","sourceRoot":"","sources":["../src/observable.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,IAAI,cAAc,EAC5B,QAAQ,IAAI,YAAY,EAExB,UAAU,IAAI,cAAc,EAE5B,iBAAiB,IAAI,qBAAqB,EAC1C,iBAAiB,IAAI,qBAAqB,EAC1C,eAAe,IAAI,mBAAmB,EACtC,eAAe,IAAI,mBAAmB,EACtC,WAAW,IAAI,eAAe,EAC9B,QAAQ,IAAI,YAAY,EAK3B,MAAM,MAAM,CAAC;AAKd,MAAM,UAAU,QAAQ,CAAY,IAAqB,EAAE,OAA8C;IACrG,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"observable.js","sourceRoot":"","sources":["../src/observable.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jpf-mobx",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.123",
|
|
4
4
|
"description": "Javascript Presentation Foundation with mobx state management",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mvvm",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"tscVersion": "tsc -v"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"jpf": "5.0.
|
|
45
|
+
"jpf": "5.0.14",
|
|
46
46
|
"mobx": "6.12.3"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
package/src/index.ts
CHANGED
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
attributes,
|
|
5
5
|
element,
|
|
6
6
|
event,
|
|
7
|
-
|
|
7
|
+
observableInterfaces,
|
|
8
|
+
observableImplementations,
|
|
8
9
|
properties,
|
|
9
10
|
root,
|
|
10
11
|
style,
|
|
@@ -14,23 +15,24 @@
|
|
|
14
15
|
import { unwrap, isComputed, isObservableValue, isObservableArray, isObservableMap, isObservableSet, computed, observableValue, observableArray, observableMap, observableSet } from "./observable";
|
|
15
16
|
|
|
16
17
|
//Set the mobx implementations for the observable functions
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
18
|
+
observableImplementations.implementations.unwrap = unwrap;
|
|
19
|
+
observableImplementations.implementations.isComputed = isComputed;
|
|
20
|
+
observableImplementations.implementations.isObservableValue = isObservableValue;
|
|
21
|
+
observableImplementations.implementations.isObservableArray = isObservableArray;
|
|
22
|
+
observableImplementations.implementations.isObservableMap = isObservableMap;
|
|
23
|
+
observableImplementations.implementations.isObservableSet = isObservableSet;
|
|
24
|
+
observableImplementations.implementations.computed = computed;
|
|
25
|
+
observableImplementations.implementations.observableValue = observableValue;
|
|
26
|
+
observableImplementations.implementations.observableArray = observableArray;
|
|
27
|
+
observableImplementations.implementations.observableMap = observableMap;
|
|
28
|
+
observableImplementations.implementations.observableSet = observableSet;
|
|
28
29
|
|
|
29
30
|
export { controls };
|
|
30
31
|
export { utilities };
|
|
31
32
|
export { attributes };
|
|
32
33
|
export { element };
|
|
33
34
|
export { event };
|
|
35
|
+
export { observableInterfaces }
|
|
34
36
|
export { properties };
|
|
35
37
|
export { root };
|
|
36
38
|
export { style };
|
package/src/observable.ts
CHANGED
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
IReactionPublic as mobxIReactionPublic
|
|
17
17
|
} from "mobx";
|
|
18
18
|
|
|
19
|
-
import {
|
|
19
|
+
import { observableInterfaces } from "jpf";
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
export function computed<TComputed>(func: () => TComputed, options?: mobxIComputedValueOptions<TComputed>):
|
|
22
|
+
export function computed<TComputed>(func: () => TComputed, options?: mobxIComputedValueOptions<TComputed>): observableInterfaces.IComputed<TComputed> {
|
|
23
23
|
const computed = mobxComputed(func, options);
|
|
24
|
-
const iComputed = computed as any as
|
|
24
|
+
const iComputed = computed as any as observableInterfaces.IComputed<TComputed>;
|
|
25
25
|
|
|
26
26
|
iComputed.subscribe = (effect: (arg: TComputed, prev: TComputed, r: mobxIReactionPublic) => void) => {
|
|
27
27
|
return mobxReaction(
|
|
@@ -41,63 +41,93 @@ export function runInAction<T>(fn: () => T): T {
|
|
|
41
41
|
return mobxRunInAction<T>(fn);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
export function observableValue<TValue, TSetter = TValue>(value?: TValue | null, setter?: (value: TSetter, observableValue:
|
|
44
|
+
export function observableValue<TValue, TSetter = TValue>(value?: TValue | null, setter?: (value: TSetter, observableValue: observableInterfaces.IObservableValue<TValue, TSetter>) => void, options?: mobxCreateObservableOptions): observableInterfaces.IObservableValue<TValue, TSetter> {
|
|
45
45
|
if (options && !options.deep) {
|
|
46
46
|
options.deep = false;
|
|
47
47
|
}
|
|
48
|
-
const observableValue = mobxObservable.box(value || null, options) as any as
|
|
48
|
+
const observableValue = mobxObservable.box(value || null, options); // as any as observableInterfaces.IObservableValue<TValue, TSetter>;
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
const result = function () {
|
|
51
|
+
return observableValue.get();
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
result.setValue = (newValue: TSetter) => {
|
|
51
55
|
if (newValue === undefined) {
|
|
52
56
|
newValue = null;
|
|
53
57
|
}
|
|
54
58
|
if (setter) {
|
|
55
|
-
setter(newValue, observableValue);
|
|
59
|
+
setter(newValue, observableValue as any as observableInterfaces.IObservableValue<TValue, TSetter>);
|
|
56
60
|
} else {
|
|
57
|
-
observableValue["set"](newValue);
|
|
61
|
+
observableValue["set"](newValue as any);
|
|
58
62
|
}
|
|
59
63
|
};
|
|
60
64
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
65
|
+
result.setValueInAction = (newValue: TSetter | null) => {
|
|
66
|
+
runInAction(() => {
|
|
67
|
+
result.setValue(newValue);
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
result.setInternal = (newValue: TValue) => {
|
|
72
|
+
if (newValue === undefined) {
|
|
73
|
+
newValue = null;
|
|
64
74
|
}
|
|
65
|
-
observableValue["set"](
|
|
75
|
+
observableValue["set"](newValue);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
result.setInternalInAction = (newValue: TValue) => {
|
|
79
|
+
runInAction(() => {
|
|
80
|
+
result.setInternal(newValue);
|
|
81
|
+
})
|
|
66
82
|
}
|
|
67
83
|
|
|
68
|
-
|
|
84
|
+
result.subscribe = (effect: (arg: TValue, prev: TValue, r: mobxIReactionPublic) => void) => {
|
|
69
85
|
return mobxReaction(
|
|
70
86
|
() => {
|
|
71
87
|
return unwrap(observableValue);
|
|
72
88
|
},
|
|
73
|
-
(value
|
|
74
|
-
effect(value, prev, r);
|
|
89
|
+
(value, prev, r) => {
|
|
90
|
+
effect(value as any, prev as any, r);
|
|
75
91
|
}
|
|
76
92
|
);
|
|
77
93
|
}
|
|
78
94
|
|
|
79
|
-
return
|
|
95
|
+
return result as any;
|
|
80
96
|
}
|
|
81
97
|
|
|
82
|
-
export function observableArray<TItem = any, TSetter = Array<TItem>>(initialValues?: Array<TItem> | null, setter?: (value: TSetter, observableArray:
|
|
83
|
-
const observableArray = mobxObservable.array(initialValues || null, options)
|
|
98
|
+
export function observableArray<TItem = any, TSetter = Array<TItem>>(initialValues?: Array<TItem> | null, setter?: (value: TSetter, observableArray: observableInterfaces.IObservableArray<TItem, TSetter>) => void, options?: mobxCreateObservableOptions): observableInterfaces.IObservableArray<TItem, TSetter> {
|
|
99
|
+
const observableArray = mobxObservable.array(initialValues || null, options);
|
|
84
100
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
101
|
+
const result = function () {
|
|
102
|
+
return observableArray.toJSON();
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
result.setItems = (items: TSetter) => {
|
|
106
|
+
if (items === undefined) {
|
|
107
|
+
items = [] as any as TSetter;
|
|
88
108
|
}
|
|
89
109
|
if (setter) {
|
|
90
|
-
setter(
|
|
110
|
+
setter(items, observableArray as any as observableInterfaces.IObservableArray<TItem, TSetter>);
|
|
91
111
|
} else {
|
|
92
|
-
observableArray["replace"](
|
|
112
|
+
observableArray["replace"](items as any);
|
|
93
113
|
}
|
|
94
114
|
}
|
|
95
115
|
|
|
96
|
-
|
|
116
|
+
result.setItemsInAction = (items: TSetter) => {
|
|
117
|
+
runInAction(() => {
|
|
118
|
+
result.setItems(items);
|
|
119
|
+
});
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
result.setInternal = observableArray["replace"];
|
|
97
123
|
|
|
98
|
-
|
|
124
|
+
result.setInternalInAction = (items: Array<TItem> | null) => {
|
|
125
|
+
runInAction(() => {
|
|
126
|
+
result.setInternal(items);
|
|
127
|
+
})
|
|
128
|
+
}
|
|
99
129
|
|
|
100
|
-
|
|
130
|
+
result.subscribe = (effect: (arg: Array<TItem>, prev: Array<TItem>, r: mobxIReactionPublic) => void) => {
|
|
101
131
|
return mobxReaction(
|
|
102
132
|
() => {
|
|
103
133
|
return unwrap(observableArray);
|
|
@@ -108,10 +138,10 @@ export function observableArray<TItem = any, TSetter = Array<TItem>>(initialValu
|
|
|
108
138
|
);
|
|
109
139
|
}
|
|
110
140
|
|
|
111
|
-
return
|
|
141
|
+
return result as any as observableInterfaces.IObservableArray<TItem, TSetter>;
|
|
112
142
|
}
|
|
113
143
|
|
|
114
|
-
export function observableMap<TKey = any, TItem = any>(initialValues?: mobxIObservableMapInitialValues<TKey, TItem>, options?: mobxCreateObservableOptions):
|
|
144
|
+
export function observableMap<TKey = any, TItem = any>(initialValues?: mobxIObservableMapInitialValues<TKey, TItem>, options?: mobxCreateObservableOptions): observableInterfaces.IObservableMap<TKey, TItem> {
|
|
115
145
|
//Add a deep property if the property does not already exist
|
|
116
146
|
var defaultOptions = { deep: false };
|
|
117
147
|
options = { ...defaultOptions, ...options };
|
|
@@ -119,7 +149,7 @@ export function observableMap<TKey = any, TItem = any>(initialValues?: mobxIObse
|
|
|
119
149
|
return mobxObservable.map<TKey, TItem>(initialValues, options);
|
|
120
150
|
}
|
|
121
151
|
|
|
122
|
-
export function observableSet<TItem = any>(initialValues?: mobxIObservableSetInitialValues<TItem>, options?: mobxCreateObservableOptions):
|
|
152
|
+
export function observableSet<TItem = any>(initialValues?: mobxIObservableSetInitialValues<TItem>, options?: mobxCreateObservableOptions): observableInterfaces.IObservableSet<TItem> {
|
|
123
153
|
//Add a deep property if the property does not already exist
|
|
124
154
|
var defaultOptions = { deep: false };
|
|
125
155
|
options = { ...defaultOptions, ...options };
|
|
@@ -127,11 +157,11 @@ export function observableSet<TItem = any>(initialValues?: mobxIObservableSetIni
|
|
|
127
157
|
return mobxObservable.set<TItem>(initialValues, options);
|
|
128
158
|
}
|
|
129
159
|
|
|
130
|
-
export function isComputed<TValue>(value: any)
|
|
160
|
+
export function isComputed<TValue>(value: any): value is observableInterfaces.IComputed<TValue> {
|
|
131
161
|
return mobxIsComputed(value);
|
|
132
162
|
}
|
|
133
163
|
|
|
134
|
-
export function isSubscribable<TValue>(value: any): value is
|
|
164
|
+
export function isSubscribable<TValue>(value: any): value is observableInterfaces.ISubscribable<TValue> {
|
|
135
165
|
return mobxIsComputed(value)
|
|
136
166
|
|| mobxIsObservableValue(value)
|
|
137
167
|
|| mobxIsObservableArray(value)
|
|
@@ -139,23 +169,23 @@ export function isSubscribable<TValue>(value: any): value is observable.ISubscri
|
|
|
139
169
|
|| mobxIsObservableSet(value);
|
|
140
170
|
}
|
|
141
171
|
|
|
142
|
-
export function isObservableValue(value): value is
|
|
172
|
+
export function isObservableValue(value): value is observableInterfaces.IObservableValue {
|
|
143
173
|
return mobxIsObservableValue(value);
|
|
144
174
|
}
|
|
145
175
|
|
|
146
|
-
export function isObservableArray(value): value is
|
|
176
|
+
export function isObservableArray(value): value is observableInterfaces.IObservableArray {
|
|
147
177
|
return mobxIsObservableArray(value);
|
|
148
178
|
}
|
|
149
179
|
|
|
150
|
-
export function isObservableMap<TKey, TItem>(value): value is
|
|
180
|
+
export function isObservableMap<TKey, TItem>(value): value is observableInterfaces.IObservableMap<TKey, TItem> {
|
|
151
181
|
return mobxIsObservableMap(value);
|
|
152
182
|
}
|
|
153
183
|
|
|
154
|
-
export function isObservableSet<TItem>(value): value is
|
|
184
|
+
export function isObservableSet<TItem>(value): value is observableInterfaces.IObservableSet<TItem> {
|
|
155
185
|
return mobxIsObservableSet(value);
|
|
156
186
|
}
|
|
157
187
|
|
|
158
|
-
export function unwrap<TValue>(value: TValue |
|
|
188
|
+
export function unwrap<TValue>(value: TValue | observableInterfaces.ISubscribable<TValue>): TValue {
|
|
159
189
|
if (mobxIsComputed(value) || mobxIsObservableValue(value)) {
|
|
160
190
|
return (value as mobxIObservableValue<TValue>).get();
|
|
161
191
|
}
|