Skip to content

Commit 263aee0

Browse files
committed
Zarrita compat
1 parent 9afd342 commit 263aee0

File tree

5 files changed

+1542
-3405
lines changed

5 files changed

+1542
-3405
lines changed

icechunk-js/index.d.ts

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,14 @@ export type JsStorage = Storage
8484

8585
export declare class Store {
8686
get(key: string): Promise<Buffer | null>
87-
getRange(key: string, offset: number, length?: number | undefined | null): Promise<Buffer | null>
87+
/**
88+
* Fetch a byte range from a key.
89+
*
90+
* Accepts zarrita's RangeQuery format:
91+
* { offset: number, length: number } - fetch length bytes starting at offset
92+
* { suffixLength: number } - fetch the last suffixLength bytes
93+
*/
94+
getRange(key: string, range: RangeQuery): Promise<Buffer | null>
8895
set(key: string, value: Buffer): Promise<void>
8996
exists(key: string): Promise<boolean>
9097
delete(key: string): Promise<void>
@@ -223,6 +230,16 @@ export type ObjectStoreConfig =
223230
| { type: 'Azure', field0: Record<string, string> }
224231
| { type: 'Tigris', field0: S3Options }
225232

233+
/**
234+
* Range query matching zarrita's RangeQuery type:
235+
* { offset: number, length: number } | { suffixLength: number }
236+
*/
237+
export interface RangeQuery {
238+
offset?: number
239+
length?: number
240+
suffixLength?: number
241+
}
242+
226243
export interface ReadonlySessionOptions {
227244
branch?: string
228245
tag?: string

0 commit comments

Comments
 (0)