- Fix bug where if you supplied both `-q`/`--query-metadata` and `-j`/`--json` the query metadata wasn't added to the output - Update tests #181 Reviewed-on: #227 Reviewed-by: VylpesTester <tester@vylpes.com> Co-authored-by: Ethan Lane <ethan@vylpes.com> Co-committed-by: Ethan Lane <ethan@vylpes.com>
32 lines
No EOL
857 B
TypeScript
32 lines
No EOL
857 B
TypeScript
import ICliOptions from "../contracts/ICliOptions";
|
|
import IReturnResult from "../contracts/IReturnResult";
|
|
|
|
export default class OutputHelper {
|
|
public static GenerateOutput(response: IReturnResult, options: ICliOptions): string {
|
|
const result = response.Result!;
|
|
|
|
let outputObject = {};
|
|
|
|
outputObject = { ...result };
|
|
|
|
if (options.queryMetadata) {
|
|
outputObject = { ...outputObject, ...response.Query }
|
|
}
|
|
|
|
if (options.json) {
|
|
return JSON.stringify(outputObject);
|
|
}
|
|
|
|
return this.GetFriendlyObjectText(outputObject);
|
|
}
|
|
|
|
private static GetFriendlyObjectText<T>(object: T): string {
|
|
const output: string[] = [];
|
|
|
|
for (const key in object) {
|
|
output.push(`${key} = ${object[key]}`);
|
|
}
|
|
|
|
return output.join("\n");
|
|
}
|
|
} |