Вопрос в одном из чатов:
https://www.typenoscriptlang.org/play?#code/C4TwDgpgBA0hIHcD2AnAJlAvFA5AMySRygB9cAjAQxRwChbRIoAZASwGdgsoBBFFSiAA8Ab1pQoAa3jJ0ALlgzUaANzioAG0rkIGhZxSsAdgHM1AXwB8a2gGMkRzpo7AFbJ9gDa6sRInTEZQV8QhwAGnUJLR09XAAxUPVzCIlfPwDZNGCCIjCoAHp8qAAVAHkAEVL9AAskAFcNDB0oSiMoCH5USM1tXWCAIWo6CXNaAF0gA
Пффф, думаю я, плевое дело - просто перечисляем все возможные комбинации кортежев, это можно сделать программированием на типах - только дайте список вариантов.
Поступает новая вводная - элементов 10 и может быть больше. Ну те количество комбинаций 2**10 - ТС такое подохнет вычислять - свалится с type instantation is too deep (скорее всего, не проверял).
Какие еще варианты? Давайте пойдем от обратного, посчитаем количество уникальных значений и проверим что оно не отличается от количества элементов. Это возможно за счет хака трансформации union to tupple. Вспоминать и писать я его, конечно, не буду. Так и гуглим: “
Вот.
Лучше, конечно, такой код не писать и не поддерживать. Но всякие задачи бывают…
можно ли как то в массиве объектов сказать, что значения свойства не должно повторятся ?
демка:
https://www.typenoscriptlang.org/play?#code/C4TwDgpgBA0hIHcD2AnAJlAvFA5AMySRygB9cAjAQxRwChbRIoAZASwGdgsoBBFFSiAA8Ab1pQoAa3jJ0ALlgzUaANzioAG0rkIGhZxSsAdgHM1AXwB8a2gGMkRzpo7AFbJ9gDa6sRInTEZQV8QhwAGnUJLR09XAAxUPVzCIlfPwDZNGCCIjCoAHp8qAAVAHkAEVL9AAskAFcNDB0oSiMoCH5USM1tXWCAIWo6CXNaAF0gA
Пффф, думаю я, плевое дело - просто перечисляем все возможные комбинации кортежев, это можно сделать программированием на типах - только дайте список вариантов.
Поступает новая вводная - элементов 10 и может быть больше. Ну те количество комбинаций 2**10 - ТС такое подохнет вычислять - свалится с type instantation is too deep (скорее всего, не проверял).
Какие еще варианты? Давайте пойдем от обратного, посчитаем количество уникальных значений и проверим что оно не отличается от количества элементов. Это возможно за счет хака трансформации union to tupple. Вспоминать и писать я его, конечно, не буду. Так и гуглим: “
typenoscript union to tupple”, копипастим первый результат с SO или какой статьи и…Вот.
Лучше, конечно, такой код не писать и не поддерживать. Но всякие задачи бывают…
www.typenoscriptlang.org
TS Playground - An online editor for exploring TypeScript and JavaScript
The Playground lets you write TypeScript or JavaScript online in a safe and sharable way.
🤔7🤡3🤯1💩1
https://twitter.com/Brendan_CSEL/status/1584796704221847552
Первое с чем рекомендую ознакомится по Solid это страница Team & Contributions - выглядит очень хорошо.
Первое с чем рекомендую ознакомится по Solid это страница Team & Contributions - выглядит очень хорошо.
👏9🤔3👍1🤡1
next.js отличный продукт и я его рекомендовал всегда, даже если SSR не нужен: минимум ограничений, расширение конфига из коробки, апи-роуты для прототипирования. Сейчас для многих задач лучше подходит astro или vite, но некст все еще мой основной инструмент.
Next.js 13from $599 - отличный релиз, куча хороших нововведений (лично я давно ждал Layouts) и вы скорее всего обо всем этом слышали или скоро услышите, но вот вам небольшая подборка реализма:
https://news.1rj.ru/str/melikhov_dev/136
https://twitter.com/zachleat/status/1584995586918731776
https://twitter.com/_jessicasachs/status/1585095128703971329
https://twitter.com/lukemorales/status/1585080304410439680
https://twitter.com/ScriptedAlchemy/status/1585189789027880962
Next.js 13
https://news.1rj.ru/str/melikhov_dev/136
https://twitter.com/zachleat/status/1584995586918731776
https://twitter.com/_jessicasachs/status/1585095128703971329
https://twitter.com/lukemorales/status/1585080304410439680
https://twitter.com/ScriptedAlchemy/status/1585189789027880962
👍9🤡6❤2🤔1
Forwarded from Sostav
Сервис WeTransfer запустил инициативу с благотворительной организацией Dyslexia Scotland — в рамках неё креаторы призвали дизайнеров перестать пренебрегать в работе Comic Sans.
Несмотря на то, что в профессиональном сообществе шрифт считают визуально «детским» и «несуразным», именно эта неравномерность помогает лучше воспринимать текст людям с дислексией 👀
Несмотря на то, что в профессиональном сообществе шрифт считают визуально «детским» и «несуразным», именно эта неравномерность помогает лучше воспринимать текст людям с дислексией 👀
👍9🤡8❤1🤔1🤣1
Как бы я не любил перф и нативку, но бандлинг css мне нанес столько боли за все эти лета, что я очень склонен к css-in-js, у которого ну очень уже много крутых преимуществ просто из коробки.
Но что с перфом делать? Вы наверняка слышали что SC и так быстрый. Я не разделяю эту точку зрения. Но важно понимать что больше всего тормозов там происходит из-за парсинга строки стилей, причина чего необходимость работы с CSSOM для дешевых изменений значений из пропсов (динамических вставок).
Я долго думал как можно было бы заменить апишку что бы можно было избавиться от парсинга. Динамику в css-vars перетащить легко. Главная сложность в том как заменить амперсанд -
- исключительно рантайм, никакого билд тулинга и завязки на него (напомню, транспайлеров и бандлеров становится все больше)
- перф почти ванила, динамика на css-vars
- SSR без проблем
- 1кб в бандл
- подсказки в IDE работают как для SC
👍👎❓
Но что с перфом делать? Вы наверняка слышали что SC и так быстрый. Я не разделяю эту точку зрения. Но важно понимать что больше всего тормозов там происходит из-за парсинга строки стилей, причина чего необходимость работы с CSSOM для дешевых изменений значений из пропсов (динамических вставок).
Я долго думал как можно было бы заменить апишку что бы можно было избавиться от парсинга. Динамику в css-vars перетащить легко. Главная сложность в том как заменить амперсанд -
&:pseudo{…}. Уже делал некоторые попытки. А сейчас хочу показать вам новый вариант с такими характеристиками:- исключительно рантайм, никакого билд тулинга и завязки на него (напомню, транспайлеров и бандлеров становится все больше)
- перф почти ванила, динамика на css-vars
- SSR без проблем
- 1кб в бандл
- подсказки в IDE работают как для SC
👍👎❓
👍26👎13🤔10🤮2🤡2