Size: a a a

2020 May 04

e

egoarka in rust_offtopic
источник

S

Sooqa in rust_offtopic
А обычные есть?
источник

G

Gymmasssorla in rust_offtopic
обычные и в джава есть
источник

G

Gymmasssorla in rust_offtopic
только их частично применять нельзя
источник

G

Gymmasssorla in rust_offtopic
ацтой короче
источник

e

egoarka in rust_offtopic
))
источник

G

Gymmasssorla in rust_offtopic
egoarka
type extending from primitive type

вроде так, не?

https://stackoverflow.com/questions/49404380/typescript-create-a-type-extending-from-primitive-type

пример снизу
и статья
https://spin.atomicobject.com/2018/01/15/typescript-flexible-nominal-typing/

и собственно там пример с компилятором тса


type ObjectID =  string & { __type: 'Id'}
function ID(n: string): ObjectID{
   return n as any;
}


можно объяснить что здесь происходит?
источник

e

egoarka in rust_offtopic
это хак какой то, тайпскрипт думает что это кастомный тип, расширяя примитив, надо гуглить, я помню полностью видел объяснение где то, если найду поделюсь
Либо в чатик по тсу залететь, там жёсткие челики сидят, пояснят
источник

G

Gymmasssorla in rust_offtopic
не ну это другое
источник

G

Gymmasssorla in rust_offtopic
я ведь спрашивал про поля как дженерики
источник

e

egoarka in rust_offtopic
Так к полям это тоже применимо
источник

G

Gymmasssorla in rust_offtopic
egoarka
Так к полям это тоже применимо
а как?
источник

G

Gymmasssorla in rust_offtopic
я так понял что эта техника именно про научить TS различать одинаковые во время исполнения типы на уровне языка
источник

G

Gymmasssorla in rust_offtopic
про дженерики-поля там я ничего не нашёл
источник

G

Gymmasssorla in rust_offtopic
т.е. такой категоричный стиль программирования где мы не используем конкретных типов в полях почти никогда
источник

AZ

Alex Zhukovsky in rust_offtopic
Gymmasssorla


type ObjectID =  string & { __type: 'Id'}
function ID(n: string): ObjectID{
   return n as any;
}


можно объяснить что здесь происходит?
ну с этой штукой тебе не нужны генерики
источник

AZ

Alex Zhukovsky in rust_offtopic
type UserCommonFields =
 { Name: String, Age: u8 }

type NewUser =
 { Password: String, CreatedOn: Option<DateTime> } & UserCommonFields;

type CreatedUser =
 { CreatedOn: DateTime } & UserCommonFIelds;
источник

G

Gymmasssorla in rust_offtopic
Alex Zhukovsky
type UserCommonFields =
 { Name: String, Age: u8 }

type NewUser =
 { Password: String, CreatedOn: Option<DateTime> } & UserCommonFields;

type CreatedUser =
 { CreatedOn: DateTime } & UserCommonFIelds;
у меня и в расте такое есть лол
источник

AZ

Alex Zhukovsky in rust_offtopic
в таком виде тебе нет смысла собирать все варианты в один супер-тип с миллиардом опций
источник

AZ

Alex Zhukovsky in rust_offtopic
Gymmasssorla
у меня и в расте такое есть лол
нет, в расте такого нет
источник