ctx-core 3.1.0 → 3.2.0
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 +13 -6
- package/all/rmemo/index.test.ts +8 -0
- package/package.json +2 -2
package/all/rmemo/index.d.ts
CHANGED
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
export declare function rmemo_<val_T>(
|
|
2
2
|
def:rmemo_def_T<val_T>,
|
|
3
3
|
...subscriber_a:rmemo_subscriber_T<val_T>[]
|
|
4
|
-
):
|
|
4
|
+
):read_rmemo_T<val_T>
|
|
5
5
|
export declare function rsig_<val_T>(
|
|
6
6
|
init_val:val_T,
|
|
7
7
|
...subscriber_a:rmemo_subscriber_T<val_T>[]
|
|
8
|
-
):
|
|
9
|
-
export type rmemo_T<val_T> =
|
|
10
|
-
export type
|
|
11
|
-
export type
|
|
8
|
+
):readwrite_rmemo_T<val_T>
|
|
9
|
+
export type rmemo_T<val_T> = readwrite_rmemo_T<val_T>|read_rmemo_T<val_T>
|
|
10
|
+
export type readwrite_rmemo_T<val_T> = ((val?:val_T)=>val_T)&rmemo_o_T<val_T>
|
|
11
|
+
export type read_rmemo_T<val_T> = (()=>val_T)&read_rmemo_o_T<val_T>
|
|
12
|
+
export type rmemo_def_T<val_T> = (rmemo:readwrite_rmemo_T<val_T>)=>val_T
|
|
13
|
+
export type rmemo_subscriber_T<val_T> = (rmemo:readwrite_rmemo_T<val_T>)=>unknown
|
|
12
14
|
export type rmemo_o_T<val_T> = {
|
|
13
15
|
_:val_T
|
|
14
|
-
|
|
16
|
+
go():unknown
|
|
17
|
+
onset(val:val_T):unknown
|
|
18
|
+
refresh():val_T
|
|
19
|
+
}&read_rmemo_o_T<val_T>
|
|
20
|
+
export type read_rmemo_o_T<val_T> = {
|
|
21
|
+
readonly _:val_T
|
|
15
22
|
go():unknown
|
|
16
23
|
onset(val:val_T):unknown
|
|
17
24
|
refresh():val_T
|
package/all/rmemo/index.test.ts
CHANGED
|
@@ -37,21 +37,29 @@ test('rsig_|async subsubscriber|case 1', async ()=>{
|
|
|
37
37
|
let user0 = { id: 'id-0' }
|
|
38
38
|
let user1 = { id: 'id-1' }
|
|
39
39
|
let id$ = rsig_('id-0')
|
|
40
|
+
let call_count = 0
|
|
40
41
|
let user$ = rsig_<{ id:string }|null>(
|
|
41
42
|
null,
|
|
42
43
|
async (_user$)=>{
|
|
44
|
+
call_count++
|
|
43
45
|
id$()
|
|
44
46
|
let user:{ id:string } = await new Promise(_resolve=>resolve = _resolve)
|
|
45
47
|
_user$(user)
|
|
46
48
|
})
|
|
49
|
+
// equal(call_count, 0)
|
|
47
50
|
equal(user$(), null)
|
|
51
|
+
equal(call_count, 1)
|
|
48
52
|
resolve!(user0)
|
|
49
53
|
await sleep(0)
|
|
54
|
+
equal(call_count, 1)
|
|
50
55
|
equal(user$(), user0)
|
|
56
|
+
equal(call_count, 1)
|
|
51
57
|
id$('id-1')
|
|
58
|
+
equal(call_count, 2)
|
|
52
59
|
equal(user$(), user0)
|
|
53
60
|
resolve!(user1)
|
|
54
61
|
await sleep(0)
|
|
62
|
+
equal(call_count, 2)
|
|
55
63
|
})
|
|
56
64
|
test('rsig_|async subsubscriber|case 2', async ()=>{
|
|
57
65
|
let a$ = rsig_(1)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ctx-core",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"description": "ctx-core core library",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ctx-core",
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
"sinon": "^17.0.1",
|
|
115
115
|
"size-limit": "^11.0.0",
|
|
116
116
|
"ts-node": "^10.9.1",
|
|
117
|
-
"tsx": "^4.1.
|
|
117
|
+
"tsx": "^4.1.3",
|
|
118
118
|
"typescript": "next",
|
|
119
119
|
"uvu": "^0.5.6"
|
|
120
120
|
},
|