@@ -66,13 +66,15 @@ function* FromObject(path: string, left: Record<PropertyKey, unknown>, right: un
6666 // ----------------------------------------------------------------
6767 for ( const key of rightKeys ) {
6868 if ( Guard . HasPropertyKey ( left , key ) ) continue
69+ if ( Guard . IsUnsafePropertyKey ( key ) ) continue
6970 yield CreateInsert ( `${ path } /${ key } ` , right [ key ] )
7071 }
7172 // ----------------------------------------------------------------
7273 // Update
7374 // ----------------------------------------------------------------
7475 for ( const key of leftKeys ) {
7576 if ( ! Guard . HasPropertyKey ( right , key ) ) continue
77+ if ( Guard . IsUnsafePropertyKey ( key ) ) continue
7678 if ( Equal ( left , right ) ) continue
7779 yield * FromValue ( `${ path } /${ key } ` , left [ key ] , right [ key ] )
7880 }
@@ -81,6 +83,7 @@ function* FromObject(path: string, left: Record<PropertyKey, unknown>, right: un
8183 // ----------------------------------------------------------------
8284 for ( const key of leftKeys ) {
8385 if ( Guard . HasPropertyKey ( right , key ) ) continue
86+ if ( Guard . IsUnsafePropertyKey ( key ) ) continue
8487 yield CreateDelete ( `${ path } /${ key } ` )
8588 }
8689}
@@ -107,10 +110,10 @@ function* FromArray(path: string, left: unknown[], right: unknown): IterableIter
107110function * FromTypedArray ( path : string , left : GlobalsGuard . TTypeArray , right : unknown ) : IterableIterator < TEdit > {
108111 const typeLeft = globalThis . Object . getPrototypeOf ( left ) . constructor . name
109112 const typeRight = globalThis . Object . getPrototypeOf ( right ) . constructor . name
110- const predicate = GlobalsGuard . IsTypeArray ( right )
113+ const predicate = GlobalsGuard . IsTypeArray ( right )
111114 && Guard . IsEqual ( left . length , right . length )
112115 && Guard . IsEqual ( typeLeft , typeRight )
113- if ( predicate ) {
116+ if ( predicate ) {
114117 for ( let index = 0 ; index < Math . min ( left . length , right . length ) ; index ++ ) {
115118 yield * FromValue ( `${ path } /${ index } ` , left [ index ] , right [ index ] )
116119 }
@@ -131,9 +134,9 @@ function* FromUnknown(path: string, left: unknown, right: unknown): IterableIter
131134function * FromValue ( path : string , left : unknown , right : unknown ) : IterableIterator < TEdit > {
132135 return (
133136 GlobalsGuard . IsTypeArray ( left ) ? yield * FromTypedArray ( path , left , right ) :
134- Guard . IsArray ( left ) ? yield * FromArray ( path , left , right ) :
135- Guard . IsObject ( left ) ? yield * FromObject ( path , left , right ) :
136- yield * FromUnknown ( path , left , right )
137+ Guard . IsArray ( left ) ? yield * FromArray ( path , left , right ) :
138+ Guard . IsObject ( left ) ? yield * FromObject ( path , left , right ) :
139+ yield * FromUnknown ( path , left , right )
137140 )
138141}
139142// ------------------------------------------------------------------
0 commit comments