ctx-core 5.17.1 → 5.18.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 -3
- package/all/rmemo/index.js +10 -1
- package/all/rmemo/index.test.ts +12 -2
- package/array/index.d.ts +2 -0
- package/array/index.js +2 -0
- package/package.json +3 -3
- package/rmemo/index.d.ts +2 -2
- package/rmemo/index.js +2 -2
package/all/rmemo/index.d.ts
CHANGED
|
@@ -3,6 +3,11 @@ export declare function memo_<val_T>(def:memo_def_T<val_T>):memo_T<val_T>
|
|
|
3
3
|
export declare function sig_<val_T>(init_val:val_T):sig_T<val_T>
|
|
4
4
|
export declare function memosig_<val_T>(def:memo_def_T<val_T>):sig_T<val_T>
|
|
5
5
|
export declare function lock_memosig_<val_T>(def:memo_def_T<val_T>):sig_T<val_T>
|
|
6
|
+
export declare function memo__bind<A extends unknown[], R>(
|
|
7
|
+
fn:(...arg_a:A)=>R
|
|
8
|
+
):((...arg_a:A)=>R)&{
|
|
9
|
+
memo_<val_T>(def:memo_def_T<val_T>):memo_T<val_T>
|
|
10
|
+
}
|
|
6
11
|
export declare function rmemo__on<val_T>(rmemo:rmemo_T<val_T>, off_fn?:(rmemo:rmemo_T<val_T>)=>unknown):void
|
|
7
12
|
export declare function rmemo__off<val_T>(rmemo:rmemo_T<val_T>):void
|
|
8
13
|
export declare function rmemo__off__add<val_T>(rmemo:rmemo_T<val_T>, off_fn:(rmemo:rmemo_T<val_T>)=>unknown):void
|
|
@@ -18,6 +23,9 @@ export type memo_T<val_T> = (()=>val_T)&{
|
|
|
18
23
|
readonly f?:rmemo_f_T
|
|
19
24
|
readonly s?:rmemo_r_T
|
|
20
25
|
readonly t:rmemo_r_T[]
|
|
26
|
+
readonly l:number
|
|
27
|
+
readonly u:rmemo_T<unknown>[]
|
|
28
|
+
readonly v:rmemo_T<unknown>[]
|
|
21
29
|
readonly val:val_T
|
|
22
30
|
add<add_val_T>(add_def:rmemo_add_def_T<val_T, add_val_T>):memo_T<val_T>
|
|
23
31
|
memo_<_val_T>(def:memo_def_T<_val_T>):memo_T<_val_T>
|
|
@@ -30,6 +38,9 @@ export type sig_T<val_T> = (()=>val_T)&{
|
|
|
30
38
|
readonly f?:rmemo_f_T
|
|
31
39
|
readonly s?:rmemo_r_T
|
|
32
40
|
readonly t:rmemo_r_T[]
|
|
41
|
+
readonly l:number
|
|
42
|
+
readonly u:rmemo_T<unknown>[]
|
|
43
|
+
readonly v:rmemo_T<unknown>[]
|
|
33
44
|
readonly val:val_T
|
|
34
45
|
add<add_val_T>(fn:rmemo_add_def_T<val_T, add_val_T>):sig_T<val_T>
|
|
35
46
|
memo_<_val_T>(def:memo_def_T<_val_T>):memo_T<_val_T>
|
|
@@ -48,8 +59,8 @@ export type memo_def_T<val_T> = (sig:sig_T<val_T>)=>val_T
|
|
|
48
59
|
export type rmemo_a_T = unknown[]
|
|
49
60
|
export type rmemo_add_def_T<val_T, add_val_T> = (sig:sig_T<val_T>)=>add_val_T
|
|
50
61
|
export type rmemo_f_T = (()=>void)&{
|
|
51
|
-
readonly l:number
|
|
52
|
-
readonly s:rmemo_T<unknown>[]
|
|
53
|
-
readonly t:rmemo_T<unknown>[]
|
|
62
|
+
// readonly l:number
|
|
63
|
+
// readonly s:rmemo_T<unknown>[]
|
|
64
|
+
// readonly t:rmemo_T<unknown>[]
|
|
54
65
|
}
|
|
55
66
|
export type rmemo_r_T = WeakRef<rmemo_f_T>&{ readonly d?: ()=>rmemo_f_T }
|
package/all/rmemo/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="./index.d.ts" />
|
|
2
2
|
/** @type {memo_T} */
|
|
3
3
|
let cur_memo
|
|
4
|
-
/** @type {Set<
|
|
4
|
+
/** @type {Set<memo_T>} */
|
|
5
5
|
let queue = new Set
|
|
6
6
|
/**
|
|
7
7
|
* @param {memo_def_T}memo_def
|
|
@@ -138,6 +138,15 @@ export function sig_(init_val, ...add_def_a) {
|
|
|
138
138
|
: init_val,
|
|
139
139
|
...add_def_a)
|
|
140
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* @param {(...arg_a:unknown[])=>unknown}fn
|
|
143
|
+
* @returns {((...arg_a:unknown[])=>unknown)&{ memo_: typeof memo_ }}
|
|
144
|
+
* @private
|
|
145
|
+
*/
|
|
146
|
+
export function memo__bind(fn) {
|
|
147
|
+
fn.memo_ = memo_
|
|
148
|
+
return fn
|
|
149
|
+
}
|
|
141
150
|
/**
|
|
142
151
|
* Call the rmemo & enable updates from it's parents.
|
|
143
152
|
* @param {rmemo_T}rmemo
|
package/all/rmemo/index.test.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { equal } from 'uvu/assert'
|
|
|
6
6
|
import { sleep } from '../sleep/index.js'
|
|
7
7
|
import {
|
|
8
8
|
lock_memosig_,
|
|
9
|
-
memo_,
|
|
9
|
+
memo_, memo__bind,
|
|
10
10
|
type memo_T,
|
|
11
11
|
memosig_,
|
|
12
12
|
rmemo__add,
|
|
@@ -491,7 +491,17 @@ test('computes initial value when argument is undefined', ()=>{
|
|
|
491
491
|
equal(one$(), undefined)
|
|
492
492
|
equal(two$(), false)
|
|
493
493
|
})
|
|
494
|
-
test('
|
|
494
|
+
test('memo__bind', ()=>{
|
|
495
|
+
const base$ = sig_(1)
|
|
496
|
+
const bind_fn = memo__bind(()=>base$() + 10)
|
|
497
|
+
const bind_memo$ = bind_fn.memo_(bind_fn)
|
|
498
|
+
equal(bind_fn(), 11)
|
|
499
|
+
equal(bind_memo$(), 11)
|
|
500
|
+
base$._ = 2
|
|
501
|
+
equal(bind_fn(), 12)
|
|
502
|
+
equal(bind_memo$(), 12)
|
|
503
|
+
})
|
|
504
|
+
test('rmemo__on,rmemo__off__add,rmemo__off', ()=>{
|
|
495
505
|
const base$ = sig_(1)
|
|
496
506
|
let count = 0
|
|
497
507
|
const rmemo__off__add_arg_aa:[rmemo_T<number>][] = []
|
package/array/index.d.ts
CHANGED
package/array/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ctx-core",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.18.1",
|
|
4
4
|
"description": "ctx-core core library",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ctx-core",
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
"@size-limit/preset-small-lib": "^11.0.1",
|
|
137
137
|
"@types/node": "^20.11.0",
|
|
138
138
|
"@types/sinon": "^17.0.3",
|
|
139
|
-
"c8": "^9.
|
|
139
|
+
"c8": "^9.1.0",
|
|
140
140
|
"check-dts": "^0.7.2",
|
|
141
141
|
"esbuild": "^0.19.11",
|
|
142
142
|
"esmock": "^2.6.0",
|
|
@@ -220,7 +220,7 @@
|
|
|
220
220
|
"import": {
|
|
221
221
|
"./rmemo": "{ sig_, memo_, be_, ctx_, be_memo_pair_, be_sig_triple_ }"
|
|
222
222
|
},
|
|
223
|
-
"limit": "
|
|
223
|
+
"limit": "576 B"
|
|
224
224
|
},
|
|
225
225
|
{
|
|
226
226
|
"name": "uuid",
|
package/rmemo/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { rmemo__off, rmemo__on, rmemo__add } from '../rmemo/index.js'
|
|
2
|
-
export { rmemo__off as off, rmemo__on as on, rmemo__add as subscribe }
|
|
1
|
+
import { memo__bind, rmemo__off, rmemo__on, rmemo__add } from '../rmemo/index.js'
|
|
2
|
+
export { memo__bind as _, memo__bind as bind, rmemo__off as off, rmemo__on as on, rmemo__add as subscribe }
|
|
3
3
|
export * from '../all/be/index.js'
|
|
4
4
|
export * from '../all/be_/index.js'
|
|
5
5
|
export * from '../all/be_lock_memosig_triple/index.js'
|
package/rmemo/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { rmemo__off, rmemo__on
|
|
2
|
-
export { rmemo__off as off, rmemo__on as on, rmemo__add as subscribe }
|
|
1
|
+
import { memo__bind, rmemo__add, rmemo__off, rmemo__on } from '../rmemo/index.js'
|
|
2
|
+
export { memo__bind as _, memo__bind as bind, rmemo__off as off, rmemo__on as on, rmemo__add as subscribe }
|
|
3
3
|
export * from '../all/be/index.js'
|
|
4
4
|
export * from '../all/be_/index.js'
|
|
5
5
|
export * from '../all/be_lock_memosig_triple/index.js'
|