MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //home/cafsindia/snap.cafsinfotech.in/node_modules/collect.js/src/methods/last.js
'use strict';

const { isFunction } = require('../helpers/is');

module.exports = function last(fn, defaultValue) {
  let { items } = this;

  if (isFunction(fn)) {
    items = this.filter(fn).all();
  }

  if ((Array.isArray(items) && !items.length) || (!Object.keys(items).length)) {
    if (isFunction(defaultValue)) {
      return defaultValue();
    }

    return defaultValue;
  }

  if (Array.isArray(items)) {
    return items[items.length - 1];
  }
  const keys = Object.keys(items);

  return items[keys[keys.length - 1]];
};