Size: a a a

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

2021 January 15

Т

Тимофей 🛴 in TypeScript — русскоговорящее сообщество
Vlad Faust
class Int<Signed extends boolean> {
 value: number

 constructor(value: number) {
   if (!Signed) {
     if (value < 0) {
       throw "Nope"
     } else {
       this.value = value
     }
   }
 }
}


Можно ли как-нибудь это завести, i.e. получить значение Signed?
Типов в рантайме нет, что ты хочешь сделать?
источник

KS

Kirill Sukhomlin in TypeScript — русскоговорящее сообщество
нет
источник

VF

Vlad Faust in TypeScript — русскоговорящее сообщество
☹️
источник

R

Rafael in TypeScript — русскоговорящее сообщество
Vlad Faust
class Int<Signed extends boolean> {
 value: number

 constructor(value: number) {
   if (!Signed) {
     if (value < 0) {
       throw "Nope"
     } else {
       this.value = value
     }
   }
 }
}


Можно ли как-нибудь это завести, i.e. получить значение Signed?
class Int<Signed extends boolean> {
 value: number

 constructor(signed: Signed, value: number) {
   if (!signed) {
     if (value < 0) {
       throw "Nope"
     } else {
       this.value = value
     }
   }
 }
}
Может так?
источник

VF

Vlad Faust in TypeScript — русскоговорящее сообщество
Rafael
class Int<Signed extends boolean> {
 value: number

 constructor(signed: Signed, value: number) {
   if (!signed) {
     if (value < 0) {
       throw "Nope"
     } else {
       this.value = value
     }
   }
 }
}
Может так?
♿️
источник

R

Rafael in TypeScript — русскоговорящее сообщество
function createIntConstructor<Signed extends boolean>(signed: Signed) {
   return class Int {
       value: number
       _signed: Signed;
       constructor(value: number) {
           if (!signed) {
               if (value < 0) {
                   throw "Nope"
               } else {
                   this.value = value
               }
           }
       }
   }
}
const SignedInt = createIntConstructor(true);
const UnsignedInt = createIntConstructor(false);
(new SignedInt(5))._signed; // true
(new UnsignedInt(5))._signed; // false

Круто, что можно замкнуть тип функцией
источник

AD

Apache DOG™ in TypeScript — русскоговорящее сообщество
Хеллоу, кто-нибуть пытался завести исполнение тайпскрипта в монге?
источник

AD

Apache DOG™ in TypeScript — русскоговорящее сообщество
так которые mongo shell scripts
источник

II

Ivan Iesaulov in TypeScript — русскоговорящее сообщество
Прямое указание типов (даже там, где тс может сам их вывести) уменьшает время сборки проекта?
источник

Т

Тимофей 🛴 in TypeScript — русскоговорящее сообщество
Ivan Iesaulov
Прямое указание типов (даже там, где тс может сам их вывести) уменьшает время сборки проекта?
Сомневаюсь
источник

AK

Andrew Kudrenko in TypeScript — русскоговорящее сообщество
нет, все равно в js компилится))
источник

Т

Тимофей 🛴 in TypeScript — русскоговорящее сообщество
Andrew Kudrenko
нет, все равно в js компилится))
Он про сборку
источник

IS

Ilya Sinkin in TypeScript — русскоговорящее сообщество
Ivan Iesaulov
Прямое указание типов (даже там, где тс может сам их вывести) уменьшает время сборки проекта?
нет
источник

IS

Ilya Sinkin in TypeScript — русскоговорящее сообщество
Andrew Kudrenko
нет, все равно в js компилится))
не ну, есть либы, которые рантайм типы проверяют, то есть из тс кода билдят код на жс + проверку тайпингов добавляют
источник

A

Alexander in TypeScript — русскоговорящее сообщество
Ilya Sinkin
не ну, есть либы, которые рантайм типы проверяют, то есть из тс кода билдят код на жс + проверку тайпингов добавляют
И как это работает?
источник

IS

Ilya Sinkin in TypeScript — русскоговорящее сообщество
источник

II

Ivan Iesaulov in TypeScript — русскоговорящее сообщество
Тимофей 🛴
Он про сборку
ну да, про сборку
источник

A

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

II

Ivan Iesaulov in TypeScript — русскоговорящее сообщество
Будет проект быстрее собираться если я не ленюсь везде типы явно прописывать?
источник

Т

Тимофей 🛴 in TypeScript — русскоговорящее сообщество
Ivan Iesaulov
Будет проект быстрее собираться если я не ленюсь везде типы явно прописывать?
Ты бот что ли? Ответили же уже)
источник