fs: add *timeNs properties to BigInt Stats objects
- Extend the aliased buffer for stats objects to contain the entire time spec (seconds and nanoseconds) for the time values instead of calculating the milliseconds in C++ and lose precision.
- Calculate the nanosecond-precision time values in JS and expose
them in BigInt Stats objects as
*timeNs
. The millisecond-precision values are now calculated from the nanosecond-precision values. - Refactor the hierarchy of stats objects and use ES6 classes.
Checklist
-
make -j4 test
(UNIX), orvcbuild test
(Windows) passes -
tests and/or benchmarks are included -
documentation is changed or added -
commit message follows commit guidelines