169 похожих чатов

Всем привет! Есть следующая задача: необходимо написать интерфейсы для «билдера» который

должен работать примерно следующим образом (псевдокод) :
```
myBuilder
.withFirst.exactGenerator1(params)
.withFirst.exactGenerator2(params)
.withSecond.exactGeneratorN(params);
```

т.е. `withFirst`, `withSecond` и т.д. должны возвращать объект, а методы этого объекта должны возвращать this билдера.

Подскажите пожалуйста как правильно описать такой тип данных?

12 ответов

8 просмотров

this или typeof Generator

Ой, typeof это сам класс будет

Виталий- Автор вопроса

Не оч. понял. Можешь развернуть ответ? Поправил типы, получилось типа такого, но всё ещё не понятно как быть с this.

Бля вообще тебе фигню сказал, я думал билдер у тебя класс

Виталий- Автор вопроса

Пока задавал вопрос кажется сам нашёл ответ.

Я такую конструкцию обычно видел делают через класс, и получается просто методы класса возвращают this

Виталий- Автор вопроса

на данном этапе клас не имплементирован. Кроме того может быть несколько имплементаций данного интерфейса. Так что классы это «из другой оперы».

Ну тогда да, просто функции возвращают этот же интерфейс, все правильно

https://t.me/ts_cool/96349 Жаль, что в 4м ТС это перестало работать... Ишью им что ли создать...

Тут в догонку моему ишью подсказали решение без инлайн типов - должно подойти для вашего кейса https://github.com/microsoft/TypeScript/issues/43817#issuecomment-827746462

Виталий- Автор вопроса

Спасибо. Интересно.

Здорово когда подсказывает сам автор языка)

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
есть тут кто-то , кто только начал изучать си? если проходите курс на степике или как-то сами изучаете, пишите, может, скооперируемся?..
Eule
25
вопрос по москвину - не понимаю вот такого вопроса похоже Сколько разных всегда завершающихся функций с типом a -> a -> b -> a -> a можно реализовать? Две функции одинаково...
Fedor
11
Слушайте, ещё такая интересная задачка. Сделан аудит действий пользователей через триггеры в базе, соответственно каждый пользователь имеет свой логин и пароль в базе. Это пре...
Сергей Бычков
12
Скажите, тут нет проблемы? IMyInterface1 = interface function GetInterface2: IInterface2; ... function TMyInterface.GetInterface2: IInterface2; begin Result := TI...
Ruslan aka DUDE
18
Как попросить stack install делать executable без .exe на винде?
Danila Danko
9
Утра доброго. Просветите пожалуйста. Хочу сделать rest сервер на делфи. Посмотрел 3 фреймворка: dmvc, Mars, mormot. Ни в одном из них не упоминается ассинхронная обработка вхо...
Сергей Бычков
10
возможно для форматирования TimeStampZ нужен другой механизм, не?
Роман Лях (rgreat)
13
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Карта сайта