From 66ab83a7ce7398093e0833bc5f451486fda36116 Mon Sep 17 00:00:00 2001 From: 777genius Date: Sun, 31 May 2026 06:13:44 +0300 Subject: [PATCH] perf(main): avoid cli arg cache copies --- src/main/services/team/TeamRuntimeLivenessResolver.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/services/team/TeamRuntimeLivenessResolver.ts b/src/main/services/team/TeamRuntimeLivenessResolver.ts index 8529ed27..77d6f896 100644 --- a/src/main/services/team/TeamRuntimeLivenessResolver.ts +++ b/src/main/services/team/TeamRuntimeLivenessResolver.ts @@ -70,7 +70,7 @@ function escapeRegexLiteral(value: string): string { return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); } -export function extractCliArgValues(command: string, argName: string): string[] { +function getCachedCliArgValues(command: string, argName: string): readonly string[] { if (!command.includes(argName)) { return []; } @@ -82,7 +82,7 @@ export function extractCliArgValues(command: string, argName: string): string[] cliArgValuesCache.delete(command); cliArgValuesCache.set(command, cachedByArg); } - return [...cachedValues]; + return cachedValues; } const escapedArg = escapeRegexLiteral(argName); @@ -105,6 +105,11 @@ export function extractCliArgValues(command: string, argName: string): string[] if (oldestKey === undefined) break; cliArgValuesCache.delete(oldestKey); } + return values; +} + +export function extractCliArgValues(command: string, argName: string): string[] { + const values = getCachedCliArgValues(command, argName); return [...values]; } @@ -116,7 +121,7 @@ export function commandArgEquals( const normalizedExpected = expected?.trim(); if (!normalizedExpected) return false; if (!command.includes(argName)) return false; - return extractCliArgValues(command, argName).some((value) => value === normalizedExpected); + return getCachedCliArgValues(command, argName).some((value) => value === normalizedExpected); } function collectDescendants(