Files
privacy.sexy/src/infrastructure/Repository/IRepository.ts
2020-07-19 02:26:56 +01:00

11 lines
351 B
TypeScript

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