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/bundle.css +726 -725
- package/package.json +1 -1
- package/src/store/Store.ts +11 -15
- package/store/Store.d.ts +1 -1
- package/store/Store.js +10 -12
- package/store/Store.js.map +1 -1
package/package.json
CHANGED
package/src/store/Store.ts
CHANGED
|
@@ -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
|
|
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(
|
|
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 = {...
|
|
46
|
+
result = {...value, ...setter}
|
|
55
47
|
} else {
|
|
56
48
|
result = setter
|
|
57
49
|
}
|
|
58
50
|
|
|
59
|
-
|
|
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
|
|
13
|
+
let value = initialState;
|
|
14
14
|
let runListeners = () => {
|
|
15
15
|
for (let listener of listeners.values()) {
|
|
16
16
|
listener();
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
|
-
|
|
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(
|
|
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({},
|
|
29
|
+
result = __extends(__extends({}, value), setter);
|
|
36
30
|
}
|
|
37
31
|
else {
|
|
38
32
|
result = setter;
|
|
39
33
|
}
|
|
40
|
-
|
|
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() {
|
package/store/Store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Store.js","sources":["../src/store/Store.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAIA,MAAM,MAAM,GAAG,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"Store.js","sources":["../src/store/Store.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAIA,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAA;AAM5C,MAAe,aAAa,CAAA;AAW3B,CAAA;AAGK,MAAO,KAAS,SAAQ,aAAgB,CAAA;IAE1C,WAAY,CAAA,YAAe,EAAE,IAAa,EAAA;AACtC,QAAA,KAAK,EAAE,CAAA;QACP,IAAI,IAAI,GAAG,IAAI,CAAC;AAChB,QAAA,IAAI,SAAS,GAA4B,IAAI,GAAG,EAAsB,CAAA;QACtE,IAAI,KAAK,GAAG,YAAY,CAAC;QACzB,IAAI,YAAY,GAAG,MAAK;AACpB,YAAA,KAAK,IAAI,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE;AACrC,gBAAA,QAAQ,EAAE,CAAA;AACb,aAAA;AACL,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,GAAG,GAAG,MAAS,KAAK,CAAC;AAC1B,QAAA,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,KAAI;AAClB,YAAA,IAAI,MAAM,CAAC;AACX,YAAA,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE;AACpB,gBAAA,MAAM,KAAK,GAAG,WAAW,CAAC,KAAe,CAAC,CAAC;AAC3C,gBAAA,MAAM,GAAI,MAAoB,CAAC,KAAK,CAAC,CAAC;AACtC,gBAAA,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,KAAK;AAC3B,oBAAA,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;AAC5B,aAAA;AAAM,iBAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AACzB,gBAAA,MAAM,GAAO,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAK,EAAA,MAAM,CAAC,CAAA;AACjC,aAAA;AAAM,iBAAA;gBACH,MAAM,GAAG,MAAM,CAAA;AAClB,aAAA;YAED,KAAK,GAAG,MAAM,CAAA;AACd,YAAA,YAAY,EAAE,CAAC;AACnB,SAAC,CAAA;AACD,QAAA,IAAI,CAAC,KAAK,GAAG,MAAK;YACd,KAAK,GAAG,YAAY,CAAA;AACpB,YAAA,YAAY,EAAE,CAAC;AACnB,SAAC,CAAA;AAED,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,EAAc,KAAI;AAChC,YAAA,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;AACrB,YAAA,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;AACtB,YAAA,OAAO,MAAK;AACR,gBAAA,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AACzB,aAAC,CAAA;AACL,SAAC,CAAA;AAED,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAc,IAAI,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAA;KAC7B;AACJ,CAAA;SAIe,cAAc,GAAA;AAC1B,IAAA,OAAO,MAAM,CAAA;AACjB,CAAC;AAIY,MAAA,eAAe,GAAG,CAAI,KAAQ,KAAQ,MAAM;AAKnD,SAAU,QAAQ,CAAO,KAAe,EAAE,QAAyB,EAAE,uBAA2C,EAAE,EAAA;AACpH,IAAA,IAAI,CAAC,QAAQ;QACT,QAAQ,GAAI,eAAkC,CAAA;AAElD,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAE/D,SAAS,CAAC,MAAK;QACX,MAAM,WAAW,GAAG,MAAK;YACrB,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;AACnC,SAAC,CAAC;AACF,QAAA,WAAW,EAAE,CAAA;AACb,QAAA,OAAO,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;KACtC,EAAE,oBAAoB,CAAC,CAAA;AAExB,IAAA,OAAO,KAAK,CAAA;AAChB;;;;"}
|