UNPKG

synapse-storage

Version:

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

23 lines (22 loc) 1.31 kB
import { StorageKey } from '../utils/storage-key'; export declare function parsePath(path: string | StorageKey): string[]; export declare function getValueByPath(obj: any, path: string | StorageKey): any; /** * Иммутабельная запись значения по пути. * * НЕ мутирует `obj`: клонирует корень и только узлы НА пути записи (structural * sharing — соседние ветки сохраняют ссылки). Возвращает новое состояние. * * Это важно для `MemoryStorage`, который держит состояние по ссылке: запись по * месту портила бы переданный `initialState` и ломала `reset()`. */ export declare function setValueByPath(obj: any, path: string | StorageKey, value: any): any; /** * Иммутабельное удаление значения по пути. НЕ мутирует `obj`. * Возвращает `{ state, removed }`: `removed=false`, если пути не существовало * (состояние тогда возвращается прежним по ссылке). */ export declare function removeValueByPath(obj: any, path: string | StorageKey): { state: any; removed: boolean; };