// 将参数格式化为字符串
export default {
    execute:function(){
        console.log("进入到格式化为字符串前端公式");
        if(arguments&&arguments[0]&&arguments[0][0]&&arguments[1]){
            let _key = arguments[0][0],context = arguments[1];
            let _ret_string = '';

            if(_key && _key instanceof StaticDataNode){//如果是静态常量
               
                let _data = _key.StaticValue;
              
                if((typeof _data == 'string') && _data.constructor == String){
                    _ret_string = _data;
                }else{
                    _ret_string =  JSON.stringify(_data);
                }
                return _ret_string;

            }else if(_key && _key instanceof FunctionNode ){//如果是公式返回值作为参数

                let _data = _key.getResult();             
                if(_data instanceof AbstractData){
                    _ret_string =  _data.Value.toString();//如果默认为字符串类型，使用JSON会多出一层双引号
                }else if((typeof _data == 'string') && _data.constructor == String){
                    _ret_string = _data;
                }else{
                    _ret_string =  JSON.stringify(_data);
                }

                return _ret_string;
            }else{
               
                return '';
            }
            
        }else{
            GAMS.Common.messagePrompt('StringValue公式：参数配置有误');
            return '';
        }
    },
    getResultType:function(){
        return FMR.ConstDataTypes.General;
    }
}