Explore src/drivers to get an idea of how to implement them. Methods can:
import { createStorage, defineDriver } from "unstorage";
const myStorageDriver = defineDriver((options) => {
return {
name: "my-custom-driver",
options,
async hasItem(key, _opts) {},
async getItem(key, _opts) {},
async setItem(key, value, _opts) {},
async removeItem(key, _opts) {},
async getKeys(base, _opts) {},
async clear(base, _opts) {},
async dispose() {},
async watch(callback) {},
};
});
const storage = createStorage({
driver: myStorageDriver(),
});
Some important notes:
foo:bar conventiondispose()getItem can be a serializable object or stringwatch method, the unstorage default handler will be disabled. You are responsible for emitting an event on getItem, setItem and removeItem.