PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` 'use strict'; var _require = require('../helpers/is'), isArray = _require.isArray, isObject = _require.isObject; module.exports = function flatten(depth) { var flattenDepth = depth || Infinity; var fullyFlattened = false; var collection = []; var flat = function flat(items) { collection = []; if (isArray(items)) { items.forEach(function (item) { if (isArray(item)) { collection = collection.concat(item); } else if (isObject(item)) { Object.keys(item).forEach(function (property) { collection = collection.concat(item[property]); }); } else { collection.push(item); } }); } else { Object.keys(items).forEach(function (property) { if (isArray(items[property])) { collection = collection.concat(items[property]); } else if (isObject(items[property])) { Object.keys(items[property]).forEach(function (prop) { collection = collection.concat(items[property][prop]); }); } else { collection.push(items[property]); } }); } fullyFlattened = collection.filter(function (item) { return isObject(item); }); fullyFlattened = fullyFlattened.length === 0; flattenDepth -= 1; }; flat(this.items); while (!fullyFlattened && flattenDepth > 0) { flat(collection); } return new this.constructor(collection); };