'use strict'; var _require = require('../helpers/is'), isFunction = _require.isFunction; module.exports = function first(fn, defaultValue) { if (isFunction(fn)) { for (var i = 0, length = this.items.length; i < length; i += 1) { var item = this.items[i]; if (fn(item)) { return item; } } if (isFunction(defaultValue)) { return defaultValue(); } return defaultValue; } if (Array.isArray(this.items) && this.items.length || Object.keys(this.items).length) { if (Array.isArray(this.items)) { return this.items[0]; } var firstKey = Object.keys(this.items)[0]; return this.items[firstKey]; } if (isFunction(defaultValue)) { return defaultValue(); } return defaultValue; };