Deep flattens an array. Helper to `flatten`, see its parameters
(array: NestedArray<T>, filter: (element: T) => boolean, result: T[])
| 28 | |
| 29 | /** Deep flattens an array. Helper to `flatten`, see its parameters */ |
| 30 | function flattenArray<T>(array: NestedArray<T>, filter: (element: T) => boolean, result: T[]): T[] { |
| 31 | let index = -1; |
| 32 | while (++index < array.length) { |
| 33 | const value = array[index]; |
| 34 | if (Array.isArray(value)) { |
| 35 | flattenArray(value, filter, result); |
| 36 | } else if (filter(value)) { |
| 37 | result.push(value); |
| 38 | } |
| 39 | } |
| 40 | return result; |
| 41 | } |
| 42 | |
| 43 | /** Uses copyWithin to significantly speed up typed array value filling */ |
| 44 | export function fillArray({target, source, start = 0, count = 1}) { |
no outgoing calls
no test coverage detected
searching dependent graphs…