Data Adapter
キャッシュ管理に使用するデータベースとインテグレーション内のデータオブジェクトを中継するデータアダプター。簡易的なDAOないしORMのようなもの。
ビルトインデータアダプター
Section titled “ビルトインデータアダプター”本インテグレーションには3種類のデータアダプターが同梱されている。
JsonFileDataAdapter (default)
Section titled “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
Section titled “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
Section titled “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),    })  ]});カスタムデータアダプター
Section titled “カスタムデータアダプター”ImgProcDataAdapter インターフェースに従って独自のデータアダプターを作成可能。
import { ImgProcDataAdapter } from "astro-image-processor/types";
export class CustomDataAdapter implements ImgProcDataAdapter {  // ...}詳細はビルトインデータアダプター各種の実装を参照。