UNPKG

synapse-storage

Version:

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

60 lines (58 loc) 2.98 kB
/** * @example * ```typescript * // Строгая проверка - выбросит ошибку при любых различиях * const storage1 = new MemoryStorage({ * name: 'user', * singleton: { * enabled: true, * mergeStrategy: ConfigMergeStrategy.STRICT * }, * initialState: { name: 'John' } * }) * * // Глубокое слияние - объединит объекты * const storage2 = new MemoryStorage({ * name: 'settings', * singleton: { * enabled: true, * mergeStrategy: ConfigMergeStrategy.DEEP_MERGE * }, * initialState: { theme: 'dark', notifications: { email: true } } * }) * ``` */ var models_ConfigMergeStrategy = /*#__PURE__*/ function(ConfigMergeStrategy) { /** * Строгая проверка - выбрасывает ошибку при любых отличиях в конфигурации * * Используйте когда требуется абсолютная идентичность конфигураций * для обеспечения предсказуемого поведения */ ConfigMergeStrategy["STRICT"] = "strict"; /** * Первая конфигурация побеждает - игнорирует последующие конфигурации * * **По умолчанию**. Безопасная стратегия, которая использует настройки * первого созданного экземпляра и игнорирует все последующие */ ConfigMergeStrategy["FIRST_WINS"] = "first_wins"; /** * Глубокое слияние объектов - рекурсивно объединяет initialState * * Полезно когда разные компоненты должны дополнять начальное состояние. * Примитивные значения из первой конфигурации сохраняются */ ConfigMergeStrategy["DEEP_MERGE"] = "deep_merge"; /** * Последняя конфигурация перезаписывает предыдущие (кроме name) * * **Осторожно!** Может привести к непредсказуемому поведению, * так как результат зависит от порядка создания компонентов */ ConfigMergeStrategy["OVERRIDE"] = "override"; /** * Предупреждение в консоли + использование первой конфигурации * * Как FIRST_WINS, но с подробными предупреждениями в консоли * о конфликтующих настройках. Полезно для отладки */ ConfigMergeStrategy["WARN_AND_USE_FIRST"] = "warn_and_use_first"; return ConfigMergeStrategy; }({}); export { models_ConfigMergeStrategy as ConfigMergeStrategy }; //# sourceMappingURL=models.js.map