Size: a a a

TypeScript — русскоговорящее сообщество

2020 March 22

Д

Дмитрий in TypeScript — русскоговорящее сообщество
Привет! кто то может подсказать что означает запись this.someVariable!.method()
!. что это?
источник

Д

Дмитрий in TypeScript — русскоговорящее сообщество
спасибо нашел в доке
источник

M

Maxim in TypeScript — русскоговорящее сообщество
Дмитрий
Привет! кто то может подсказать что означает запись this.someVariable!.method()
!. что это?
Что someVariable не undefined и не null
источник

Д

Дмитрий in TypeScript — русскоговорящее сообщество
Maxim
Что someVariable не undefined и не null
я так понял это не проверка, а утверждение для компилятора?
источник

PS

Pavel Shakhov (pongo) in TypeScript — русскоговорящее сообщество
Дмитрий
я так понял это не проверка, а утверждение для компилятора?
да
источник

Д

Дмитрий in TypeScript — русскоговорящее сообщество
Спасибо
источник

IM

Inomdzhon Mirdzhamolov in TypeScript — русскоговорящее сообщество
Вот так будет ругаться – ссылка

Тип был указан как void | {…} – а JS писать void[0], void[‘hz’] и что-то там не возбраняет.

Другое дело undefined | {…}.

1) void это не то же самое, что и undefined.
2) Этот кейс сам по себе плох, т.к. по-хорошему, если мы знаем, что значения может не быть, то нужно проверять на это.

Если есть комментарии, то сделайте меншен @inomdzhon92, у меня чат замьючен
источник

IM

Inomdzhon Mirdzhamolov in TypeScript — русскоговорящее сообщество
Как добавить заголовки экспортов плагина к либе в модуль этой либы, чтобы ТС не жаловался что добавляемых плагином вещей не существует? Если просто сделать declare module "libfoo" { export bar: ... }, то тогда теряются экспорты из самой либы
источник

IM

Inomdzhon Mirdzhamolov in TypeScript — русскоговорящее сообщество
То есть в целом, я могу пояснить, почему нет ошибки во втором случае. Потому что https://www.ecma-international.org/ecma-262/10.0/index.html#sec-property например явно специфицирует, что ключом могут быть только строки или символы, а стало быть выражение response[1] следует трактовать как «приведи 1 к строке и получи свойство из response», что соответствует типу объекта response. Но повторить ситуацию, в которой response.hz порождает ошибку, я не могу.
источник

R

Roman in TypeScript — русскоговорящее сообщество
Здраствуйте, подскажите как решить проблему
источник

R

Roman in TypeScript — русскоговорящее сообщество
Не получается правильно организовать порядок использования: я сначала считываю папку uploads, получаеться массив файлов, которые нужно обработать. Этот массив разделяю между воркерами - cluster.fork() - и каждому припадает свое задание. Они паралельно начинают исполняться. Их задача свою часть - массив - пропустить через функцию compress она создает папку images и сжимает файлы, потом после сжатия нужно пройти через функцию add, оно берет файлы из папки images и подписывает их красной строчкой - sample watermark.

Так должно работать: такой порядок исполнения.
Но у меня получаеться, что функция подписи - add - она иногда срабатывает раньше чем compress.
( Там проверка на наличие файла в ней: exists )
И поэтому файлы не подписывает.
И еще некоторые файлы теряються: не попадают в папку images. На входе их 73, а на выходе 55-57.

Как сделать так чтобы функция add запускалася после того как функция compress полностью завершит свою работа ---- как огранизовать правильный порядок исполнения функцию?
источник

MS

Max Syabro in TypeScript — русскоговорящее сообщество
Roman
Не получается правильно организовать порядок использования: я сначала считываю папку uploads, получаеться массив файлов, которые нужно обработать. Этот массив разделяю между воркерами - cluster.fork() - и каждому припадает свое задание. Они паралельно начинают исполняться. Их задача свою часть - массив - пропустить через функцию compress она создает папку images и сжимает файлы, потом после сжатия нужно пройти через функцию add, оно берет файлы из папки images и подписывает их красной строчкой - sample watermark.

Так должно работать: такой порядок исполнения.
Но у меня получаеться, что функция подписи - add - она иногда срабатывает раньше чем compress.
( Там проверка на наличие файла в ней: exists )
И поэтому файлы не подписывает.
И еще некоторые файлы теряються: не попадают в папку images. На входе их 73, а на выходе 55-57.

Как сделать так чтобы функция add запускалася после того как функция compress полностью завершит свою работа ---- как огранизовать правильный порядок исполнения функцию?
Это а чат по ноде
источник

R

Roman in TypeScript — русскоговорящее сообщество
Max Syabro
Это а чат по ноде
Я думаю, что люди в этой групе с нодой работают
источник

MS

Max Syabro in TypeScript — русскоговорящее сообщество
Roman
Я думаю, что люди в этой групе с нодой работают
Есть профильные, тут это офтоп
источник

S✨

Stefan ✨ in TypeScript — русскоговорящее сообщество
Всем привет, в либе есть некоторый тип:
interface Some {
  first: string,
  second: number,
  [otherProp: string]: any
}


Как мне создать из него тип, в котором будут запрещены otherProp any. пробовал через Omit, не выходит
источник

OS

Oleg Solovyov in TypeScript — русскоговорящее сообщество
Pick<first, second>
источник

S✨

Stefan ✨ in TypeScript — русскоговорящее сообщество
спасибо, как только спросил, сам догодался
источник

IK

Ivan Kirshin in TypeScript — русскоговорящее сообщество
Возник такой вопрос, при использовании union типа присваиваемый объект должен быть либо type1, либо type2. Данный объект очевидно не может быть присвоен type1, так как не хватает свойтва b, однако, если предположить, что он type2, то тут также есть лишнее свойство, то есть также должна быть ошибка при присвоении объектного литерала. Однако тс не считает это ошибкой. Почему так?
источник

СК

Сергей Кузнецов in TypeScript — русскоговорящее сообщество
const variable: type1 = { a: 1, b: 2 };


Ты не сможешь сделать variable.a = '1', т.к. у него тип number, но ты можешь сделать variable.anyFieldName = any type value. Ты можешь присаить свойства, которых нет в типе.
источник

СК

Сергей Кузнецов in TypeScript — русскоговорящее сообщество
Хотя, я соврал. Сори
источник