
Artur
22.06.2016
21:05:51
Ну, есть свои плюсы минусы именно контейнеров а не внедрения.
Хотя с внедрением тоже свои заморочки
Особенно в реализации с TS
В общем я выбрал такой способ)

Google

Aleh
22.06.2016
21:06:44
вообще конечно хотелось бы блин основанного на рефлексии компилируемого
контейнера)

Artur
22.06.2016
21:06:53
Но при желании можно Locator.resolve(ServiceClass)

Aleh
22.06.2016
21:07:30
да, ну мне вот resolve кроме самого конфига нужен еще в декораторах аналогах из redux-saga
остальное все redux'ом связывается)
компоненты кидают экшены, а дальше объект(или объекты) какого-то класса из application layer ловит это, в нем уже нужные зависимости проставлены и делает свои дела

Artur
22.06.2016
21:09:04
php -r 'class Foo {} function c($f) { echo $f; } c(Foo);'
PHP Notice: Use of undefined constant Foo - assumed 'Foo' in Command line code on line 1

Aleh
22.06.2016
21:10:01
получишь строку на выходе, аналог java Foo.class

Artur
22.06.2016
21:10:24
А, точняк, помню такое
Но это будет строка
Хотя call_user_func... или reflection.

Google

Artur
22.06.2016
21:11:24
Ну не суть. В каждом языке свои подходы.

Aleh
22.06.2016
21:11:31
ну да

Artur
22.06.2016
21:11:55
Хотя я в свое время печалился, что нельзя класс передавать в качестве аргумента.
При этом кложуры они дали, а классы фиг


Aleh
22.06.2016
21:13:22
хз, несильная беда, в пхп столько своих легаси-моментов, што просто ужас. С одной стороны достаточно крутая уже ооп-система, с другой все это старое говно типа array_map, которое еще может и в stderr что-то написать, это же пиздец)
мы просто вчера словили, что если в array_map кинуть exception, то оно запишет в stderr warning)
причем так делает только одна единственная функция - array_map
зачем и почему наверное уже никто не расскажет)
кстати, вот тоже прикольная штука, я в redux юзаю для описания action. Имена абстракций, который не попадают в рантайм можно переиспользовать для того, что в рантайм попадает, например
http://www.typescriptlang.org/play/index.html#src=type%20TestType%20%3D%20%7B%0D%0A%09fooMethod()%3A%20void%3B%0D%0A%7D%3B%0D%0Aconst%20TestType%20%3D%20%7B%7D%3B%0D%0A%0D%0Aconsole.log(TestType)%3B%0D%0A%0D%0Alet%20a%3A%20TestType%3B%0D%0Aa.fooMethod()%3B%0D%0A%0D%0A
например константу и тип для экшена можно называть одинаково


Artur
22.06.2016
21:50:55
Годная штука

Gordey
23.06.2016
08:20:10
hDwBAoU1SC vbZHAbg5a5

Ҫѐҏӗѫӑ
23.06.2016
13:24:08
новый eap webstorm умеет новые фичи ts 2
https://confluence.jetbrains.com/display/WI/WebStorm+162.1024.2+Release+Notes

Aleh
23.06.2016
13:24:53
jetbrains юзает свои штуки для работы с ts?

Ҫѐҏӗѫӑ
23.06.2016
13:27:40
хз
вроде нет. может просто версию ts из коробки апнули?
а я ща предательски флоу пишу
?
https://github.com/facebook/react/pull/7104

Aleh
23.06.2016
13:35:06

Ҫѐҏӗѫӑ
23.06.2016
13:35:49
мне кажется они юзают ленгвидж сёвис апи

Google

Ҫѐҏӗѫӑ
23.06.2016
13:35:58
потому что ошибки даже такие же
ну и вообще

Aleh
23.06.2016
13:36:18
ну, вообще да, ts в этом плане хорошо преподнесли

Ҫѐҏӗѫӑ
23.06.2016
13:36:43
вот во флоу вебшторм не может так
и показывает иначе чем в консоли

Aleh
23.06.2016
13:37:18
у flow в другом месте символ ? ставится в типах?)
а, вижу

Ҫѐҏӗѫӑ
23.06.2016
13:45:01
если после имени параметра - это необязательный параметр
если перед именем типа - это нуллабл тип

Artur
23.06.2016
14:26:32
Ребза, покритикуйте. Запилил небольшой пакетик к докладу https://www.npmjs.com/package/mongoose-mapper
Очень не хватает указания типа this в TS.

Ҫѐҏӗѫӑ
23.06.2016
14:55:17
в ts есть this
в @next
this и thisArg
пиарни чатик на каком-нить слайде в конце :)
https://twitter.com/chicoxyzzy/status/746000050527027200

Artur
23.06.2016
15:35:23
Точно, чатик попиарим

Ҫѐҏӗѫӑ
23.06.2016
16:03:11
а что там с прогонами кстати? что-то тихо
или у меня что-то с подпиской гуглогруппы

Nikolay
23.06.2016
16:06:14
да, тихо как-то

Google

Artur
23.06.2016
16:19:46
Кстати, если кому-то интересно как хакать интерфейсы экстернал библиотек, от которых нельзя напрямую унаследоваться, но очень хочется, есть такой прекрасный способ:
http://www.typescriptlang.org/play/#src=%2F%2F%20vendor%20%0D%0Ainterface%20Foo%3CT%20extends%20Bar%3E%20%7B%0D%0A%09new()%3AT%0D%0A%09staticMethod()%3B%0D%0A%7D%0D%0A%0D%0Ainterface%20Bar%20%7B%0D%0A%09_id%0D%0A%09instanceMethod()%3B%0D%0A%7D%0D%0A%0D%0Afunction%20vendorBlackBox%3CT%20extends%20Bar%3E(...args%3Aany%5B%5D)%3AFoo%3CT%3E%20%7B%0D%0A%09return%20%3CFoo%3CT%3E%3E%20%7B%7D%3B%20%2F%2F%20dymmy%20object%20with%0D%0A%7D%0D%0A%0D%0A%2F%2F%20ours%0D%0Afunction%20DummyFoo()%3AFoo%3CBar%3E%20%7B%0D%0A%09return%20%3CFoo%3CBar%3E%3E%20class%20Dummy%20%7B%7D%3B%0D%0A%7D%0D%0A%0D%0Aclass%20MyFoo%20extends%20DummyFoo()%20%7B%0D%0A%09%0D%0A%7D%0D%0A%0D%0Aconst%20myFoo%20%3D%20vendorBlackBox(MyFoo)%3B%0D%0AmyFoo.staticMethod()%3B%0D%0A(new%20myFoo).instanceMethod()%3B%0D%0A

Vasiliy
23.06.2016
16:41:07

Aleh
23.06.2016
16:41:33
ну да, там простые get post put delete, в которых уже сразу нужные хедеры подставляются

Vasiliy
23.06.2016
16:41:36
ты не используешь whatwg fetch?
для него не писал?)

Aleh
23.06.2016
16:41:57
сейчас superagent, но планирую подменить потом на fetch

Vasiliy
23.06.2016
16:42:02
я только что тоже самое сделал по сути что и ты, только вспомнил сейчас что ты писал)
только я уверен, что у меня раз в 10 хуже получилось

Aleh
23.06.2016
16:42:43
вот буквально днем делал реализацию, которая декорирует любой другой http, а в случае network is offline кидает в стор событие)

Vasiliy
23.06.2016
16:43:29
а, у тебя оффлайн-ферст приложение типа? я видел ты где-то спрашивал про это
мне тоже надо это определять, тк я загрузчик файлов пишу

Aleh
23.06.2016
16:43:39
не
у нас как раз в оффлайне надо, что-то типа offline.js
но чуть красивше
но мне в идеале еще мониторить надо
буду наверное собирать delay для запросов

Ҫѐҏӗѫӑ
23.06.2016
16:45:38
Подсечин приехал. Башмиш сказал позже расскажет что было
Кто-то на биржс собрался?

Vasiliy
23.06.2016
16:47:46
я не смогу( надо работать, я и так уже просрал все сроки которые мог

Google

Ҫѐҏӗѫӑ
23.06.2016
16:48:15
Ну... Мне тоже. А еще к Одессе готовиться
Которая уже на следующей неделе

Artur
23.06.2016
16:49:48

Vasiliy
23.06.2016
16:52:39
мне подойдет просто navigator.onLine & online / offline события, надо просто будет сохранить состояние и продолжить заливать файлики, когда соединение появится

Aleh
23.06.2016
17:04:21
@vyorkin хз, по мне оно как-то не очень работает

Vasiliy
23.06.2016
17:07:36
хм, я пока не пробовал, а в offline-js там обертка над этим какая-то кроссбраузерная?
мне просто не нужны все возможности offline-js, я понял для чего он, у меня задача просто обеспечить “докачку” при разрыве соединения, (у меня chrome app вообще)

Aleh
23.06.2016
17:12:09
@vyorkin оно по-моему запросы посылает
а не эти события ловит
с этими событиями есть проблема вообще, по-разному интерпретируется что такое offline. В ие есть режим работа в офлайне, offline и отсутствие сети это в общем не одно и тоже

Yura
23.06.2016
21:42:28
Привет Всем!

kaflan
23.06.2016
21:46:19
у меня вопрос нахера 3 файла счтобі билдить 1 скрипт?

Aleh
23.06.2016
21:47:26
а?

Alexander
23.06.2016
22:06:24

kaflan
24.06.2016
09:25:39
мб упростят?
ну там тайпинги, файл аля пакет джейсон...