(obj: Iterable<T>, fn: (p: T) => void)
| 33 | } |
| 34 | |
| 35 | export function iterateListLike<T>(obj: Iterable<T>, fn: (p: T) => void) { |
| 36 | if (Array.isArray(obj)) { |
| 37 | for (let i = 0; i < obj.length; i++) { |
| 38 | fn(obj[i]); |
| 39 | } |
| 40 | } else { |
| 41 | const iterator = obj[Symbol.iterator](); |
| 42 | let item: IteratorResult<T, any>; |
| 43 | while (!(item = iterator.next()).done) { |
| 44 | fn(item.value); |
| 45 | } |
| 46 | } |
| 47 | } |
| 48 | |
| 49 | export function isJsObject(o: any): boolean { |
| 50 | return o !== null && (typeof o === 'function' || typeof o === 'object'); |
no test coverage detected