11import { isNonNullObject } from './commons' ;
22import { Log , LogEvent , LogAttribute } from '../types' ;
33
4- const parseAttribute = ( input : unknown ) : LogAttribute => {
4+ export const parseAttribute = ( input : unknown ) : LogAttribute => {
55 if ( ! isNonNullObject ( input ) ) throw new Error ( 'Attribute must be a non-null object' ) ;
66 const { key, value } = input as { key : unknown ; value : unknown } ;
77 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 => {
1515 } ;
1616} ;
1717
18- const parseEvent = ( input : unknown ) : LogEvent => {
18+ export const parseEvent = ( input : unknown ) : LogEvent => {
1919 if ( ! isNonNullObject ( input ) ) throw new Error ( 'Event must be a non-null object' ) ;
2020 const { type, attributes } = input as { type : unknown ; attributes : unknown } ;
2121 if ( typeof type !== 'string' || type === '' ) {
@@ -28,7 +28,7 @@ const parseEvent = (input: unknown): LogEvent => {
2828 } ;
2929} ;
3030
31- const parseLog = ( input : unknown ) : Log => {
31+ export const parseLog = ( input : unknown ) : Log => {
3232 if ( ! isNonNullObject ( input ) ) throw new Error ( 'Log must be a non-null object' ) ;
3333 const { msg_index, log, events } = input as { msg_index : unknown ; log : unknown ; events : unknown } ;
3434 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 => {
4141 } ;
4242} ;
4343
44- const parseLogs = ( input : unknown ) : readonly Log [ ] => {
44+ export const parseLogs = ( input : unknown ) : readonly Log [ ] => {
4545 if ( ! Array . isArray ( input ) ) throw new Error ( 'Logs must be an array' ) ;
4646 return input . map ( parseLog ) ;
4747} ;
0 commit comments