wp/wp-includes/js/dist/is-shallow-equal.js
changeset 9 177826044cd9
child 16 a86126ab1dd4
equal deleted inserted replaced
8:c7c34916027a 9:177826044cd9
       
     1 this["wp"] = this["wp"] || {}; this["wp"]["isShallowEqual"] =
       
     2 /******/ (function(modules) { // webpackBootstrap
       
     3 /******/ 	// The module cache
       
     4 /******/ 	var installedModules = {};
       
     5 /******/
       
     6 /******/ 	// The require function
       
     7 /******/ 	function __webpack_require__(moduleId) {
       
     8 /******/
       
     9 /******/ 		// Check if module is in cache
       
    10 /******/ 		if(installedModules[moduleId]) {
       
    11 /******/ 			return installedModules[moduleId].exports;
       
    12 /******/ 		}
       
    13 /******/ 		// Create a new module (and put it into the cache)
       
    14 /******/ 		var module = installedModules[moduleId] = {
       
    15 /******/ 			i: moduleId,
       
    16 /******/ 			l: false,
       
    17 /******/ 			exports: {}
       
    18 /******/ 		};
       
    19 /******/
       
    20 /******/ 		// Execute the module function
       
    21 /******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
       
    22 /******/
       
    23 /******/ 		// Flag the module as loaded
       
    24 /******/ 		module.l = true;
       
    25 /******/
       
    26 /******/ 		// Return the exports of the module
       
    27 /******/ 		return module.exports;
       
    28 /******/ 	}
       
    29 /******/
       
    30 /******/
       
    31 /******/ 	// expose the modules object (__webpack_modules__)
       
    32 /******/ 	__webpack_require__.m = modules;
       
    33 /******/
       
    34 /******/ 	// expose the module cache
       
    35 /******/ 	__webpack_require__.c = installedModules;
       
    36 /******/
       
    37 /******/ 	// define getter function for harmony exports
       
    38 /******/ 	__webpack_require__.d = function(exports, name, getter) {
       
    39 /******/ 		if(!__webpack_require__.o(exports, name)) {
       
    40 /******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
       
    41 /******/ 		}
       
    42 /******/ 	};
       
    43 /******/
       
    44 /******/ 	// define __esModule on exports
       
    45 /******/ 	__webpack_require__.r = function(exports) {
       
    46 /******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
       
    47 /******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
       
    48 /******/ 		}
       
    49 /******/ 		Object.defineProperty(exports, '__esModule', { value: true });
       
    50 /******/ 	};
       
    51 /******/
       
    52 /******/ 	// create a fake namespace object
       
    53 /******/ 	// mode & 1: value is a module id, require it
       
    54 /******/ 	// mode & 2: merge all properties of value into the ns
       
    55 /******/ 	// mode & 4: return value when already ns object
       
    56 /******/ 	// mode & 8|1: behave like require
       
    57 /******/ 	__webpack_require__.t = function(value, mode) {
       
    58 /******/ 		if(mode & 1) value = __webpack_require__(value);
       
    59 /******/ 		if(mode & 8) return value;
       
    60 /******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
       
    61 /******/ 		var ns = Object.create(null);
       
    62 /******/ 		__webpack_require__.r(ns);
       
    63 /******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
       
    64 /******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
       
    65 /******/ 		return ns;
       
    66 /******/ 	};
       
    67 /******/
       
    68 /******/ 	// getDefaultExport function for compatibility with non-harmony modules
       
    69 /******/ 	__webpack_require__.n = function(module) {
       
    70 /******/ 		var getter = module && module.__esModule ?
       
    71 /******/ 			function getDefault() { return module['default']; } :
       
    72 /******/ 			function getModuleExports() { return module; };
       
    73 /******/ 		__webpack_require__.d(getter, 'a', getter);
       
    74 /******/ 		return getter;
       
    75 /******/ 	};
       
    76 /******/
       
    77 /******/ 	// Object.prototype.hasOwnProperty.call
       
    78 /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
       
    79 /******/
       
    80 /******/ 	// __webpack_public_path__
       
    81 /******/ 	__webpack_require__.p = "";
       
    82 /******/
       
    83 /******/
       
    84 /******/ 	// Load entry module and return exports
       
    85 /******/ 	return __webpack_require__(__webpack_require__.s = 343);
       
    86 /******/ })
       
    87 /************************************************************************/
       
    88 /******/ ({
       
    89 
       
    90 /***/ 343:
       
    91 /***/ (function(module, exports, __webpack_require__) {
       
    92 
       
    93 "use strict";
       
    94 
       
    95 
       
    96 /**
       
    97  * Internal dependencies;
       
    98  */
       
    99 var isShallowEqualObjects = __webpack_require__( 344 );
       
   100 var isShallowEqualArrays = __webpack_require__( 345 );
       
   101 
       
   102 var isArray = Array.isArray;
       
   103 
       
   104 /**
       
   105  * Returns true if the two arrays or objects are shallow equal, or false
       
   106  * otherwise.
       
   107  *
       
   108  * @param {(Array|Object)} a First object or array to compare.
       
   109  * @param {(Array|Object)} b Second object or array to compare.
       
   110  *
       
   111  * @return {boolean} Whether the two values are shallow equal.
       
   112  */
       
   113 function isShallowEqual( a, b ) {
       
   114 	if ( a && b ) {
       
   115 		if ( a.constructor === Object && b.constructor === Object ) {
       
   116 			return isShallowEqualObjects( a, b );
       
   117 		} else if ( isArray( a ) && isArray( b ) ) {
       
   118 			return isShallowEqualArrays( a, b );
       
   119 		}
       
   120 	}
       
   121 
       
   122 	return a === b;
       
   123 }
       
   124 
       
   125 module.exports = isShallowEqual;
       
   126 module.exports.isShallowEqualObjects = isShallowEqualObjects;
       
   127 module.exports.isShallowEqualArrays = isShallowEqualArrays;
       
   128 
       
   129 
       
   130 /***/ }),
       
   131 
       
   132 /***/ 344:
       
   133 /***/ (function(module, exports, __webpack_require__) {
       
   134 
       
   135 "use strict";
       
   136 
       
   137 
       
   138 var keys = Object.keys;
       
   139 
       
   140 /**
       
   141  * Returns true if the two objects are shallow equal, or false otherwise.
       
   142  *
       
   143  * @param {Object} a First object to compare.
       
   144  * @param {Object} b Second object to compare.
       
   145  *
       
   146  * @return {boolean} Whether the two objects are shallow equal.
       
   147  */
       
   148 function isShallowEqualObjects( a, b ) {
       
   149 	var aKeys, bKeys, i, key;
       
   150 
       
   151 	if ( a === b ) {
       
   152 		return true;
       
   153 	}
       
   154 
       
   155 	aKeys = keys( a );
       
   156 	bKeys = keys( b );
       
   157 
       
   158 	if ( aKeys.length !== bKeys.length ) {
       
   159 		return false;
       
   160 	}
       
   161 
       
   162 	i = 0;
       
   163 
       
   164 	while ( i < aKeys.length ) {
       
   165 		key = aKeys[ i ];
       
   166 		if ( a[ key ] !== b[ key ] ) {
       
   167 			return false;
       
   168 		}
       
   169 
       
   170 		i++;
       
   171 	}
       
   172 
       
   173 	return true;
       
   174 }
       
   175 
       
   176 module.exports = isShallowEqualObjects;
       
   177 
       
   178 
       
   179 /***/ }),
       
   180 
       
   181 /***/ 345:
       
   182 /***/ (function(module, exports, __webpack_require__) {
       
   183 
       
   184 "use strict";
       
   185 
       
   186 
       
   187 /**
       
   188  * Returns true if the two arrays are shallow equal, or false otherwise.
       
   189  *
       
   190  * @param {Array} a First array to compare.
       
   191  * @param {Array} b Second array to compare.
       
   192  *
       
   193  * @return {boolean} Whether the two arrays are shallow equal.
       
   194  */
       
   195 function isShallowEqualArrays( a, b ) {
       
   196 	var i;
       
   197 
       
   198 	if ( a === b ) {
       
   199 		return true;
       
   200 	}
       
   201 
       
   202 	if ( a.length !== b.length ) {
       
   203 		return false;
       
   204 	}
       
   205 
       
   206 	for ( i = 0; i < a.length; i++ ) {
       
   207 		if ( a[ i ] !== b[ i ] ) {
       
   208 			return false;
       
   209 		}
       
   210 	}
       
   211 
       
   212 	return true;
       
   213 }
       
   214 
       
   215 module.exports = isShallowEqualArrays;
       
   216 
       
   217 
       
   218 /***/ })
       
   219 
       
   220 /******/ });