ctx-core 5.22.1 → 5.24.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.
@@ -17,7 +17,34 @@ export declare function be_<
17
17
  ctx_T extends Ctx_wide_T<ns_T> = Ctx_wide_T<ns_T>,
18
18
  >(
19
19
  val__new:be__val__new_T<val_T, ns_T, ctx_T>,
20
- config?:be_config_T<ns_T>
20
+ ...config:
21
+ ns_T extends ''
22
+ ? []|[config:be_config_T<ns_T>]
23
+ : [config:be_config_T<ns_T>]
24
+ ):Be<val_T, ns_T, ctx_T>
25
+ export declare function ns_be_<
26
+ val_T,
27
+ ns_T extends string,
28
+ ctx_T extends Ctx_wide_T<ns_T> = Ctx_wide_T<ns_T>,
29
+ >(
30
+ ns:ns_T,
31
+ val__new:be__val__new_T<val_T, ns_T, ctx_T>
32
+ ):Be<val_T, ns_T, ctx_T>
33
+ export declare function id_be_<
34
+ val_T,
35
+ ctx_T extends Ctx_wide_T<''> = Ctx_wide_T<''>,
36
+ >(
37
+ id:string,
38
+ val__new:be__val__new_T<val_T, '', ctx_T>
39
+ ):Be<val_T, '', ctx_T>
40
+ export declare function ns_id_be_<
41
+ val_T,
42
+ ns_T extends string,
43
+ ctx_T extends Ctx_wide_T<ns_T> = Ctx_wide_T<ns_T>,
44
+ >(
45
+ ns:ns_T,
46
+ id:string,
47
+ val__new:be__val__new_T<val_T, ns_T, ctx_T>
21
48
  ):Be<val_T, ns_T, ctx_T>
22
49
  export declare function ctx__set<
23
50
  val_T,
@@ -88,10 +115,10 @@ export type be_o_T<
88
115
  ns:ns_T
89
116
  is_be:true
90
117
  }
91
- export type be_config_T<ns_T extends string = string> = {
92
- id?:string
93
- ns?:ns_T
94
- }
118
+ export type be_config_T<ns_T extends string = string> =
119
+ ns_T extends ''
120
+ ? { id?:string, ns?:ns_T }
121
+ : { id?:string, ns:ns_T }
95
122
  export type BeMap<
96
123
  ns_T extends string = ''
97
124
  > =
package/all/be_/index.js CHANGED
@@ -40,6 +40,34 @@ export function be_(val__new, config) {
40
40
  be.is_be = true
41
41
  return be
42
42
  }
43
+ /**
44
+ * @param {string}ns
45
+ * @param {be__val__new_T}val__new
46
+ * @returns {Be}
47
+ * @private
48
+ */
49
+ export function ns_be_(ns, val__new) {
50
+ return be_(val__new, { ns })
51
+ }
52
+ /**
53
+ * @param {string}id
54
+ * @param {be__val__new_T}val__new
55
+ * @returns {Be}
56
+ * @private
57
+ */
58
+ export function id_be_(id, val__new) {
59
+ return be_(val__new, { id })
60
+ }
61
+ /**
62
+ * @param {string}ns
63
+ * @param {string}id
64
+ * @param {be__val__new_T}val__new
65
+ * @returns {Be}
66
+ * @private
67
+ */
68
+ export function ns_id_be_(ns, id, val__new) {
69
+ return be_(val__new, { ns, id })
70
+ }
43
71
  /**
44
72
  * Auto-memoization function for the Ctx.
45
73
  * Memoized on globalThis to allow packages being loaded multiple times, which can happen during bundling.
@@ -19,7 +19,7 @@ import {
19
19
  type Ctx_s_T,
20
20
  type Ctx_s_wide_T,
21
21
  type Ctx_wide_T,
22
- globalThis__be_,
22
+ globalThis__be_, id_be_, ns_be_, ns_id_be_,
23
23
  ondelete_be_
24
24
  } from '../be_/index.js'
25
25
  import { ctx__new, ns_ctx__new } from '../ctx/index.js'
@@ -88,7 +88,9 @@ test('be_|ns_ctx__new', ()=>{
88
88
  equal(ctx1.s[''].has(root_.id), false)
89
89
  equal(ctx2.s[''].has(root_.id), false)
90
90
  equal(ctx3.s[''].has(root_.id), true)
91
- const child_ = be_(ctx=>root_(ctx) + 1, { id: 'child_' })
91
+ const child_ = be_(
92
+ ctx=>root_(ctx) + 1,
93
+ { id: 'child_' })
92
94
  equal(child_(ctx), 2)
93
95
  equal(ctx0.s[''].has(child_.id), true)
94
96
  equal(ctx1.s[''].has(child_.id), false)
@@ -101,13 +103,14 @@ test('be_|ns', ()=>{
101
103
  const ctx1 = ns_ctx__new('ctx1')
102
104
  const ctx = ns_ctx__new(ctx0, ctx1)
103
105
  const be__ctx_a:Ctx_wide_T<'ctx1'>[] = []
104
- const root_ = be_(ctx=>{
105
- be__ctx_a.push(ctx)
106
- return 1
107
- }, {
108
- ns: 'ctx1',
109
- id: 'root_'
110
- })
106
+ const root_ = be_<number, 'ctx1'>(
107
+ ctx=>{
108
+ be__ctx_a.push(ctx)
109
+ return 1
110
+ }, {
111
+ id: 'root_',
112
+ ns: 'ctx1',
113
+ })
111
114
  equal(root_(ctx), 1)
112
115
  equal(be__ctx_a, [ctx])
113
116
  // @ts-expect-error TS2322
@@ -148,7 +151,7 @@ test('be_|ns|types', ()=>{
148
151
  ? typeof ctx
149
152
  : never>>
150
153
  type test_ctx_Ctx = Expect<Equal<typeof ctx, Ctx<''|'ctx1'>>>
151
- const root_ = be_(
154
+ const root_ = be_<number, 'ctx1'>(
152
155
  ctx=>{
153
156
  type test_be_ctx_argument = Expect<Equal<typeof ctx, Ctx_wide_T<'ctx1'>>>
154
157
  return 1
@@ -207,6 +210,29 @@ test('be_|circular dependency|DEBUG=1', async ()=>{
207
210
  await unlink(tempfile)
208
211
  }
209
212
  })
213
+ test('ns_be_', ()=>{
214
+ const valid_ctx = ns_ctx__new('test_ns')
215
+ const val_ = ns_be_('test_ns', ()=>true)
216
+ equal(val_(valid_ctx), true)
217
+ // @ts-expect-error TS2322
218
+ throws(()=>val_(ctx__new()))
219
+ })
220
+ test('id_be_', ()=>{
221
+ const valid_ctx = ctx__new()
222
+ const val_ = id_be_('test_id', ()=>true)
223
+ equal(val_(valid_ctx), true)
224
+ equal(val_.id, 'test_id')
225
+ // @ts-expect-error TS2322
226
+ throws(()=>val_(ns_ctx__new('test_ns')))
227
+ })
228
+ test('ns_id_be_', ()=>{
229
+ const valid_ctx = ns_ctx__new('test_ns')
230
+ const val_ = ns_id_be_('test_ns', 'test_id', ()=>true)
231
+ equal(val_(valid_ctx), true)
232
+ equal(val_.id, 'test_id')
233
+ // @ts-expect-error TS2322
234
+ throws(()=>val_(ctx__new()))
235
+ })
210
236
  test('ctx__set', ()=>{
211
237
  const ctx0 = ns_ctx__new('ctx0')
212
238
  const ctx1 = ctx__new()
@@ -288,8 +314,7 @@ test('ctx__delete|be', ()=>{
288
314
  // @ts-expect-error TS7053
289
315
  equal(ctx1.s[''], undefined)
290
316
  const ns__num_ =
291
- be_(()=>1,
292
- { ns: 'ctx1' })
317
+ ns_be_('ctx1', ()=>1)
293
318
  ns__num_(ns_ctx)
294
319
  // @ts-expect-error TS2345
295
320
  equal(ctx0.s[''].has(ns__num_.id), false)
@@ -3,29 +3,29 @@ import type { lock_memosig_T } from '../rmemo/index.js'
3
3
  export declare function be_lock_memosig_triple_<
4
4
  val_T,
5
5
  ns_T extends string = '',
6
- _sig_T extends lock_memosig_T<val_T> = lock_memosig_T<val_T>,
6
+ E = unknown,
7
7
  ctx_T extends Ctx_wide_T<ns_T> = Ctx_wide_T<ns_T>,
8
- >(be:Be<_sig_T, ns_T, ctx_T>):be_lock_memosig_triple_T<val_T, ns_T, _sig_T, ctx_T>
8
+ >(be:Be<lock_memosig_T<val_T, E>, ns_T, ctx_T>):be_lock_memosig_triple_T<val_T, ns_T, E, ctx_T>
9
9
  export declare function be_lock_memosig_triple_<
10
10
  val_T,
11
11
  ns_T extends string = '',
12
- _sig_T extends lock_memosig_T<val_T> = lock_memosig_T<val_T>,
12
+ E = unknown,
13
13
  ctx_T extends Ctx_wide_T<ns_T> = Ctx_wide_T<ns_T>,
14
14
  >(
15
- rmemo__new:(ctx:ctx_T, memosig:_sig_T)=>val_T,
15
+ rmemo__new:(ctx:ctx_T, memosig:lock_memosig_T<val_T, E>)=>val_T,
16
16
  config?:be_config_T<ns_T>
17
- ):be_lock_memosig_triple_T<val_T, ns_T, _sig_T, ctx_T>
17
+ ):be_lock_memosig_triple_T<val_T, ns_T, E, ctx_T>
18
18
  export type be_lock_memosig_triple_T<
19
19
  val_T,
20
20
  ns_T extends string = '',
21
- _sig_T extends lock_memosig_T<val_T> = lock_memosig_T<val_T>,
21
+ E = unknown,
22
22
  ctx_T extends Ctx_wide_T<ns_T> = Ctx_wide_T<ns_T>,
23
23
  > = [
24
- ctx__be_T<_sig_T, ns_T, ctx_T>,
24
+ ctx__be_T<lock_memosig_T<val_T, E>, ns_T, ctx_T>,
25
25
  ctx__get_T<val_T, ns_T, ctx_T>,
26
26
  ctx__set_T<val_T, ns_T, ctx_T>,
27
27
  ]&{
28
28
  add<add_val_T>(
29
- add_def:(ctx:ctx_T, sig:_sig_T)=>add_val_T
30
- ):be_lock_memosig_triple_T<val_T, ns_T, _sig_T, ctx_T>
29
+ add_def:(ctx:ctx_T, sig:lock_memosig_T<val_T, E>)=>add_val_T
30
+ ):be_lock_memosig_triple_T<val_T, ns_T, E, ctx_T>
31
31
  }
@@ -16,9 +16,7 @@ test('be_lock_memosig_triple_', ()=>{
16
16
  foobar$_,
17
17
  foobar_,
18
18
  foobar__set,
19
- ] = be_lock_memosig_triple_<number, '', sig_T<number>&{
20
- count:number
21
- }>((
19
+ ] = be_lock_memosig_triple_<number, '', { count:number }>((
22
20
  _ctx,
23
21
  foobar$
24
22
  )=>{
@@ -110,19 +108,19 @@ test('be_lock_memosig_triple_|+be', ()=>{
110
108
  foobar$_,
111
109
  foobar_,
112
110
  foobar__set,
113
- ] = be_lock_memosig_triple_<number, 'test_ns', custom_sig_T>(
111
+ ] = be_lock_memosig_triple_<number, 'test_ns', { custom: string }>(
114
112
  be_(ctx=>{
115
113
  /* eslint-disable @typescript-eslint/no-unused-vars */
116
114
  type test_ctx = Expect<Equal<typeof ctx, Ctx_wide_T<'test_ns'>>>
117
115
  /* eslint-enable @typescript-eslint/no-unused-vars */
118
116
  const foobar$ =
119
- memosig_(
117
+ memosig_<number, { custom: string }>(
120
118
  ()=>base_(ctx) + 1
121
119
  ).add(foobar$=>
122
120
  memo_(()=>{
123
121
  foobar$()
124
122
  add_count++
125
- })) as custom_sig_T
123
+ }))
126
124
  foobar$.custom = 'custom-val'
127
125
  return foobar$
128
126
  }, { id: 'foobar', ns: 'test_ns' }))
@@ -152,6 +150,3 @@ test('be_lock_memosig_triple_|+be', ()=>{
152
150
  equal(add_count, 3)
153
151
  })
154
152
  test.run()
155
- type custom_sig_T = sig_T<number>&{
156
- custom:string
157
- }
@@ -3,28 +3,27 @@ import type { memo_T, sig_T } from '../rmemo/index.js'
3
3
  export declare function be_memo_pair_<
4
4
  val_T,
5
5
  ns_T extends string = '',
6
- _memo_T extends memo_T<val_T> = memo_T<val_T>,
6
+ E = unknown,
7
7
  ctx_T extends Ctx_wide_T<ns_T> = Ctx_wide_T<ns_T>,
8
- >(be:Be<_memo_T, ns_T, ctx_T>):be_memo_pair_T<val_T, ns_T, _memo_T, ctx_T>
8
+ >(be:Be<memo_T<val_T, E>, ns_T, ctx_T>):be_memo_pair_T<val_T, ns_T, E, ctx_T>
9
9
  export declare function be_memo_pair_<
10
10
  val_T,
11
11
  ns_T extends string = '',
12
- _memo_T extends memo_T<val_T> = memo_T<val_T>,
12
+ E = unknown,
13
13
  ctx_T extends Ctx_wide_T<ns_T> = Ctx_wide_T<ns_T>,
14
14
  >(
15
- rmemo__new:(ctx:ctx_T, memo:_memo_T&{ _:val_T })=>val_T,
16
- config?:be_config_T
17
- ):be_memo_pair_T<val_T, ns_T, _memo_T, ctx_T>
15
+ rmemo__new:(ctx:ctx_T, memo:sig_T<val_T, E>)=>val_T, config?:be_config_T<ns_T>
16
+ ):be_memo_pair_T<val_T, ns_T, E, ctx_T>
18
17
  export type be_memo_pair_T<
19
18
  val_T,
20
19
  ns_T extends string = '',
21
- _memo_T extends memo_T<val_T> = memo_T<val_T>,
20
+ E = unknown,
22
21
  ctx_T extends Ctx_wide_T<ns_T> = Ctx_wide_T<ns_T>,
23
22
  > = [
24
- ctx__be_T<_memo_T, ns_T, ctx_T>,
23
+ ctx__be_T<memo_T<val_T, E>, ns_T, ctx_T>,
25
24
  ctx__get_T<val_T, ns_T, ctx_T>,
26
25
  ]&{
27
26
  add<add_val_T>(
28
- add_def:(ctx:ctx_T, sig:sig_T<val_T>)=>add_val_T
29
- ):be_memo_pair_T<val_T, ns_T, _memo_T, ctx_T>
27
+ add_def:(ctx:ctx_T, sig:sig_T<val_T, E>)=>add_val_T
28
+ ):be_memo_pair_T<val_T, ns_T, E, ctx_T>
30
29
  }
@@ -117,14 +117,14 @@ test('be_memo_pair_|be', ()=>{
117
117
  const [
118
118
  foobar$_,
119
119
  foobar_,
120
- ] = be_memo_pair_<number, 'test_ns', custom_memo_T>(
120
+ ] = be_memo_pair_<number, 'test_ns', { custom: string }>(
121
121
  be_(_ctx=>{
122
122
  /* eslint-disable @typescript-eslint/no-unused-vars */
123
123
  type test__ctx = Expect<Equal<typeof _ctx, Ctx_wide_T<'test_ns'>>>
124
124
  /* eslint-enable @typescript-eslint/no-unused-vars */
125
- const foobar$ = memo_(
125
+ const foobar$ = memo_<number, { custom: string }>(
126
126
  ()=>base_(ctx) + 1
127
- ).add(()=>add_count++) as custom_memo_T
127
+ ).add(()=>add_count++)
128
128
  equal(_ctx.s.test_ns, ctx.s.test_ns)
129
129
  foobar$.custom = 'custom-val'
130
130
  return foobar$
@@ -150,4 +150,3 @@ test('be_memo_pair_|be', ()=>{
150
150
  equal(add_count, 1)
151
151
  })
152
152
  test.run()
153
- type custom_memo_T = memo_T<number>&{ custom:string }
@@ -3,29 +3,29 @@ import type { sig_T } from '../rmemo/index.js'
3
3
  export declare function be_memosig_triple_<
4
4
  val_T,
5
5
  ns_T extends string = '',
6
- _sig_T extends sig_T<val_T> = sig_T<val_T>,
6
+ E = unknown,
7
7
  ctx_T extends Ctx_wide_T<ns_T> = Ctx_wide_T<ns_T>,
8
- >(be:Be<_sig_T, ns_T, ctx_T>):be_memosig_triple_T<val_T, ns_T, _sig_T, ctx_T>
8
+ >(be:Be<sig_T<val_T, E>, ns_T, ctx_T>):be_memosig_triple_T<val_T, ns_T, E, ctx_T>
9
9
  export declare function be_memosig_triple_<
10
10
  val_T,
11
11
  ns_T extends string = '',
12
- _sig_T extends sig_T<val_T> = sig_T<val_T>,
12
+ E = unknown,
13
13
  ctx_T extends Ctx_wide_T<ns_T> = Ctx_wide_T<ns_T>,
14
14
  >(
15
- rmemo__new:(ctx:ctx_T, memosig:_sig_T)=>val_T,
15
+ rmemo__new:(ctx:ctx_T, memosig:sig_T<val_T, E>)=>val_T,
16
16
  config?:be_config_T<ns_T>
17
- ):be_memosig_triple_T<val_T, ns_T, _sig_T, ctx_T>
17
+ ):be_memosig_triple_T<val_T, ns_T, E, ctx_T>
18
18
  export type be_memosig_triple_T<
19
19
  val_T,
20
20
  ns_T extends string = '',
21
- _sig_T extends sig_T<val_T> = sig_T<val_T>,
21
+ E = unknown,
22
22
  ctx_T extends Ctx_wide_T<ns_T> = Ctx_wide_T<ns_T>,
23
23
  > = [
24
- ctx__be_T<_sig_T, ns_T, ctx_T>,
24
+ ctx__be_T<sig_T<val_T, E>, ns_T, ctx_T>,
25
25
  ctx__get_T<val_T, ns_T, ctx_T>,
26
26
  ctx__set_T<val_T, ns_T, ctx_T>,
27
27
  ]&{
28
28
  add<add_val_T>(
29
- add_def:(ctx:ctx_T, sig:_sig_T)=>add_val_T
30
- ):be_memosig_triple_T<val_T, ns_T, _sig_T, ctx_T>
29
+ add_def:(ctx:ctx_T, sig:sig_T<val_T, E>)=>add_val_T
30
+ ):be_memosig_triple_T<val_T, ns_T, E, ctx_T>
31
31
  }
@@ -60,7 +60,7 @@ test('be_memosig_triple_|+id|+ns', ()=>{
60
60
  foobar$_,
61
61
  foobar_,
62
62
  foobar__set,
63
- ] = be_memosig_triple_(
63
+ ] = be_memosig_triple_<number, 'test_ns'>(
64
64
  ctx=>{
65
65
  /* eslint-disable @typescript-eslint/no-unused-vars */
66
66
  type test_ctx = Expect<Equal<typeof ctx, Ctx_wide_T<'test_ns'>>>
@@ -113,19 +113,19 @@ test('be_memosig_triple_|+be', ()=>{
113
113
  foobar$_,
114
114
  foobar_,
115
115
  foobar__set,
116
- ] = be_memosig_triple_<number, 'test_ns', custom_sig_T>(
116
+ ] = be_memosig_triple_<number, 'test_ns', { custom: string }>(
117
117
  be_(ctx=>{
118
118
  /* eslint-disable @typescript-eslint/no-unused-vars */
119
119
  type test_ctx = Expect<Equal<typeof ctx, Ctx_wide_T<'test_ns'>>>
120
120
  /* eslint-enable @typescript-eslint/no-unused-vars */
121
121
  const foobar$ =
122
- memosig_(
122
+ memosig_<number, { custom: string }>(
123
123
  ()=>base_(ctx) + 1
124
124
  ).add(foobar$=>
125
125
  memo_(()=>{
126
126
  foobar$()
127
127
  add_count++
128
- })) as custom_sig_T
128
+ }))
129
129
  foobar$.custom = 'custom-val'
130
130
  return foobar$
131
131
  }, { id: 'foobar', ns: 'test_ns' }))
@@ -155,6 +155,3 @@ test('be_memosig_triple_|+be', ()=>{
155
155
  equal(add_count, 3)
156
156
  })
157
157
  test.run()
158
- type custom_sig_T = sig_T<number>&{
159
- custom:string
160
- }
@@ -3,29 +3,29 @@ import type { sig_T } from '../rmemo/index.js'
3
3
  export declare function be_sig_triple_<
4
4
  val_T,
5
5
  ns_T extends string = '',
6
- _sig_T extends sig_T<val_T> = sig_T<val_T>,
6
+ E = unknown,
7
7
  ctx_T extends Ctx_wide_T<ns_T> = Ctx_wide_T<ns_T>,
8
- >(be:Be<_sig_T, ns_T, ctx_T>):be_sig_triple_T<val_T, ns_T, _sig_T, ctx_T>
8
+ >(be:Be<sig_T<val_T, E>, ns_T, ctx_T>):be_sig_triple_T<val_T, ns_T, E, ctx_T>
9
9
  export declare function be_sig_triple_<
10
10
  val_T,
11
11
  ns_T extends string = '',
12
- _sig_T extends sig_T<val_T> = sig_T<val_T>,
12
+ E = unknown,
13
13
  ctx_T extends Ctx_wide_T<ns_T> = Ctx_wide_T<ns_T>,
14
14
  >(
15
15
  val__new:(ctx:ctx_T)=>val_T,
16
16
  config?:be_config_T<ns_T>
17
- ):be_sig_triple_T<val_T, ns_T, _sig_T, ctx_T>
17
+ ):be_sig_triple_T<val_T, ns_T, E, ctx_T>
18
18
  export type be_sig_triple_T<
19
19
  val_T,
20
20
  ns_T extends string = '',
21
- _sig_T extends sig_T<val_T> = sig_T<val_T>,
21
+ E = unknown,
22
22
  ctx_T extends Ctx_wide_T<ns_T> = Ctx_wide_T<ns_T>,
23
23
  > = [
24
- ctx__be_T<_sig_T, ns_T, ctx_T>,
24
+ ctx__be_T<sig_T<val_T, E>, ns_T, ctx_T>,
25
25
  ctx__get_T<val_T, ns_T, ctx_T>,
26
26
  ctx__set_T<val_T, ns_T, ctx_T>,
27
27
  ]&{
28
28
  add<add_val_T>(
29
- add_def:(ctx:ctx_T, sig:_sig_T)=>add_val_T
30
- ):be_sig_triple_T<val_T, ns_T, _sig_T, ctx_T>
29
+ add_def:(ctx:ctx_T, sig:sig_T<val_T, E>)=>add_val_T
30
+ ):be_sig_triple_T<val_T, ns_T, E, ctx_T>
31
31
  }
@@ -72,17 +72,17 @@ test('be_sig_triple_|+be', ()=>{
72
72
  foobar$_,
73
73
  foobar_,
74
74
  foobar__set,
75
- ] = be_sig_triple_<number, 'test_ns', custom_sig_T>(
75
+ ] = be_sig_triple_<number, 'test_ns', { custom: string }>(
76
76
  be_(ctx=>{
77
77
  /* eslint-disable @typescript-eslint/no-unused-vars */
78
78
  type test_ctx = Expect<Equal<typeof ctx, Ctx_wide_T<'test_ns'>>>
79
79
  /* eslint-enable @typescript-eslint/no-unused-vars */
80
80
  const foobar$ =
81
- sig_(
81
+ sig_<number, { custom: string }>(
82
82
  1
83
- ).add(()=>add_count++) as custom_sig_T
83
+ ).add(()=>add_count++)
84
84
  foobar$.custom = 'custom-val'
85
- return foobar$ as custom_sig_T
85
+ return foobar$
86
86
  }, { id: 'foobar', ns: 'test_ns' }))
87
87
  equal(add_count, 0)
88
88
  equal(foobar$_(ns_ctx__new(ctx__new(), ctx))._, 1)
@@ -102,6 +102,3 @@ test('be_sig_triple_|+be', ()=>{
102
102
  equal(add_count, 1)
103
103
  })
104
104
  test.run()
105
- type custom_sig_T = sig_T<number>&{
106
- custom:string
107
- }
@@ -2,8 +2,12 @@ import type { Ctx } from '../be_/index.js'
2
2
  import type { TupleToUnion } from '../tuple/index.js'
3
3
  export declare function ctx__new():Ctx<''>
4
4
  export { ctx__new as ctx_ }
5
- export declare function ns_ctx__new<ns0_T extends string|Ctx, ns_a_T extends (string|Ctx)[]>(
6
- ns0:ns0_T, ...ns_a:ns_a_T
5
+ export declare function ns_ctx__new<
6
+ ns0_T extends string|Ctx,
7
+ ns_a_T extends (string|Ctx)[]
8
+ >(
9
+ ns0:ns0_T,
10
+ ...ns_a:ns_a_T
7
11
  ):Ctx<Exclude<TupleToUnion<ns_a__flat_T<[ns0_T]>>|TupleToUnion<ns_a__flat_T<ns_a_T>>, undefined>>
8
12
  export { ns_ctx__new as ns_ctx_ }
9
13
  export declare function is_ctx_(val:unknown):boolean
@@ -1,23 +1,24 @@
1
1
  /// <reference lib="es2021" />
2
- export declare function memo_<val_T>(def:memo_def_T<val_T>):memo_T<val_T>
3
- export declare function sig_<val_T>(init_val:val_T):sig_T<val_T>
4
- export declare function memosig_<val_T>(def:memo_def_T<val_T>):sig_T<val_T>
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>(
2
+ export declare function memo_<val_T, E = unknown>(def:memo_def_T<val_T, E>):memo_T<val_T, E>
3
+ export declare function sig_<val_T, E = unknown>(init_val:val_T):sig_T<val_T, E>
4
+ export declare function memosig_<val_T, E = unknown>(def:memo_def_T<val_T, E>):sig_T<val_T, E>
5
+ export declare function lock_memosig_<val_T, E = unknown>(def:memo_def_T<val_T, E>):sig_T<val_T, E>
6
+ export declare function memo__bind<A extends unknown[], R, E = unknown>(
7
7
  fn:(...arg_a:A)=>R
8
8
  ):((...arg_a:A)=>R)&{
9
- memo_<val_T>(def:memo_def_T<val_T>):memo_T<val_T>
9
+ memo_<val_T>(def:memo_def_T<val_T, E>):memo_T<val_T>
10
10
  }
11
- export declare function rmemo__on<val_T>(rmemo:rmemo_T<val_T>, off_fn?:(rmemo:rmemo_T<val_T>)=>unknown):void
12
- export declare function rmemo__off<val_T>(rmemo:rmemo_T<val_T>):void
13
- export declare function rmemo__off__add<val_T>(rmemo:rmemo_T<val_T>, off_fn:(rmemo:rmemo_T<val_T>)=>unknown):void
14
- export declare function rmemo__add<val_T, listener_val_T>(
15
- rmemo:rmemo_T<val_T>,
16
- listener:(sig:sig_T<val_T>)=>listener_val_T
11
+ export declare function rmemo__on<val_T, E = unknown>(rmemo:rmemo_T<val_T, E>, off_fn?:(rmemo:rmemo_T<val_T, E>)=>unknown):void
12
+ export declare function rmemo__off<val_T, E = unknown>(rmemo:rmemo_T<val_T, E>):void
13
+ export declare function rmemo__off__add<val_T, E = unknown>(rmemo:rmemo_T<val_T>, off_fn:(rmemo:rmemo_T<val_T, E>)=>unknown):void
14
+ export declare function rmemo__add<val_T, listener_val_T, E = unknown>(
15
+ rmemo:rmemo_T<val_T, E>,
16
+ listener:(sig:sig_T<val_T, E>)=>listener_val_T
17
17
  ):()=>void
18
- export type rmemo_T<val_T> = memo_T<val_T>|sig_T<val_T>|lock_memosig_T<val_T>
19
- export type circular_rmemo_T = circular_memo_T|circular_sig_T|circular_lock_memosig_T
20
- export type memo_T<val_T> = (()=>val_T)&{
18
+ export type rmemo_T<val_T, E = unknown> = memo_T<val_T, E>|sig_T<val_T, E>|lock_memosig_T<val_T, E>
19
+ export type circular_rmemo_T<E = unknown> =
20
+ (circular_memo_T|circular_sig_T|circular_lock_memosig_T)&E
21
+ export type memo_T<val_T, E = unknown> = (()=>val_T)&{
21
22
  readonly _:val_T
22
23
  readonly a?:rmemo_a_T[]
23
24
  readonly f?:rmemo_f_T
@@ -27,12 +28,13 @@ export type memo_T<val_T> = (()=>val_T)&{
27
28
  readonly u:rmemo_T<unknown>[]
28
29
  readonly v:rmemo_T<unknown>[]
29
30
  readonly val:val_T
30
- add<add_val_T>(add_def:rmemo_add_def_T<val_T, add_val_T>):memo_T<val_T>
31
- memo_<_val_T>(def:memo_def_T<_val_T>):memo_T<_val_T>
31
+ add<add_val_T>(add_def:rmemo_add_def_T<val_T, add_val_T>):memo_T<val_T, E>
32
+ memo_<_val_T, E = unknown>(def:memo_def_T<_val_T>):memo_T<_val_T, E>
33
+ }&E
34
+ interface _circular_memo_T extends memo_T<_circular_memo_T> {
32
35
  }
33
- export interface circular_memo_T extends memo_T<circular_memo_T> {
34
- }
35
- export type sig_T<val_T> = (()=>val_T)&{
36
+ export type circular_memo_T<E = unknown> = _circular_memo_T&E
37
+ export type sig_T<val_T, E = unknown> = (()=>val_T)&{
36
38
  _:val_T
37
39
  readonly a?:rmemo_a_T
38
40
  readonly f?:rmemo_f_T
@@ -42,22 +44,24 @@ export type sig_T<val_T> = (()=>val_T)&{
42
44
  readonly u:rmemo_T<unknown>[]
43
45
  readonly v:rmemo_T<unknown>[]
44
46
  readonly val:val_T
45
- add<add_val_T>(fn:rmemo_add_def_T<val_T, add_val_T>):sig_T<val_T>
46
- memo_<_val_T>(def:memo_def_T<_val_T>):memo_T<_val_T>
47
- }
48
- export interface circular_sig_T extends sig_T<circular_sig_T> {
47
+ add<add_val_T>(fn:rmemo_add_def_T<val_T, add_val_T>):sig_T<val_T, E>
48
+ memo_<_val_T, E = unknown>(def:memo_def_T<_val_T>):memo_T<_val_T, E>
49
+ }&E
50
+ interface _circular_sig_T extends sig_T<_circular_sig_T> {
49
51
  }
50
- export type lock_memosig_T<val_T> = sig_T<val_T>&{
52
+ export type circular_sig_T<E = unknown> = _circular_memo_T&E
53
+ export type lock_memosig_T<val_T, E = unknown> = sig_T<val_T, {
51
54
  lock?:0|1
55
+ }&E>
56
+ interface _circular_lock_memosig_T extends lock_memosig_T<_circular_lock_memosig_T> {
52
57
  }
53
- export interface circular_lock_memosig_T extends lock_memosig_T<circular_lock_memosig_T> {
54
- }
58
+ export type circular_lock_memosig_T<E = unknown> = _circular_lock_memosig_T&E
55
59
  export type rmemo_val_T<sig_T> = sig_T extends { ():infer val_T }
56
60
  ? val_T
57
61
  : unknown
58
- export type memo_def_T<val_T> = (sig:sig_T<val_T>)=>val_T
62
+ export type memo_def_T<val_T, E = unknown> = (sig:sig_T<val_T, E>)=>val_T
59
63
  export type rmemo_a_T = unknown[]
60
- export type rmemo_add_def_T<val_T, add_val_T> = (sig:sig_T<val_T>)=>add_val_T
64
+ export type rmemo_add_def_T<val_T, add_val_T, E = unknown> = (sig:sig_T<val_T, E>)=>add_val_T
61
65
  export type rmemo_f_T = (()=>void)&{
62
66
  // readonly l:number
63
67
  // readonly s:rmemo_T<unknown>[]
@@ -31,8 +31,9 @@ test('memo_|static value', ()=>{
31
31
  })
32
32
  test('memo_|def function|rmemo argument', ()=>{
33
33
  const sig = sig_('val0')
34
- const memo:memo_T<string>&{ custom?:string } = memo_<string>((_rmemo$:sig_T<string>&{ custom?:string })=>
35
- `${_rmemo$.custom}-${sig()}`)
34
+ const memo =
35
+ memo_<string, { custom?:string }>(memo=>
36
+ `${memo.custom}-${sig()}`)
36
37
  memo.custom = 'custom_val0'
37
38
  equal(memo(), 'custom_val0-val0')
38
39
  memo.custom = 'custom_val1'
package/package.json CHANGED
@@ -1,253 +1,254 @@
1
1
  {
2
- "name": "ctx-core",
3
- "version": "5.22.1",
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
- "event_log",
49
- "falsy",
50
- "fetch",
51
- "fibonacci",
52
- "fs",
53
- "function",
54
- "functional",
55
- "html",
56
- "http",
57
- "math",
58
- "matrix",
59
- "nullish",
60
- "number",
61
- "object",
62
- "promise",
63
- "queue",
64
- "random",
65
- "regex",
66
- "rmemo",
67
- "run",
68
- "set",
69
- "sleep",
70
- "stream",
71
- "string",
72
- "tempfile",
73
- "test",
74
- "time",
75
- "tuple",
76
- "types",
77
- "uri",
78
- "uuid",
79
- "package.json"
80
- ],
81
- "exports": {
82
- ".": "./index.js",
83
- "./all": "./all/index.js",
84
- "./array": "./array/index.js",
85
- "./atob": "./atob/index.js",
86
- "./base16": "./base16/index.js",
87
- "./be": "./be/index.js",
88
- "./btoa": "./btoa/index.js",
89
- "./buffer": "./buffer/index.js",
90
- "./chain": "./chain/index.js",
91
- "./class": "./class/index.js",
92
- "./cli-args": "./cli-args/index.js",
93
- "./color": "./color/index.js",
94
- "./combinators": "./combinators/index.js",
95
- "./crypto": "./crypto/index.js",
96
- "./currency": "./currency/index.js",
97
- "./data": "./data/index.js",
98
- "./date": "./date/index.js",
99
- "./debounce": "./debounce/index.js",
100
- "./deep_equal": "./deep_equal/index.js",
101
- "./env": "./env/index.js",
102
- "./error": "./error/index.js",
103
- "./event_log": "./event_log/index.js",
104
- "./falsy": "./falsy/index.js",
105
- "./fetch": "./fetch/index.js",
106
- "./fibonacci": "./fibonacci/index.js",
107
- "./fs": "./fs/index.js",
108
- "./function": "./function/index.js",
109
- "./functional": "./functional/index.js",
110
- "./html": "./html/index.js",
111
- "./http": "./http/index.js",
112
- "./math": "./math/index.js",
113
- "./matrix": "./matrix/index.js",
114
- "./nullish": "./nullish/index.js",
115
- "./number": "./number/index.js",
116
- "./object": "./object/index.js",
117
- "./promise": "./promise/index.js",
118
- "./queue": "./queue/index.js",
119
- "./random": "./random/index.js",
120
- "./regex": "./regex/index.js",
121
- "./rmemo": "./rmemo/index.js",
122
- "./run": "./run/index.js",
123
- "./set": "./set/index.js",
124
- "./sleep": "./sleep/index.js",
125
- "./stream": "./stream/index.js",
126
- "./string": "./string/index.js",
127
- "./tempfile": "./tempfile/index.js",
128
- "./test": "./test/index.js",
129
- "./time": "./time/index.js",
130
- "./tuple": "./tuple/index.js",
131
- "./types": "./types/index.js",
132
- "./uri": "./uri/index.js",
133
- "./uuid": "./uuid/index.js",
134
- "./package.json": "./package.json"
135
- },
136
- "devDependencies": {
137
- "@arethetypeswrong/cli": "^0.13.5",
138
- "@ctx-core/preprocess": "^0.1.1",
139
- "@size-limit/preset-small-lib": "^11.0.2",
140
- "@types/node": "^20.11.5",
141
- "@types/sinon": "^17.0.3",
142
- "c8": "^9.1.0",
143
- "check-dts": "^0.7.2",
144
- "esbuild": "^0.19.11",
145
- "esmock": "^2.6.2",
146
- "sinon": "^17.0.1",
147
- "size-limit": "^11.0.2",
148
- "tsx": "^4.7.0",
149
- "typescript": "next",
150
- "uvu": "^0.5.6"
151
- },
152
- "publishConfig": {
153
- "access": "public",
154
- "cache": "~/.npm"
155
- },
156
- "sideEffects": false,
157
- "size-limit": [
158
- {
159
- "name": "ctx_",
160
- "import": {
161
- "./be": "{ ctx_ }"
162
- },
163
- "limit": "33 B"
164
- },
165
- {
166
- "name": "ns_ctx_",
167
- "import": {
168
- "./be": "{ ns_ctx_ }"
169
- },
170
- "limit": "85 B"
171
- },
172
- {
173
- "name": "be_",
174
- "import": {
175
- "./be": "{ be_ }"
176
- },
177
- "limit": "99 B"
178
- },
179
- {
180
- "name": "be_ ctx_",
181
- "import": {
182
- "./be": "{ be_, ctx_ }"
183
- },
184
- "limit": "131 B"
185
- },
186
- {
187
- "name": "be_ ns_ctx_",
188
- "import": {
189
- "./be": "{ be_, ctx_, ns_ctx_ }"
190
- },
191
- "limit": "190 B"
192
- },
193
- {
194
- "name": "be_ ctx_ ns_ctx_",
195
- "import": {
196
- "./be": "{ be_, ctx_, ns_ctx_ }"
197
- },
198
- "limit": "190 B"
199
- },
200
- {
201
- "name": "memo_",
202
- "import": {
203
- "./rmemo": "{ memo_ }"
204
- },
205
- "limit": "352 B"
206
- },
207
- {
208
- "name": "memo_ sig_",
209
- "import": {
210
- "./rmemo": "{ sig_, memo_ }"
211
- },
212
- "limit": "370 B"
213
- },
214
- {
215
- "name": "memo_ sig_ be_ ctx_",
216
- "import": {
217
- "./rmemo": "{ sig_, memo_, be_, ctx_ }"
218
- },
219
- "limit": "471 B"
220
- },
221
- {
222
- "name": "memo_ sig_ be_ ctx_ be_memo_pair_ be_sig_triple_",
223
- "import": {
224
- "./rmemo": "{ sig_, memo_, be_, ctx_, be_memo_pair_, be_sig_triple_ }"
225
- },
226
- "limit": "576 B"
227
- },
228
- {
229
- "name": "uuid",
230
- "import": {
231
- "./uuid": "{ uuid_ }"
232
- },
233
- "limit": "39 B"
234
- },
235
- {
236
- "name": "short uuid",
237
- "import": {
238
- "./uuid": "{ short_uuid_ }"
239
- },
240
- "limit": "116 B"
241
- }
242
- ],
243
- "scripts": {
244
- "build": ":",
245
- "clean": ":",
246
- "exec": "$@",
247
- "test": "pnpm run /^test:/",
248
- "test:size": "size-limit",
249
- "test:type": "check-dts",
250
- "test:unit": "NODE_OPTIONS=--loader=esmock tsx node_modules/uvu/bin.js . '\\.test\\.(ts|js)$'",
251
- "disable:test:coverage": "c8 pnpm test:unit"
252
- }
253
- }
2
+ "name": "ctx-core",
3
+ "version": "5.24.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
+ "event_log",
49
+ "falsy",
50
+ "fetch",
51
+ "fibonacci",
52
+ "fs",
53
+ "function",
54
+ "functional",
55
+ "html",
56
+ "http",
57
+ "math",
58
+ "matrix",
59
+ "nullish",
60
+ "number",
61
+ "object",
62
+ "promise",
63
+ "queue",
64
+ "random",
65
+ "regex",
66
+ "rmemo",
67
+ "run",
68
+ "set",
69
+ "sleep",
70
+ "stream",
71
+ "string",
72
+ "tempfile",
73
+ "test",
74
+ "time",
75
+ "tuple",
76
+ "types",
77
+ "uri",
78
+ "uuid",
79
+ "package.json"
80
+ ],
81
+ "exports": {
82
+ ".": "./index.js",
83
+ "./all": "./all/index.js",
84
+ "./array": "./array/index.js",
85
+ "./atob": "./atob/index.js",
86
+ "./base16": "./base16/index.js",
87
+ "./be": "./be/index.js",
88
+ "./btoa": "./btoa/index.js",
89
+ "./buffer": "./buffer/index.js",
90
+ "./chain": "./chain/index.js",
91
+ "./class": "./class/index.js",
92
+ "./cli-args": "./cli-args/index.js",
93
+ "./color": "./color/index.js",
94
+ "./combinators": "./combinators/index.js",
95
+ "./crypto": "./crypto/index.js",
96
+ "./currency": "./currency/index.js",
97
+ "./data": "./data/index.js",
98
+ "./date": "./date/index.js",
99
+ "./debounce": "./debounce/index.js",
100
+ "./deep_equal": "./deep_equal/index.js",
101
+ "./env": "./env/index.js",
102
+ "./error": "./error/index.js",
103
+ "./event_log": "./event_log/index.js",
104
+ "./falsy": "./falsy/index.js",
105
+ "./fetch": "./fetch/index.js",
106
+ "./fibonacci": "./fibonacci/index.js",
107
+ "./fs": "./fs/index.js",
108
+ "./function": "./function/index.js",
109
+ "./functional": "./functional/index.js",
110
+ "./html": "./html/index.js",
111
+ "./http": "./http/index.js",
112
+ "./math": "./math/index.js",
113
+ "./matrix": "./matrix/index.js",
114
+ "./nullish": "./nullish/index.js",
115
+ "./number": "./number/index.js",
116
+ "./object": "./object/index.js",
117
+ "./promise": "./promise/index.js",
118
+ "./queue": "./queue/index.js",
119
+ "./random": "./random/index.js",
120
+ "./regex": "./regex/index.js",
121
+ "./rmemo": "./rmemo/index.js",
122
+ "./run": "./run/index.js",
123
+ "./set": "./set/index.js",
124
+ "./sleep": "./sleep/index.js",
125
+ "./stream": "./stream/index.js",
126
+ "./string": "./string/index.js",
127
+ "./tempfile": "./tempfile/index.js",
128
+ "./test": "./test/index.js",
129
+ "./time": "./time/index.js",
130
+ "./tuple": "./tuple/index.js",
131
+ "./types": "./types/index.js",
132
+ "./uri": "./uri/index.js",
133
+ "./uuid": "./uuid/index.js",
134
+ "./package.json": "./package.json"
135
+ },
136
+ "scripts": {
137
+ "build": ":",
138
+ "clean": ":",
139
+ "exec": "$@",
140
+ "prepublishOnly": "pnpm clean && pnpm build && pnpm test",
141
+ "test": "pnpm run /^test:/",
142
+ "test:size": "size-limit",
143
+ "test:type": "check-dts",
144
+ "test:unit": "NODE_OPTIONS=--loader=esmock tsx node_modules/uvu/bin.js . '\\.test\\.(ts|js)$'",
145
+ "disable:test:coverage": "c8 pnpm test:unit"
146
+ },
147
+ "devDependencies": {
148
+ "@arethetypeswrong/cli": "^0.13.5",
149
+ "@ctx-core/preprocess": "^0.1.1",
150
+ "@size-limit/preset-small-lib": "^11.0.2",
151
+ "@types/node": "^20.11.5",
152
+ "@types/sinon": "^17.0.3",
153
+ "c8": "^9.1.0",
154
+ "check-dts": "^0.7.2",
155
+ "esbuild": "^0.19.11",
156
+ "esmock": "^2.6.2",
157
+ "sinon": "^17.0.1",
158
+ "size-limit": "^11.0.2",
159
+ "tsx": "^4.7.0",
160
+ "typescript": "next",
161
+ "uvu": "^0.5.6"
162
+ },
163
+ "publishConfig": {
164
+ "access": "public",
165
+ "cache": "~/.npm"
166
+ },
167
+ "sideEffects": false,
168
+ "size-limit": [
169
+ {
170
+ "name": "ctx_",
171
+ "import": {
172
+ "./be": "{ ctx_ }"
173
+ },
174
+ "limit": "33 B"
175
+ },
176
+ {
177
+ "name": "ns_ctx_",
178
+ "import": {
179
+ "./be": "{ ns_ctx_ }"
180
+ },
181
+ "limit": "85 B"
182
+ },
183
+ {
184
+ "name": "be_",
185
+ "import": {
186
+ "./be": "{ be_ }"
187
+ },
188
+ "limit": "99 B"
189
+ },
190
+ {
191
+ "name": "be_ ctx_",
192
+ "import": {
193
+ "./be": "{ be_, ctx_ }"
194
+ },
195
+ "limit": "131 B"
196
+ },
197
+ {
198
+ "name": "be_ ns_ctx_",
199
+ "import": {
200
+ "./be": "{ be_, ctx_, ns_ctx_ }"
201
+ },
202
+ "limit": "191 B"
203
+ },
204
+ {
205
+ "name": "be_ ctx_ ns_ctx_",
206
+ "import": {
207
+ "./be": "{ be_, ctx_, ns_ctx_ }"
208
+ },
209
+ "limit": "191 B"
210
+ },
211
+ {
212
+ "name": "memo_",
213
+ "import": {
214
+ "./rmemo": "{ memo_ }"
215
+ },
216
+ "limit": "352 B"
217
+ },
218
+ {
219
+ "name": "memo_ sig_",
220
+ "import": {
221
+ "./rmemo": "{ sig_, memo_ }"
222
+ },
223
+ "limit": "370 B"
224
+ },
225
+ {
226
+ "name": "memo_ sig_ be_ ctx_",
227
+ "import": {
228
+ "./rmemo": "{ sig_, memo_, be_, ctx_ }"
229
+ },
230
+ "limit": "471 B"
231
+ },
232
+ {
233
+ "name": "memo_ sig_ be_ ctx_ be_memo_pair_ be_sig_triple_",
234
+ "import": {
235
+ "./rmemo": "{ sig_, memo_, be_, ctx_, be_memo_pair_, be_sig_triple_ }"
236
+ },
237
+ "limit": "568 B"
238
+ },
239
+ {
240
+ "name": "uuid",
241
+ "import": {
242
+ "./uuid": "{ uuid_ }"
243
+ },
244
+ "limit": "39 B"
245
+ },
246
+ {
247
+ "name": "short uuid",
248
+ "import": {
249
+ "./uuid": "{ short_uuid_ }"
250
+ },
251
+ "limit": "116 B"
252
+ }
253
+ ]
254
+ }