UNPKG

@nullvoxpopuli/ember-composable-helpers

Version:
18 lines (14 loc) 451 B
import { helper } from '@ember/component/helper'; import { isArray as isEmberArray } from '@ember/array'; import asArray from '../utils/as-array.ts'; export function flatten<T>(array: T[]): T[] { if (!isEmberArray(array)) { return array; } return asArray(array).reduce<T[]>((flattened, el) => { return flattened.concat(flatten(el as T[])); }, []); } export default helper(function <T>([array]: [T[]]) { return flatten(array); });