import { Parameter } from './parameter' ; /**
 * Describes the Abi function
 */ export default class AbiFunction { name : string ; returntype : string ; parameters : Parameter [ ] ; constructor ( name , returntype , parameters ) { this . name = name ; this . returntype = returntype ; this . parameters = parameters ; } getParameter ( name ) { for ( const v of this . parameters ) { if ( v . getName ( ) === name ) { return v ; } } return null ; } setParamsValue ( ... args ) { for ( let i = 0 , len = args . length ; i < len ; i ++ ) { for ( let j = 0 ; j < this . parameters . length ; j ++ ) { if ( args [ i ] . name === this . parameters [ j ] . getName ( ) ) { this . parameters [ j ] . setValue ( args [ i ] ) ; } } } } toString ( ) { const json = { name : this . name , returntype : this . returntype , parameters : this . parameters } ; return JSON . stringify ( json ) ; } }