/* eslint-disable import/order */
// DO NOT EDIT THIS FILE
// This file is automatically generated  (do not edit it here)
// see @grafana/ui/scripts/generate-icon-bundle.js


import { cacheStore } from 'react-inlinesvg';

// do not edit this list directly
// the list of icons live here: @grafana/ui/components/Icon/cached.json
//{{imports}}
// do not edit this list directly
// the list of icons live here: @grafana/ui/components/Icon/cached.json

let cacheInitialized = false;

function cacheItem(content: string, path: string) {
  cacheStore[path] = { content, status: 'loaded' };
}

function createPathResolver() {
  let root = 'public/img/icons/';

  // This function needs to be called after index.js loads to give the
  // application time to modify __webpack_public_path__ with a CDN path
  const grafanaPublicPath = typeof window !== 'undefined' && window.__grafana_public_path__;
  if (grafanaPublicPath) {
    root = grafanaPublicPath + 'img/icons/';
  }

  return (path: string) => {
    return root + path;
  };
}

export function initIconCache() {
  if (cacheInitialized) {
    return;
  }
  cacheInitialized = true;
  const resolvePath = createPathResolver();

  // do not edit this list directly
  // the list of icons live here: @grafana/ui/components/Icon/cached.json
//{{cacheItems}}
  // do not edit this list directly
  // the list of icons live here: @grafana/ui/components/Icon/cached.json
}
