Description
One of the principles of a js client library should be to make it easier to use the underlying platfrom (in this case cypher/neo4j) from a js/nodejs application. I think there are a number of design patterns in this lib which make it quite impractical
-
Handling of integers -
Has already been raised on numerous occasions Handling integers #245 Properties(node) with integer values returned with high/low object #225 Strange behavior with integer number literals being returned as objects {high: 23, low: 0} #122
Edge cases shouldn't make the default behavior impractical -
Response format - currently returns a representation of a table
Was referred in Feature Request for a toJSON method #189 and the resolution provided for this issue should IMO be the default format that the promise returns.
As a consumer inside a javascript/nodejs application I would expect a json representation of the data.
This forces me to map the result in 100 pc of the cases - which IMO is one of the jobs that a client library should handle.
I don't mean to suggest that the other cases should be ignored, but these cases which are used less frequently and only in advanced/edge scenarios, should not be the default behavior.