ctx-core 4.3.0 → 4.3.1
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/all/rmemo/index.d.ts +14 -13
- package/all/rmemo/index.js +2 -0
- package/package.json +1 -1
package/all/rmemo/index.d.ts
CHANGED
|
@@ -6,22 +6,23 @@ export declare function rw_rmemo_<val_T>(
|
|
|
6
6
|
init_val:val_T,
|
|
7
7
|
...subscriber_a:rmemo_subscriber_T<val_T>[]
|
|
8
8
|
):rw_rmemo_T<val_T>
|
|
9
|
-
export type r_rmemo_T<val_T> =
|
|
10
|
-
export type rw_rmemo_T<val_T> = ((val?:val_T)=>val_T)&rw_r_rmemo_o_T<val_T>
|
|
11
|
-
export type rmemo_val_T<rw_rmemo_T> = rw_rmemo_T extends {
|
|
12
|
-
(): infer val_T
|
|
13
|
-
}
|
|
14
|
-
? val_T
|
|
15
|
-
: unknown
|
|
16
|
-
export type rmemo_def_T<val_T> = (rw_rmemo:rw_rmemo_T<val_T>)=>val_T
|
|
17
|
-
export type rmemo_subscriber_T<val_T> = (rw_rmemo:rw_rmemo_T<val_T>)=>unknown
|
|
18
|
-
export type r_rmemo_o_T<val_T> = {
|
|
9
|
+
export type r_rmemo_T<val_T> = {
|
|
19
10
|
readonly _:val_T
|
|
20
11
|
val:val_T
|
|
21
|
-
|
|
12
|
+
get():val_T
|
|
13
|
+
go():r_rmemo_T<val_T>
|
|
22
14
|
}
|
|
23
|
-
export type
|
|
15
|
+
export type rw_rmemo_T<val_T> = {
|
|
24
16
|
_:val_T
|
|
25
17
|
val:val_T
|
|
26
|
-
|
|
18
|
+
get():val_T
|
|
19
|
+
set(val:val_T):void
|
|
20
|
+
go():r_rmemo_T<val_T>
|
|
27
21
|
}
|
|
22
|
+
export type rmemo_val_T<rw_rmemo_T> = rw_rmemo_T extends {
|
|
23
|
+
_:infer val_T
|
|
24
|
+
}
|
|
25
|
+
? val_T
|
|
26
|
+
: unknown
|
|
27
|
+
export type rmemo_def_T<val_T> = (rw_rmemo:rw_rmemo_T<val_T>)=>val_T
|
|
28
|
+
export type rmemo_subscriber_T<val_T> = (rw_rmemo:rw_rmemo_T<val_T>)=>unknown
|
package/all/rmemo/index.js
CHANGED
|
@@ -33,12 +33,14 @@ export function r_rmemo_(rmemo_def, ...subscriber_a) {
|
|
|
33
33
|
set _(val) {
|
|
34
34
|
if (val !== r_rmemo.val) {
|
|
35
35
|
r_rmemo.val = val
|
|
36
|
+
// hook for rw_rmemo_
|
|
36
37
|
r_rmemo._s?.(val)
|
|
37
38
|
let run_queue = !queue[0]
|
|
38
39
|
for (let r of r_rmemo._rs) {
|
|
39
40
|
if (!~queue.indexOf(r)) queue.push(r)
|
|
40
41
|
}
|
|
41
42
|
if (!r_rmemo._sa) {
|
|
43
|
+
// add reference to subscribers to prevent GC
|
|
42
44
|
r_rmemo._sa = subscriber_a.map(subscriber=>
|
|
43
45
|
r_rmemo_(()=>subscriber(r_rmemo)).go())
|
|
44
46
|
}
|