import { IComponent , IDirective } from '../types' ; export param { string } input returns { ( ( target : IComponent | IDirective , propertyName : string ) => any ) } export function Input ( input ? ) { return function ( target , propertyName ) : any { const inputName = input ? input : propertyName ; if ( ! target . $inputsList ) target . $inputsList = [ ] ; target . $inputsList . push ( { propertyName , inputName } ) ; return target [ propertyName ] ; } ; }