import BaseEntity from '../../common/entities/BaseEntity'; import Stop from '../../Stop/entity/Stop'; export default class StopGroup extends BaseEntity { protected _name: string; protected _stops: Array = []; protected _number_of_routes: number = 0; protected _number_of_journeys: number = 0; get name(): string { return this._name; } set name(value: string) { this._name = value; } get stops(): Array { return this._stops; } set stops(value: Array) { this._stops = value; } get number_of_routes(): number { return this._number_of_routes; } set number_of_routes(value: number) { this._number_of_routes = value; } get number_of_journeys(): number { return this._number_of_journeys; } set number_of_journeys(value: number) { this._number_of_journeys = value; } addStop(instance: Stop) { this._stops.push(instance); } replaceStop(instance: Stop, _with: Stop) { const index = this.stops.findIndex(each => each.id === instance.id); this.stops[index] = _with; } removeStop(index: number) { this.stops.splice(index, 1); } }