init
This commit is contained in:
2
mc_test/node_modules/@emotion/weak-memoize/src/index.d.ts
generated
vendored
Executable file
2
mc_test/node_modules/@emotion/weak-memoize/src/index.d.ts
generated
vendored
Executable file
@ -0,0 +1,2 @@
|
||||
export * from '../types'
|
||||
export { default } from '../types'
|
||||
16
mc_test/node_modules/@emotion/weak-memoize/src/index.js
generated
vendored
Executable file
16
mc_test/node_modules/@emotion/weak-memoize/src/index.js
generated
vendored
Executable file
@ -0,0 +1,16 @@
|
||||
// @flow
|
||||
let weakMemoize = function <Arg, Return>(func: Arg => Return): Arg => Return {
|
||||
// $FlowFixMe flow doesn't include all non-primitive types as allowed for weakmaps
|
||||
let cache: WeakMap<Arg, Return> = new WeakMap()
|
||||
return arg => {
|
||||
if (cache.has(arg)) {
|
||||
// $FlowFixMe
|
||||
return cache.get(arg)
|
||||
}
|
||||
let ret = func(arg)
|
||||
cache.set(arg, ret)
|
||||
return ret
|
||||
}
|
||||
}
|
||||
|
||||
export default weakMemoize
|
||||
Reference in New Issue
Block a user