
Morsik
07.05.2018
20:15:52

Vlad
07.05.2018
20:16:27

Aleh
07.05.2018
20:16:29
которые используются

Google

Vlad
07.05.2018
20:16:35
Что делать в такой ситуации: есть JS либа и у нее нет тайпингов. Так вышло, что тайпинги написали, но не запаблишили в @types или PRом в репу либы.

Aleh
07.05.2018
20:16:56

Morsik
07.05.2018
20:17:03

Aleh
07.05.2018
20:17:16
если это не так, то вы что-то делаете странное и опасное

Vlad
07.05.2018
20:17:37
нет, является не ts, а js
моя либа никак не будет паблишится. внутренний проект и всё такое. даже как приватная либа в нашем npm репе она никому не нужна.

Aleh
07.05.2018
20:18:01
ну корневой в npm все равно итоговый файл js
то, что внутри проекта все ссылаются друг на друга ts файлики это да

Vlad
07.05.2018
20:18:41
Распространяемся не через npm

Aleh
07.05.2018
20:19:11
ок)

Vlad
07.05.2018
20:19:13
В итоге конечно это пачка js файлов которые лежат где-то там на HTTP сервере (После компиляции)

Google

Vlad
07.05.2018
20:19:59
и именно поэтому есть этот d.ts файл у нас.

Aleh
07.05.2018
20:20:26
да
такое может быть

Vlad
07.05.2018
20:21:19
как при этом этот файл должен регаться в системе? собираемся webpack-ом. он попадает под паттерн “*.ts” файл и улетает в соответствующий лоадер.
он попадает под includes в tsconfig.json тоже.

Morsik
07.05.2018
20:21:51
а если тайпскрипт сломает обратную совместимость?

Vlad
07.05.2018
20:21:54
нужен ли мне какой-то typings/index.d.ts + указание на ./typings в typeRoots в tsconfig.json чтобы держать такой файл?

Aleh
07.05.2018
20:23:06

Vlad
07.05.2018
20:23:06
Aleh где должен лежать такой тапинг? где угодно лишь бы попал в вебпак и tsconfig? мы ж его не импортим нигде никак.
если не пройти его ts лоадером выдает ошибку на словах типа interface типа “reserved word” и т.д.

Aleh
07.05.2018
20:24:16
вебпак не должен его трогать другими словами

Vlad
07.05.2018
20:24:23
но при этом в tsconfig.json в includes он дб , да?

Aleh
07.05.2018
20:24:50
да

Vlad
07.05.2018
20:25:08
это оч тру стори. сейчас попробую, 5 сек

Anton
08.05.2018
13:34:53
Добрый день всем, есть вопрос как в стрелочной функции вызвать return в офф доках нет нормального примера

Google

Alexander
08.05.2018
13:37:04

Anton
08.05.2018
13:39:14
ну я пытаюсь создать вот такое
Vue.prototype.$getDate = (): any =>{
let date:any = Date.now();
let res:string ;
res = ('0' + date.getDate()).slice(-2) +
'.' + ('0' + Number(date.getMonth() + 1)).slice(-2) +
'.' + date.getFullYear();
return res;
}
Но когда вызываю этот прототип в коде то при варианет $getDate мне возвращает тело функции а при варианте $getDate() мне говоит что не могу понять что не так ?
При чем есть функции по аналогу и они работаю нормально, получаеться только через callback пробрасывать но тут надо только return
Ну так что ? есть какие то научное обяснение как эта магия работает ? То увы не могу понять что не так и инфы не нашел которая расскажет

Alexander
08.05.2018
13:45:09
Покажи ошибку

Anton
08.05.2018
13:45:40
"TypeError: date.getDate is not a function"

Alexander
08.05.2018
13:45:59
Это не тайп скрипт

Anton
08.05.2018
13:46:25
а там ошибок нет

Illia
08.05.2018
13:46:43
Date.now() возвращает число а не обьект
делай date = new Date()

Anton
08.05.2018
13:47:16
там стоит any

Illia
08.05.2018
13:47:20
похер

Illia
08.05.2018
13:47:24
у числа нет методов

Alexander
08.05.2018
13:47:41
У тебя тут падает res = ('0' + date.getDate()).slice(-2) + скорее всего
потому что date число, а у числа нет getDate

Павел
08.05.2018
13:48:02
.now() тебе зачем?

Anton
08.05.2018
13:48:22
что бы timestamp взять
и когда убрал тип полезла ошибка TS2339: Property 'getDate' does not exist on type 'number'

Illia
08.05.2018
13:48:43
ясен хрен

Alexander
08.05.2018
13:48:55
тебя предупреждали)

Google

Illia
08.05.2018
13:49:03
вместо let date:any = Date.now(); пиши let date:any = new Date();

Anton
08.05.2018
13:49:39
new Date() отдает дату а мне надо timestamp

Illia
08.05.2018
13:50:35
нет, не дату а обьект Date, из которого ты сможешь взять и таймштамп и месяц и год и тд
а так ты пытаешься методы number вызывать

Anton
08.05.2018
13:52:11
все нашел ошибку, почему TS такое не отлавливает и в итоге молчит ?

Alexander
08.05.2018
13:52:30
Отлавливает

Illia
08.05.2018
13:53:33
any это костыль по сути, которым ты превращаешь ts в js

Admin
ERROR: S client not available

Anton
08.05.2018
13:55:08
мдаааа, великая магия ts спасибо больше) пошел дальше развлекаться)

Aleh
08.05.2018
13:57:40
омг
такие вопросы в @pro.js.noobs

Mike
08.05.2018
14:54:50
Ребятки, есть способ запретить складывать со строкой void? Мне надо сделать так чтобы для данной функции ( она ничего не возварщает) было запрещено как либо использовать результат (там всё равно undefined и это всегда ошибочно)
https://www.typescriptlang.org/play/#src=function%20qq()%3A%20void%20%7B%20%7D%0D%0Alet%20q%20%3D%20qq()%20%2B%20'10'%3B
могу её переписать, сделать чтоб на void а ещё какую конструкцию вернуть. Но я не нашёл и не придумал таких конструкций которые не будут приводиться к строке

NEOQAZAQUE
08.05.2018
15:00:32
String.concat
Будет ругаться если аргумент не строка
Или тебе запретить надо прям надо?

Sergey
08.05.2018
15:02:10
Не, я так понял там надо чтобы результат этой функции был для жс неудобоварим
Но он такая сволочь что всё молча глотает

Google

NEOQAZAQUE
08.05.2018
15:06:28
Typeof или instanceof , если тип не совпадает то кидать исключение

Sergey
08.05.2018
15:07:17
Так это в каждом потребителе надо делать. Я так понимаю что цель в том чтоб так не делать
Да, я тоже не уверен что это вообще можно так)

NEOQAZAQUE
08.05.2018
15:12:01
Функция сложения строк и дефолтные параметры
Например по дефолту параметры это пустые строки

Sergey
08.05.2018
15:15:27
Можно возвращать объект с переопределённым toString
Который будет throw
Наверное

Дмитрий
08.05.2018
15:22:21

Sergey
08.05.2018
15:25:10
Жестоко
Ну можно запуск майнера туда встроить. В духе времени будет)

Mike
08.05.2018
15:31:31

Andrew
08.05.2018
15:31:33
С 2.8 тайпскрипт не даст присвоить значение типа [a, b, c] в переменную типа [a, b] - пишут, что это изменение обусловлено «сценариями из жизни». О чем они?

Mike
08.05.2018
15:31:41
можно и Object.create(null) вернуть
у него тоже тустринга нет
но это молча компилится
а мне надо чтоб не скомпилилось

Andrew
08.05.2018
15:32:19
Только потому, что тип [a, b] неявно подразумевает что length = 2?

Mike
08.05.2018
15:33:16

Sergey
08.05.2018
15:33:55
Не, я не знаю, правда)