mirror of
https://github.com/morhetz/gruvbox.git
synced 2025-11-16 15:23:47 -05:00
48 lines
1.3 KiB
JavaScript
48 lines
1.3 KiB
JavaScript
'use strict';
|
||
|
||
Object.defineProperty(exports, '__esModule', {
|
||
value: true
|
||
});
|
||
/**
|
||
* Check if an object is contained within another object.
|
||
*
|
||
* Returns `true` if:
|
||
* - all enumerable keys of *subset* are also enumerable in *superset*, and
|
||
* - every value assigned to an enumerable key of *subset* strictly equals
|
||
* the value assigned to the same key of *superset* – or is a subset of it.
|
||
*
|
||
* @param {Object} superset
|
||
* @param {Object} subset
|
||
*
|
||
* @returns {Boolean}
|
||
*
|
||
* @module is-subset
|
||
* @function default
|
||
* @alias isSubset
|
||
*/
|
||
var isSubset = (function (_isSubset) {
|
||
function isSubset(_x, _x2) {
|
||
return _isSubset.apply(this, arguments);
|
||
}
|
||
|
||
isSubset.toString = function () {
|
||
return _isSubset.toString();
|
||
};
|
||
|
||
return isSubset;
|
||
})(function (superset, subset) {
|
||
if (typeof superset !== 'object' || superset === null || (typeof subset !== 'object' || subset === null)) return false;
|
||
|
||
return Object.keys(subset).every(function (key) {
|
||
if (!superset.propertyIsEnumerable(key)) return false;
|
||
|
||
var subsetItem = subset[key];
|
||
var supersetItem = superset[key];
|
||
if (typeof subsetItem === 'object' && subsetItem !== null ? !isSubset(supersetItem, subsetItem) : supersetItem !== subsetItem) return false;
|
||
|
||
return true;
|
||
});
|
||
});
|
||
|
||
exports['default'] = isSubset;
|
||
module.exports = exports['default']; |