From 0c22c9ff4fe12ac92e38bcfb6ced626077fdb0ed Mon Sep 17 00:00:00 2001 From: achingbrain Date: Wed, 30 Jun 2021 16:30:48 +0100 Subject: [PATCH] feat: add unwrap method --- packages/interface-blockstore/src/adapter.js | 4 ++++ packages/interface-datastore/src/adapter.js | 4 ++++ packages/interface-store/src/index.d.ts | 5 +++++ 3 files changed, 13 insertions(+) diff --git a/packages/interface-blockstore/src/adapter.js b/packages/interface-blockstore/src/adapter.js index cdbd27a9..28d6048b 100644 --- a/packages/interface-blockstore/src/adapter.js +++ b/packages/interface-blockstore/src/adapter.js @@ -240,6 +240,10 @@ class BlockstoreAdapter { return it } + + unwrap () { + return this + } } module.exports = BlockstoreAdapter diff --git a/packages/interface-datastore/src/adapter.js b/packages/interface-datastore/src/adapter.js index 52802f76..049e2972 100644 --- a/packages/interface-datastore/src/adapter.js +++ b/packages/interface-datastore/src/adapter.js @@ -225,6 +225,10 @@ class Adapter { return it } + + unwrap () { + return this + } } module.exports = Adapter diff --git a/packages/interface-store/src/index.d.ts b/packages/interface-store/src/index.d.ts index 6d986365..12babe39 100644 --- a/packages/interface-store/src/index.d.ts +++ b/packages/interface-store/src/index.d.ts @@ -172,6 +172,11 @@ export interface Store { * ``` */ queryKeys: (query: KeyQuery, options?: Options) => AsyncIterable + + /** + * Where a store wraps another store, return the wrapped store + */ + unwrap: () => Store } export type QueryFilter = (item: Pair) => boolean