11import {
22 EventType ,
33 IncomingDispatchMessage ,
4+ LogPayload ,
45 OutgoingDispatchMessage ,
56 OutgoingMessage ,
67 SetupWebSocketConnectionOptions ,
@@ -73,24 +74,25 @@ const consoleTypeColors = {
7374 error : ( text : string ) => outputToken . errorText ( text ) ,
7475} as const
7576
76- const typesToIgnore : ReadonlyArray < string > = [ 'log' , 'info' ] as const
77-
78- export function handleLogEvent (
79- eventData : { type : string ; message : string ; extensionName : string } ,
80- options : SetupWebSocketConnectionOptions ,
81- ) {
82- const { type, message, extensionName} = eventData
77+ function getOutput ( { type, message} : LogPayload ) {
8378 const formattedMessage = parseLogMessage ( message )
8479
85- const uppercaseType = type . toUpperCase ( )
86- const coloredType = consoleTypeColors [ type as keyof typeof consoleTypeColors ] ?.( uppercaseType ) ?? uppercaseType
87-
88- const completeMessage = typesToIgnore . includes ( type )
89- ? formattedMessage
90- : outputContent `${ coloredType } : ${ formattedMessage } ` . value
80+ switch ( type ) {
81+ case 'debug' :
82+ case 'warn' :
83+ case 'error' :
84+ return outputContent `${ consoleTypeColors [ type ] ( type . toUpperCase ( ) ) } : ${ formattedMessage } ` . value
85+ case 'log' :
86+ case 'info' :
87+ return formattedMessage
88+ default :
89+ return `${ type . toUpperCase ( ) } : ${ formattedMessage } `
90+ }
91+ }
9192
92- useConcurrentOutputContext ( { outputPrefix : extensionName , stripAnsi : false } , ( ) => {
93- options . stdout . write ( completeMessage )
93+ export function handleLogEvent ( eventData : LogPayload , options : SetupWebSocketConnectionOptions ) {
94+ useConcurrentOutputContext ( { outputPrefix : eventData . extensionName , stripAnsi : false } , ( ) => {
95+ options . stdout . write ( getOutput ( eventData ) )
9496 } )
9597}
9698
@@ -107,7 +109,7 @@ ${outputToken.json(eventData)}
107109 options . stdout ,
108110 )
109111
110- if ( eventType === 'update' ) {
112+ if ( eventType === EventType . Update ) {
111113 const payloadStoreApiKey = options . payloadStore . getRawPayload ( ) . app . apiKey
112114 const eventAppApiKey = eventData . app ?. apiKey
113115
@@ -125,11 +127,11 @@ ${outputToken.json(eventData)}
125127 if ( eventData . extensions ) {
126128 options . payloadStore . updateExtensions ( eventData . extensions )
127129 }
128- } else if ( eventType === 'dispatch' ) {
130+ } else if ( eventType === EventType . Dispatch ) {
129131 const outGoingMessage = getOutgoingDispatchMessage ( jsonData , options )
130132
131133 notifyClients ( wss , outGoingMessage , options )
132- } else if ( eventType === 'log' ) {
134+ } else if ( eventType === EventType . Log ) {
133135 handleLogEvent ( eventData , options )
134136 }
135137 }
0 commit comments