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.
@@ -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
- ):rmemo_T<val_T>
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
- ):rmemo_T<val_T>
9
- export type rmemo_T<val_T> = ((val?:val_T)=>val_T)&rmemo_o_T<val_T>
10
- export type rmemo_def_T<val_T> = (rmemo:rmemo_T<val_T>)=>val_T
11
- export type rmemo_subscriber_T<val_T> = (rmemo:rmemo_T<val_T>)=>unknown
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
- readonly val:val_T
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
@@ -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.1.0",
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.2",
117
+ "tsx": "^4.1.3",
118
118
  "typescript": "next",
119
119
  "uvu": "^0.5.6"
120
120
  },