"use strict"; module.exports = function map(iterable, mapper) { if (Array.isArray(iterable)) { // This may have an optimized implementation return iterable.map(mapper); } else { let result = []; let i = 0; for (let item of iterable) { result.push(mapper(item, i, iterable)); i++; } return result; } };