export { equal } from '../../internal' ; export function isTypeInstance ( clazz , superClass ) { let c = clazz ; while ( c && c !== superClass ) { c = c . __proto__ ; } return c === superClass ; } export function pick < T extends Record < string , unknown > > ( obj , keys ) { const r = { } as any ; keys . forEach ( ( k ) => { if ( obj . hasOwnProperty ( k ) ) { r [ k ] = obj [ k ] ; } } ) ; return r ; } export function isSame < T extends Record < string , unknown > > ( current , changed , props ) { if ( props . every ( ( p ) => ! changed ( p ) ) ) { return null ; } return pick ( current , props ) ; }