diff --git a/.changeset/serious-comics-lick.md b/.changeset/serious-comics-lick.md
new file mode 100644
index 00000000..f151e91c
--- /dev/null
+++ b/.changeset/serious-comics-lick.md
@@ -0,0 +1,5 @@
+---
+"@zarrita/storage": minor
+---
+
+fix(storage): Rename storage type `Writeable` to `Writable`
diff --git a/README.md b/README.md
index 7641ebe0..c59436db 100644
--- a/README.md
+++ b/README.md
@@ -85,14 +85,14 @@ classDiagram
class core {
- open(store: Readable)
- - create(store: Writeable)
+ - create(store: Writable)
- zarr.Array and zarr.Group
- access and decode individual chunks
}
class storage {
- Readable
- - Writeable
+ - Writable
- Map()
- FetchStore()
- FileSystemStore()
diff --git a/docs/cookbook.md b/docs/cookbook.md
index 2ece5735..b34f2e04 100644
--- a/docs/cookbook.md
+++ b/docs/cookbook.md
@@ -58,7 +58,7 @@ const arr = await zarr.open.v2(store, { kind: "array" });
## Create an Array
-Requires the `store` to implement `Writeable`.
+Requires the `store` to implement `Writable`.
```js
import * as zarr from "zarrita";
@@ -75,7 +75,7 @@ arr; // zarr.Array<"int32", FileSystemStore>
## Create a Group
-Requires the `store` to implement `Writeable`.
+Requires the `store` to implement `Writable`.
```js
import * as zarr from "zarrita";
diff --git a/docs/packages/storage.md b/docs/packages/storage.md
index e867e7b4..93c50ab4 100644
--- a/docs/packages/storage.md
+++ b/docs/packages/storage.md
@@ -25,19 +25,19 @@ interface AsyncReadable {
}
```
-and may optionally implement `Writeable` or `AsyncWriteable`:
+and may optionally implement `Writable` or `AsyncWritable`:
```typescript
-interface Writeable {
+interface Writable {
set(key: string, value: Uint8Array): void;
}
-interface AsyncWriteable {
+interface AsyncWritable {
set(key: string, value: Uint8Array): Promise;
}
```
-That's it! `Readable`/`Writeable` are enough to allow an
+That's it! `Readable`/`Writable` are enough to allow an
[ES6 Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map)
to serve as the most basic backend, while also facilitating developers in
creating their custom stores as needed.
@@ -69,7 +69,7 @@ const store = new FetchStore("http://localhost:8080/data.zarr", {
});
```
-### FileSystemStore
+### FileSystemStore
Designed for JavaScript runtimes with file system access, the The
**FileSystemStore** is designed for JavaScript runtimes with file system access
diff --git a/docs/what-is-zarrita.md b/docs/what-is-zarrita.md
index 0ed4e670..487d9ab7 100644
--- a/docs/what-is-zarrita.md
+++ b/docs/what-is-zarrita.md
@@ -32,7 +32,7 @@ Zarr.
### [@zarrita/storage](/packages/storage)
- A collection of useful of storage backends for Zarr.
-- Implement your own `Readable` and (optionally `Writeable`) stores.
+- Implement your own `Readable` and (optionally `Writable`) stores.
### [@zarrita/core](/packages/core)
diff --git a/packages/storage/src/types.ts b/packages/storage/src/types.ts
index 8200b0ee..61f4f6ab 100644
--- a/packages/storage/src/types.ts
+++ b/packages/storage/src/types.ts
@@ -33,20 +33,20 @@ export interface SyncReadable {
): Uint8Array | undefined;
}
-export type Writeable = AsyncWriteable | SyncWriteable;
-export interface AsyncWriteable {
+export type Writable = AsyncWritable | SyncWritable;
+export interface AsyncWritable {
set(key: AbsolutePath, value: Uint8Array): Promise;
}
-export interface SyncWriteable {
+export interface SyncWritable {
set(key: AbsolutePath, value: Uint8Array): void;
}
export type AsyncMutable =
& AsyncReadable
- & AsyncWriteable;
+ & AsyncWritable;
export type SyncMutable =
& SyncReadable
- & SyncWriteable;
+ & SyncWritable;
export type Mutable =
| AsyncMutable
| SyncMutable;