source: imaps-frontend/node_modules/lodash-es/_baseMatchesProperty.js@ d565449

main
Last change on this file since d565449 was d565449, checked in by stefan toskovski <stefantoska84@…>, 4 weeks ago

Update repo after prototype presentation

  • Property mode set to 100644
File size: 1.1 KB
RevLine 
[d565449]1import baseIsEqual from './_baseIsEqual.js';
2import get from './get.js';
3import hasIn from './hasIn.js';
4import isKey from './_isKey.js';
5import isStrictComparable from './_isStrictComparable.js';
6import matchesStrictComparable from './_matchesStrictComparable.js';
7import toKey from './_toKey.js';
8
9/** Used to compose bitmasks for value comparisons. */
10var COMPARE_PARTIAL_FLAG = 1,
11 COMPARE_UNORDERED_FLAG = 2;
12
13/**
14 * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.
15 *
16 * @private
17 * @param {string} path The path of the property to get.
18 * @param {*} srcValue The value to match.
19 * @returns {Function} Returns the new spec function.
20 */
21function baseMatchesProperty(path, srcValue) {
22 if (isKey(path) && isStrictComparable(srcValue)) {
23 return matchesStrictComparable(toKey(path), srcValue);
24 }
25 return function(object) {
26 var objValue = get(object, path);
27 return (objValue === undefined && objValue === srcValue)
28 ? hasIn(object, path)
29 : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
30 };
31}
32
33export default baseMatchesProperty;
Note: See TracBrowser for help on using the repository browser.