refactor: remove omitPermissionGuidColumns utility and implement omitRecords function

This commit is contained in:
2026-03-07 08:02:58 +01:00
parent fff80047c2
commit 2a0b49effe
2 changed files with 15 additions and 20 deletions

View File

@@ -18,9 +18,6 @@ import {
parseHeaderSpec, parseHeaderSpec,
renderOutput, renderOutput,
} from "@slawek/sk-tools"; } from "@slawek/sk-tools";
import {
omitPermissionGuidColumns,
} from "./cli/permission-utils.ts";
type CliValues = { type CliValues = {
help?: boolean; help?: boolean;
@@ -89,6 +86,16 @@ function usageCommand(command: string): string {
} }
} }
function omitRecords(record: Record<string, unknown>, names: Set<string>): Record<string, unknown> {
return Object.fromEntries(
Object.entries(record).filter(([key]) => !names.has(key)),
);
}
function isRecord(value: unknown): value is Record<string, unknown> {
return value !== null && typeof value === "object" && !Array.isArray(value);
}
async function main(): Promise<void> { async function main(): Promise<void> {
const argv = process.argv.slice(2); const argv = process.argv.slice(2);
const command = argv[0]; const command = argv[0];
@@ -138,9 +145,11 @@ async function main(): Promise<void> {
const outputFormat = normalizeOutputFormat(typedValues.output); const outputFormat = normalizeOutputFormat(typedValues.output);
const result = await runCommand(command, typedValues); const result = await runCommand(command, typedValues);
const filtered = outputFiltered(result, typedValues.query); const filtered = outputFiltered(result, typedValues.query);
const output = command === "list-app-permissions" && typedValues.short let output: unknown = filtered;
? omitPermissionGuidColumns(filtered) if (command === "list-app-permissions" && typedValues.short && Array.isArray(filtered) && filtered.every(isRecord)) {
: filtered; const names = new Set(["resourceAppId", "permissionId"]);
output = filtered.map((item) => omitRecords(item, names));
}
const headerSpec = command === "rest" const headerSpec = command === "rest"
? parseHeaderSpec(undefined) ? parseHeaderSpec(undefined)
: parseHeaderSpec(typedValues.header); : parseHeaderSpec(typedValues.header);

View File

@@ -1,14 +0,0 @@
// SPDX-License-Identifier: MIT
export function omitPermissionGuidColumns(value: unknown): unknown {
if (Array.isArray(value)) {
return value.map((item) => omitPermissionGuidColumns(item));
}
if (!value || typeof value !== "object") {
return value;
}
const { resourceAppId, permissionId, ...rest } = value as Record<string, unknown>;
void resourceAppId;
void permissionId;
return rest;
}