ctx-core 5.16.0 → 5.16.2

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.
@@ -89,13 +89,13 @@ test('be_lock_memosig_triple_|+id|+ns', ()=>{
89
89
  equal(subscriber_count, 2)
90
90
  equal(subscriber_dep_(ctx), 7)
91
91
  base__set(ctx, 2)
92
- equal(foobar$_(ns_ctx__new(ctx__new(), ctx))._, 3)
93
- equal(foobar_(ns_ctx__new(ctx__new(), ctx)), 3)
94
- equal(foobar$_(ctx)._, 3)
95
- equal(foobar_(ctx), 3)
96
- equal(subscriber_count, 3)
97
- equal((ctx.s['test_ns'].get('foobar')![0] as sig_T<number>)._, 3)
98
- equal(subscriber_dep_(ctx), 6)
92
+ equal(foobar$_(ns_ctx__new(ctx__new(), ctx))._, 5)
93
+ equal(foobar_(ns_ctx__new(ctx__new(), ctx)), 5)
94
+ equal(foobar$_(ctx)._, 5)
95
+ equal(foobar_(ctx), 5)
96
+ equal(subscriber_count, 2)
97
+ equal((ctx.s['test_ns'].get('foobar')![0] as sig_T<number>)._, 5)
98
+ equal(subscriber_dep_(ctx), 7)
99
99
  })
100
100
  test('be_lock_memosig_triple_|+be', ()=>{
101
101
  const ctx = ns_ctx__new('test_ns')
@@ -5,26 +5,37 @@ 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
6
  export declare function rmemo__on(rmemo:rmemo_T<unknown>):void
7
7
  export declare function rmemo__off(rmemo:rmemo_T<unknown>):void
8
- export declare function rmemo__add(rmemo:rmemo_T<unknown>, listener:()=>unknown):()=>void
8
+ export declare function rmemo__add<val_T, listener_val_T>(
9
+ rmemo:rmemo_T<val_T>,
10
+ listener:(sig:sig_T<val_T>, prev_val:listener_val_T|undefined)=>listener_val_T
11
+ ):()=>void
9
12
  export type rmemo_T<val_T> = memo_T<val_T>|sig_T<val_T>|lock_memosig_T<val_T>
10
13
  export type circular_rmemo_T = circular_memo_T|circular_sig_T|circular_lock_memosig_T
11
14
  export type memo_T<val_T> = (()=>val_T)&{
12
15
  readonly _:val_T
16
+ readonly a?:rmemo_a_T[]
17
+ readonly f?:rmemo_f_T
18
+ readonly memor:rmemo_r_T[]
19
+ readonly r?:rmemo_r_T
13
20
  readonly val:val_T
14
- r?:WeakRef<()=>val_T>
15
- memor:WeakRef<()=>val_T>[]
16
- a?:rmemo_a_T[]
17
- add<add_val_T>(add_def:(sig:sig_T<val_T>, prev_val:add_val_T|undefined)=>add_val_T):memo_T<val_T>
21
+ add<add_val_T>(add_def:rmemo_add_def_T<val_T, add_val_T>):memo_T<val_T>
22
+ memo_<_val_T>(def:memo_def_T<_val_T>):memo_T<_val_T>
18
23
  }
19
24
  export interface circular_memo_T extends memo_T<circular_memo_T> {
20
25
  }
21
26
  export type sig_T<val_T> = (()=>val_T)&{
22
27
  _:val_T
28
+ readonly a?:rmemo_a_T[]
29
+ readonly f?:(()=>void)&{
30
+ readonly l:number
31
+ readonly s:rmemo_T<unknown>[]
32
+ readonly S:rmemo_T<unknown>[]
33
+ }
34
+ readonly memor:rmemo_r_T[]
35
+ readonly r?:rmemo_r_T
23
36
  readonly val:val_T
24
- r?:WeakRef<()=>val_T>
25
- memor:WeakRef<()=>val_T>[]
26
- a?:rmemo_a_T[]
27
- add<add_val_T>(fn:(sig:sig_T<val_T>, prev_val:add_val_T|undefined)=>add_val_T):sig_T<val_T>
37
+ add<add_val_T>(fn:rmemo_add_def_T<val_T, add_val_T>):sig_T<val_T>
38
+ memo_<_val_T>(def:memo_def_T<_val_T>):memo_T<_val_T>
28
39
  }
29
40
  export interface circular_sig_T extends sig_T<circular_sig_T> {
30
41
  }
@@ -39,3 +50,10 @@ export type rmemo_val_T<sig_T> = sig_T extends { ():infer val_T }
39
50
  export type memo_def_T<val_T> = (sig:sig_T<val_T>)=>val_T
40
51
  export type rmemo_a_T = [memo_T<unknown>, unknown]
41
52
  export type rmemo_add_T<val_T, SV> = (sig:sig_T<val_T>, old_val:SV|undefined)=>SV
53
+ export type rmemo_add_def_T<val_T, add_val_T> = (sig:sig_T<val_T>, prev_val:add_val_T|undefined)=>add_val_T
54
+ export type rmemo_f_T = (()=>void)&{
55
+ readonly l:number
56
+ readonly s:rmemo_T<unknown>[]
57
+ readonly S:rmemo_T<unknown>[]
58
+ }
59
+ export type rmemo_r_T = WeakRef<rmemo_f_T>&{ readonly d?: ()=>rmemo_f_T }
@@ -1,21 +1,26 @@
1
1
  /// <reference types="./index.d.ts" />
2
- /** @type {WeakRef<memo_T>} */
2
+ /** @type {memo_T} */
3
3
  let cur_memo
4
- /** @type {Set<()=>unknown>} */
4
+ /** @type {Set<(()=>unknown)&{ l:number }>} */
5
5
  let queue = new Set
6
6
  /**
7
7
  * @param {memo_def_T}memo_def
8
- * @param {rmemo_add_T<unknown>[]}add_def_a
8
+ * @param {rmemo_add_def_T}add_def_a
9
9
  * @returns {memo_T}
10
10
  * @private
11
11
  */
12
12
  export function memo_(memo_def, ...add_def_a) {
13
+ /** @type {memo_T} */
13
14
  let memo = ()=>{
14
15
  if (!('val' in memo)) {
15
16
  memo.f()
16
17
  }
17
18
  if (cur_memo) {
18
- if (!memo.memor.includes(cur_memo.r ||= new WeakRef(cur_memo.f))) memo.memor.push(cur_memo.r)
19
+ if (!memo.memor.includes(
20
+ cur_memo.r ||= new WeakRef(cur_memo.f)
21
+ )) {
22
+ memo.memor.push(cur_memo.r)
23
+ }
19
24
  if (cur_memo.f.l < memo.f.l + 1) cur_memo.f.l = memo.f.l + 1
20
25
  // memo is called by cur_memo's conditional execution...next change to memo will notify cur_memo
21
26
  cur_memo.f.s.push(memo)
@@ -53,6 +58,10 @@ export function memo_(memo_def, ...add_def_a) {
53
58
  }
54
59
  },
55
60
  })
61
+ /**
62
+ * @param {rmemo_add_def_T}add_def
63
+ * @returns {memo_T}
64
+ */
56
65
  memo.add = add_def=>{
57
66
  if (memo.a) {
58
67
  let pair = [memo_(()=>pair[1] = add_def(memo, pair[1]))]
@@ -78,21 +87,31 @@ export function memo_(memo_def, ...add_def_a) {
78
87
  memo.f.s = []
79
88
  memo.f.S = []
80
89
  memo.memor = []
90
+ // memo.memo_ = memo_
81
91
  return memo
82
92
  }
83
93
  export { memo_ as memosig_ }
84
94
  /**
85
95
  * @param {memo_def_T}memo_def
86
- * @param {rmemo_add_T<unknown>[]}subscriber_a
96
+ * @param {rmemo_add_def_T}add_def_a
87
97
  * @returns {sig_T}
88
98
  * @private
89
99
  */
90
- export function lock_memosig_(memo_def, ...subscriber_a) {
91
- return new Proxy(
100
+ export function lock_memosig_(memo_def, ...add_def_a) {
101
+ let lock_memosig = new Proxy(
92
102
  /** @type {sig_T} */memo_(memo=>
93
103
  memo.lock ? memo._ : memo_def(memo),
94
- ...subscriber_a),
104
+ ...add_def_a),
95
105
  {
106
+ get(memo, prop) {
107
+ if (prop === 'add') {
108
+ return (...arg_a)=>{
109
+ memo[prop](...arg_a)
110
+ return lock_memosig
111
+ }
112
+ }
113
+ return memo[prop]
114
+ },
96
115
  set(memo, prop, val) {
97
116
  if (prop === '_') {
98
117
  memo.lock = 1
@@ -101,19 +120,20 @@ export function lock_memosig_(memo_def, ...subscriber_a) {
101
120
  return 1
102
121
  }
103
122
  })
123
+ return lock_memosig
104
124
  }
105
125
  /**
106
126
  * @param {unknown}init_val
107
- * @param {rmemo_add_T[]}add_a
127
+ * @param {rmemo_add_def_T}add_def_a
108
128
  * @returns {sig_T}
109
129
  * @private
110
130
  */
111
- export function sig_(init_val, ...add_a) {
131
+ export function sig_(init_val, ...add_def_a) {
112
132
  return memo_(sig=>
113
133
  'val' in sig
114
134
  ? sig.val
115
135
  : init_val,
116
- ...add_a)
136
+ ...add_def_a)
117
137
  }
118
138
  /**
119
139
  * Call the rmemo & enable updates from it's parents.
@@ -141,14 +161,14 @@ export function rmemo__off(rmemo) {
141
161
  * The add_def can autosubscribe to any rmemo.
142
162
  * Returns an "off" function which deactivates the reactive add_def & removes the GC binding from the given memo.
143
163
  * @param {rmemo_T}memo
144
- * @param {()=>unknown}add_def
164
+ * @param {rmemo_add_def_T}add_def
145
165
  * @returns {()=>void}
146
166
  */
147
167
  export function rmemo__add(memo, add_def) {
148
168
  let pair
149
- memo.add(()=>{
169
+ memo.add((...arg_a)=>{
150
170
  pair = memo.a[memo.a.length - 1]
151
- return add_def(memo)
171
+ return add_def(...arg_a)
152
172
  })
153
173
  return ()=>{
154
174
  rmemo__off(pair[0])
@@ -4,7 +4,7 @@ import { deepStrictEqual } from 'node:assert'
4
4
  import { test } from 'uvu'
5
5
  import { equal } from 'uvu/assert'
6
6
  import { sleep } from '../sleep/index.js'
7
- import { lock_memosig_, memo_, type memo_T, memosig_, rmemo__off, rmemo__on, rmemo__add, sig_ } from './index.js'
7
+ import { lock_memosig_, memo_, type memo_T, memosig_, rmemo__off, rmemo__on, rmemo__add, sig_, sig_T } from './index.js'
8
8
  test('memo_|static value', ()=>{
9
9
  let count = 0
10
10
  const memo = memo_(()=>{
@@ -471,23 +471,18 @@ test('.rmemo__on + .rmemo__off', ()=>{
471
471
  })
472
472
  test('rmemo__add', ()=>{
473
473
  const base$ = sig_(1)
474
- let count = 0
475
- const subscriber_base_a:number[] = []
476
- const off = rmemo__add(base$, ()=>{
477
- count++
478
- subscriber_base_a.push(base$())
474
+ const add_arg_aa_val_aaa:[[sig_T<number>, string|undefined], number][] = []
475
+ const off = rmemo__add<number, string>(base$, (...arg_a)=>{
476
+ add_arg_aa_val_aaa.push([arg_a, arg_a[0]()])
477
+ return 'val-'+arg_a[0]()
479
478
  })
480
- equal(subscriber_base_a, [])
481
- equal(count, 0)
479
+ equal(add_arg_aa_val_aaa, [])
482
480
  base$()
483
- equal(subscriber_base_a, [1])
484
- equal(count, 1)
481
+ equal(add_arg_aa_val_aaa, [[[base$, undefined], 1]])
485
482
  base$._ = 2
486
- equal(subscriber_base_a, [1, 2])
487
- equal(count, 2)
483
+ equal(add_arg_aa_val_aaa, [[[base$, undefined], 1], [[base$, 'val-1'], 2]])
488
484
  off()
489
485
  base$._ = 3
490
- equal(subscriber_base_a, [1, 2])
491
- equal(count, 2)
486
+ equal(add_arg_aa_val_aaa, [[[base$, undefined], 1], [[base$, 'val-1'], 2]])
492
487
  })
493
488
  test.run()
@@ -9,7 +9,7 @@ test('waitfor|success', async ()=>{
9
9
  const promise = waitfor(()=>{
10
10
  count++
11
11
  return ret
12
- }, 10)
12
+ }, 50)
13
13
  .then(returned_value=>{
14
14
  returned_value_a.push(returned_value)
15
15
  return returned_value
@@ -40,7 +40,7 @@ test('waitfor|cancel', async ()=>{
40
40
  const promise = waitfor(()=>{
41
41
  count++
42
42
  return false
43
- }, 10)
43
+ }, 50)
44
44
  equal(count, 1)
45
45
  equal(await promise.cancel(), false)
46
46
  equal(count, 1)
@@ -50,7 +50,7 @@ test('waitfor|cancel', async ()=>{
50
50
  const undefinable_promise = waitfor<boolean|undefined>(()=>{
51
51
  count++
52
52
  return false
53
- }, 10)
53
+ }, 50)
54
54
  equal(count, 1)
55
55
  equal(await undefinable_promise.cancel(undefined), undefined)
56
56
  equal(count, 1)
@@ -63,7 +63,7 @@ test('waitfor|period|number', async ()=>{
63
63
  const promise = waitfor(()=>{
64
64
  count++
65
65
  return ret
66
- }, 10, 2)
66
+ }, 50, 2)
67
67
  try {
68
68
  equal(count, 1)
69
69
  await sleep(2)
@@ -85,7 +85,7 @@ test('waitfor|period|async function', async ()=>{
85
85
  const promise = waitfor(()=>{
86
86
  count++
87
87
  return ret
88
- }, 10, (...arg_a)=>{
88
+ }, 50, (...arg_a)=>{
89
89
  period_arg_aa.push(arg_a)
90
90
  return sleep(2)
91
91
  })
package/package.json CHANGED
@@ -1,250 +1,251 @@
1
1
  {
2
- "name": "ctx-core",
3
- "version": "5.16.0",
4
- "description": "ctx-core core library",
5
- "keywords": [
6
- "ctx-core",
7
- "array",
8
- "combinators",
9
- "function",
10
- "object",
11
- "set"
12
- ],
13
- "homepage": "https://github.com/ctx-core/ctx-core#readme",
14
- "bugs": {
15
- "url": "https://github.com/ctx-core/ctx-core/issues"
16
- },
17
- "repository": {
18
- "type": "git",
19
- "url": "https://github.com/ctx-core/ctx-core.git"
20
- },
21
- "license": "Apache-2.0",
22
- "author": "Brian Takita",
23
- "type": "module",
24
- "files": [
25
- "*.d.ts",
26
- "*.js",
27
- "*.json",
28
- "all",
29
- "array",
30
- "atob",
31
- "base16",
32
- "be",
33
- "btoa",
34
- "buffer",
35
- "chain",
36
- "class",
37
- "cli-args",
38
- "color",
39
- "combinators",
40
- "crypto",
41
- "currency",
42
- "data",
43
- "date",
44
- "debounce",
45
- "deep_equal",
46
- "env",
47
- "error",
48
- "falsy",
49
- "fetch",
50
- "fibonacci",
51
- "fs",
52
- "function",
53
- "functional",
54
- "html",
55
- "http",
56
- "math",
57
- "matrix",
58
- "nullish",
59
- "number",
60
- "object",
61
- "promise",
62
- "queue",
63
- "random",
64
- "regex",
65
- "rmemo",
66
- "run",
67
- "set",
68
- "sleep",
69
- "string",
70
- "tempfile",
71
- "test",
72
- "time",
73
- "tuple",
74
- "types",
75
- "uri",
76
- "uuid",
77
- "package.json"
78
- ],
79
- "types": "./src/index.d.ts",
80
- "exports": {
81
- ".": "./index.js",
82
- "./all": "./all/index.js",
83
- "./array": "./array/index.js",
84
- "./atob": "./atob/index.js",
85
- "./base16": "./base16/index.js",
86
- "./be": "./be/index.js",
87
- "./btoa": "./btoa/index.js",
88
- "./buffer": "./buffer/index.js",
89
- "./chain": "./chain/index.js",
90
- "./class": "./class/index.js",
91
- "./cli-args": "./cli-args/index.js",
92
- "./color": "./color/index.js",
93
- "./combinators": "./combinators/index.js",
94
- "./crypto": "./crypto/index.js",
95
- "./currency": "./currency/index.js",
96
- "./data": "./data/index.js",
97
- "./date": "./date/index.js",
98
- "./debounce": "./debounce/index.js",
99
- "./deep_equal": "./deep_equal/index.js",
100
- "./env": "./env/index.js",
101
- "./error": "./error/index.js",
102
- "./falsy": "./falsy/index.js",
103
- "./fetch": "./fetch/index.js",
104
- "./fibonacci": "./fibonacci/index.js",
105
- "./fs": "./fs/index.js",
106
- "./function": "./function/index.js",
107
- "./functional": "./functional/index.js",
108
- "./html": "./html/index.js",
109
- "./http": "./http/index.js",
110
- "./math": "./math/index.js",
111
- "./matrix": "./matrix/index.js",
112
- "./nullish": "./nullish/index.js",
113
- "./number": "./number/index.js",
114
- "./object": "./object/index.js",
115
- "./promise": "./promise/index.js",
116
- "./queue": "./queue/index.js",
117
- "./random": "./random/index.js",
118
- "./regex": "./regex/index.js",
119
- "./rmemo": "./rmemo/index.js",
120
- "./run": "./run/index.js",
121
- "./set": "./set/index.js",
122
- "./sleep": "./sleep/index.js",
123
- "./string": "./string/index.js",
124
- "./tempfile": "./tempfile/index.js",
125
- "./test": "./test/index.js",
126
- "./time": "./time/index.js",
127
- "./tuple": "./tuple/index.js",
128
- "./types": "./types/index.js",
129
- "./uri": "./uri/index.js",
130
- "./uuid": "./uuid/index.js",
131
- "./package.json": "./package.json"
132
- },
133
- "devDependencies": {
134
- "@arethetypeswrong/cli": "^0.13.5",
135
- "@ctx-core/preprocess": "^0.1.0",
136
- "@size-limit/preset-small-lib": "^11.0.1",
137
- "@types/node": "^20.10.7",
138
- "@types/sinon": "^17.0.2",
139
- "c8": "^9.0.0",
140
- "check-dts": "^0.7.2",
141
- "esbuild": "^0.19.11",
142
- "esmock": "^2.6.0",
143
- "sinon": "^17.0.1",
144
- "size-limit": "^11.0.1",
145
- "tsx": "^4.7.0",
146
- "typescript": "next",
147
- "uvu": "^0.5.6"
148
- },
149
- "publishConfig": {
150
- "access": "public",
151
- "cache": "~/.npm"
152
- },
153
- "sideEffects": false,
154
- "size-limit": [
155
- {
156
- "name": "ctx_",
157
- "import": {
158
- "./be": "{ ctx_ }"
159
- },
160
- "limit": "33 B"
161
- },
162
- {
163
- "name": "ns_ctx_",
164
- "import": {
165
- "./be": "{ ns_ctx_ }"
166
- },
167
- "limit": "85 B"
168
- },
169
- {
170
- "name": "be_",
171
- "import": {
172
- "./be": "{ be_ }"
173
- },
174
- "limit": "99 B"
175
- },
176
- {
177
- "name": "be_ ctx_",
178
- "import": {
179
- "./be": "{ be_, ctx_ }"
180
- },
181
- "limit": "131 B"
182
- },
183
- {
184
- "name": "be_ ns_ctx_",
185
- "import": {
186
- "./be": "{ be_, ctx_, ns_ctx_ }"
187
- },
188
- "limit": "190 B"
189
- },
190
- {
191
- "name": "be_ ctx_ ns_ctx_",
192
- "import": {
193
- "./be": "{ be_, ctx_, ns_ctx_ }"
194
- },
195
- "limit": "190 B"
196
- },
197
- {
198
- "name": "memo_",
199
- "import": {
200
- "./rmemo": "{ memo_ }"
201
- },
202
- "limit": "355 B"
203
- },
204
- {
205
- "name": "memo_ sig_",
206
- "import": {
207
- "./rmemo": "{ sig_, memo_ }"
208
- },
209
- "limit": "377 B"
210
- },
211
- {
212
- "name": "memo_ sig_ be_ ctx_",
213
- "import": {
214
- "./rmemo": "{ sig_, memo_, be_, ctx_ }"
215
- },
216
- "limit": "477 B"
217
- },
218
- {
219
- "name": "memo_ sig_ be_ ctx_ be_memo_pair_ be_sig_triple_",
220
- "import": {
221
- "./rmemo": "{ sig_, memo_, be_, ctx_, be_memo_pair_, be_sig_triple_ }"
222
- },
223
- "limit": "580 B"
224
- },
225
- {
226
- "name": "uuid",
227
- "import": {
228
- "./uuid": "{ uuid_ }"
229
- },
230
- "limit": "39 B"
231
- },
232
- {
233
- "name": "short uuid",
234
- "import": {
235
- "./uuid": "{ short_uuid_ }"
236
- },
237
- "limit": "116 B"
238
- }
239
- ],
240
- "scripts": {
241
- "build": ":",
242
- "clean": ":",
243
- "exec": "$@",
244
- "test": "pnpm run /^test:/",
245
- "test:size": "size-limit",
246
- "test:type": "check-dts",
247
- "test:unit": "NODE_OPTIONS=--loader=esmock tsx node_modules/uvu/bin.js . '\\.test\\.(ts|js)$'",
248
- "disable:test:coverage": "c8 pnpm test:unit"
249
- }
2
+ "name": "ctx-core",
3
+ "version": "5.16.2",
4
+ "description": "ctx-core core library",
5
+ "keywords": [
6
+ "ctx-core",
7
+ "array",
8
+ "combinators",
9
+ "function",
10
+ "object",
11
+ "set"
12
+ ],
13
+ "homepage": "https://github.com/ctx-core/ctx-core#readme",
14
+ "bugs": {
15
+ "url": "https://github.com/ctx-core/ctx-core/issues"
16
+ },
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "https://github.com/ctx-core/ctx-core.git"
20
+ },
21
+ "license": "Apache-2.0",
22
+ "author": "Brian Takita",
23
+ "type": "module",
24
+ "files": [
25
+ "*.d.ts",
26
+ "*.js",
27
+ "*.json",
28
+ "all",
29
+ "array",
30
+ "atob",
31
+ "base16",
32
+ "be",
33
+ "btoa",
34
+ "buffer",
35
+ "chain",
36
+ "class",
37
+ "cli-args",
38
+ "color",
39
+ "combinators",
40
+ "crypto",
41
+ "currency",
42
+ "data",
43
+ "date",
44
+ "debounce",
45
+ "deep_equal",
46
+ "env",
47
+ "error",
48
+ "falsy",
49
+ "fetch",
50
+ "fibonacci",
51
+ "fs",
52
+ "function",
53
+ "functional",
54
+ "html",
55
+ "http",
56
+ "math",
57
+ "matrix",
58
+ "nullish",
59
+ "number",
60
+ "object",
61
+ "promise",
62
+ "queue",
63
+ "random",
64
+ "regex",
65
+ "rmemo",
66
+ "run",
67
+ "set",
68
+ "sleep",
69
+ "string",
70
+ "tempfile",
71
+ "test",
72
+ "time",
73
+ "tuple",
74
+ "types",
75
+ "uri",
76
+ "uuid",
77
+ "package.json"
78
+ ],
79
+ "types": "./src/index.d.ts",
80
+ "exports": {
81
+ ".": "./index.js",
82
+ "./all": "./all/index.js",
83
+ "./array": "./array/index.js",
84
+ "./atob": "./atob/index.js",
85
+ "./base16": "./base16/index.js",
86
+ "./be": "./be/index.js",
87
+ "./btoa": "./btoa/index.js",
88
+ "./buffer": "./buffer/index.js",
89
+ "./chain": "./chain/index.js",
90
+ "./class": "./class/index.js",
91
+ "./cli-args": "./cli-args/index.js",
92
+ "./color": "./color/index.js",
93
+ "./combinators": "./combinators/index.js",
94
+ "./crypto": "./crypto/index.js",
95
+ "./currency": "./currency/index.js",
96
+ "./data": "./data/index.js",
97
+ "./date": "./date/index.js",
98
+ "./debounce": "./debounce/index.js",
99
+ "./deep_equal": "./deep_equal/index.js",
100
+ "./env": "./env/index.js",
101
+ "./error": "./error/index.js",
102
+ "./falsy": "./falsy/index.js",
103
+ "./fetch": "./fetch/index.js",
104
+ "./fibonacci": "./fibonacci/index.js",
105
+ "./fs": "./fs/index.js",
106
+ "./function": "./function/index.js",
107
+ "./functional": "./functional/index.js",
108
+ "./html": "./html/index.js",
109
+ "./http": "./http/index.js",
110
+ "./math": "./math/index.js",
111
+ "./matrix": "./matrix/index.js",
112
+ "./nullish": "./nullish/index.js",
113
+ "./number": "./number/index.js",
114
+ "./object": "./object/index.js",
115
+ "./promise": "./promise/index.js",
116
+ "./queue": "./queue/index.js",
117
+ "./random": "./random/index.js",
118
+ "./regex": "./regex/index.js",
119
+ "./rmemo": "./rmemo/index.js",
120
+ "./run": "./run/index.js",
121
+ "./set": "./set/index.js",
122
+ "./sleep": "./sleep/index.js",
123
+ "./string": "./string/index.js",
124
+ "./tempfile": "./tempfile/index.js",
125
+ "./test": "./test/index.js",
126
+ "./time": "./time/index.js",
127
+ "./tuple": "./tuple/index.js",
128
+ "./types": "./types/index.js",
129
+ "./uri": "./uri/index.js",
130
+ "./uuid": "./uuid/index.js",
131
+ "./package.json": "./package.json"
132
+ },
133
+ "scripts": {
134
+ "build": ":",
135
+ "clean": ":",
136
+ "exec": "$@",
137
+ "prepublishOnly": "pnpm clean && pnpm build && pnpm test",
138
+ "test": "pnpm run /^test:/",
139
+ "test:size": "size-limit",
140
+ "test:type": "check-dts",
141
+ "test:unit": "NODE_OPTIONS=--loader=esmock tsx node_modules/uvu/bin.js . '\\.test\\.(ts|js)$'",
142
+ "disable:test:coverage": "c8 pnpm test:unit"
143
+ },
144
+ "devDependencies": {
145
+ "@arethetypeswrong/cli": "^0.13.5",
146
+ "@ctx-core/preprocess": "^0.1.0",
147
+ "@size-limit/preset-small-lib": "^11.0.1",
148
+ "@types/node": "^20.10.8",
149
+ "@types/sinon": "^17.0.3",
150
+ "c8": "^9.0.0",
151
+ "check-dts": "^0.7.2",
152
+ "esbuild": "^0.19.11",
153
+ "esmock": "^2.6.0",
154
+ "sinon": "^17.0.1",
155
+ "size-limit": "^11.0.1",
156
+ "tsx": "^4.7.0",
157
+ "typescript": "next",
158
+ "uvu": "^0.5.6"
159
+ },
160
+ "publishConfig": {
161
+ "access": "public",
162
+ "cache": "~/.npm"
163
+ },
164
+ "sideEffects": false,
165
+ "size-limit": [
166
+ {
167
+ "name": "ctx_",
168
+ "import": {
169
+ "./be": "{ ctx_ }"
170
+ },
171
+ "limit": "33 B"
172
+ },
173
+ {
174
+ "name": "ns_ctx_",
175
+ "import": {
176
+ "./be": "{ ns_ctx_ }"
177
+ },
178
+ "limit": "85 B"
179
+ },
180
+ {
181
+ "name": "be_",
182
+ "import": {
183
+ "./be": "{ be_ }"
184
+ },
185
+ "limit": "99 B"
186
+ },
187
+ {
188
+ "name": "be_ ctx_",
189
+ "import": {
190
+ "./be": "{ be_, ctx_ }"
191
+ },
192
+ "limit": "131 B"
193
+ },
194
+ {
195
+ "name": "be_ ns_ctx_",
196
+ "import": {
197
+ "./be": "{ be_, ctx_, ns_ctx_ }"
198
+ },
199
+ "limit": "190 B"
200
+ },
201
+ {
202
+ "name": "be_ ctx_ ns_ctx_",
203
+ "import": {
204
+ "./be": "{ be_, ctx_, ns_ctx_ }"
205
+ },
206
+ "limit": "190 B"
207
+ },
208
+ {
209
+ "name": "memo_",
210
+ "import": {
211
+ "./rmemo": "{ memo_ }"
212
+ },
213
+ "limit": "355 B"
214
+ },
215
+ {
216
+ "name": "memo_ sig_",
217
+ "import": {
218
+ "./rmemo": "{ sig_, memo_ }"
219
+ },
220
+ "limit": "377 B"
221
+ },
222
+ {
223
+ "name": "memo_ sig_ be_ ctx_",
224
+ "import": {
225
+ "./rmemo": "{ sig_, memo_, be_, ctx_ }"
226
+ },
227
+ "limit": "478 B"
228
+ },
229
+ {
230
+ "name": "memo_ sig_ be_ ctx_ be_memo_pair_ be_sig_triple_",
231
+ "import": {
232
+ "./rmemo": "{ sig_, memo_, be_, ctx_, be_memo_pair_, be_sig_triple_ }"
233
+ },
234
+ "limit": "580 B"
235
+ },
236
+ {
237
+ "name": "uuid",
238
+ "import": {
239
+ "./uuid": "{ uuid_ }"
240
+ },
241
+ "limit": "39 B"
242
+ },
243
+ {
244
+ "name": "short uuid",
245
+ "import": {
246
+ "./uuid": "{ short_uuid_ }"
247
+ },
248
+ "limit": "116 B"
249
+ }
250
+ ]
250
251
  }