mirror of
https://github.com/grafana/grafana.git
synced 2025-02-13 00:55:47 -06:00
17 lines
373 B
TypeScript
17 lines
373 B
TypeScript
|
import { property } from 'lodash';
|
||
|
|
||
|
interface FieldAccessorCache {
|
||
|
[key: string]: (obj: object) => any;
|
||
|
}
|
||
|
|
||
|
let fieldAccessorCache: FieldAccessorCache = {};
|
||
|
|
||
|
export function getFieldAccessor(fieldPath: string) {
|
||
|
const accessor = fieldAccessorCache[fieldPath];
|
||
|
if (accessor) {
|
||
|
return accessor;
|
||
|
}
|
||
|
|
||
|
return (fieldAccessorCache[fieldPath] = property(fieldPath));
|
||
|
}
|