react-ui-basics 0.0.216 → 0.0.217

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-ui-basics",
3
- "version": "0.0.216",
3
+ "version": "0.0.217",
4
4
  "description": "",
5
5
  "module": "index.js",
6
6
  "_main": "index.cjs.js",
@@ -2,7 +2,7 @@ import {useEffect, useState} from "react";
2
2
  import {createProxy} from "./ProxyTools";
3
3
  import {isFunction, isObject} from "../Tools";
4
4
 
5
- const STORES = new Map<Symbol, any>()
5
+ const STORES = new Map<Symbol, Store<any>>()
6
6
 
7
7
  type Setter<T> = (oldState: T) => T | void;
8
8
  type ListenerFn = () => void;
@@ -28,38 +28,33 @@ export class Store<T> extends AbstractStore<T> {
28
28
  super()
29
29
  let that = this;
30
30
  let listeners: Map<Symbol, ListenerFn> = new Map<Symbol, () => void>()
31
- let index = Symbol();
31
+ let value = initialState;
32
32
  let runListeners = () => {
33
33
  for (let listener of listeners.values()) {
34
34
  listener()
35
35
  }
36
36
  };
37
-
38
- let get = (): T => STORES.get(index);
39
- let reset = () => {
40
- STORES.set(index, initialState)
41
- runListeners();
42
- };
43
- reset()
44
-
45
- that.get = get
37
+ that.get = (): T => value;
46
38
  that.set = (setter) => {
47
39
  let result;
48
40
  if (isFunction(setter)) {
49
- const proxy = createProxy(get() as object);
41
+ const proxy = createProxy(value as object);
50
42
  result = (setter as Setter<T>)(proxy);
51
43
  if (!result || result === proxy)
52
44
  result = proxy.bake()
53
45
  } else if (isObject(setter)) {
54
- result = {...get(), ...setter}
46
+ result = {...value, ...setter}
55
47
  } else {
56
48
  result = setter
57
49
  }
58
50
 
59
- STORES.set(index, result)
51
+ value = result
52
+ runListeners();
53
+ }
54
+ that.reset = () => {
55
+ value = initialState
60
56
  runListeners();
61
57
  }
62
- that.reset = reset
63
58
 
64
59
  that.subscribe = (fn: ListenerFn) => {
65
60
  const key = Symbol();
@@ -70,6 +65,7 @@ export class Store<T> extends AbstractStore<T> {
70
65
  }
71
66
 
72
67
  that.toString = (): string => name;
68
+ STORES.set(Symbol(), that)
73
69
  }
74
70
  }
75
71
 
package/store/Store.d.ts CHANGED
@@ -17,7 +17,7 @@ export declare class Store<T> extends AbstractStore<T> {
17
17
  constructor(initialState: T, name?: string);
18
18
  }
19
19
  export default Store;
20
- export declare function getGlobalState(): Map<Symbol, any>;
20
+ export declare function getGlobalState(): Map<Symbol, Store<any>>;
21
21
  export declare type Selector<T, R> = (t: T) => R;
22
22
  export declare const defaultSelector: <T>(store: T) => T;
23
23
  export declare function useStore<T, R>(store: Store<T>, selector: Selector<T, R>, selectorDependencies: ReadonlyArray<any>): R;
package/store/Store.js CHANGED
@@ -10,37 +10,34 @@ class Store extends AbstractStore {
10
10
  super();
11
11
  let that = this;
12
12
  let listeners = new Map();
13
- let index = Symbol();
13
+ let value = initialState;
14
14
  let runListeners = () => {
15
15
  for (let listener of listeners.values()) {
16
16
  listener();
17
17
  }
18
18
  };
19
- let get = () => STORES.get(index);
20
- let reset = () => {
21
- STORES.set(index, initialState);
22
- runListeners();
23
- };
24
- reset();
25
- that.get = get;
19
+ that.get = () => value;
26
20
  that.set = (setter) => {
27
21
  let result;
28
22
  if (isFunction(setter)) {
29
- const proxy = createProxy(get());
23
+ const proxy = createProxy(value);
30
24
  result = setter(proxy);
31
25
  if (!result || result === proxy)
32
26
  result = proxy.bake();
33
27
  }
34
28
  else if (isObject(setter)) {
35
- result = __extends(__extends({}, get()), setter);
29
+ result = __extends(__extends({}, value), setter);
36
30
  }
37
31
  else {
38
32
  result = setter;
39
33
  }
40
- STORES.set(index, result);
34
+ value = result;
35
+ runListeners();
36
+ };
37
+ that.reset = () => {
38
+ value = initialState;
41
39
  runListeners();
42
40
  };
43
- that.reset = reset;
44
41
  that.subscribe = (fn) => {
45
42
  const key = Symbol();
46
43
  listeners.set(key, fn);
@@ -49,6 +46,7 @@ class Store extends AbstractStore {
49
46
  };
50
47
  };
51
48
  that.toString = () => name;
49
+ STORES.set(Symbol(), that);
52
50
  }
53
51
  }
54
52
  function getGlobalState() {
@@ -1 +1 @@
1
- {"version":3,"file":"Store.js","sources":["../src/store/Store.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Store.js","sources":["../src/store/Store.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}