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 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, observable, properties, root, style, types } from "jpf";
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
- observable.implementations.unwrap = unwrap;
4
- observable.implementations.isComputed = isComputed;
5
- observable.implementations.isObservableValue = isObservableValue;
6
- observable.implementations.isObservableArray = isObservableArray;
7
- observable.implementations.isObservableMap = isObservableMap;
8
- observable.implementations.isObservableSet = isObservableSet;
9
- observable.implementations.computed = computed;
10
- observable.implementations.observableValue = observableValue;
11
- observable.implementations.observableArray = observableArray;
12
- observable.implementations.observableMap = observableMap;
13
- observable.implementations.observableSet = observableSet;
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,UAAU,EACV,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,UAAU,CAAC,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC;AAC3C,UAAU,CAAC,eAAe,CAAC,UAAU,GAAG,UAAU,CAAC;AACnD,UAAU,CAAC,eAAe,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AACjE,UAAU,CAAC,eAAe,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AACjE,UAAU,CAAC,eAAe,CAAC,eAAe,GAAG,eAAe,CAAC;AAC7D,UAAU,CAAC,eAAe,CAAC,eAAe,GAAG,eAAe,CAAC;AAC7D,UAAU,CAAC,eAAe,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC/C,UAAU,CAAC,eAAe,CAAC,eAAe,GAAG,eAAe,CAAC;AAC7D,UAAU,CAAC,eAAe,CAAC,eAAe,GAAG,eAAe,CAAC;AAC7D,UAAU,CAAC,eAAe,CAAC,aAAa,GAAG,aAAa,CAAC;AACzD,UAAU,CAAC,eAAe,CAAC,aAAa,GAAG,aAAa,CAAC;AAEzD,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,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"}
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"}
@@ -1,15 +1,15 @@
1
1
  import { IComputedValueOptions as mobxIComputedValueOptions, CreateObservableOptions as mobxCreateObservableOptions, IObservableMapInitialValues as mobxIObservableMapInitialValues, IObservableSetInitialValues as mobxIObservableSetInitialValues } from "mobx";
2
- import { observable } from "jpf";
3
- export declare function computed<TComputed>(func: () => TComputed, options?: mobxIComputedValueOptions<TComputed>): observable.IComputed<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: observable.IObservableValue<TValue, TSetter>) => void, options?: mobxCreateObservableOptions): observable.IObservableValue<TValue, TSetter>;
6
- export declare function observableArray<TItem = any, TSetter = Array<TItem>>(initialValues?: Array<TItem> | null, setter?: (value: TSetter, observableArray: observable.IObservableArray<TItem, TSetter>) => void, options?: mobxCreateObservableOptions): observable.IObservableArray<TItem, TSetter>;
7
- export declare function observableMap<TKey = any, TItem = any>(initialValues?: mobxIObservableMapInitialValues<TKey, TItem>, options?: mobxCreateObservableOptions): observable.IObservableMap<TKey, TItem>;
8
- export declare function observableSet<TItem = any>(initialValues?: mobxIObservableSetInitialValues<TItem>, options?: mobxCreateObservableOptions): observable.IObservableSet<TItem>;
9
- export declare function isComputed<TValue>(value: any): value is observable.IComputed<TValue>;
10
- export declare function isSubscribable<TValue>(value: any): value is observable.ISubscribable<TValue>;
11
- export declare function isObservableValue(value: any): value is observable.IObservableValue;
12
- export declare function isObservableArray(value: any): value is observable.IObservableArray;
13
- export declare function isObservableMap<TKey, TItem>(value: any): value is observable.IObservableMap<TKey, TItem>;
14
- export declare function isObservableSet<TItem>(value: any): value is observable.IObservableSet<TItem>;
15
- export declare function unwrap<TValue>(value: TValue | observable.ISubscribable<TValue>): 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;
@@ -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
- observableValue.setValue = (newValue) => {
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
- observableValue.setInternal = (value) => {
34
- if (value === undefined) {
35
- value = null;
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"](value);
45
+ observableValue["set"](newValue);
46
+ };
47
+ result.setInternalInAction = (newValue) => {
48
+ runInAction(() => {
49
+ result.setInternal(newValue);
50
+ });
38
51
  };
39
- observableValue.subscribe = (effect) => {
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 observableValue;
59
+ return result;
47
60
  }
48
61
  export function observableArray(initialValues, setter, options) {
49
62
  const observableArray = mobxObservable.array(initialValues || null, options);
50
- observableArray.setItems = (newValue) => {
51
- if (newValue === undefined) {
52
- newValue = [];
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(newValue, observableArray);
71
+ setter(items, observableArray);
56
72
  }
57
73
  else {
58
- observableArray["replace"](newValue);
74
+ observableArray["replace"](items);
59
75
  }
60
76
  };
61
- observableArray.setInternal = observableArray["replace"];
62
- observableArray.get = observableArray["toJSON"];
63
- observableArray.subscribe = (effect) => {
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 observableArray;
95
+ return result;
71
96
  }
72
97
  export function observableMap(initialValues, options) {
73
98
  var defaultOptions = { deep: false };
@@ -1 +1 @@
1
- {"version":3,"file":"observable.js","sourceRoot":"","sources":["../src/observable.ts"],"names":[],"mappings":"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"}
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.121",
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.12",
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
- observable,
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
- observable.implementations.unwrap = unwrap;
18
- observable.implementations.isComputed = isComputed;
19
- observable.implementations.isObservableValue = isObservableValue;
20
- observable.implementations.isObservableArray = isObservableArray;
21
- observable.implementations.isObservableMap = isObservableMap;
22
- observable.implementations.isObservableSet = isObservableSet;
23
- observable.implementations.computed = computed;
24
- observable.implementations.observableValue = observableValue;
25
- observable.implementations.observableArray = observableArray;
26
- observable.implementations.observableMap = observableMap;
27
- observable.implementations.observableSet = observableSet;
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 { observable } from "jpf";
19
+ import { observableInterfaces } from "jpf";
20
20
 
21
21
 
22
- export function computed<TComputed>(func: () => TComputed, options?: mobxIComputedValueOptions<TComputed>): observable.IComputed<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 observable.IComputed<TComputed>;
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: observable.IObservableValue<TValue, TSetter>) => void, options?: mobxCreateObservableOptions): observable.IObservableValue<TValue, TSetter> {
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 observable.IObservableValue<TValue, TSetter>;
48
+ const observableValue = mobxObservable.box(value || null, options); // as any as observableInterfaces.IObservableValue<TValue, TSetter>;
49
49
 
50
- observableValue.setValue = (newValue: TSetter) => {
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
- observableValue.setInternal = (value: TValue) => {
62
- if (value === undefined) {
63
- value = null;
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"](value);
75
+ observableValue["set"](newValue);
76
+ }
77
+
78
+ result.setInternalInAction = (newValue: TValue) => {
79
+ runInAction(() => {
80
+ result.setInternal(newValue);
81
+ })
66
82
  }
67
83
 
68
- observableValue.subscribe = (effect: (arg: TValue, prev: TValue, r: mobxIReactionPublic) => void) => {
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: TValue, prev: TValue, r) => {
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 observableValue;
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: observable.IObservableArray<TItem, TSetter>) => void, options?: mobxCreateObservableOptions): observable. IObservableArray<TItem, TSetter> {
83
- const observableArray = mobxObservable.array(initialValues || null, options) as any as observable.IObservableArray<TItem, TSetter>;
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
- observableArray.setItems = (newValue: TSetter) => {
86
- if (newValue === undefined) {
87
- newValue = [] as any as TSetter;
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(newValue, observableArray);
110
+ setter(items, observableArray as any as observableInterfaces.IObservableArray<TItem, TSetter>);
91
111
  } else {
92
- observableArray["replace"](newValue);
112
+ observableArray["replace"](items as any);
93
113
  }
94
114
  }
95
115
 
96
- observableArray.setInternal = observableArray["replace"];
116
+ result.setItemsInAction = (items: TSetter) => {
117
+ runInAction(() => {
118
+ result.setItems(items);
119
+ });
120
+ };
121
+
122
+ result.setInternal = observableArray["replace"];
97
123
 
98
- observableArray.get = observableArray["toJSON"];
124
+ result.setInternalInAction = (items: Array<TItem> | null) => {
125
+ runInAction(() => {
126
+ result.setInternal(items);
127
+ })
128
+ }
99
129
 
100
- observableArray.subscribe = (effect: (arg: Array<TItem>, prev: Array<TItem>, r: mobxIReactionPublic) => void) => {
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 observableArray;
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): observable.IObservableMap<TKey, TItem> {
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): observable.IObservableSet<TItem> {
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) : value is observable.IComputed<TValue>{
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 observable.ISubscribable<TValue> {
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 observable.IObservableValue {
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 observable.IObservableArray {
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 observable.IObservableMap<TKey, TItem> {
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 observable.IObservableSet<TItem> {
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 | observable.ISubscribable<TValue>): 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
  }