graph (statelyai/graph)
Searching Database…
Что это такое?
Библиотека на TypeScript с универсальными утилитами для работы с графами: простая JSON-модель данных {nodes, edges} плюс алгоритмы, конвертеры форматов и движки раскладки, чтобы эти данные реально использовать.
Это библиотека для импорта или отдельное приложение?
Это библиотека: каждая операция — самостоятельная tree-shakable-функция для импорта, а не фреймворк или GUI-инструмент.
Как добавить её в проект?
Установите пакет из npm и импортируйте нужные функции или адаптеры через опциональные subpath-импорты.
Нужно ли что-то, кроме Node/npm, чтобы ей пользоваться?
Только среда JS/TS; конвертеры форматов и движки раскладки (Graphviz, ELK, dagre и т.д.) — опциональные адаптеры, которые подтягиваются, только если вы их используете.
Каждый формат и движок раскладки включён по умолчанию?
Нет, основной пакет покрывает только модель данных и алгоритмы; каждый из 14 форматов и 8 движков раскладки — отдельный опциональный адаптер со своими зависимостями.
Кому это вообще нужно?
Разработчикам, которые строят редакторы диаграмм, нодовые редакторы, statecharts или инструменты визуализации архитектуры и которым нужна быстрая сериализуемая модель графа с настоящими алгоритмами.
Почему это быстрее, чем библиотеки вроде graphology?
Она хранит графы как обычный JSON с прозрачными индексированными поисками вместо экземпляров классов, что, как сказано в README, делает её в 9-15 раз быстрее graphology при построении графа на 100 тысяч узлов.
Может ли она превращать автоматы XState в графы?
Да, её создала Stately, и в неё входит адаптер для превращения автоматов XState в графы.
Какие виды алгоритмов входят в состав?
Кратчайшие пути, центральность, сообщества, потоки, паросочетания и изоморфизм; всё протестировано на граничных случаях вроде петель и параллельных рёбер и реализовано итеративно, чтобы глубокие графы не переполняли стек.
Данные графа строго типизированы?
Да, дженерики используются от начала до конца для узлов, рёбер, портов и самого графа.
Which topics is it in?
state-machine, diagramming, graph-visualization, graph, data-structures, algorithms, visualization, data-visualization, json, browser, benchmark, performance