From 4ac6926c9fbc7fe80a606ee173d354f38fc791ea Mon Sep 17 00:00:00 2001 From: "Somhairle H. Marisol" Date: Sun, 19 Jan 2025 11:13:34 +0800 Subject: [PATCH 1/2] feat(buffer): add some new function bindings. - readBig(U)Int64(BE/LE) - subarray(ToEnd) NOTE: Buffer.slice is now deprecated (since node 16.x LTS) Refs. ======= - https://nodejs.org/docs/latest-v16.x/api/buffer.html#bufslicestart-end --- src/Buffer.res | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/Buffer.res b/src/Buffer.res index 88b1e54..8ccec1b 100644 --- a/src/Buffer.res +++ b/src/Buffer.res @@ -272,9 +272,24 @@ external readUintBE: (t, ~offset: int, ~length: int) => float = "readUintBE" @send external readUintLE: (t, ~offset: int, ~length: int) => float = "readUintLE" +@send +external readBigInt64BE: (t, ~offset: int) => bigint = "readBigInt64BE" + +@send +external readBigInt64LE: (t, ~offset: int) => bigint = "readBigInt64LE" + +@send +external readBigUint64BE: (t, ~offset: int) => bigint = "readBigUInt64BE" + +@send +external readBigUint64LE: (t, ~offset: int) => bigint = "readBigUInt64LE" + @send external slice: (t, ~start: int, ~end_: int) => t = "slice" @send external sliceToEnd: (t, ~start: int) => t = "slice" +@send external subarray: (t, ~start: int, ~end_: int) => t = "subarray" +@send external subarrayToEnd: (t, ~start: int) => t = "subarray" + @send external swap16: t => t = "swap16" @send external swap32: t => t = "swap32" @send external swap64: t => t = "swap64" From e1f426fd6396bf5113ec541b07be33b70998b954 Mon Sep 17 00:00:00 2001 From: "Somhairle H. Marisol" Date: Sun, 2 Mar 2025 16:17:42 +0800 Subject: [PATCH 2/2] chore: update rescript and deprecate Buffer.slice methods - Upgrade rescript to v11.1.0 - Add rescript.json configuration file - Mark Buffer.slice methods as deprecated in favor of subarray methods - Update Cluster module classification logic --- lib/js/src/Cluster.bs.js | 9 --------- package.json | 2 +- bsconfig.json => rescript.json | 0 src/Buffer.res | 6 ++++-- yarn.lock | 10 +++++----- 5 files changed, 10 insertions(+), 17 deletions(-) rename bsconfig.json => rescript.json (100%) diff --git a/lib/js/src/Cluster.bs.js b/lib/js/src/Cluster.bs.js index b9e11b7..bf3ec5a 100644 --- a/lib/js/src/Cluster.bs.js +++ b/lib/js/src/Cluster.bs.js @@ -22,15 +22,6 @@ function classify(x) { TAG: "TcpV4", _0: x }; - case 0 : - case 1 : - case 2 : - case 3 : - case 5 : - return { - TAG: "Unknown", - _0: x - }; case 6 : return { TAG: "TcpV6", diff --git a/package.json b/package.json index 87479df..5432181 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "changie": "^1.18.0", "onchange": "^7.1.0", "pta": "^1.2.0", - "rescript": "^11.0.1", + "rescript": "^11.1.0", "zora": "^5.2.0" }, "files": [ diff --git a/bsconfig.json b/rescript.json similarity index 100% rename from bsconfig.json rename to rescript.json diff --git a/src/Buffer.res b/src/Buffer.res index 8ccec1b..9014328 100644 --- a/src/Buffer.res +++ b/src/Buffer.res @@ -284,8 +284,10 @@ external readBigUint64BE: (t, ~offset: int) => bigint = "readBigUInt64BE" @send external readBigUint64LE: (t, ~offset: int) => bigint = "readBigUInt64LE" -@send external slice: (t, ~start: int, ~end_: int) => t = "slice" -@send external sliceToEnd: (t, ~start: int) => t = "slice" +@deprecated("Use `subarray` instead") @send +external slice: (t, ~start: int, ~end_: int) => t = "slice" +@deprecated("Use `subarrayToEnd` instead") @send +external sliceToEnd: (t, ~start: int) => t = "slice" @send external subarray: (t, ~start: int, ~end_: int) => t = "subarray" @send external subarrayToEnd: (t, ~start: int) => t = "subarray" diff --git a/yarn.lock b/yarn.lock index d91ea65..3ef6a32 100644 --- a/yarn.lock +++ b/yarn.lock @@ -971,19 +971,19 @@ __metadata: changie: "npm:^1.18.0" onchange: "npm:^7.1.0" pta: "npm:^1.2.0" - rescript: "npm:^11.0.1" + rescript: "npm:^11.1.0" zora: "npm:^5.2.0" languageName: unknown linkType: soft -"rescript@npm:^11.0.1": - version: 11.0.1 - resolution: "rescript@npm:11.0.1" +"rescript@npm:^11.1.0": + version: 11.1.4 + resolution: "rescript@npm:11.1.4" bin: bsc: bsc bstracing: lib/bstracing rescript: rescript - checksum: a37dc757a14c57a15fe75a12df52f3d564cc6ef5cacc8356fe70a7d4ab9692736c0fbb56456dff090d8b5b18935a09aed066c623e6764f4c76bed61187e611b7 + checksum: 7f12186a84209f586457a60e65755fcdfbcbb503ac805c60ab5132ce4c927bc264c3b851419ed5498ba7dc4066723377bb7453f893f482a0ccd424986d02beba languageName: node linkType: hard