|
|
- '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;
- };
|