UNPKG

synapse-storage

Version:

Набор инструментов для управления состоянием и апи-запросами

26 lines (24 loc) 1.43 kB
// Server-safe дегидрация модуля: снимает сериализуемый снапшот состояния (уровень 4) для пропа // dehydratedState. В отличие от замыкания dehydrate из createSynapseCtx — без React-зависимостей, // импортируется в серверный (RSC / 'server only') модуль. const dehydrateModule = async (externalSynapseModule, options)=>{ const { state } = options ?? {}; // Форк: изоляция под запрос (новый независимый handle из той же фабрики). const synapseModule = externalSynapseModule.fork(); // Собираем стор без эффектов, мержим серверные данные, снимаем снапшот и уничтожаем форк. const synapse = await synapseModule.ready({ withEffects: false }); // Мердж initialState форка + серверные данные if (state) await synapse.storage.hydrate({ ...synapse.storage.getStateSync(), ...state }); // Достаем смерженный объект из хранилища const snapshot = synapse.storage.getStateSync(); // Уничтожаем synapseModule await synapseModule.destroy(); return snapshot; }; export { dehydrateModule }; //# sourceMappingURL=dehydrateModule.js.map