[ https://issues.apache.org/jira/browse/THRIFT-2939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14272899#comment-14272899 ]
Radoslaw Gruchalski commented on THRIFT-2939: --------------------------------------------- This does not break the exposed interface. It only changes generated code. This means that code generated prior to 1.0.0 would not work with 1.0.0. Seems acceptable to me. I can provide additional validation in 1.0.0 and human readable errors. Does this help? Or try/catch in generated code but this one seems nasty. > 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)