nantunes opened a new issue, #19237:
URL: https://github.com/apache/echarts/issues/19237

   ### What problem does this feature solve?
   
   I'm working with Apache Arrow data via Arquero, and I often deal with BigInt 
values (Apache Arrow's Int64 type). However, Apache ECharts currently stumbles 
on BigInt, throwing errors like `Uncaught TypeError: Cannot convert a BigInt 
value to a number.` There were some discussions 
([#13819](https://github.com/apache/echarts/issues/13819), 
[#12873](https://github.com/apache/echarts/issues/12873)) on this, but they 
didn't move forward.
   
   BigInt support is needed for dealing with high-precision timestamps (sensor 
data) or large integers in datasets.
   
   Apache Arrow is a portable format for storing column-oriented data, allowing 
data to be shared as-is between various systems and language runtimes. Arquero 
can process Arrow data directly and serialize data to the Arrow format. It can 
read from Apache Arrow columns out-of-the-box, enabling zero-copy query 
processing over loaded data.
   
   I'm trying to avoid pre-processing the data (for casting BigInt to Number), 
as it is a big amount of data and I would lose the zero-copy optimizations and 
end up with multiple copies on memory (I already have to live with the 
[unneeded clone of data](https://github.com/apache/echarts/issues/17656)).
   
   ### What does the proposed API look like?
   
   1. **Adapt Data Handling:** Adjust the data handling parts to play nice with 
`BigInt`, especially around uses of the `Math` API and the `isFinite` method. 
E.g. `detectValue` at `sourceHelper.js` or `parseDataValue` at 
`dataValueHelper.js`.
   
   2. **Type Conversion:** Provide tools to switch between `BigInt` and 
`Number` if needed, while ensuring no loss in precision. However, this might 
not be necessary as all values of a dimension are of the same type.
   
   3. **Option API Tweak:** We can allow specifying `bigint` type in the 
dataset's dimensions, although the type should be easy to guess by looking at 
the data.
   
   Thanks.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to