export class Channels { constructor() { this.channels = []; } setChannels(channels) { this.channels = [...channels]; this.sort(); return this; } addChannel(id, name) { this.channels = [...this.channels, { id, name }]; this.sort(); return this; } deleteChannel(id) { const channelIndex = this.channels.map((e) => e.id).indexOf(id); if (channelIndex !== -1) { this.channels.splice(channelIndex, 1); } return this; } sort() { this.channels.sort((a, b) => { if (a.name < b.name) { return -1; } else if (a.name > b.name) { return 1; } return 0; }); } }