gavr_sas – Telegram
gavr_sas
221 subscribers
2.69K photos
185 videos
29 files
790 links
JB пропаганда
Download Telegram
Мощь тайпскрипта
Вот имеем ситуацию, либа для показа табличек, нужно ей передать массив данных и массив колонок.

Колонкам разумеется нужно чтото знать про данные.
Данные могут иметь вложенность, то бишь name: {first, second: string}

Вопрос, как указать для колонок вложенность данных в объектах, не десериализовать же дтошки каждый раз в плоскую структуру.

Ну допустим через точки "name.firstname"
Но это же не типо-безопасно!
TS и литеральные типы, вывело все варианты вместе с вложенностями
gavr_sas
Мощь тайпскрипта Вот имеем ситуацию, либа для показа табличек, нужно ей передать массив данных и массив колонок. Колонкам разумеется нужно чтото знать про данные. Данные могут иметь вложенность, то бишь name: {first, second: string} Вопрос, как указать для…
Тип выглядит так

По факту это просто перебор вариантов, тут явно видно что типам не хватает switchа

never & 'Dynamic length array indexing is not supported' — найс способ сообщить пользователю человекочитаемую ошибку!
type DeepKeys<T> = unknown extends T 
? keyof T
: object extends T
? string
: T extends readonly any[] & IsTuple<T>
? AllowedIndexes<T> | DeepKeysPrefix<T, AllowedIndexes<T>>
: T extends any[]
? never & 'Dynamic length array indexing is not supported'
: T extends Date
? never
: T extends object
? (keyof T & string) | DeepKeysPrefix<T, keyof T>
: never;
😢1
Штош подкасты по ниму записал, время возвращаться к ниве(це мой язык), ловите работающий баблсорт
#niva
шутка про питон
1
gavr_sas
Штош подкасты по ниму записал, время возвращаться к ниве(це мой язык), ловите работающий баблсорт #niva
Мя спрашивают, если нет пробелов, то как будут работать экспрешоны внутри массивов?
x = {(1 - 1 - 2) 2 3 - 2 - 1 2 sas}
нормально
- А як вставити значення з унарними минусами?
- А для этого у меня есть необязательные запятые
x = { -5, -5 5 5 5} иначе оно будет считаться как (- 5 - 5), а делать пробелы между операторами в бинарных сообщениях я не хочу
извинити
Просто хочу сказать что это валидная строчка на Java 17
public abstract sealed class Shape permits Circle, Rectangle, Square {...}
👍1
У меня возникла замечательная идея, собрать rust
Играли в Yume Nikki?
Anonymous Poll
40%
да
40%
нет
20%
даже не слышал
Вот казалось бы, этот замечательный, красивейший функциональный стиль. Но вот мне сейчас нужно вставить между ними лог...(
Интересно как бы решить такую проблему оставив функциональный стиль
Define a custom operator in #niva doesn't require any specific syntax
Котлин полностью прошел проверку на наличие нормальных tagged union'ов, можно объявлять их отдельно, when достаточно exhaustive
Но настоящих типов суммы конеш не хватает
Опача, в лисице тоже можно группировать вкладки, я остаюсь
Решил наконец то разобраться что делают пульса и альса
Вообщем ALSA це практически драйвера аудиокарты, только у ALSA есть доступ к железу, Pulse использует внутри себя альсу предоставляя к ней доступ остальным приложениям, и попутно миксуя/эквализируя звук
Проверить состояние пульсы:
systemctl status --user pulseaudio
pactl info
А вот так выглядит сломанная по неизвестной причине пульса