Код IT Загрузка примера кода…

TypeScript main.ts
type Entity = { id: string };

class InMemoryRepository<T extends Entity> {
  private items: T[] = [];

  add(item: T): void {
    this.items.push(item);
  }

  findById(id: string): T | undefined {
    return this.items.find((i) => i.id === id);
  }

  list(): readonly T[] {
    return this.items;
  }
}

type User = Entity & { name: string };

const users = new InMemoryRepository<User>();
users.add({ id: "1", name: "Анна" });
type Entity = { id: string };

class InMemoryRepository<T extends Entity> {
  private items: T[] = [];

  add(item: T): void {
    this.items.push(item);
  }

  findById(id: string): T | undefined {
    return this.items.find((i) => i.id === id);
  }

  list(): readonly T[] {
    return this.items;
  }
}

type User = Entity & { name: string };

const users = new InMemoryRepository<User>();
users.add({ id: "1", name: "Анна" });