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.
- package/all/event_log/index.d.ts +25 -0
- package/all/event_log/index.js +26 -0
- package/all/event_log/index.test.ts +20 -0
- package/all/index.d.ts +1 -0
- package/all/index.js +1 -0
- package/event_log/index.d.ts +1 -0
- package/event_log/index.js +1 -0
- package/package.json +4 -2
|
@@ -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.
|
|
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
|
+
}
|