INNER CODE UNIT · TypeScript
unionExtracted
runvendo/vendo · packages/vendo/src/actions/sync/index.ts:89
function unionExtracted<T extends ExtractedTool>(extracted: T[]): T[] {
const seen = new Set<string>();
const union: T[] = [];
for (const tool of extracted) {
const key = bindingKey(tool);
if (seen.has(key)) continue;
seen.add(key);
union.push(tool);
}
union.sort((left, right) => left.name.localeCompare(right.name) || bindingKey(left).localeCompare(bindingKey(right)));
return withUniqueNames(union).sort((left, right) => left.name.localeCompare(right.name));
}
function objectValue(value: unknown): Record<string, unknown> {
return value !== null && typeof value === "object" && !Array.isArray(value)
? value as Record<string, unknown>
: {};
}