export param { string } property param { boolean } deep returns { MethodDecorator } export function Watch ( property , deep ? ) { return function ( target , key ) { if ( typeof target [ 'watch' ] !== 'object' ) { target [ 'watch' ] = { } ; } if ( ! target [ 'watch' ] [ property ] ) { let watcher ; if ( deep !== undefined ) { watcher = { deep , handler : target [ key ] } ; } else { watcher = target [ key ] ; } target [ 'watch' ] [ property ] = watcher ; } } ; }