Пакет @nrgyjs/rx-effects
Назначение пакета
Интеграция Nrgy.js с библиотекой rx-effects.
Общая информация
Пакет @nrgyjs/rx-effects предоставляет инструменты для взаимодействия между атомами Nrgy и объектами Query из библиотеки rx-effects. Это позволяет оборачивать атомы как запросы (Query) и наоборот, обеспечивая плавную интеграцию между двумя реактивными системами.
Установка пакета
bash
npm install @nrgyjs/core @nrgyjs/rx-effects @nrgyjs/rxjs rx-effects rxjsКонцептуальная архитектура
Пакет ориентирован на интерфейс Query из rx-effects, который состоит из синхронного геттера (get()) и асинхронного потока изменений (value$).
- Атом в Query: текущее значение атома доступно через
get(), а его изменения передаются вvalue$с использованием интеграции@nrgyjs/rxjs. - Query в Атом: создается подписка на
value$запроса, и последние значения или ошибки сохраняются во внутреннем атоме, который затем экспонируется как вычисляемый атом (compute).
Документация по функционалу (Functional Documentation)
- toQuery(atom): Превращает Nrgy Atom в
rx-effectsQuery. - fromQuery(query): Превращает
rx-effectsQuery в Nrgy Atom.
Примеры использования (Usage Examples)
typescript
import { atom } from '@nrgyjs/core';
import { toQuery, fromQuery } from '@nrgyjs/rx-effects';
// 1. Атом в Query
const count = atom(0);
const countQuery = toQuery(count);
console.log(countQuery.get()); // 0
// 2. Query в Атом
const anotherAtom = fromQuery(countQuery);
console.log(anotherAtom()); // 0