UNPKG

foop

Version:

interfaces that describe their intentions.

41 lines (39 loc) 2.59 kB
var isIndexable = require('../is/indexable') var lastIndex = require('./lastIndex') /** * Returns the last element of the given list or string. * * @func * @memberOf fp * @since 5.0.0-beta.2 * * @param {*} x list to get last index of * @return {*} * * @tests fp/last * * @ramda v0.1.4 * @category List * @sig [a] -> a | Undefined * @sig String -> String * * @see R.init, R.head, R.tail * @extends deps/fp/lastIndex * * {@link https://github.com/jashkenas/underscore/blob/master/underscore.js#L507 underscore-last} * @see {@link underscore-last} * * @types fp * @tests fp/* * * @example * * last(['fi', 'fo', 'fum']); //=> 'fum' * last([]); //=> undefined * * last('abc'); //=> 'c' * last(''); //=> '' * */ module.exports = function (x) { return (isIndexable(x) ? x[lastIndex(x)] : undefined); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFzdC5qcyIsInNvdXJjZXMiOlsibGFzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBpc0luZGV4YWJsZSA9IHJlcXVpcmUoJy4uL2lzL2luZGV4YWJsZScpXG5jb25zdCBsYXN0SW5kZXggPSByZXF1aXJlKCcuL2xhc3RJbmRleCcpXG5cbi8qKlxuICogUmV0dXJucyB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBnaXZlbiBsaXN0IG9yIHN0cmluZy5cbiAqXG4gKiBAZnVuY1xuICogQG1lbWJlck9mIGZwXG4gKiBAc2luY2UgNS4wLjAtYmV0YS4yXG4gKlxuICogQHBhcmFtIHsqfSB4IGxpc3QgdG8gZ2V0IGxhc3QgaW5kZXggb2ZcbiAqIEByZXR1cm4geyp9XG4gKlxuICogQHRlc3RzIGZwL2xhc3RcbiAqXG4gKiBAcmFtZGEgdjAuMS40XG4gKiBAY2F0ZWdvcnkgTGlzdFxuICogQHNpZyBbYV0gLT4gYSB8IFVuZGVmaW5lZFxuICogQHNpZyBTdHJpbmcgLT4gU3RyaW5nXG4gKlxuICogQHNlZSBSLmluaXQsIFIuaGVhZCwgUi50YWlsXG4gKiBAZXh0ZW5kcyBkZXBzL2ZwL2xhc3RJbmRleFxuICpcbiAqIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vamFzaGtlbmFzL3VuZGVyc2NvcmUvYmxvYi9tYXN0ZXIvdW5kZXJzY29yZS5qcyNMNTA3IHVuZGVyc2NvcmUtbGFzdH1cbiAqIEBzZWUge0BsaW5rIHVuZGVyc2NvcmUtbGFzdH1cbiAqXG4gKiBAdHlwZXMgZnBcbiAqIEB0ZXN0cyBmcC8qXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgICAgIGxhc3QoWydmaScsICdmbycsICdmdW0nXSk7IC8vPT4gJ2Z1bSdcbiAqICAgICAgbGFzdChbXSk7IC8vPT4gdW5kZWZpbmVkXG4gKlxuICogICAgICBsYXN0KCdhYmMnKTsgLy89PiAnYydcbiAqICAgICAgbGFzdCgnJyk7IC8vPT4gJydcbiAqXG4gKi9cbm1vZHVsZS5leHBvcnRzID0geCA9PiAoaXNJbmRleGFibGUoeCkgPyB4W2xhc3RJbmRleCh4KV0gOiB1bmRlZmluZWQpXG4iXSwibmFtZXMiOlsiY29uc3QiXSwibWFwcGluZ3MiOiJBQUFBQSxHQUFLLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztBQUM5Q0EsR0FBSyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBcUN4QyxNQUFNLENBQUMsT0FBTyxHQUFHLFVBQUEsQ0FBQyxDQUFBLENBQUMsQUFBRyxTQUFBLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsR0FBQTsifQ==