1
1
import { isNonNullObject } from './commons' ;
2
2
import { Log , LogEvent , LogAttribute } from '../types' ;
3
3
4
- const parseAttribute = ( input : unknown ) : LogAttribute => {
4
+ export const parseAttribute = ( input : unknown ) : LogAttribute => {
5
5
if ( ! isNonNullObject ( input ) ) throw new Error ( 'Attribute must be a non-null object' ) ;
6
6
const { key, value } = input as { key : unknown ; value : unknown } ;
7
7
if ( typeof key !== 'string' || ! key ) throw new Error ( "Attribute's key must be a non-empty string" ) ;
@@ -15,7 +15,7 @@ const parseAttribute = (input: unknown): LogAttribute => {
15
15
} ;
16
16
} ;
17
17
18
- const parseEvent = ( input : unknown ) : LogEvent => {
18
+ export const parseEvent = ( input : unknown ) : LogEvent => {
19
19
if ( ! isNonNullObject ( input ) ) throw new Error ( 'Event must be a non-null object' ) ;
20
20
const { type, attributes } = input as { type : unknown ; attributes : unknown } ;
21
21
if ( typeof type !== 'string' || type === '' ) {
@@ -28,7 +28,7 @@ const parseEvent = (input: unknown): LogEvent => {
28
28
} ;
29
29
} ;
30
30
31
- const parseLog = ( input : unknown ) : Log => {
31
+ export const parseLog = ( input : unknown ) : Log => {
32
32
if ( ! isNonNullObject ( input ) ) throw new Error ( 'Log must be a non-null object' ) ;
33
33
const { msg_index, log, events } = input as { msg_index : unknown ; log : unknown ; events : unknown } ;
34
34
if ( typeof msg_index !== 'number' ) throw new Error ( "Log's msg_index must be a number" ) ;
@@ -41,7 +41,7 @@ const parseLog = (input: unknown): Log => {
41
41
} ;
42
42
} ;
43
43
44
- const parseLogs = ( input : unknown ) : readonly Log [ ] => {
44
+ export const parseLogs = ( input : unknown ) : readonly Log [ ] => {
45
45
if ( ! Array . isArray ( input ) ) throw new Error ( 'Logs must be an array' ) ;
46
46
return input . map ( parseLog ) ;
47
47
} ;
0 commit comments