From a79fe82cb2263678536bdbef69dbb17be9f71d82 Mon Sep 17 00:00:00 2001 From: Vincent Weevers Date: Sun, 6 Mar 2022 15:48:09 +0100 Subject: [PATCH] Fix TypeScript type declarations --- index.d.ts | 34 +++++++++++++++++++++++----------- package.json | 2 +- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/index.d.ts b/index.d.ts index 61c6752..b841d8d 100644 --- a/index.d.ts +++ b/index.d.ts @@ -9,6 +9,7 @@ import { AbstractBatchOperation, AbstractBatchOptions, AbstractChainedBatch, + AbstractChainedBatchWriteOptions, AbstractIteratorOptions, AbstractIterator, AbstractKeyIterator, @@ -70,20 +71,20 @@ declare class ClassicLevel del (key: K, options: DelOptions): Promise del (key: K, options: DelOptions, callback: NodeCallback): void - batch (operations: Array>): Promise - batch (operations: Array>, callback: NodeCallback): void - batch (operations: Array>, options: BatchOptions): Promise - batch (operations: Array>, options: BatchOptions, callback: NodeCallback): void + batch (operations: Array>): Promise + batch (operations: Array>, callback: NodeCallback): void + batch (operations: Array>, options: BatchOptions): Promise + batch (operations: Array>, options: BatchOptions, callback: NodeCallback): void batch (): ChainedBatch - iterator (): AbstractIterator - iterator (options: AbstractIteratorOptions & AdditionalIteratorOptions): AbstractIterator + iterator (): Iterator + iterator (options: IteratorOptions): Iterator - keys (): AbstractKeyIterator - keys (options: AbstractKeyIteratorOptions & AdditionalIteratorOptions): AbstractKeyIterator + keys (): KeyIterator + keys (options: KeyIteratorOptions): KeyIterator - values (): AbstractValueIterator - values (options: AbstractValueIteratorOptions & AdditionalIteratorOptions): AbstractValueIterator + values (): ValueIterator + values (options: ValueIteratorOptions): ValueIterator /** * Get the approximate number of bytes of file system space used by the range @@ -297,7 +298,7 @@ export interface BatchOptions extends AbstractBatchOptions, WriteOpt /** * Options for the {@link ChainedBatch.write} method. */ -export interface ChainedBatchWriteOptions extends WriteOptions {} +export interface ChainedBatchWriteOptions extends AbstractChainedBatchWriteOptions, WriteOptions {} export class ChainedBatch extends AbstractChainedBatch { write (): Promise @@ -316,3 +317,14 @@ export interface StartEndOptions { */ keyEncoding?: string | Transcoder.PartialEncoder | undefined } + +// Export remaining types so that consumers don't have to guess whether they're extended +export type BatchOperation = AbstractBatchOperation + +export type Iterator = AbstractIterator +export type KeyIterator = AbstractKeyIterator +export type ValueIterator = AbstractValueIterator + +export type IteratorOptions = AbstractIteratorOptions & AdditionalIteratorOptions +export type KeyIteratorOptions = AbstractKeyIteratorOptions & AdditionalIteratorOptions +export type ValueIteratorOptions = AbstractValueIteratorOptions & AdditionalIteratorOptions diff --git a/package.json b/package.json index 0b1a3b8..19f76ca 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "prebuild-win32-x64": "prebuildify -t 8.14.0 --napi --strip" }, "dependencies": { - "abstract-level": "^1.0.1", + "abstract-level": "^1.0.2", "catering": "^2.1.0", "module-error": "^1.0.1", "napi-macros": "~2.0.0",