file author : 王佳欣
 *  email import { EMPTY_FUNCTION } from '../../constant' ; interface Target { data : Object ; key : string ; callback ? : Function ; } export default ( target ) : void => { const { data , key , callback = EMPTY_FUNCTION } = target ; let value = data [ key ] ; Object . defineProperty ( data , key , { get ( ) { return value ; } , set ( newValue ) { if ( value === newValue ) { return ; } callback ( newValue , value ) ; value = newValue ; } } ) ; } ;