recoil
Version:
Recoil - A state management library for React
38 lines (31 loc) • 1.12 kB
Flow
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @emails oncall+recoil
* @flow strict
* @format
*/
;
import type { CacheImplementation } from './Recoil_CacheImplementationType';
import type { CachePolicy, EqualityPolicy, EvictionPolicy } from './Recoil_CachePolicy';
const err = require('../util/Recoil_err');
const nullthrows = require('../util/Recoil_nullthrows');
const stableStringify = require('../util/Recoil_stableStringify');
const {
LRUCache
} = require('./Recoil_LRUCache');
const {
MapCache
} = require('./Recoil_MapCache');
const defaultPolicy = {
equality: 'reference',
eviction: 'none',
maxSize: Infinity
};
declare function cacheFromPolicy<K, V>(arg0: CachePolicy): CacheImplementation<K, V>;
declare function getValueMapper(equality: EqualityPolicy): (mixed) => mixed;
declare function getCache<K, V>(eviction: EvictionPolicy, maxSize: ?number, mapKey: (mixed) => mixed): CacheImplementation<K, V>;
module.exports = cacheFromPolicy;