diff --git a/src/repositories/UnoptimizedInMemoryRepository.ts b/src/repositories/UnoptimizedInMemoryRepository.ts index 6aba616..08d5aeb 100644 --- a/src/repositories/UnoptimizedInMemoryRepository.ts +++ b/src/repositories/UnoptimizedInMemoryRepository.ts @@ -1,13 +1,5 @@ import { GetterSetterRepository } from "./GetterSetterRepository"; -import { - IEntityWithId, - IEta, - IOrderedStop, - IRoute, - IShuttle, - IStop, - ISystem -} from "../entities/entities"; +import { IEntityWithId, IEta, IOrderedStop, IRoute, IShuttle, IStop, ISystem } from "../entities/entities"; /** * An unoptimized in memory repository. @@ -94,6 +86,10 @@ export class UnoptimizedInMemoryRepository implements GetterSetterRepository { return entity; } + private findEntityIndexById(entityId: string, arrayToSearchIn: T[]) { + return arrayToSearchIn.findIndex((value) => value.id === entityId); + } + public async addOrUpdateSystem(system: ISystem): Promise { const index = this.systems.findIndex((s) => s.id === system.id); if (index !== -1) { @@ -149,7 +145,7 @@ export class UnoptimizedInMemoryRepository implements GetterSetterRepository { } public async removeSystemIfExists(systemId: string): Promise { - const index = this.systems.findIndex((s) => s.id === systemId); + const index = this.findEntityIndexById(systemId, this.systems); if (index > -1) { const systemToReturn = this.systems[index]; this.systems.splice(index, 1);