Skip to content

Commit c325c3d

Browse files
fix: cleanObject function types and logic
1 parent 607f544 commit c325c3d

File tree

1 file changed

+4
-12
lines changed

1 file changed

+4
-12
lines changed

packages/cli/src/utils/telemetry.ts

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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

214206
function collectSensitiveValues(
@@ -238,7 +230,7 @@ function collectSensitiveValues(
238230
export 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

Comments
 (0)