Data Adapter
キャッシュ管理に使用するデータベースとインテグレーション内のデータオブジェクトを中継するデータアダプター。簡易的なDAOないしORMのようなもの。
ビルトインデータアダプター
本インテグレーションには3種類のデータアダプターが同梱されている。
JsonFileDataAdapter (default)
データを単一のJSONファイルに保存するデータアダプター。
- 既定では画像キャッシュディレクトリの
cache.json
に保存する - 開発サーバーではデータベースオブジェクトに対する最後の操作から1秒間操作がなければデータをファイルに書き出す
import { JsonFileDataAdapter, type JsonFileDataAdapterOptions,} from "../src/extras/JsonFileDataAdapter.js";
const options: JsonFileDataAdapterOptions = { // ...}
export default defineConfig({ integrations: [ astroImageProcessor({ dataAdapter: new JsonFileDataAdapter(options), }) ]});
LokiDataAdapter
JavaScript製の軽量ドキュメントデータベースLokiJSを使用するデータアダプター。
- 既定では画像キャッシュディレクトリの
cache.db
に保存する - 開発サーバーでは10秒毎にデータをファイルに書き出す
import { LokiDataAdapter, type LokiDataAdapterOptions,} from "../src/extras/LokiDataAdapter.js";
const options: LokiDataAdapterOptions = { // ...}
export default defineConfig({ integrations: [ astroImageProcessor({ dataAdapter: new LokiDataAdapter(options), }) ]});
BunSqliteDataAdapter
BunビルトインSQLiteドライバーを使用するデータアダプター。
- Bunでのみ使用可能
- 既定では画像キャッシュディレクトリの
cache.sqlite
に保存する
import { BunSqliteDataAdapter, type BunSqliteDataAdapterOptions,} from "../src/extras/BunSqliteDataAdapter.js";
const options: BunSqliteDataAdapterOptions = { // ...}
export default defineConfig({ integrations: [ astroImageProcessor({ dataAdapter: new BunSqliteDataAdapter(options), }) ]});
カスタムデータアダプター
ImgProcDataAdapter
インターフェースに従って独自のデータアダプターを作成可能。
import { ImgProcDataAdapter } from "astro-image-processor/types";
export class CustomDataAdapter implements ImgProcDataAdapter { // ...}
詳細はビルトインデータアダプター各種の実装を参照。