Size: a a a

2020 December 17

КС

Кирилл Спасибович... in Svelte [svelt]
в режиме мазохиста
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
типа:

<script lang=“ts” context=“module”>
   export type Stamp = ‘nope’ | ‘linked’ | undefined;
</script>

<script lang=“ts”>
   export let stamp: Stamp;
</script>
источник

КС

Кирилл Спасибович... in Svelte [svelt]
ага, тогда можно оставить его вроде бы и в компоненте, где он и должен быть, но доступным для импорта
источник

КС

Кирилл Спасибович... in Svelte [svelt]
а ты использовал ts со свелтом ?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кирилл Спасибович
ага, тогда можно оставить его вроде бы и в компоненте, где он и должен быть, но доступным для импорта
да, так и стоит делать если тип не общий для многих компонентов. Например если есть какая-то сетка и там есть размеры какие-то определенные и от них все скачет в многих компонентах. Тогда в отдельный ts файл, можно еще и ре-экспорт. Единственное что типы будут доступны ествественно только в рамках приложения.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кирилл Спасибович
а ты использовал ts со свелтом ?
немного, как раз вот небольшой проект закончил на нем
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
тоже попробовал, поэкспериментировал. в работе пока не факт что буду юзать, но в целом норм
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Pavel 🦇 Malyshev
да, так и стоит делать если тип не общий для многих компонентов. Например если есть какая-то сетка и там есть размеры какие-то определенные и от них все скачет в многих компонентах. Тогда в отдельный ts файл, можно еще и ре-экспорт. Единственное что типы будут доступны ествественно только в рамках приложения.
м.. а как передаются эти размеры для сетки ? пропсами ?

как ваще с типизацией пропсов дела обстоят, надо ли как-то руками передаваемые пропсы привести к типу, или то что ты их заспредил в компонент уже будет тайпчекать ?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кирилл Спасибович
м.. а как передаются эти размеры для сетки ? пропсами ?

как ваще с типизацией пропсов дела обстоят, надо ли как-то руками передаваемые пропсы привести к типу, или то что ты их заспредил в компонент уже будет тайпчекать ?
я честно говоря не проверял спреды и все такое. мне было интересно в основном как структурно это все ложится и как будут подсказки работать
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
тут наверное лучше у @dkzlv спросить
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
мне показалось что не все гладко, особенно с подсветкой иногда, но в целом работает вроде
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
спреды мне кажется не типизируются или я что-то делал не так
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
но всякие там автодополнениня для пропсов работают вполне:
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
источник

КС

Кирилл Спасибович... in Svelte [svelt]
крутяк, а size описан как union 1234 ?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
правда вот текст с этим галимым JSX attribute не очень конечно и надо еще поработать им над этим
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кирилл Спасибович
крутяк, а size описан как union 1234 ?
не, там типа объект с const и типа от него:



export const ZOOM = {
   '1x': 1,
   '2x': 2,
   '3x': 3,
   '4x': 4,
} as const;

export type Zoom = keyof typeof ZOOM;
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
вообще это Zoom по идее для svg иконки, но пропс назвал size ))
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
а вообще не важно мне кажется как это делать. я обычно type и interface юзаю.стараюсь TS рантаймовые штуки вроде enum и тп не использовать
источник