| 1234567891011121314151617181920212223242526272829303132 |
- /**
- * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
- */
- /**
- * @module utils/mapsequal
- */
- /**
- * Checks whether given {Map}s are equal, that is has same size and same key-value pairs.
- *
- * @param {Map} mapA The first map to compare.
- * @param {Map} mapB The second map to compare.
- * @returns {Boolean} `true` if given maps are equal, `false` otherwise.
- */
- export default function mapsEqual( mapA, mapB ) {
- if ( mapA.size != mapB.size ) {
- return false;
- }
- for ( const attr of mapA.entries() ) {
- const valA = JSON.stringify( attr[ 1 ] );
- const valB = JSON.stringify( mapB.get( attr[ 0 ] ) );
- if ( valA !== valB ) {
- return false;
- }
- }
- return true;
- }
|