UNPKG

f-utility

Version:

functional utilities

35 lines (28 loc) 907 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.anyLength = exports.length = exports.objectLength = exports.propLength = undefined; var _katsuCurry = require("katsu-curry"); var _path = require("./path"); var _object = require("./object"); /** * returns .length if it exists on an input * @method propLength * @param {*} whatever - some input * @returns {number} length * @private */ var propLength = exports.propLength = (0, _path.prop)("length"); /** * returns total keys in an object * @method objectLength * @param {Object} object - an object * @returns {number} length * @private */ var objectLength = exports.objectLength = (0, _katsuCurry.pipe)(_object.keys, propLength); var length = exports.length = propLength; var anyLength = exports.anyLength = function anyLength(x) { return typeof x === "object" ? objectLength(x) : propLength(x); };