UNPKG

foop

Version:

interfaces that describe their intentions.

36 lines (33 loc) 2.74 kB
var pipe = require('../fp/pipe') var decrement = require('../math/decrement') var length = require('./length') /** * @name lengthMinusOne * @version 2.0.0 <- was going to ensure number stays above 0 * @since 5.0.0-beta.1 * @memberOf util * * @param {Array | Object} x object with property length * @return {number} * * @example * * lengthMinusOne(['eh']) //=> 1 * lengthMinusOne({}) //=> 0 * lengthMinusOne({length: -1}) //=> 0 * lengthMinusOne({length: 10} ) //=> 10 * */ module.exports = function (x) { return decrement(length(x)); } // module.exports = pipe(length, decrement) // module.exports = x => { // const len = length(x) // // // keep above 0 // return len <= 0 ? 0 : decrement(length(x)) // } // @TODO // module.exports = pipe(length, decrement) // module.exports = x => length(x) - 1 // module.exports = x => decrement(length(x)) || 0 //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVuZ3RoTWludXNPbmUuanMiLCJzb3VyY2VzIjpbImxlbmd0aE1pbnVzT25lLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHBpcGUgPSByZXF1aXJlKCcuLi9mcC9waXBlJylcbmNvbnN0IGRlY3JlbWVudCA9IHJlcXVpcmUoJy4uL21hdGgvZGVjcmVtZW50JylcbmNvbnN0IGxlbmd0aCA9IHJlcXVpcmUoJy4vbGVuZ3RoJylcblxuLyoqXG4gKiBAbmFtZSBsZW5ndGhNaW51c09uZVxuICogQHZlcnNpb24gMi4wLjAgPC0gd2FzIGdvaW5nIHRvIGVuc3VyZSBudW1iZXIgc3RheXMgYWJvdmUgMFxuICogQHNpbmNlIDUuMC4wLWJldGEuMVxuICogQG1lbWJlck9mIHV0aWxcbiAqXG4gKiBAcGFyYW0gIHtBcnJheSB8IE9iamVjdH0geCBvYmplY3Qgd2l0aCBwcm9wZXJ0eSBsZW5ndGhcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqICAgIGxlbmd0aE1pbnVzT25lKFsnZWgnXSkgICAgICAgICAvLz0+IDFcbiAqICAgIGxlbmd0aE1pbnVzT25lKHt9KSAgICAgICAgICAgICAvLz0+IDBcbiAqICAgIGxlbmd0aE1pbnVzT25lKHtsZW5ndGg6IC0xfSkgICAvLz0+IDBcbiAqICAgIGxlbmd0aE1pbnVzT25lKHtsZW5ndGg6IDEwfSAgKSAvLz0+IDEwXG4gKlxuICovXG5tb2R1bGUuZXhwb3J0cyA9IHggPT4gZGVjcmVtZW50KGxlbmd0aCh4KSlcblxuLy8gbW9kdWxlLmV4cG9ydHMgPSBwaXBlKGxlbmd0aCwgZGVjcmVtZW50KVxuLy8gbW9kdWxlLmV4cG9ydHMgPSB4ID0+IHtcbi8vICAgY29uc3QgbGVuID0gbGVuZ3RoKHgpXG4vL1xuLy8gICAvLyBrZWVwIGFib3ZlIDBcbi8vICAgcmV0dXJuIGxlbiA8PSAwID8gMCA6IGRlY3JlbWVudChsZW5ndGgoeCkpXG4vLyB9XG4vLyBAVE9ET1xuLy8gbW9kdWxlLmV4cG9ydHMgPSBwaXBlKGxlbmd0aCwgZGVjcmVtZW50KVxuLy8gbW9kdWxlLmV4cG9ydHMgPSB4ID0+IGxlbmd0aCh4KSAtIDFcbi8vIG1vZHVsZS5leHBvcnRzID0geCA9PiBkZWNyZW1lbnQobGVuZ3RoKHgpKSB8fCAwXG4iXSwibmFtZXMiOlsiY29uc3QiXSwibWFwcGluZ3MiOiJBQUFBQSxHQUFLLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7QUFDbENBLEdBQUssQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixDQUFDO0FBQzlDQSxHQUFLLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQmxDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsVUFBQSxDQUFDLENBQUEsQ0FBQyxBQUFHLFNBQUEsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFBOzs7Ozs7Ozs7Ozs7OyJ9