Files
privacy.sexy/src/infrastructure/Repository/IRepository.ts
2020-09-01 21:18:16 +01:00

12 lines
395 B
TypeScript

import { IEntity } from '../Entity/IEntity';
export interface IRepository<TKey, TEntity extends IEntity<TKey>> {
readonly length: number;
getItems(predicate?: (entity: TEntity) => boolean): TEntity[];
getById(id: TKey): TEntity | undefined;
addItem(item: TEntity): void;
addOrUpdateItem(item: TEntity): void;
removeItem(id: TKey): void;
exists(id: TKey): boolean;
}