You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
11 lines
225 B
11 lines
225 B
3 years ago
|
// @flow
|
||
|
|
||
|
export default function memoize<V>(fn: string => V): string => V {
|
||
|
const cache = Object.create(null)
|
||
|
|
||
|
return (arg: string) => {
|
||
|
if (cache[arg] === undefined) cache[arg] = fn(arg)
|
||
|
return cache[arg]
|
||
|
}
|
||
|
}
|