
Aleh
06.02.2017
11:30:32
Не уловил

Vladimir
06.02.2017
11:31:27
просто <T> достаточно

Anton
06.02.2017
13:24:41
https://github.com/torokmark/design_patterns_in_typescript

Mike
06.02.2017
13:25:39
не очень люблю когда вот так http://service.crazypanda.ru/v/clip2net/k/h/AtpXVtuAZ8.png

Google

Vasiliy
06.02.2017
13:29:18
лайк, но давно уже так не пишу
(у меня сейчас фп и рамда головного мозга)

Mike
06.02.2017
13:32:09
а вообще интересно

Vasiliy
06.02.2017
13:49:43
чет я туплю(
https://github.com/types/npm-ramda/issues/132
https://github.com/typings/registry/blob/master/npm/ramda.json
как их поставить? с typings?
ну да
в @types/ramda нет pathSatisfies :(

andretshurotshka?❄️кде
06.02.2017
13:58:26
typeRoots ?

Vasiliy
06.02.2017
14:02:34
ну да, я т.е. буду просто часть с typings юзать, а часть с @types
дичь, конечно, первый раз так потребовалось вот щас, точнее, давно такого не было
вот так прям надо?
"typeRoots" : [
"./typings",
"./node_modules/@types"
]
ну да вроде
хм
head<T extends List<any>>(list: T): T[0];
^
ERROR in /Users/vyorkin/projects/work/my-awesome-project/typings/modules/ramda/index.d.ts
(1036,45): error TS2536: Type '0' cannot be used to index type 'T'.

andretshurotshka?❄️кде
06.02.2017
14:09:55

Vasiliy
06.02.2017
14:11:46
хм, спасибо!
пробую typescript@next, вроде там должно быть пофикшено
это смешно конечно, если вспомнить из-за чего я это все делаю – не из-за чего

Anatoly
06.02.2017
14:40:06
Поясните, пожалуйста, за полифиллы, я подключаю https://github.com/stefanpenner/es6-promise :
Проверяю IE, window.Promise не пропатченный. Если ставлю auto, то он по кой-то хер патчит Promise даже для тех браузеров, где они нативны.

Google

Anatoly
06.02.2017
17:50:39
Если кому интересно, то автор этого полифила утверждает, что в V8 херовая имплементация, поэтому её нужно полифилить. (И автор сделал глубокую проверку, вместо if (window.Promise), поэтому в Chrome работает полифил)


Vasiliy
06.02.2017
19:01:34
у меня странная еще проблема иногда бывает с реекспортом
вот, например, в index.ts пишу такое:
export * from './utils';
т.е. реекспортирую все, что рядом лежит в uitls.ts
ну, чтобы require'ить проще было
ну и "baseUrl": "./src/scripts", у меня в tsconfig.json
ну и в webpack я люблю:
resolve: {
modules: [
paths.scripts,
'node_modules',
],
чтобы можно было потом где-то писать вот так:
import { AppState } from 'modules';
или так:
import { createAction } from 'store';
и я всегда знаю что откуда берется (ну 2 варианта всего: либо src/scripts либо node_modules), ну и пересечений нет по названиям – коротко, потяно, удобно. вроде бы
но вот проблема: иногда вебпак не видит модуль и я пока что не очень понимаю с чем это связано:
Uncaught TypeError: __webpack_require__.i(...) is not a function
и это бывает только в случаях, когда я require'ю реекспортированный модуль
мб кто-то сходу знает в чем мб проблема)

Alexander
07.02.2017
06:54:07

Vladimir
07.02.2017
08:26:29
День добрый! Подскажите вот по такому вопросу http://pastebin.com/H2Wyrk48 как правильно spread заюзать чтоб создать объект
сейчас оно ругается 'Supplied parameters do not match any signature of call target.'
по факту в дата данные лежат по сигнатуре совпадающие с тем, что ждем конструктор

andretshurotshka?❄️кде
07.02.2017
08:41:29
goo.gl/ty1Kt1

Vladimir
07.02.2017
09:03:50
@goodmind это легально так по 2 конструктора делать толкьо для того, чтобы поддерживался spread?
энивей, спасибо. буду курить по этому поводу

andretshurotshka?❄️кде
07.02.2017
10:18:03

Vladimir
07.02.2017
11:36:11
@goodmind а что-то вроде babel-plugin-transform-object-rest-spread в TS есть?
чтобы раскладывать можно было вроде такого let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };

Vasiliy
07.02.2017
11:46:16
TypeScript 2.1 brings support for ES2017 Spread and Rest.
https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-1.html

Vladimir
07.02.2017
11:47:04
не получается раскрыть в конструктор объект (
с примера выше...

Vasiliy
07.02.2017
11:50:38
http://www.typescriptlang.org/play/#src=let%20%7B%20x%2C%20y%2C%20...z%20%7D%20%3D%20%7B%20x%3A%201%2C%20y%3A%202%2C%20a%3A%203%2C%20b%3A%204%20%7D%3B
¯\_(ツ)_/¯
мб версия ts старая

Vladimir
07.02.2017
11:51:35
это как-то можно раскрыть в аргументы функции? new Test(...obj)
где constructor(prop1, prop2, prop3)

Google

Vasiliy
07.02.2017
11:53:08
ммм, не очень понял, сорри,
а можно пример на http://www.typescriptlang.org/play ?

Vladimir
07.02.2017
11:54:50
Vasiliy http://www.typescriptlang.org/play/#src=class%20Test%20%7B%0A%0A%20%20%20%20constructor(...props)%0A%20%20%20%20constructor(%0A%20%20%20%20%20%20%20%20property1%3F%3A%20number%2C%0A%20%20%20%20%20%20%20%20property2%3F%3A%20number%2C%0A%20%20%20%20%20%20%20%20property3%3F%3A%20number%2C%0A%20%20%20%20)%7B%7D%0A%7D%0A%0Alet%20obj%20%3D%20%7B%20property1%3A%201%2C%20property2%3A%202%2C%20property3%3A%203%20%7D%0A%0Alet%20test%20%3D%20new%20Test(...obj)
как-то так хотелось бы)

Vasiliy
07.02.2017
11:56:39
мм, там массив всегда
"Rest parameters are treated as a boundless number of optional parameters. When passing arguments for a rest parameter, you can use as many as you want; you can even pass none. The compiler will build an array of the arguments passed in with the name given after the ellipsis (...), allowing you to use it in your function."
не, так нельзя)

Vladimir
07.02.2017
11:58:10
да, я уже понял, что халявы не будет
спасибо

Vasiliy
07.02.2017
13:59:28
жаль, что нельзя еще писать export * as something from './something'

Mike
07.02.2017
14:02:07
Ребят, я тут оформил вакансию. Typescript и WebGL по хардкору. Постарался по человечески написать. https://gist.github.com/Busyrev/9d2a5dae8d13c9be495fabb748aec3a5 В личке готов рассказать любые подробности. Ну и на BeerJS можем пообщаться. #job #jobs #webGL #TypeScript #Вакансия

Aleh
07.02.2017
14:23:07
@aquahawk Yuri добавьте мб #jobs к постам
Посты-то хорошие

Yuri
07.02.2017
14:24:02
а как это сделать?

Aleh
07.02.2017
14:24:31

Yuri
07.02.2017
14:26:10
я уже не могу редактировать
ну по крайней мере не вижу как
@aquahawk посмотрел вашу задачу, возможно тебе пригодится этот пакет: https://github.com/wix/tspoon

Владимир
07.02.2017
14:27:52

Mike
07.02.2017
14:27:55
Для старта обсуждения можно среднюю вилку 100-150 для нормального набора скилов. Для более чем нормального набора скилов исключительное предложения не связанное с этой вилкой. Это уже обсуждается с глазу на глаз.

Yuri
07.02.2017
14:37:28
ты не забывай добавлять что это тысячи

Google

Yuri
07.02.2017
14:37:30
и рублей

Mike
07.02.2017
14:37:53
да, ещё и российских рублей

Mikhail
07.02.2017
15:23:20
А как можно избавить от такого
An import path cannot end with a '.ts' extension. Consider importing '../../utils/literal.pipe' instead.
Можно как-то настроить чтоб ts нормально реагировал?

Admin
ERROR: S client not available

Mikhail
07.02.2017
15:23:34
А то не вижу ничего плохого, если указано расширение файла

Vasiliy
07.02.2017
16:47:35
там такой главный аргумент был "Code like that is not portable and for no good reason."
https://github.com/Microsoft/TypeScript/issues/11901#issuecomment-256762493
"no extension is much better for portability as it doesn't assume how, when, or by what you code is being compiled"

Mikhail
07.02.2017
16:49:36
Какие они, блин, заботливые) Тоесть эта возможность как бэ добровольно-принудительная?

Vasiliy
07.02.2017
16:49:58
да, я не нашел как это конфигурится, похоже никак

Aleh
07.02.2017
17:12:02
Tsc по умолчанию просто создает файл *.js рядом, чтобы не париться с заменой ts на js при транспайле видимо решили просто забить)

Mikhail
07.02.2017
17:15:19
ааа
да гуд
но если через webpack пропускаем то уже никакой js рядом не кладеётся
Вощем чуваки что-то решают и не дают никаких движений влево вправо) просто мысли вслух

yadro
07.02.2017
19:47:06
Всем привет, phpstorm не находит из tsconfig d.ts файлы из node_modules/@types папки. Указал отедльно rootTypes, а node_modules в exclude
"typeRoots" : ["./node_modules/@types"]
пробовал убрать node_modules из exclude все равно не пашет

Ivan
07.02.2017
21:38:12
Обнаружил в flow такую штуку %checks позволяет делать кастомные тайп касты
function isReallyThatType(y): %checks {
одна проблема ни один js парсер такое не пропускает кроме родного для flow, кто нибудь использовал и если да то как?

Vladimir
07.02.2017
21:41:47
/*:: %checks */

Ivan
07.02.2017
21:42:15
спасибо сейчас проверю
Спасибо большое, работает!!!!

Google

Vasiliy
08.02.2017
13:02:25
хм, чет жесть, это https://github.com/Microsoft/TypeScript/issues/10727 только в 2.3 будет
function spread<T extend Object>(arg: T): any {
return { ...arg }; //syntax error: "Spread types may only be created from object types"
}
я смотрю там майлстоун 2.3 стоит (
этого даже в списке том нет https://github.com/Microsoft/TypeScript/wiki/Roadmap#23-may-2017

Aleh
08.02.2017
13:34:09
Так для этого ж нужен нормальный rest для типов

Vasiliy
08.02.2017
13:40:44
да, похоже на то

Yuri
08.02.2017
15:00:07
Immutable.js и TypeScript - как их подружить? Пишу штукень на redux, хотел бы state обернуть в Immutable Map или Immutable Record. Если такое сделать, то мы сразу теряем типы.
Один кекс предлагает тут вот такую обертку сделать, вокруг Record:
https://coderwall.com/p/vxk_tg/using-immutable-js-in-typescript
let demoRecord = Immutable.Record({
property:'defaultValue',
index:0,
works:true,
valueList:Immutable.List([])
});
export class Demo extends demoRecord {
property:string;
index:number;
truth:boolean;
valueList:Immutable.List<YourMoreComplexTypeHere>
}
let demo = new Demo();
Кто-нибудь знает менее многословный метод достичь тех же результатов?

andretshurotshka?❄️кде
08.02.2017
16:40:30

Anatoly
08.02.2017
21:08:30
Ребят, а есть ли нормальный плейграунд для TS, где не создается новая вкладка в которой нужно открывать консоль каждый раз?

Vasiliy
08.02.2017
21:09:49
jsbin ?
я правда не знаю какая там версия ts
ну и там не посмотришь во что трансформируется

Дмитрий
08.02.2017
21:14:06

Anatoly
08.02.2017
21:17:37
Все плохо там

Vasiliy
08.02.2017
21:17:49
чет жесть да(
сорян, не пробовал раньше, насоветовал тут)