Kaynağa Gözat

Changed: `model.Differ#getChanges` now takes an object as a param.

Szymon Cofalik 8 yıl önce
ebeveyn
işleme
07ea87b946

+ 6 - 4
packages/ckeditor5-engine/src/model/differ.js

@@ -194,13 +194,15 @@ export default class Differ {
 	 * Because calculating diff is a costly operation, the result is cached. If no new operation was buffered since the
 	 * previous {@link #getChanges} call, the next call with return the cached value.
 	 *
-	 * @params {Boolean} [includeChangesInGraveyard=false] If set to `true`, also changes that happened in graveyard root will be returned.
+	 * @param {Object} options Additional options.
+	 * @param {Boolean} [options.includeChangesInGraveyard=false] If set to `true`, also changes that happened
+	 * in graveyard root will be returned. By default, changes in graveyard root are not returned.
 	 * @returns {Array.<Object>} Diff between old and new model tree state.
 	 */
-	getChanges( includeChangesInGraveyard = false ) {
+	getChanges( options = { includeChangesInGraveyard: false } ) {
 		if ( this._cachedChanges ) {
 			// If there are cached changes, just return them instead of calculating changes again.
-			if ( !includeChangesInGraveyard ) {
+			if ( !options.includeChangesInGraveyard ) {
 				// Filter out graveyard changes.
 				return this._cachedChanges.slice().filter( _changesInGraveyardFilter );
 			}
@@ -360,7 +362,7 @@ export default class Differ {
 		// Cache all changes (even those in graveyard).
 		this._cachedChanges = diffSet.slice();
 
-		if ( !includeChangesInGraveyard ) {
+		if ( !options.includeChangesInGraveyard ) {
 			// Return changes without changes in graveyard.
 			return diffSet.filter( _changesInGraveyardFilter );
 		}

+ 3 - 3
packages/ckeditor5-engine/tests/model/differ.js

@@ -923,8 +923,8 @@ describe( 'Differ', () => {
 			const removePosition = new Position( root, [ 1 ] );
 			remove( removePosition, 1 );
 
-			const changesA = differ.getChanges( true );
-			const changesB = differ.getChanges( true );
+			const changesA = differ.getChanges( { includeChangesInGraveyard: true } );
+			const changesB = differ.getChanges( { includeChangesInGraveyard: true } );
 
 			expect( changesA ).to.deep.equal( changesB );
 		} );
@@ -1004,7 +1004,7 @@ describe( 'Differ', () => {
 	}
 
 	function expectChanges( expected, includeChangesInGraveyard = false ) {
-		const changes = differ.getChanges( includeChangesInGraveyard );
+		const changes = differ.getChanges( { includeChangesInGraveyard } );
 
 		for ( let i = 0; i < expected.length; i++ ) {
 			for ( const key in expected[ i ] ) {