From 7e6d16adb8d866e5a5b602c876bde7885ee7a59b Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Thu, 21 Jan 2021 15:47:20 +0000 Subject: [PATCH 1/4] fix: fix datastore factory The factory reference type can't extend the Datastore interface directly. We want the class instance to implement the interface and not the class (Object) reference. --- src/types.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/types.ts b/src/types.ts index d1b73bd..d2c2b81 100644 --- a/src/types.ts +++ b/src/types.ts @@ -19,8 +19,9 @@ export interface Batch { commit: (options?: Options) => Promise } -export interface DatastoreFactory extends Datastore { +export interface DatastoreFactory { new (): Datastore + prototype: Datastore } export interface Datastore { From 2357751dc739ca64d837014c9911cd436f8e7cb5 Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Fri, 22 Jan 2021 17:27:53 +0000 Subject: [PATCH 2/4] fix: feedback --- src/types.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/types.ts b/src/types.ts index d2c2b81..e572c35 100644 --- a/src/types.ts +++ b/src/types.ts @@ -19,9 +19,8 @@ export interface Batch { commit: (options?: Options) => Promise } -export interface DatastoreFactory { +export interface DatastoreConstructor { new (): Datastore - prototype: Datastore } export interface Datastore { From d78a00799a72951e82ac2ac58773dc6183795a94 Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Fri, 22 Jan 2021 17:30:12 +0000 Subject: [PATCH 3/4] fix: export --- src/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 8e9cd62..82aef19 100644 --- a/src/index.js +++ b/src/index.js @@ -2,7 +2,7 @@ /** * @typedef {import('./types').Datastore} Datastore - * @typedef {import('./types').DatastoreFactory} DatastoreFactory + * @typedef {import('./types').DatastoreConstructor} DatastoreConstructor * @typedef {import('./types').Batch} Batch * @typedef {import('./types').Options} Options * @typedef {import('./types').Query} Query From eece9f38be991ea7b130f4db6e31a75b602b4501 Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Fri, 22 Jan 2021 17:57:37 +0000 Subject: [PATCH 4/4] fix: YAGNI --- src/index.js | 1 - src/types.ts | 5 ----- 2 files changed, 6 deletions(-) diff --git a/src/index.js b/src/index.js index 82aef19..f953ace 100644 --- a/src/index.js +++ b/src/index.js @@ -2,7 +2,6 @@ /** * @typedef {import('./types').Datastore} Datastore - * @typedef {import('./types').DatastoreConstructor} DatastoreConstructor * @typedef {import('./types').Batch} Batch * @typedef {import('./types').Options} Options * @typedef {import('./types').Query} Query diff --git a/src/types.ts b/src/types.ts index e572c35..267932b 100644 --- a/src/types.ts +++ b/src/types.ts @@ -18,11 +18,6 @@ export interface Batch { delete: (key: Key) => void commit: (options?: Options) => Promise } - -export interface DatastoreConstructor { - new (): Datastore -} - export interface Datastore { open: () => Promise close: () => Promise