UNPKG

moltres-utils

Version:
58 lines (45 loc) 1.68 kB
"use strict"; require("core-js/modules/es6.object.define-property"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _castPath = _interopRequireDefault(require("./castPath")); var _curry = _interopRequireDefault(require("../common/curry")); var _defn = _interopRequireDefault(require("../common/defn")); var _hasPath = _interopRequireDefault(require("./hasPath")); var _isArray = _interopRequireDefault(require("../lang/isArray")); var _isUndefined = _interopRequireDefault(require("../lang/isUndefined")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Returns whether or not a path exists in an object. Only the object's * own properties are checked. * * @function * @since v0.0.3 * @category data * @typedefn Idx = String | Int * @sig [Idx] -> {a} -> Boolean * @param {Array|String} selector The selector to use. * @param {Object} value The value to check the path in. * @return {Boolean} Whether the selector exists. * @example * * has(['a', 'b'], {a: {b: 2}}) // => true * has(['a', 'b'], {a: {b: undefined}}) // => true * has('a.b', {a: {c: 2}}) // => false * has([], {}) // => true */ var has = (0, _curry.default)((0, _defn.default)('has', function (selector, value) { if ((0, _isUndefined.default)(selector)) { return !!value; } var parts = selector; if (!(0, _isArray.default)(selector)) { parts = (0, _castPath.default)(selector, value); } return (0, _hasPath.default)(parts, value); })); var _default = has; exports.default = _default; //# sourceMappingURL=has.js.map