feat: add adapter factory + registry pattern for queue, storage, memory

Co-Authored-By: Claude Opus 4.6 <[email protected]>
This commit is contained in:
2026-04-02 20:44:10 -05:00
co-authored by Claude Opus 4.6
parent 41961a6980
commit 9d22ef4cc9
6 changed files with 57 additions and 0 deletions
+18
View File
@@ -0,0 +1,18 @@
import type { StorageAdapter, StorageConfig } from './types.js';
type StorageType = StorageConfig['type'];
const registry = new Map<StorageType, (config: StorageConfig) => StorageAdapter>();
export function registerStorageAdapter(
type: StorageType,
factory: (config: StorageConfig) => StorageAdapter,
): void {
registry.set(type, factory);
}
export function createStorageAdapter(config: StorageConfig): StorageAdapter {
const factory = registry.get(config.type);
if (!factory) throw new Error(`No adapter registered for type: ${config.type}`);
return factory(config);
}
+1
View File
@@ -1 +1,2 @@
export type { StorageAdapter, StorageConfig } from './types.js';
export { createStorageAdapter, registerStorageAdapter } from './factory.js';