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 { // ...}詳細はビルトインデータアダプター各種の実装を参照。