[ https://issues.apache.org/jira/browse/THRIFT-2939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14272895#comment-14272895 ]
Roger Meier commented on THRIFT-2939: ------------------------------------- It makes sense to align this, however tutorial, test and co must still work and I guess this would break backwardcompatibility, so we nned to keep the old JavaScript behavior as well for the moment. > JavaScript generated code for Node and browser is different > ----------------------------------------------------------- > > Key: THRIFT-2939 > URL: https://issues.apache.org/jira/browse/THRIFT-2939 > Project: Thrift > Issue Type: Improvement > Components: JavaScript - Compiler, JavaScript - Library > Affects Versions: 0.9.2 > Reporter: Radoslaw Gruchalski > Labels: javascript, patch > > The generated code for regular JS differs from NodeJS code. NodeJS uses > direct return values from {{read<Type>()}} while regular JS code expects a > value from {{read<Type>()}} to be an object with {{.value}} property. > This makes it impossible to share generated code between browser JS and > NodeJS. The fix is rather simple: > - do not append {{.value}} in generated code while accessing values read from > protocol / transport > - do not return an object with the value property from {{read}}, return > result read > I am not sure why such difference. Both environment implementations take an > input, which is a protocol, and execute the same read methods. There is no > need to have an additional complexity in regular JS. -- This message was sent by Atlassian JIRA (v6.3.4#6332)