vue-app-sdk
Version:
21 lines (20 loc) • 798 B
JavaScript
import baseIsEqual from "./_baseIsEqual.js";
import get from "./get.js";
import hasIn from "./hasIn.js";
import isKey from "./_isKey.js";
import isStrictComparable from "./_isStrictComparable.js";
import matchesStrictComparable from "./_matchesStrictComparable.js";
import toKey from "./_toKey.js";
var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2;
function baseMatchesProperty(path, srcValue) {
if (isKey(path) && isStrictComparable(srcValue)) {
return matchesStrictComparable(toKey(path), srcValue);
}
return function(object) {
var objValue = get(object, path);
return objValue === void 0 && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
};
}
export {
baseMatchesProperty as default
};