UNPKG

recoil

Version:

Recoil - A state management library for React

32 lines (29 loc) 1.03 kB
/** * (c) Facebook, Inc. and its affiliates. Confidential and proprietary. * * @emails oncall+recoil * @flow strict-local * @format */ 'use strict'; import type { Loadable } from '../adt/Recoil_Loadable'; import type { NodeKey } from '../core/Recoil_State'; import type { Handlers } from './Recoil_NodeCache'; import type { GetNodeValue, NodeCacheRoute } from './Recoil_NodeCache'; const invariant = require('../util/Recoil_invariant'); export type TreeCacheNode<T> = TreeCacheResult<T> | TreeCacheBranch<T>; export type TreeCacheResult<T> = { type: 'result', result: Loadable<T>, }; export type TreeCacheBranch<T> = { type: 'branch', nodeKey: NodeKey, branches: Map<mixed, TreeCacheNode<T>>, }; declare function setInTreeCache<T>(root: ?TreeCacheNode<T>, route: NodeCacheRoute, result: Loadable<T>): TreeCacheNode<T>; declare function getFromTreeCache<T>(root: ?TreeCacheNode<T>, getNodeValue: GetNodeValue, handlers: Handlers): Loadable<T> | void; module.exports = { setInTreeCache, getFromTreeCache };