@@ -187,15 +187,7 @@ function replaceArgs(
187187 return commandInput ;
188188}
189189
190- function cleanObject ( obj : unknown , keysToClean : string [ ] ) : unknown {
191- if ( typeof obj !== 'object' || obj === null ) {
192- return obj ;
193- }
194-
195- if ( Array . isArray ( obj ) ) {
196- return obj . map ( ( item ) => cleanObject ( item , keysToClean ) ) ;
197- }
198-
190+ function cleanObject < T extends string | string [ ] | object > ( obj : T , keysToClean : string [ ] ) : T {
199191 const cleaned : Record < string , unknown > = { } ;
200192
201193 for ( const [ key , value ] of Object . entries ( obj ) ) {
@@ -208,7 +200,7 @@ function cleanObject(obj: unknown, keysToClean: string[]): unknown {
208200 }
209201 }
210202
211- return cleaned ;
203+ return cleaned as T ;
212204}
213205
214206function collectSensitiveValues (
@@ -238,7 +230,7 @@ function collectSensitiveValues(
238230export function cleanArgs ( parsedArgs : CommandArgv , rawArgv : string [ ] ) {
239231 const KEYS_TO_CLEAN = [ 'organization' , 'o' , 'input' , 'i' , 'clientCert' , 'clientKey' , 'caCert' ] ;
240232 let commandInput = rawArgv . join ( ' ' ) ;
241- const commandArguments : Record < string , string | string [ ] > = { } ;
233+ const commandArguments : Record < string , string | string [ ] | object > = { } ;
242234
243235 for ( const [ key , value ] of Object . entries ( parsedArgs ) ) {
244236 if ( KEYS_TO_CLEAN . includes ( key ) ) {
@@ -261,7 +253,7 @@ export function cleanArgs(parsedArgs: CommandArgv, rawArgv: string[]) {
261253 for ( const sensitiveValue of sensitiveValues ) {
262254 commandInput = replaceArgs ( commandInput , sensitiveValue , SECRET_REPLACEMENT ) ;
263255 }
264- commandArguments [ key ] = cleanObject ( value , KEYS_TO_CLEAN ) as string | string [ ] ;
256+ commandArguments [ key ] = cleanObject ( value , KEYS_TO_CLEAN ) ;
265257 } else {
266258 commandArguments [ key ] = value ;
267259 }
0 commit comments