Description
The handling of integers is referenced in previous issues (153, 122, 106, etc.). These issues have been closed and point to the Bolt driver methods (InSafeRange, int, etc.) as the resolution. However, using these methods implies hard-coding conversions against a known set of data entities, and doing it on the server. It's a highly inefficient solution: the driver should only convert 64-bit numbers to {high: low:} objects as a last resort. Converting all integers into these objects and then requiring a server to locate and re-convert most of them back into JS numbers is not an ideal solution. I'm using the neo4j-javascript-driver for a web app, and I would be very surprised if serious 64-bit applications considered JS their language of choice. In my case: a.) all my numbers are JS numbers, both in and out of neo4j; b.) I do not want to use my back-end neo4j server and front-line web servers to convert JS integers into objects and then convert those objects back into JS integers; and c.) I do not want to hard-code my server or client scripts to the granularities of a data model. I'm raising this as a new issue: I think the neo4j-JS-driver should have an optional directive to convert 64-bit integers directly to JS numbers and not waste time converting them all into objects. Thanks!