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')