Автор вебинара: Антон Морев
Для удобства навигации по данному репозиторию рекомендуется идти по истории коммитов и смотреть readme.md каждого коммита.
Для начала необходимо, чтобы у вас в системе были установлены NodeJS Для проверки введите следующие команды
$ node -v
v12.14.1
$ npm -v
6.14.5
Если в консоли увидели ошибки, то установите NodeJS
Далее необходимо установить зависимости
npm i
Для запуска в режиме разработки достаточно запустить команду
npm run dev
При изменении кода проект автоматически перезапустится
На этом этапе мы начинаем знакомиться с дженериками. Старый код запуска сервера мы перенесли в index-old (он нам еще понадобится).
Сам репозиторий реализован в файле src/lib/repository.ts
export class Repository<T> {
Как раз отвечает за создание "условного типа". Другими словами - мы можем подставлять в репозиторий любой тип, который потом будет требоваться во время использования данного репозитория.
В текущем примере мы сделали тип Book (файл src/models/book.ts) с обычными полями.
Внутри файла src/index.ts показано как можно работать с этим репозиторием. Что примечательно - благодаря дженерикам мы можем использовать любой тип, интерфейс или класс для наполнения репозитория, что делает этот код типизированным, но типонезависимым одновременно.