@orchestrator-ui/orchestrator-ui-components
Version:
Library of UI Components used to display the workflow orchestrator frontend
28 lines (24 loc) • 802 B
text/typescript
import { GraphQlSinglePage } from '@/types';
export const getConcatenatedPagedResult = <T>(
pagedResult: GraphQlSinglePage<T>,
fields: Array<keyof T>,
): string => {
const results = pagedResult.page || [];
return getConcatenatedResult(results, fields);
};
export const getConcatenatedResult = <T>(
results: T[],
fields: Array<keyof T>,
): string => {
return results.reduce((accumulator, result, index) => {
const resultFields = fields.reduce((accumulator, field, index) => {
return (
accumulator +
`${result[field]}${index !== fields.length - 1 ? ': ' : ''}`
);
}, '');
return `${accumulator}${resultFields}${
index !== results.length - 1 ? ' - ' : ''
}`;
}, '');
};