Originally published at: https://amatino.io/blog/amatino-js-0-0-13-released/
A new version of the Amatino Node.js library is now available. 0.0.13 addresses a big issue that has plagued previous Amatino JS versions, and fixes one other nasty bug:
- Decode large integers as
BigIntrather than hacking them into
Datemonth properly (previously the previous month was encoded)
Internally, the Amatino API only thinks in 64-bit integers and arbitrary-precision numbers. Floats & lower-width integers are absent.
These 64-bit integers flow out into the public domain as IDs of various objects. For example,
Session IDs and
User IDs are random 64-bit integers. If your
Entity is extremely large, you might also encounter them as IDs for
String, and sent them back to the API as JSON Strings. This was a huge, awful hack involving a flakey Regular Expression.
Surprise surprise, this caused problems for customers. We are very sorry for that. 0.0.13 solves the problem by taking advantage of the “new” native
BigInts arrived in Google V8 version 6.7, have been available in Node since version 10.4.
Consequently, Node.js 10.4 is now the minimum required version for a project that includes Amatino JS.
BigInt. We therefore owe big thanks to Andrey Sidorov, whose MIT licensed json-bigint project we adapted to handle the relevant JSON operations.
Installation & UsageYou can install Amatino JS via NPM. For more information about NPM, check out npmjs.com.
$ npm install amatinoAmatino classes may then be accessed by requiring Amatino:
const Amatino = require('Amatino'); Amatino.Transaction.create(...);If you already have Amatino JS installed, you can update it by executing:
$ npm update AmatinoTake care - This operation may not update the Amatino version number in
package.json. You may need to change that manually.