@@ -296,7 +296,7 @@ describe('Function: deepMerge', () => {
296296 // Act
297297 const result = deepMerge ( target , source ) ;
298298
299- // Assess - self-reference is skipped entirely
299+ // Assess
300300 expect ( result ) . toEqual ( { a : 1 , b : 2 } ) ;
301301 expect ( result ) . not . toHaveProperty ( 'self' ) ;
302302 } ) ;
@@ -313,7 +313,7 @@ describe('Function: deepMerge', () => {
313313 // Act
314314 const result = deepMerge ( target , source ) ;
315315
316- // Assess - circular reference is skipped
316+ // Assess
317317 expect ( result ) . toEqual ( { a : 1 , b : 2 , nested : { c : 3 } } ) ;
318318 } ) ;
319319
@@ -327,16 +327,15 @@ describe('Function: deepMerge', () => {
327327 // Act
328328 const result = deepMerge ( target , source ) ;
329329
330- // Assess - circular array reference is preserved in shallow copy
331- // (the array itself is copied, but the circular element points to original)
330+ // Assess
332331 expect ( result . a ) . toBe ( 1 ) ;
333332 expect ( Array . isArray ( result . arr ) ) . toBe ( true ) ;
334333 expect ( ( result . arr as unknown [ ] ) [ 0 ] ) . toBe ( 1 ) ;
335334 expect ( ( result . arr as unknown [ ] ) [ 1 ] ) . toBe ( 2 ) ;
336335 } ) ;
337336
338337 it ( 'skips array that references an ancestor array' , ( ) => {
339- // Prepare - an array contains an object whose property points back to the array
338+ // Prepare
340339 const arr : unknown [ ] = [ ] ;
341340 const inner : Record < string , unknown > = { backRef : arr } ;
342341 arr . push ( inner ) ;
@@ -346,8 +345,7 @@ describe('Function: deepMerge', () => {
346345 // Act
347346 const result = deepMerge ( target , source ) ;
348347
349- // Assess - inner.backRef is the same array that's in the ancestor chain,
350- // so the circular array reference is skipped during mergeRecursive
348+ // Assess
351349 expect ( result . arr ) . toBeDefined ( ) ;
352350 expect ( ( result . arr as Record < string , unknown > [ ] ) [ 0 ] ) . not . toHaveProperty (
353351 'backRef'
@@ -363,7 +361,7 @@ describe('Function: deepMerge', () => {
363361 // Act
364362 const result = deepMerge ( target , source ) ;
365363
366- // Assess - source inside its own array is a circular ref and is skipped
364+ // Assess
367365 expect ( result ) . toEqual ( { arr : [ { a : 1 } ] , b : 2 } ) ;
368366 } ) ;
369367
@@ -379,7 +377,7 @@ describe('Function: deepMerge', () => {
379377 // Act
380378 const result = deepMerge ( target , source ) ;
381379
382- // Assess - shared (non-circular) array is merged into both properties
380+ // Assess
383381 expect ( result ) . toEqual ( {
384382 first : [ 1 , 2 , 3 ] ,
385383 second : [ 1 , 2 , 3 ] ,
@@ -400,7 +398,7 @@ describe('Function: deepMerge', () => {
400398 // Act
401399 const result = deepMerge ( target , source ) ;
402400
403- // Assess - sharedObj is merged into both prop and arr[0]
401+ // Assess
404402 expect ( result . prop ) . toEqual ( { shared : true } ) ;
405403 expect ( ( result . arr as Record < string , unknown > [ ] ) [ 0 ] ) . toEqual ( {
406404 a : 1 ,
@@ -424,7 +422,7 @@ describe('Function: deepMerge', () => {
424422 // Act
425423 const result = deepMerge ( target , source ) ;
426424
427- // Assess - shared (non-circular) object appears in both locations
425+ // Assess
428426 expect ( result ) . toEqual ( {
429427 first : { value : 42 } ,
430428 second : { nested : { value : 42 } } ,
@@ -445,7 +443,7 @@ describe('Function: deepMerge', () => {
445443 // Act
446444 const result = deepMerge ( target , source ) ;
447445
448- // Assess - shared array should be merged into both properties
446+ // Assess
449447 expect ( result ) . toEqual ( {
450448 first : [ 1 , 2 , 3 ] ,
451449 second : [ 1 , 2 , 3 ] ,
@@ -466,7 +464,7 @@ describe('Function: deepMerge', () => {
466464 // Act
467465 const result = deepMerge ( target , source ) ;
468466
469- // Assess - sharedObj should be merged into both prop and arr[0]
467+ // Assess
470468 expect ( result . prop ) . toEqual ( { shared : true } ) ;
471469 expect ( ( result . arr as Record < string , unknown > [ ] ) [ 0 ] ) . toEqual ( {
472470 a : 1 ,
@@ -490,7 +488,7 @@ describe('Function: deepMerge', () => {
490488 // Act
491489 const result = deepMerge ( target , source ) ;
492490
493- // Assess - shared object should appear in both locations
491+ // Assess
494492 expect ( result ) . toEqual ( {
495493 first : { value : 42 } ,
496494 second : { nested : { value : 42 } } ,
@@ -523,7 +521,7 @@ describe('Function: deepMerge', () => {
523521 // Act
524522 const result = deepMerge ( target , source ) ;
525523
526- // Assess - same object at different depths in two branches
524+ // Assess
527525 expect ( result ) . toEqual ( {
528526 branch1 : { leaf : { value : 'shared' } } ,
529527 branch2 : { leaf : { value : 'shared' } } ,
@@ -543,8 +541,7 @@ describe('Function: deepMerge', () => {
543541 // Act
544542 const result = deepMerge ( target , source ) ;
545543
546- // Assess - shared object is merged in both locations,
547- // but the circular self-reference within it is skipped
544+ // Assess
548545 expect ( result ) . toEqual ( {
549546 first : { value : 1 } ,
550547 second : { nested : { value : 1 } } ,
@@ -560,8 +557,7 @@ describe('Function: deepMerge', () => {
560557 // Act
561558 const result = deepMerge ( target , source ) ;
562559
563- // Assess - inner is not in the ancestor chain when processing source,
564- // so it should be merged into both properties
560+ // Assess
565561 expect ( result ) . toEqual ( {
566562 a : { x : 1 } ,
567563 b : { x : 1 } ,
@@ -734,7 +730,7 @@ describe('Function: deepMerge', () => {
734730 // Act
735731 const result = deepMerge ( { } , source1 , source2 ) ;
736732
737- // Assess - object source overwrites function, not merged into it
733+ // Assess
738734 expect ( result ) . toEqual ( { a : { b : 2 } } ) ;
739735 expect ( 'b' in ( source1 . a as object ) ) . toBe ( false ) ;
740736 } ) ;
@@ -746,7 +742,7 @@ describe('Function: deepMerge', () => {
746742 // Act
747743 const result = deepMerge ( object , object ) ;
748744
749- // Assess - should be a no-op
745+ // Assess
750746 expect ( result ) . toBe ( object ) ;
751747 expect ( result ) . toEqual ( { a : 1 , b : { c : 2 } } ) ;
752748 } ) ;
0 commit comments