import AbstractFactory from '../../../di/src/factory/AbstractFactory.ts' import Cache from './Cache.ts' import { InMemCache } from './InMemCache.ts' import {DependencyRequirement} from '../../../di/src/type/DependencyRequirement.ts' import {Collection} from '../collection/Collection.ts' // TODO add support for configurable Cache backends export default class CacheFactory extends AbstractFactory { constructor() { super({}) } produce(dependencies: any[], parameters: any[]): Cache { return new InMemCache() } match(something: any) { return something === Cache } get_dependency_keys(): Collection { return new Collection() } }