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'; function falsyValue(item) { if (Array.isArray(item)) { if (item.length) { return false; } } else if (item !== undefined && item !== null && typeof item === 'object') { if (Object.keys(item).length) { return false; } } else if (item) { return false; } return true; } function filterObject(func, items) { const result = {}; Object.keys(items).forEach((key) => { if (func) { if (func(items[key], key)) { result[key] = items[key]; } } else if (!falsyValue(items[key])) { result[key] = items[key]; } }); return result; } function filterArray(func, items) { if (func) { return items.filter(func); } const result = []; for (let i = 0; i < items.length; i += 1) { const item = items[i]; if (!falsyValue(item)) { result.push(item); } } return result; } module.exports = function filter(fn) { const func = fn || false; let filteredItems = null; if (Array.isArray(this.items)) { filteredItems = filterArray(func, this.items); } else { filteredItems = filterObject(func, this.items); } return new this.constructor(filteredItems); };