moltres-utils
Version:
Utils for Moltres apps
58 lines (45 loc) • 1.68 kB
JavaScript
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
;