armisa-models
Version:
models of armisa!
14 lines (12 loc) • 333 B
text/typescript
interface IFlatten<T> {
children: T[] | null;
}
export abstract class treeViewUtility {
static flatten<T extends IFlatten<T>>(items: T[] | null): T[] {
return items
? items.reduce((result: T[], item: T) => {
return [...result, item, ...this.flatten(item.children)];
}, [])
: [];
}
}