From d996b5abc29e51304bc740b394814fa78dd80a8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jimmy=20Wa=CC=88rting?= Date: Thu, 12 Aug 2021 15:34:02 +0200 Subject: [PATCH] update dep, switch to esm, require 12.20 --- README.md | 6 +++--- index.js | 20 ++++++++++++++++++-- package.json | 8 ++++++-- test/basic.js | 12 ++++++------ 4 files changed, 33 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index cb7527b..c90dca9 100644 --- a/README.md +++ b/README.md @@ -24,13 +24,13 @@ npm install ieee754 ## methods -`var ieee754 = require('ieee754')` +`import {read, write} from 'ieee754'` The `ieee754` object has the following functions: ``` -ieee754.read = function (buffer, offset, isLE, mLen, nBytes) -ieee754.write = function (buffer, value, offset, isLE, mLen, nBytes) +read = function (buffer, offset, isLE, mLen, nBytes) +write = function (buffer, value, offset, isLE, mLen, nBytes) ``` The arguments mean the following: diff --git a/index.js b/index.js index 8956a98..fa3b203 100644 --- a/index.js +++ b/index.js @@ -1,5 +1,13 @@ /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ -exports.read = function (buffer, offset, isLE, mLen, nBytes) { + +/** + * @param {Uint8Array} buffer the buffer + * @param {number} offset offset into the buffer + * @param {Boolean} isLE is little endian? + * @param {number} mLen mantissa length + * @param {number} nBytes number of bytes + */ +export function read (buffer, offset, isLE, mLen, nBytes) { let e, m const eLen = (nBytes * 8) - mLen - 1 const eMax = (1 << eLen) - 1 @@ -40,7 +48,15 @@ exports.read = function (buffer, offset, isLE, mLen, nBytes) { return (s ? -1 : 1) * m * Math.pow(2, e - mLen) } -exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { +/** + * @param {Uint8Array} buffer the buffer + * @param {number} value offset into the buffer + * @param {number} offset value to set + * @param {boolean} isLE is little endian? + * @param {number} mLen mantissa length + * @param {number} nBytes number of bytes + */ +export function write (buffer, value, offset, isLE, mLen, nBytes) { let e, m, c let eLen = (nBytes * 8) - mLen - 1 const eMax = (1 << eLen) - 1 diff --git a/package.json b/package.json index 7b23851..dbcfbb7 100644 --- a/package.json +++ b/package.json @@ -10,10 +10,11 @@ "contributors": [ "Romain Beauxis " ], + "type": "module", "devDependencies": { - "airtap": "^3.0.0", + "airtap": "^4.0.3", "standard": "*", - "tape": "^5.0.1" + "tape": "^5.3.1" }, "keywords": [ "IEEE 754", @@ -22,6 +23,9 @@ "floating point", "ieee754" ], + "engines": { + "node": ">=12.20" + }, "license": "BSD-3-Clause", "main": "index.js", "types": "index.d.ts", diff --git a/test/basic.js b/test/basic.js index 2074af4..1deb831 100644 --- a/test/basic.js +++ b/test/basic.js @@ -1,5 +1,5 @@ -const ieee754 = require('../') -const test = require('tape') +import test from 'tape' +import { read, write } from '../index.js' const EPSILON = 0.00001 @@ -8,7 +8,7 @@ test('read float', function (t) { const buf = Buffer.alloc(4) buf.writeFloatLE(val, 0) - const num = ieee754.read(buf, 0, true, 23, 4) + const num = read(buf, 0, true, 23, 4) t.ok(Math.abs(num - val) < EPSILON) t.end() @@ -18,7 +18,7 @@ test('write float', function (t) { const val = 42.42 const buf = Buffer.alloc(4) - ieee754.write(buf, val, 0, true, 23, 4) + write(buf, val, 0, true, 23, 4) const num = buf.readFloatLE(0) t.ok(Math.abs(num - val) < EPSILON) @@ -30,7 +30,7 @@ test('read double', function (t) { const buf = Buffer.alloc(8) buf.writeDoubleLE(value, 0) - const num = ieee754.read(buf, 0, true, 52, 8) + const num = read(buf, 0, true, 52, 8) t.ok(Math.abs(num - value) < EPSILON) t.end() @@ -40,7 +40,7 @@ test('write double', function (t) { const value = 12345.123456789 const buf = Buffer.alloc(8) - ieee754.write(buf, value, 0, true, 52, 8) + write(buf, value, 0, true, 52, 8) const num = buf.readDoubleLE(0) t.ok(Math.abs(num - value) < EPSILON)