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

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

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

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

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

12 ответов

26 просмотров

this или typeof Generator

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта