Radoslaw Gruchalski created THRIFT-2939:
-------------------------------------------
Summary: 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
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)