jpf-mobx 1.0.191 → 1.0.192
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/observable.d.ts +1 -1
- package/dist/observable.js +21 -6
- package/dist/observable.js.map +1 -1
- package/package.json +2 -2
- package/src/observable.ts +29 -13
package/dist/observable.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { IComputedValueOptions as mobxIComputedValueOptions, CreateObservableOpt
|
|
|
2
2
|
import { observable as jpfObservable } from "jpf";
|
|
3
3
|
export declare function runInAction<T>(fn: () => T): T;
|
|
4
4
|
export type IComputed<TValue> = jpfObservable.IComputed<TValue>;
|
|
5
|
-
export type
|
|
5
|
+
export type ISubcription = jpfObservable.ISubscription;
|
|
6
6
|
export type IObservableArray<TItem = any, TSetter = TItem[]> = jpfObservable.IObservableArray<TItem, TSetter>;
|
|
7
7
|
export type IObservableMap<TKey = unknown, TItem = unknown> = jpfObservable.IObservableMap<TKey, TItem>;
|
|
8
8
|
export type IObservableSet<TItem = unknown> = jpfObservable.IObservableSet<TItem>;
|
package/dist/observable.js
CHANGED
|
@@ -51,12 +51,17 @@ export function computed(func, options) {
|
|
|
51
51
|
const computed = mobxComputed(func, options);
|
|
52
52
|
const iComputed = computed;
|
|
53
53
|
iComputed.subscribe = (effect) => {
|
|
54
|
-
element.
|
|
55
|
-
|
|
54
|
+
element.subscriptionCounterIncrement();
|
|
55
|
+
const disposer = mobxReaction(() => {
|
|
56
56
|
return unwrap(iComputed);
|
|
57
57
|
}, (value, prev, r) => {
|
|
58
58
|
effect(value, prev, r);
|
|
59
59
|
});
|
|
60
|
+
return {
|
|
61
|
+
dispose: () => {
|
|
62
|
+
disposer();
|
|
63
|
+
}
|
|
64
|
+
};
|
|
60
65
|
};
|
|
61
66
|
return iComputed;
|
|
62
67
|
}
|
|
@@ -91,12 +96,17 @@ export function observableValue(value, setter, options) {
|
|
|
91
96
|
});
|
|
92
97
|
};
|
|
93
98
|
observableValue.subscribe = (effect) => {
|
|
94
|
-
element.
|
|
95
|
-
|
|
99
|
+
element.subscriptionCounterIncrement();
|
|
100
|
+
const disposer = mobxReaction(() => {
|
|
96
101
|
return unwrap(observableValue);
|
|
97
102
|
}, (value, prev, r) => {
|
|
98
103
|
effect(value, prev, r);
|
|
99
104
|
});
|
|
105
|
+
return {
|
|
106
|
+
dispose: () => {
|
|
107
|
+
disposer();
|
|
108
|
+
}
|
|
109
|
+
};
|
|
100
110
|
};
|
|
101
111
|
return observableValue;
|
|
102
112
|
}
|
|
@@ -127,12 +137,17 @@ export function observableArray(initialValues, setter, options) {
|
|
|
127
137
|
};
|
|
128
138
|
observableArray.get = observableArray["toJSON"];
|
|
129
139
|
observableArray.subscribe = (effect) => {
|
|
130
|
-
element.
|
|
131
|
-
|
|
140
|
+
element.subscriptionCounterIncrement();
|
|
141
|
+
const disposer = mobxReaction(() => {
|
|
132
142
|
return unwrap(observableArray);
|
|
133
143
|
}, (value, prev, r) => {
|
|
134
144
|
effect(value, prev, r);
|
|
135
145
|
});
|
|
146
|
+
return {
|
|
147
|
+
dispose: () => {
|
|
148
|
+
disposer();
|
|
149
|
+
}
|
|
150
|
+
};
|
|
136
151
|
};
|
|
137
152
|
return observableArray;
|
|
138
153
|
}
|
package/dist/observable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable.js","sourceRoot":"","sources":["../src/observable.ts"],"names":[],"mappings":"AACA,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;AAEd,OAAO,EAAE,UAAU,IAAI,aAAa,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAE3D,SAAS,iBAAiB,CAAW,MAAgB,EAAE,MAAgB;IACnE,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,GAAG,MAAM,IAAI,EAAc,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAChC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,WAAW,CAAI,EAAW;IACtC,OAAO,eAAe,CAAI,EAAE,CAAC,CAAC;AAClC,CAAC;AAUD,MAAM,UAAU,MAAM,CAAS,KAAmD;IAC9E,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,OAAQ,KAAsC,CAAC,GAAG,EAAE,CAAC;IACzD,CAAC;IAED,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,KAAK,EAAuB,CAAC;IAC9C,CAAC;IAED,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,GAAG,CAAC,KAAK,CAAsB,CAAC;IAC/C,CAAC;IAED,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,GAAG,CAAC,KAAK,CAAsB,CAAC;IAC/C,CAAC;IAED,OAAO,KAAe,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,UAAU,CAAS,KAAc;IAC7C,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAK;IACnC,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAK;IACnC,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,eAAe,CAAc,KAAK;IAC9C,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,eAAe,CAAQ,KAAK;IACxC,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,cAAc,CAAS,KAAc;IACjD,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AACzI,CAAC;AAED,MAAM,UAAU,QAAQ,CAAY,IAAqB,EAAE,OAA8C;IACrG,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,QAAyD,CAAC;IAE5E,SAAS,CAAC,SAAS,GAAG,CAAC,MAAyE,EAAE,EAAE;QAChG,OAAO,CAAC,
|
|
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.192",
|
|
4
4
|
"description": "Javascript Presentation Foundation with mobx state management",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mvvm",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"esLint": "npx eslint src/**"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"jpf": "5.0.
|
|
46
|
+
"jpf": "5.0.99",
|
|
47
47
|
"mobx": "6.15.0"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
package/src/observable.ts
CHANGED
|
@@ -36,12 +36,12 @@ export function runInAction<T>(fn: () => T): T {
|
|
|
36
36
|
return mobxRunInAction<T>(fn);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
export type IComputed<TValue> = jpfObservable.IComputed<TValue
|
|
40
|
-
export type
|
|
41
|
-
export type IObservableArray<TItem = any, TSetter = TItem[]> = jpfObservable.IObservableArray<TItem, TSetter
|
|
42
|
-
export type IObservableMap<TKey = unknown, TItem = unknown> = jpfObservable.IObservableMap<TKey, TItem
|
|
43
|
-
export type IObservableSet<TItem = unknown> = jpfObservable.IObservableSet<TItem
|
|
44
|
-
export type IObservableValue<TValue, TSetter = TValue> = jpfObservable.IObservableValue<TValue, TSetter
|
|
39
|
+
export type IComputed<TValue> = jpfObservable.IComputed<TValue>;
|
|
40
|
+
export type ISubcription = jpfObservable.ISubscription;
|
|
41
|
+
export type IObservableArray<TItem = any, TSetter = TItem[]> = jpfObservable.IObservableArray<TItem, TSetter>;
|
|
42
|
+
export type IObservableMap<TKey = unknown, TItem = unknown> = jpfObservable.IObservableMap<TKey, TItem>;
|
|
43
|
+
export type IObservableSet<TItem = unknown> = jpfObservable.IObservableSet<TItem>;
|
|
44
|
+
export type IObservableValue<TValue, TSetter = TValue> = jpfObservable.IObservableValue<TValue, TSetter>;
|
|
45
45
|
export type ISubscribable<TValue> = jpfObservable.ISubscribable<TValue>;
|
|
46
46
|
|
|
47
47
|
export function unwrap<TValue>(value: TValue | jpfObservable.ISubscribable<TValue>): TValue {
|
|
@@ -93,9 +93,9 @@ export function computed<TComputed>(func: () => TComputed, options?: mobxIComput
|
|
|
93
93
|
const iComputed = computed as unknown as jpfObservable.IComputed<TComputed>;
|
|
94
94
|
|
|
95
95
|
iComputed.subscribe = (effect: (arg: TComputed, prev: TComputed, r: mobxIReactionPublic) => void) => {
|
|
96
|
-
element.
|
|
96
|
+
element.subscriptionCounterIncrement();
|
|
97
97
|
|
|
98
|
-
|
|
98
|
+
const disposer = mobxReaction(
|
|
99
99
|
() => {
|
|
100
100
|
return unwrap(iComputed);
|
|
101
101
|
},
|
|
@@ -103,6 +103,11 @@ export function computed<TComputed>(func: () => TComputed, options?: mobxIComput
|
|
|
103
103
|
effect(value, prev, r);
|
|
104
104
|
}
|
|
105
105
|
);
|
|
106
|
+
return {
|
|
107
|
+
dispose: () => {
|
|
108
|
+
disposer();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
106
111
|
}
|
|
107
112
|
|
|
108
113
|
return iComputed;
|
|
@@ -145,9 +150,9 @@ export function observableValue<TValue, TSetter = TValue>(value?: TValue | null,
|
|
|
145
150
|
};
|
|
146
151
|
|
|
147
152
|
observableValue.subscribe = (effect: (arg: TValue, prev: TValue, r: mobxIReactionPublic) => void) => {
|
|
148
|
-
element.
|
|
153
|
+
element.subscriptionCounterIncrement();
|
|
149
154
|
|
|
150
|
-
|
|
155
|
+
const disposer = mobxReaction(
|
|
151
156
|
() => {
|
|
152
157
|
return unwrap(observableValue);
|
|
153
158
|
},
|
|
@@ -155,6 +160,11 @@ export function observableValue<TValue, TSetter = TValue>(value?: TValue | null,
|
|
|
155
160
|
effect(value, prev, r);
|
|
156
161
|
}
|
|
157
162
|
);
|
|
163
|
+
return {
|
|
164
|
+
dispose: () => {
|
|
165
|
+
disposer();
|
|
166
|
+
}
|
|
167
|
+
}
|
|
158
168
|
};
|
|
159
169
|
|
|
160
170
|
return observableValue;
|
|
@@ -194,10 +204,10 @@ export function observableArray<TItem = unknown, TSetter = Array<TItem>>(initial
|
|
|
194
204
|
observableArray.get = observableArray["toJSON"];
|
|
195
205
|
|
|
196
206
|
observableArray.subscribe = (effect: (arg: Array<TItem>, prev: Array<TItem>, r: mobxIReactionPublic) => void) => {
|
|
197
|
-
|
|
198
|
-
element.disposeCounterIncrement();
|
|
199
207
|
|
|
200
|
-
|
|
208
|
+
element.subscriptionCounterIncrement();
|
|
209
|
+
|
|
210
|
+
const disposer = mobxReaction(
|
|
201
211
|
() => {
|
|
202
212
|
return unwrap(observableArray);
|
|
203
213
|
},
|
|
@@ -205,6 +215,12 @@ export function observableArray<TItem = unknown, TSetter = Array<TItem>>(initial
|
|
|
205
215
|
effect(value, prev, r);
|
|
206
216
|
}
|
|
207
217
|
);
|
|
218
|
+
|
|
219
|
+
return{
|
|
220
|
+
dispose: () => {
|
|
221
|
+
disposer();
|
|
222
|
+
}
|
|
223
|
+
}
|
|
208
224
|
};
|
|
209
225
|
|
|
210
226
|
return observableArray;
|