Repository: thrift Updated Branches: refs/heads/master c60b69b37 -> de112fbb0
change js generator for simple using in object params Client: node.js This closes #1034 Project: http://git-wip-us.apache.org/repos/asf/thrift/repo Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/de112fbb Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/de112fbb Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/de112fbb Branch: refs/heads/master Commit: de112fbb0d7f2139ef107211e82e03b574f890d0 Parents: c60b69b Author: jiangq <jiangq.lea...@gmail.com> Authored: Thu Apr 6 13:40:59 2017 +0800 Committer: James E. King, III <jk...@apache.org> Committed: Sat Aug 12 16:23:06 2017 -0700 ---------------------------------------------------------------------- .../cpp/src/thrift/generate/t_js_generator.cc | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/thrift/blob/de112fbb/compiler/cpp/src/thrift/generate/t_js_generator.cc ---------------------------------------------------------------------- diff --git a/compiler/cpp/src/thrift/generate/t_js_generator.cc b/compiler/cpp/src/thrift/generate/t_js_generator.cc index 57ec88e..10b0ee1 100644 --- a/compiler/cpp/src/thrift/generate/t_js_generator.cc +++ b/compiler/cpp/src/thrift/generate/t_js_generator.cc @@ -1483,11 +1483,20 @@ void t_js_generator::generate_service_client(t_service* tservice) { << "', " << messageType << ", this.seqid);" << endl; } - f_service_ << indent() << "var args = new " << argsname << "();" << endl; - - for (fld_iter = fields.begin(); fld_iter != fields.end(); ++fld_iter) { - f_service_ << indent() << "args." << (*fld_iter)->get_name() << " = " - << (*fld_iter)->get_name() << ";" << endl; + if (fields.size() > 0){ + f_service_ << indent() << "var params = {" << endl; + for (fld_iter = fields.begin(); fld_iter != fields.end(); ++fld_iter) { + f_service_ << indent() << indent() << (*fld_iter)->get_name() << ": " << (*fld_iter)->get_name(); + if (fld_iter != fields.end()-1) { + f_service_ << "," << endl; + } else { + f_service_ << endl; + } + } + f_service_ << indent() << "};" << endl; + f_service_ << indent() << "var args = new " << argsname << "(params);" << endl; + } else { + f_service_ << indent() << "var args = new " << argsname << "();" << endl; } // Write to the stream