Size: a a a

2020 March 25

VR

Victor Rusakovich in ☄️ effector
Time is the side effect
Надеюсь пофиксили сея недоразумение? И теперь можно какашки в коммиты добавлять?
Договорились только в код срать, комит месаджи должны быть чистыми ))
источник

🦉⁣

🦉 ⁣ in ☄️ effector
Я вот не понимаю. Мне кажется что тайпгарды тс это дикий костыль.

https://www.typescriptlang.org/docs/handbook/advanced-types.html#user-defined-type-guards

Ну то есть. Система типов не умеет в .filter(Boolean)
поэтому приходится городить
function isRoute(route: any): route is Route {
 return Boolean(route)
}
.filter(isRoute)


просто, чтобы в следующем .map получить из Route | null нормальный Route

это как-то не норм
источник

l

la gente está muy loca in ☄️ effector
Andrey
ну я если что про случай типа

/foo.ts
export const Queries = {
 Small: "(max-width: 600px)",
 Medium: ...
}


/bar.tsx
import {styled} from "linaria"
import {Queries} from "./foo"

const Wrapper = styled.div`
 media screen and ${Queries.Small} {
   ...
 }
`
потому что невозможно гарантировать, что это именно константы

об этом сказано в readme

export const ...

import * as

если уж так хочется объекты
источник

A

Andrey in ☄️ effector
🤨
источник

A

Andrey in ☄️ effector
там ниже ток пишут, что файлы должны быть без сайдэффектов, импорты онли
(но я и экспортировал только статичный объект)
источник

l

la gente está muy loca in ☄️ effector
статичный объект в жс это нонсенс
источник

l

la gente está muy loca in ☄️ effector
я об этом же и пишу
источник

A

Andrey in ☄️ effector
ну это уже полемика, смысл должен быть понятен)
источник

A

Andrey in ☄️ effector
в скоупе того же модуля те же объекты линария кушает на ура
источник

l

la gente está muy loca in ☄️ effector
ну
источник

A

Andrey in ☄️ effector
проблема возникает только при импорте
источник

l

la gente está muy loca in ☄️ effector
НУ
источник

l

la gente está muy loca in ☄️ effector
я о чем и говорю
источник

l

la gente está muy loca in ☄️ effector
потому что в отсутствие кросс-файловой компиляции невозможно гарантировать что твой объект не меняют в других модулях прям по полям
источник

A

Andrey in ☄️ effector
тогда стейтмент про импортированные переменные он про что?
источник

l

la gente está muy loca in ☄️ effector
про константы
источник

l

la gente está muy loca in ☄️ effector
а не про поля этих объектов
источник

A

Andrey in ☄️ effector
я потребитель, я захожу на глагну в гитхабе, вижу: можете импортировать переменные, и погнали
импортирую, сайд эффектов не оказываю
линария падает
источник

A

Andrey in ☄️ effector
константы - подразумеваются примитивные типы?
источник

l

la gente está muy loca in ☄️ effector
да
источник