ctx-core 5.19.2 → 5.20.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.
@@ -0,0 +1,25 @@
1
+ import type { Ctx } from '../be_/index.js'
2
+ import type { be_memo_pair_T } from '../be_memo_pair/index.js'
3
+ import type { be_sig_triple_T } from '../be_sig_triple/index.js'
4
+ import type { memo_T } from '../rmemo/index.js'
5
+ export declare const [
6
+ event_log$_,
7
+ event_log_
8
+ ]:be_memo_pair_T<event_log__T>
9
+ export { event_log$_ as event_log__ }
10
+ export declare function event_log__add<I = unknown>(
11
+ ctx:Ctx,
12
+ record:event_log_record_T<I>
13
+ ):void
14
+ export declare const [
15
+ event_log_limit$_,
16
+ event_log_limit_,
17
+ event_log_limit__set,
18
+ ]:be_sig_triple_T<number>
19
+ export declare function event_log__set_limit(ctx:Ctx, limit:number):void
20
+ export interface event_log_record_T<I = unknown> extends Record<string, I> {}
21
+ export declare type event_log_T<I = unknown> = event_log_record_T<I>[]
22
+ export declare type event_log_add_T<I = unknown> =
23
+ (record:event_log_record_T<I>)=>event_log_T<I>
24
+ export declare type event_log_set_limit_T = (in_limit:number)=>void
25
+ export type event_log__T<I = unknown> = memo_T<event_log_T<I>>
@@ -0,0 +1,26 @@
1
+ import { be_memo_pair_ } from '../be_memo_pair/index.js'
2
+ import { be_sig_triple_ } from '../be_sig_triple/index.js'
3
+ const [
4
+ ,
5
+ _event_log_,
6
+ _event_log__set,
7
+ ] = be_sig_triple_(()=>[])
8
+ export const [
9
+ event_log$_,
10
+ event_log_,
11
+ ] = be_memo_pair_(ctx=>{
12
+ if (_event_log_(ctx)?.length > event_log_limit_(ctx)) {
13
+ _event_log_(ctx).splice(event_log_limit_(ctx))
14
+ }
15
+ return _event_log_(ctx).slice()
16
+ }, { id: 'event_log' })
17
+ export { event_log$_ as event_log__ }
18
+ export const [
19
+ event_log_limit$_,
20
+ event_log_limit_,
21
+ event_log_limit__set
22
+ ] = be_sig_triple_(()=>10000)
23
+ export { event_log_limit__set as event_log__set_limit, }
24
+ export function event_log__add(ctx, record) {
25
+ _event_log__set(ctx, [record, ..._event_log_(ctx)])
26
+ }
@@ -0,0 +1,20 @@
1
+ import { test } from 'uvu'
2
+ import { equal } from 'uvu/assert'
3
+ import { ctx__new } from '../ctx/index.js'
4
+ import { event_log_, event_log__add, event_log_limit_, event_log_limit__set } from './index.js'
5
+ test('event_log_', ()=>{
6
+ const ctx = ctx__new()
7
+ equal(event_log_(ctx), [])
8
+ event_log__add(ctx, { msg: 'msg0' })
9
+ equal(event_log_(ctx), [{ msg: 'msg0' }])
10
+ event_log__add(ctx, { msg: 'msg1' })
11
+ equal(event_log_(ctx), [{ msg: 'msg1' }, { msg: 'msg0' }])
12
+ event_log__add(ctx, { msg: 'msg2' })
13
+ equal(event_log_(ctx), [{ msg: 'msg2' }, { msg: 'msg1' }, { msg: 'msg0' }])
14
+ event_log_limit__set(ctx, 2)
15
+ equal(event_log_limit_(ctx), 2)
16
+ equal(event_log_(ctx), [{ msg: 'msg2' }, { msg: 'msg1' }])
17
+ event_log__add(ctx, { msg: 'msg3' })
18
+ equal(event_log_(ctx), [{ msg: 'msg3' }, { msg: 'msg2' }])
19
+ })
20
+ test.run()
package/all/index.d.ts CHANGED
@@ -129,6 +129,7 @@ export * from './eql_fn_a/index.js'
129
129
  export * from './equidistant_segment_point_a/index.js'
130
130
  export * from './error__print/index.js'
131
131
  export * from './error_o/index.js'
132
+ export * from './event_log/index.js'
132
133
  export * from './every/index.js'
133
134
  export * from './every_arg/index.js'
134
135
  export * from './exclude/index.js'
package/all/index.js CHANGED
@@ -129,6 +129,7 @@ export * from './eql_fn_a/index.js'
129
129
  export * from './equidistant_segment_point_a/index.js'
130
130
  export * from './error__print/index.js'
131
131
  export * from './error_o/index.js'
132
+ export * from './event_log/index.js'
132
133
  export * from './every/index.js'
133
134
  export * from './every_arg/index.js'
134
135
  export * from './exclude/index.js'
@@ -0,0 +1 @@
1
+ export * from '../all/event_log/index.js'
@@ -0,0 +1 @@
1
+ export * from '../all/event_log/index.js'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ctx-core",
3
- "version": "5.19.2",
3
+ "version": "5.20.0",
4
4
  "description": "ctx-core core library",
5
5
  "keywords": [
6
6
  "ctx-core",
@@ -45,6 +45,7 @@
45
45
  "deep_equal",
46
46
  "env",
47
47
  "error",
48
+ "event_log",
48
49
  "falsy",
49
50
  "fetch",
50
51
  "fibonacci",
@@ -99,6 +100,7 @@
99
100
  "./deep_equal": "./deep_equal/index.js",
100
101
  "./env": "./env/index.js",
101
102
  "./error": "./error/index.js",
103
+ "./event_log": "./event_log/index.js",
102
104
  "./falsy": "./falsy/index.js",
103
105
  "./fetch": "./fetch/index.js",
104
106
  "./fibonacci": "./fibonacci/index.js",
@@ -249,4 +251,4 @@
249
251
  "limit": "116 B"
250
252
  }
251
253
  ]
252
- }
254
+ }