ctx-core 6.8.2 → 7.0.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/be_/index.d.ts +24 -0
- package/all/be_/index.js +28 -0
- package/all/be_/index.test.ts +26 -0
- package/all/be_lock_memosig_triple/index.d.ts +7 -8
- package/all/be_lock_memosig_triple/index.js +20 -17
- package/all/be_lock_memosig_triple/index.test.ts +100 -86
- package/all/be_memo_pair/index.d.ts +7 -8
- package/all/be_memo_pair/index.js +22 -20
- package/all/be_memo_pair/index.test.ts +114 -97
- package/all/be_memosig_triple/index.d.ts +7 -8
- package/all/be_memosig_triple/index.test.ts +115 -100
- package/all/be_sig_triple/index.d.ts +7 -8
- package/all/be_sig_triple/index.js +20 -17
- package/all/be_sig_triple/index.test.ts +63 -52
- package/all/event_log/index.js +11 -9
- package/all/is_development/index.js +6 -5
- package/all/is_production/index.js +6 -5
- package/all/is_staging/index.js +5 -4
- package/all/rmemo/index.d.ts +42 -31
- package/all/rmemo/index.js +88 -94
- package/all/rmemo/index.test.ts +131 -115
- package/all/rmemo__wait/index.test.ts +2 -2
- package/all/wanimato/index.js +12 -12
- package/package.json +7 -7
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { test } from 'uvu'
|
|
2
2
|
import { equal } from 'uvu/assert'
|
|
3
3
|
import { be_, type wide_ctx_T } from '../be_/index.js'
|
|
4
|
-
import { be_sig_triple_ } from '../be_sig_triple/index.js'
|
|
4
|
+
import { be_sig_triple_, ns_be_sig_triple_ } from '../be_sig_triple/index.js'
|
|
5
5
|
import { ctx__new, ns_ctx__new } from '../ctx/index.js'
|
|
6
6
|
import { memo_, memosig_, type sig_T } from '../rmemo/index.js'
|
|
7
7
|
import type { Equal, Expect } from '../test/index.js'
|
|
@@ -28,15 +28,15 @@ test('be_memosig_triple_', ()=>{
|
|
|
28
28
|
})
|
|
29
29
|
const ctx = ctx__new()
|
|
30
30
|
equal(foobar$_(ctx).count, undefined)
|
|
31
|
-
equal(foobar$_(ctx)
|
|
31
|
+
equal(foobar$_(ctx)(), 2)
|
|
32
32
|
equal(foobar_(ctx), 2)
|
|
33
33
|
equal(foobar$_(ctx).count, 1)
|
|
34
34
|
foobar__set(ctx, 5)
|
|
35
|
-
equal(foobar$_(ctx)
|
|
35
|
+
equal(foobar$_(ctx)(), 5)
|
|
36
36
|
equal(foobar_(ctx), 5)
|
|
37
37
|
equal(foobar$_(ctx).count, 1)
|
|
38
38
|
base__set(ctx, 2)
|
|
39
|
-
equal(foobar$_(ctx)
|
|
39
|
+
equal(foobar$_(ctx)(), 3)
|
|
40
40
|
equal(foobar_(ctx), 3)
|
|
41
41
|
equal(foobar$_(ctx).count, 2)
|
|
42
42
|
})
|
|
@@ -47,57 +47,61 @@ test('be_memosig_triple_|+id|+ns', ()=>{
|
|
|
47
47
|
,
|
|
48
48
|
base_,
|
|
49
49
|
base__set,
|
|
50
|
-
] =
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
] = ns_be_sig_triple_(
|
|
51
|
+
'test_ns',
|
|
52
|
+
()=>1)
|
|
53
53
|
const [
|
|
54
54
|
,
|
|
55
55
|
add_dep_,
|
|
56
56
|
add_dep__set
|
|
57
|
-
] =
|
|
58
|
-
|
|
57
|
+
] = ns_be_sig_triple_(
|
|
58
|
+
'test_ns',
|
|
59
|
+
()=>1)
|
|
59
60
|
const [
|
|
60
61
|
foobar$_,
|
|
61
62
|
foobar_,
|
|
62
63
|
foobar__set,
|
|
63
|
-
] =
|
|
64
|
+
] = ns_id_be_memosig_triple_<number, 'test_ns'>(
|
|
65
|
+
'test_ns',
|
|
66
|
+
'foobar',
|
|
64
67
|
ctx=>{
|
|
65
68
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
66
69
|
type test_ctx = Expect<Equal<typeof ctx, wide_ctx_T<'test_ns'>>>
|
|
67
70
|
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
68
71
|
return base_(ctx) + 1
|
|
69
72
|
},
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
73
|
+
[
|
|
74
|
+
(ctx, foobar$)=>memo_(()=>{
|
|
75
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
76
|
+
type test_ctx = Expect<Equal<typeof ctx, wide_ctx_T<'test_ns'>>>
|
|
77
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
78
|
+
add_count++
|
|
79
|
+
add_dep__set(ctx, add_count + foobar$())
|
|
80
|
+
})
|
|
81
|
+
])
|
|
78
82
|
equal(add_count, 0)
|
|
79
|
-
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))
|
|
83
|
+
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))(), 2)
|
|
80
84
|
equal(foobar_(ns_ctx__new(ctx__new(), ctx)), 2)
|
|
81
|
-
equal(foobar$_(ctx)
|
|
85
|
+
equal(foobar$_(ctx)(), 2)
|
|
82
86
|
equal(foobar_(ctx), 2)
|
|
83
87
|
equal(add_count, 1)
|
|
84
|
-
equal((ctx.s.test_ns.get('foobar')![0] as sig_T<number>)
|
|
88
|
+
equal((ctx.s.test_ns.get('foobar')![0] as sig_T<number>)(), 2)
|
|
85
89
|
equal(add_dep_(ctx), 3)
|
|
86
90
|
foobar__set(ns_ctx__new(ctx__new(), ctx), 5)
|
|
87
|
-
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))
|
|
91
|
+
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))(), 5)
|
|
88
92
|
equal(foobar_(ns_ctx__new(ctx__new(), ctx)), 5)
|
|
89
|
-
equal(foobar$_(ctx)
|
|
93
|
+
equal(foobar$_(ctx)(), 5)
|
|
90
94
|
equal(foobar_(ctx), 5)
|
|
91
|
-
equal((ctx.s.test_ns.get('foobar')![0] as sig_T<number>)
|
|
95
|
+
equal((ctx.s.test_ns.get('foobar')![0] as sig_T<number>)(), 5)
|
|
92
96
|
equal(add_count, 2)
|
|
93
97
|
equal(add_dep_(ctx), 7)
|
|
94
98
|
base__set(ctx, 2)
|
|
95
|
-
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))
|
|
99
|
+
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))(), 3)
|
|
96
100
|
equal(foobar_(ns_ctx__new(ctx__new(), ctx)), 3)
|
|
97
|
-
equal(foobar$_(ctx)
|
|
101
|
+
equal(foobar$_(ctx)(), 3)
|
|
98
102
|
equal(foobar_(ctx), 3)
|
|
99
103
|
equal(add_count, 3)
|
|
100
|
-
equal((ctx.s.test_ns.get('foobar')![0] as sig_T<number>)
|
|
104
|
+
equal((ctx.s.test_ns.get('foobar')![0] as sig_T<number>)(), 3)
|
|
101
105
|
equal(add_dep_(ctx), 6)
|
|
102
106
|
})
|
|
103
107
|
test('be_memosig_triple_|+be', ()=>{
|
|
@@ -107,50 +111,53 @@ test('be_memosig_triple_|+be', ()=>{
|
|
|
107
111
|
,
|
|
108
112
|
base_,
|
|
109
113
|
base__set,
|
|
110
|
-
] =
|
|
111
|
-
|
|
114
|
+
] = ns_be_sig_triple_(
|
|
115
|
+
'test_ns',
|
|
116
|
+
()=>1)
|
|
112
117
|
const [
|
|
113
118
|
foobar$_,
|
|
114
119
|
foobar_,
|
|
115
120
|
foobar__set,
|
|
116
|
-
] = be_memosig_triple_<number, 'test_ns', { custom:
|
|
121
|
+
] = be_memosig_triple_<number, 'test_ns', { custom:string }>(
|
|
117
122
|
be_(ctx=>{
|
|
118
123
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
119
124
|
type test_ctx = Expect<Equal<typeof ctx, wide_ctx_T<'test_ns'>>>
|
|
120
125
|
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
121
126
|
const foobar$ =
|
|
122
|
-
memosig_<number, { custom:
|
|
123
|
-
()=>base_(ctx) + 1
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
127
|
+
memosig_<number, { custom:string }>(
|
|
128
|
+
()=>base_(ctx) + 1,
|
|
129
|
+
[
|
|
130
|
+
foobar$=>
|
|
131
|
+
memo_(()=>{
|
|
132
|
+
foobar$()
|
|
133
|
+
add_count++
|
|
134
|
+
})
|
|
135
|
+
])
|
|
129
136
|
foobar$.custom = 'custom-val'
|
|
130
137
|
return foobar$
|
|
131
138
|
}, { id: 'foobar', ns: 'test_ns' }))
|
|
132
139
|
equal(add_count, 0)
|
|
133
|
-
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))
|
|
140
|
+
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))(), 2)
|
|
134
141
|
equal(foobar_(ns_ctx__new(ctx__new(), ctx)), 2)
|
|
135
|
-
equal(foobar$_(ctx)
|
|
142
|
+
equal(foobar$_(ctx)(), 2)
|
|
136
143
|
equal(foobar_(ctx), 2)
|
|
137
144
|
equal(add_count, 1)
|
|
138
|
-
equal((ctx.s.test_ns.get('foobar')![0] as sig_T<number>)
|
|
145
|
+
equal((ctx.s.test_ns.get('foobar')![0] as sig_T<number>)(), 2)
|
|
139
146
|
equal(foobar$_(ctx).custom, 'custom-val')
|
|
140
147
|
foobar__set(ctx, 5)
|
|
141
|
-
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))
|
|
148
|
+
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))(), 5)
|
|
142
149
|
equal(foobar_(ns_ctx__new(ctx__new(), ctx)), 5)
|
|
143
|
-
equal(foobar$_(ctx)
|
|
150
|
+
equal(foobar$_(ctx)(), 5)
|
|
144
151
|
equal(foobar_(ctx), 5)
|
|
145
152
|
equal(add_count, 2)
|
|
146
|
-
equal((ctx.s.test_ns.get('foobar')![0] as sig_T<number>)
|
|
153
|
+
equal((ctx.s.test_ns.get('foobar')![0] as sig_T<number>)(), 5)
|
|
147
154
|
equal(foobar$_(ctx).custom, 'custom-val')
|
|
148
155
|
base__set(ns_ctx__new(ctx__new(), ctx), 2)
|
|
149
|
-
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))
|
|
156
|
+
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))(), 3)
|
|
150
157
|
equal(foobar_(ns_ctx__new(ctx__new(), ctx)), 3)
|
|
151
|
-
equal(foobar$_(ctx)
|
|
158
|
+
equal(foobar$_(ctx)(), 3)
|
|
152
159
|
equal(foobar_(ctx), 3)
|
|
153
|
-
equal((ctx.s.test_ns.get('foobar')![0] as sig_T<number>)
|
|
160
|
+
equal((ctx.s.test_ns.get('foobar')![0] as sig_T<number>)(), 3)
|
|
154
161
|
equal(foobar$_(ctx).custom, 'custom-val')
|
|
155
162
|
equal(add_count, 3)
|
|
156
163
|
})
|
|
@@ -161,15 +168,16 @@ test('ns_be_memosig_triple_', ()=>{
|
|
|
161
168
|
,
|
|
162
169
|
base_,
|
|
163
170
|
base__set,
|
|
164
|
-
] =
|
|
165
|
-
|
|
166
|
-
|
|
171
|
+
] = ns_be_sig_triple_(
|
|
172
|
+
'test_ns',
|
|
173
|
+
()=>1)
|
|
167
174
|
const [
|
|
168
175
|
,
|
|
169
176
|
add_dep_,
|
|
170
177
|
add_dep__set
|
|
171
|
-
] =
|
|
172
|
-
|
|
178
|
+
] = ns_be_sig_triple_(
|
|
179
|
+
'test_ns',
|
|
180
|
+
()=>1)
|
|
173
181
|
const [
|
|
174
182
|
foobar$_,
|
|
175
183
|
foobar_,
|
|
@@ -181,32 +189,34 @@ test('ns_be_memosig_triple_', ()=>{
|
|
|
181
189
|
type test_ctx = Expect<Equal<typeof ctx, wide_ctx_T<'test_ns'>>>
|
|
182
190
|
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
183
191
|
return base_(ctx) + 1
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
+
},
|
|
193
|
+
[
|
|
194
|
+
(ctx, foobar$)=>memo_(()=>{
|
|
195
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
196
|
+
type test_ctx = Expect<Equal<typeof ctx, wide_ctx_T<'test_ns'>>>
|
|
197
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
198
|
+
add_count++
|
|
199
|
+
add_dep__set(ctx, add_count + foobar$())
|
|
200
|
+
})
|
|
201
|
+
])
|
|
192
202
|
equal(add_count, 0)
|
|
193
|
-
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))
|
|
203
|
+
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))(), 2)
|
|
194
204
|
equal(foobar_(ns_ctx__new(ctx__new(), ctx)), 2)
|
|
195
|
-
equal(foobar$_(ctx)
|
|
205
|
+
equal(foobar$_(ctx)(), 2)
|
|
196
206
|
equal(foobar_(ctx), 2)
|
|
197
207
|
equal(add_count, 1)
|
|
198
208
|
equal(add_dep_(ctx), 3)
|
|
199
209
|
foobar__set(ns_ctx__new(ctx__new(), ctx), 5)
|
|
200
|
-
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))
|
|
210
|
+
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))(), 5)
|
|
201
211
|
equal(foobar_(ns_ctx__new(ctx__new(), ctx)), 5)
|
|
202
|
-
equal(foobar$_(ctx)
|
|
212
|
+
equal(foobar$_(ctx)(), 5)
|
|
203
213
|
equal(foobar_(ctx), 5)
|
|
204
214
|
equal(add_count, 2)
|
|
205
215
|
equal(add_dep_(ctx), 7)
|
|
206
216
|
base__set(ctx, 2)
|
|
207
|
-
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))
|
|
217
|
+
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))(), 3)
|
|
208
218
|
equal(foobar_(ns_ctx__new(ctx__new(), ctx)), 3)
|
|
209
|
-
equal(foobar$_(ctx)
|
|
219
|
+
equal(foobar$_(ctx)(), 3)
|
|
210
220
|
equal(foobar_(ctx), 3)
|
|
211
221
|
equal(add_count, 3)
|
|
212
222
|
equal(add_dep_(ctx), 6)
|
|
@@ -236,31 +246,33 @@ test('id_be_memosig_triple_', ()=>{
|
|
|
236
246
|
type test_ctx = Expect<Equal<typeof ctx, wide_ctx_T<''>>>
|
|
237
247
|
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
238
248
|
return base_(ctx) + 1
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
249
|
+
},
|
|
250
|
+
[
|
|
251
|
+
(ctx, foobar$)=>memo_(()=>{
|
|
252
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
253
|
+
type test_ctx = Expect<Equal<typeof ctx, wide_ctx_T<''>>>
|
|
254
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
255
|
+
add_count++
|
|
256
|
+
add_dep__set(ctx, add_count + foobar$())
|
|
257
|
+
})
|
|
258
|
+
])
|
|
247
259
|
equal(add_count, 0)
|
|
248
|
-
equal(foobar$_(ctx)
|
|
260
|
+
equal(foobar$_(ctx)(), 2)
|
|
249
261
|
equal(foobar_(ctx), 2)
|
|
250
262
|
equal(add_count, 1)
|
|
251
|
-
equal((ctx.s[''].get('foobar')![0] as sig_T<number>)
|
|
263
|
+
equal((ctx.s[''].get('foobar')![0] as sig_T<number>)(), 2)
|
|
252
264
|
equal(add_dep_(ctx), 3)
|
|
253
265
|
foobar__set(ctx, 5)
|
|
254
|
-
equal(foobar$_(ctx)
|
|
266
|
+
equal(foobar$_(ctx)(), 5)
|
|
255
267
|
equal(foobar_(ctx), 5)
|
|
256
|
-
equal((ctx.s[''].get('foobar')![0] as sig_T<number>)
|
|
268
|
+
equal((ctx.s[''].get('foobar')![0] as sig_T<number>)(), 5)
|
|
257
269
|
equal(add_count, 2)
|
|
258
270
|
equal(add_dep_(ctx), 7)
|
|
259
271
|
base__set(ctx, 2)
|
|
260
|
-
equal(foobar$_(ctx)
|
|
272
|
+
equal(foobar$_(ctx)(), 3)
|
|
261
273
|
equal(foobar_(ctx), 3)
|
|
262
274
|
equal(add_count, 3)
|
|
263
|
-
equal((ctx.s[''].get('foobar')![0] as sig_T<number>)
|
|
275
|
+
equal((ctx.s[''].get('foobar')![0] as sig_T<number>)(), 3)
|
|
264
276
|
equal(add_dep_(ctx), 6)
|
|
265
277
|
})
|
|
266
278
|
test('ns_id_be_memosig_triple_', ()=>{
|
|
@@ -270,15 +282,16 @@ test('ns_id_be_memosig_triple_', ()=>{
|
|
|
270
282
|
,
|
|
271
283
|
base_,
|
|
272
284
|
base__set,
|
|
273
|
-
] =
|
|
274
|
-
|
|
275
|
-
|
|
285
|
+
] = ns_be_sig_triple_(
|
|
286
|
+
'test_ns',
|
|
287
|
+
()=>1)
|
|
276
288
|
const [
|
|
277
289
|
,
|
|
278
290
|
add_dep_,
|
|
279
291
|
add_dep__set
|
|
280
|
-
] =
|
|
281
|
-
|
|
292
|
+
] = ns_be_sig_triple_(
|
|
293
|
+
'test_ns',
|
|
294
|
+
()=>1)
|
|
282
295
|
const [
|
|
283
296
|
foobar$_,
|
|
284
297
|
foobar_,
|
|
@@ -292,36 +305,38 @@ test('ns_id_be_memosig_triple_', ()=>{
|
|
|
292
305
|
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
293
306
|
return base_(ctx) + 1
|
|
294
307
|
},
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
308
|
+
[
|
|
309
|
+
(ctx, foobar$)=>memo_(()=>{
|
|
310
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
311
|
+
type test_ctx = Expect<Equal<typeof ctx, wide_ctx_T<'test_ns'>>>
|
|
312
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
313
|
+
add_count++
|
|
314
|
+
add_dep__set(ctx, add_count + foobar$())
|
|
315
|
+
})
|
|
316
|
+
])
|
|
302
317
|
equal(add_count, 0)
|
|
303
|
-
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))
|
|
318
|
+
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))(), 2)
|
|
304
319
|
equal(foobar_(ns_ctx__new(ctx__new(), ctx)), 2)
|
|
305
|
-
equal(foobar$_(ctx)
|
|
320
|
+
equal(foobar$_(ctx)(), 2)
|
|
306
321
|
equal(foobar_(ctx), 2)
|
|
307
322
|
equal(add_count, 1)
|
|
308
|
-
equal((ctx.s.test_ns.get('foobar')![0] as sig_T<number>)
|
|
323
|
+
equal((ctx.s.test_ns.get('foobar')![0] as sig_T<number>)(), 2)
|
|
309
324
|
equal(add_dep_(ctx), 3)
|
|
310
325
|
foobar__set(ns_ctx__new(ctx__new(), ctx), 5)
|
|
311
|
-
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))
|
|
326
|
+
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))(), 5)
|
|
312
327
|
equal(foobar_(ns_ctx__new(ctx__new(), ctx)), 5)
|
|
313
|
-
equal(foobar$_(ctx)
|
|
328
|
+
equal(foobar$_(ctx)(), 5)
|
|
314
329
|
equal(foobar_(ctx), 5)
|
|
315
|
-
equal((ctx.s.test_ns.get('foobar')![0] as sig_T<number>)
|
|
330
|
+
equal((ctx.s.test_ns.get('foobar')![0] as sig_T<number>)(), 5)
|
|
316
331
|
equal(add_count, 2)
|
|
317
332
|
equal(add_dep_(ctx), 7)
|
|
318
333
|
base__set(ctx, 2)
|
|
319
|
-
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))
|
|
334
|
+
equal(foobar$_(ns_ctx__new(ctx__new(), ctx))(), 3)
|
|
320
335
|
equal(foobar_(ns_ctx__new(ctx__new(), ctx)), 3)
|
|
321
|
-
equal(foobar$_(ctx)
|
|
336
|
+
equal(foobar$_(ctx)(), 3)
|
|
322
337
|
equal(foobar_(ctx), 3)
|
|
323
338
|
equal(add_count, 3)
|
|
324
|
-
equal((ctx.s.test_ns.get('foobar')![0] as sig_T<number>)
|
|
339
|
+
equal((ctx.s.test_ns.get('foobar')![0] as sig_T<number>)(), 3)
|
|
325
340
|
equal(add_dep_(ctx), 6)
|
|
326
341
|
})
|
|
327
342
|
test.run()
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Be,
|
|
2
|
-
import type { sig_T } from '../rmemo/index.js'
|
|
1
|
+
import type { Be, ctx__be_T, ctx__get_T, ctx__set_T, wide_ctx_T } from '../be_/index.js'
|
|
2
|
+
import type { be_rmemo_add_def_T, sig_T } from '../rmemo/index.js'
|
|
3
3
|
export declare function be_sig_triple_<
|
|
4
4
|
val_T,
|
|
5
5
|
ns_T extends string = '',
|
|
@@ -13,7 +13,7 @@ export declare function be_sig_triple_<
|
|
|
13
13
|
ctx_T extends wide_ctx_T<ns_T> = wide_ctx_T<ns_T>,
|
|
14
14
|
>(
|
|
15
15
|
val__new:(ctx:ctx_T, sig:sig_T<val_T, E>)=>val_T,
|
|
16
|
-
|
|
16
|
+
add_def_a1?:be_rmemo_add_def_T<val_T, ns_T, E, ctx_T>[]
|
|
17
17
|
):be_sig_triple_T<val_T, ns_T, E, ctx_T>
|
|
18
18
|
export declare function ns_be_sig_triple_<
|
|
19
19
|
val_T,
|
|
@@ -23,6 +23,7 @@ export declare function ns_be_sig_triple_<
|
|
|
23
23
|
>(
|
|
24
24
|
ns:ns_T,
|
|
25
25
|
val__new:(ctx:ctx_T, sig:sig_T<val_T, E>)=>val_T,
|
|
26
|
+
add_def_a1?:be_rmemo_add_def_T<val_T, ns_T, E, ctx_T>[]
|
|
26
27
|
):be_sig_triple_T<val_T, ns_T, E, ctx_T>
|
|
27
28
|
export declare function id_be_sig_triple_<
|
|
28
29
|
val_T,
|
|
@@ -31,6 +32,7 @@ export declare function id_be_sig_triple_<
|
|
|
31
32
|
>(
|
|
32
33
|
id:string,
|
|
33
34
|
val__new:(ctx:ctx_T, sig:sig_T<val_T, E>)=>val_T,
|
|
35
|
+
add_def_a1?:be_rmemo_add_def_T<val_T, '', E, ctx_T>[]
|
|
34
36
|
):be_sig_triple_T<val_T, '', E, ctx_T>
|
|
35
37
|
export declare function ns_id_be_sig_triple_<
|
|
36
38
|
val_T,
|
|
@@ -41,6 +43,7 @@ export declare function ns_id_be_sig_triple_<
|
|
|
41
43
|
ns:ns_T,
|
|
42
44
|
id:string,
|
|
43
45
|
val__new:(ctx:ctx_T, sig:sig_T<val_T, E>)=>val_T,
|
|
46
|
+
add_def_a1?:be_rmemo_add_def_T<val_T, ns_T, E, ctx_T>[]
|
|
44
47
|
):be_sig_triple_T<val_T, ns_T, E, ctx_T>
|
|
45
48
|
export type be_sig_triple_T<
|
|
46
49
|
val_T,
|
|
@@ -51,8 +54,4 @@ export type be_sig_triple_T<
|
|
|
51
54
|
ctx__be_T<sig_T<val_T, E>, ns_T, ctx_T>,
|
|
52
55
|
ctx__get_T<val_T, ns_T, ctx_T>,
|
|
53
56
|
ctx__set_T<val_T, ns_T, ctx_T>,
|
|
54
|
-
]
|
|
55
|
-
add<add_val_T>(
|
|
56
|
-
add_def:(ctx:ctx_T, sig:sig_T<val_T, E>)=>add_val_T
|
|
57
|
-
):be_sig_triple_T<val_T, ns_T, E, ctx_T>
|
|
58
|
-
}
|
|
57
|
+
]
|
|
@@ -5,72 +5,75 @@ import { be_ } from '../be_/index.js'
|
|
|
5
5
|
import { sig_ } from '../rmemo/index.js'
|
|
6
6
|
/**
|
|
7
7
|
* @param {Be<sig_T>|be__val__new_T<unknown>}be_OR_val__new
|
|
8
|
+
* @param {be_rmemo_add_def_T[]}[add_def_a1]
|
|
8
9
|
* @param {be_config_T}[config]
|
|
9
10
|
* @returns {be_sig_triple_T}
|
|
10
11
|
* @private
|
|
11
12
|
*/
|
|
12
13
|
export function be_sig_triple_(
|
|
13
14
|
be_OR_val__new,
|
|
15
|
+
add_def_a1,
|
|
14
16
|
config
|
|
15
17
|
) {
|
|
16
|
-
let add_def_a = []
|
|
17
18
|
/** @ype {Be<sig_T>} */
|
|
18
19
|
let be =
|
|
19
20
|
be_OR_val__new.is_be
|
|
20
21
|
? be_OR_val__new
|
|
21
22
|
: be_(ctx=>
|
|
22
|
-
|
|
23
|
-
(
|
|
24
|
-
|
|
23
|
+
sig_(
|
|
24
|
+
be_OR_val__new(ctx),
|
|
25
|
+
(add_def_a1 ?? []).map(add_def=>
|
|
26
|
+
sig=>add_def(ctx, sig))),
|
|
25
27
|
config)
|
|
26
|
-
|
|
28
|
+
return [
|
|
27
29
|
be,
|
|
28
30
|
ctx=>be(ctx)(),
|
|
29
31
|
(ctx, val)=>{
|
|
30
|
-
be(ctx).
|
|
32
|
+
be(ctx).set(val)
|
|
31
33
|
},
|
|
32
34
|
]
|
|
33
|
-
be_sig_triple.add = add_def=>{
|
|
34
|
-
add_def_a.push(add_def)
|
|
35
|
-
return be_sig_triple
|
|
36
|
-
}
|
|
37
|
-
return be_sig_triple
|
|
38
35
|
}
|
|
39
36
|
/**
|
|
40
37
|
* @param {string}ns
|
|
41
38
|
* @param {be__val__new_T<unknown>}val__new
|
|
39
|
+
* @param {be_rmemo_add_def_T[]}[add_def_a1]
|
|
42
40
|
* @returns {be_sig_triple_T}
|
|
43
41
|
* @private
|
|
44
42
|
*/
|
|
45
43
|
export function ns_be_sig_triple_(
|
|
46
44
|
ns,
|
|
47
|
-
val__new
|
|
45
|
+
val__new,
|
|
46
|
+
add_def_a1
|
|
48
47
|
) {
|
|
49
|
-
return be_sig_triple_(val__new, { ns })
|
|
48
|
+
return be_sig_triple_(val__new, add_def_a1, { ns })
|
|
50
49
|
}
|
|
51
50
|
/**
|
|
52
51
|
* @param {string}id
|
|
53
52
|
* @param {be__val__new_T<unknown>}val__new
|
|
53
|
+
* @param {be_rmemo_add_def_T[]}[add_def_a1]
|
|
54
54
|
* @returns {be_sig_triple_T}
|
|
55
55
|
* @private
|
|
56
56
|
*/
|
|
57
57
|
export function id_be_sig_triple_(
|
|
58
58
|
id,
|
|
59
|
-
val__new
|
|
59
|
+
val__new,
|
|
60
|
+
add_def_a1
|
|
60
61
|
) {
|
|
61
|
-
return be_sig_triple_(val__new, { id })
|
|
62
|
+
return be_sig_triple_(val__new, add_def_a1, { id })
|
|
62
63
|
}
|
|
63
64
|
/**
|
|
64
65
|
* @param {string}ns
|
|
65
66
|
* @param {string}id
|
|
66
67
|
* @param {be__val__new_T<unknown>}val__new
|
|
68
|
+
* @param {be_rmemo_add_def_T[]}[add_def_a1]
|
|
67
69
|
* @returns {be_sig_triple_T}
|
|
68
70
|
* @private
|
|
69
71
|
*/
|
|
70
72
|
export function ns_id_be_sig_triple_(
|
|
71
73
|
ns,
|
|
72
74
|
id,
|
|
73
|
-
val__new
|
|
75
|
+
val__new,
|
|
76
|
+
add_def_a1
|
|
74
77
|
) {
|
|
75
|
-
return be_sig_triple_(val__new, { ns, id })
|
|
78
|
+
return be_sig_triple_(val__new, add_def_a1, { ns, id })
|
|
76
79
|
}
|