From 68605ea3877dcf3803a62367be5ce3fe04442b88 Mon Sep 17 00:00:00 2001 From: Andre Staltz Date: Tue, 30 Jan 2024 17:27:31 +0200 Subject: [PATCH] getTangle() returns null if tangleID is unknown --- lib/index.js | 9 +++++++-- test/getTangle.test.js | 7 +++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/index.js b/lib/index.js index 3efa10a..e620ce1 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1145,10 +1145,15 @@ function initDB(peer, config) { /** * @param {MsgID} tangleID - * @returns {DBTangle} + * @returns {DBTangle | null} */ function getTangle(tangleID) { - return new DBTangle(tangleID, records(), get) + const tangle = new DBTangle(tangleID, records(), get) + if (tangle.size > 0) { + return tangle + } else { + return null + } } function* msgs() { diff --git a/test/getTangle.test.js b/test/getTangle.test.js index 6bb61a3..4efcd90 100644 --- a/test/getTangle.test.js +++ b/test/getTangle.test.js @@ -106,6 +106,13 @@ test('getTangle()', async (t) => { tangle = peer.db.getTangle(rootPost) } + await t.test('getTangle unknown ID returns null', (t) => { + assert.equal( + peer.db.getTangle('Lq6xwbdvGVmSsY3oYRugpZ3DY8chX9SLhRhjJKyZHQn'), + null + ) + }) + await t.test('Tangle.has', (t) => { assert.equal(tangle.has(rootPost), true, 'has rootPost') assert.equal(tangle.has(reply1Lo), true, 'has reply1Lo')