Что это такое?
Библиотека для вычисления строковых условий с проверкой типов в TypeScript.
Крошечная библиотека без зависимостей для вычисления условий (when-clause), вдохновлённая системой контекстов VS Code. Позволяет декларативно описывать, когда должен быть доступен UI-элемент, команда или функция, основываясь на текущем состоянии приложения....
Для разработчиков на TypeScript, которые создают сложные UI с условной логикой, плагины или системы команд, где нужно динамически включать/выключать функциональность.
Ручное написание и поддержка множества условий в коде приводит к ошибкам, опечаткам и сложному рефакторингу, особенно когда условия зависят от динамического контекста.
Вы описываете интерфейс контекста на TypeScript, а условия пишете в виде строковых выражений (например, 'debug && mode == development'). Библиотека парсит выражение, проверяет все ключи контекста на этапе компиляции и вычисляет результат на основе переданного объекта. TypeScript подсветит неизвестные ключи как ошибки.
Крошечная библиотека без зависимостей для вычисления условий (when-clause), вдохновлённая системой контекстов VS Code. Позволяет декларативно описывать, когда должен быть доступен UI-элемент, команда или функция, основываясь на текущем состоянии приложения. Главная фишка — полная типобезопасность: если в выражении есть опечатка или ссылка на несуществующее поле контекста, TypeScript выдаст ошибку ещё до запуска кода.
Библиотека повторяет семантику оператора '==' из VS Code: правая часть сравнивается как строка, что позволяет писать 'mode == development' даже если 'development' — это строковый литерал в TypeScript-типе.
Стоит попробовать, если вы разрабатываете расширение для VS Code, сложный редактор или любую систему, где много условной логики. Это элегантный способ вынести условия из кода в декларативные выражения с гарантиями от TypeScript.
Проект свежий (версия 0.1.2), активно поддерживается автором (Anthony Fu), есть тесты и полная типизация.
Карточка собрана по данным GitHub, README и структуре репозитория. Это не официальная документация проекта.
Библиотека для вычисления строковых условий с проверкой типов в TypeScript.
Для TypeScript-разработчиков, которым нужно управлять видимостью UI, доступностью команд или логикой функций на основе контекста.
Если проект подходит под ваш сценарий, можем помочь с установкой, интеграцией, доработкой или аккуратным форком под вашу инфраструктуру.