From 93511d1d58e59f3bdd26f9cabdd86d6ed80ec688 Mon Sep 17 00:00:00 2001 From: Jeroen Claessens Date: Fri, 19 Jan 2024 13:25:41 +0100 Subject: [PATCH 1/2] feat: add dynamic loader for buffer --- hyperid.js | 9 ++++++++- package.json | 8 +++++--- test/buffer.ts | 18 ++++++++++++++++++ 3 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 test/buffer.ts diff --git a/hyperid.js b/hyperid.js index 7f32004..b429d2b 100644 --- a/hyperid.js +++ b/hyperid.js @@ -3,7 +3,14 @@ const uuidv4 = require('./uuid-node') const parser = require('uuid-parse') const maxInt = Math.pow(2, 31) - 1 -const Buffer = require('buffer').Buffer +const Buffer = loadBuffer() +function loadBuffer () { + const b = require('buffer') + // use third party module if no buffer module + return b && b.Buffer + ? b.Buffer + : require('buffer/').Buffer +} const base64Padding = Buffer.from('==', 'base64') function hyperid (opts) { diff --git a/package.json b/package.json index 1bb06dc..17ea012 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ ], "scripts": { "typescript": "tsc --project ./test/tsconfig.json", - "test": "standard && tape test/test.js test/uniqueness.js | tap-dot && npm run typescript" + "test": "standard && tape test/test.js test/uniqueness.js test/buffer.ts | tap-dot && npm run typescript" }, "repository": { "type": "git", @@ -41,11 +41,13 @@ "standard": "^16.0.3", "tap-dot": "^2.0.0", "tape": "^5.0.0", - "typescript": "^4.3.4" + "typescript": "^4.3.4", + "proxyquire": "^2.1.3" }, "dependencies": { "uuid": "^8.3.2", - "uuid-parse": "^1.1.0" + "uuid-parse": "^1.1.0", + "buffer": "^5.2.1" }, "browser": { "./uuid-node.js": "./uuid-browser.js" diff --git a/test/buffer.ts b/test/buffer.ts new file mode 100644 index 0000000..59c74ac --- /dev/null +++ b/test/buffer.ts @@ -0,0 +1,18 @@ +const hyperid = require('..') +const test = require('tape') +const proxyquire = require('proxyquire') + +test('require buffer', function (t) { + t.plan(2); + + const instance = hyperid() + const id = instance() + console.log(id) + t.ok(id) + + proxyquire('../hyperid', { 'buffer': { Buffer: null } }); + const instance2 = hyperid() + const id2 = instance2() + console.log(id2) + t.ok(id2) +}) From f9f39fc226a7b3db271a7e4c98d59452a1bc48a3 Mon Sep 17 00:00:00 2001 From: Jeroen Claessens Date: Fri, 19 Jan 2024 13:32:19 +0100 Subject: [PATCH 2/2] chore: remove console.logs --- test/buffer.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/buffer.ts b/test/buffer.ts index 59c74ac..26fd85c 100644 --- a/test/buffer.ts +++ b/test/buffer.ts @@ -7,12 +7,10 @@ test('require buffer', function (t) { const instance = hyperid() const id = instance() - console.log(id) t.ok(id) proxyquire('../hyperid', { 'buffer': { Buffer: null } }); const instance2 = hyperid() const id2 = instance2() - console.log(id2) t.ok(id2) })