{"version":3,"file":"uFuzzy.cjs","sources":["../../../../../src/querybuilder/components/metrics-modal/uFuzzy.ts"],"sourcesContent":["// Core Grafana history https://github.com/grafana/grafana/blob/v11.0.0-preview/public/app/plugins/datasource/prometheus/querybuilder/components/metrics-modal/uFuzzy.ts\nimport uFuzzy from '@leeoniya/ufuzzy';\n\nconst uf = new uFuzzy({\n  intraMode: 1,\n  intraIns: 1,\n  intraSub: 1,\n  intraTrn: 1,\n  intraDel: 1,\n});\n\nexport const fuzzySearch = (haystack: string[], query: string) => {\n  const [idxs, info, order] = uf.search(haystack, query, 0, 1e5);\n\n  let haystackOrder: string[] = [];\n  let matchesSet: Set<string> = new Set();\n  if (!(idxs && order)) {\n    return [[], []];\n  }\n  /**\n   * get the fuzzy matches for highlighting\n   * @param part\n   * @param matched\n   */\n  const mark = (part: string, matched: boolean) => {\n    if (matched) {\n      matchesSet.add(part);\n    }\n  };\n\n  // Iterate to create the order of needles(queries) and the matches\n  for (let i = 0; i < order.length; i++) {\n    let infoIdx = order[i];\n\n    /** Evaluate the match, get the matches for highlighting */\n    uFuzzy.highlight(haystack[info.idx[infoIdx]], info.ranges[infoIdx], mark);\n    /** Get the order */\n    haystackOrder.push(haystack[info.idx[infoIdx]]);\n  }\n\n  return [haystackOrder, [...matchesSet]];\n};\n"],"names":["uFuzzy"],"mappings":";;;;;;;;;;;AAGA,MAAM,EAAA,GAAK,IAAIA,uBAAA,CAAO;AAAA,EACpB,SAAA,EAAW,CAAA;AAAA,EACX,QAAA,EAAU,CAAA;AAAA,EACV,QAAA,EAAU,CAAA;AAAA,EACV,QAAA,EAAU,CAAA;AAAA,EACV,QAAA,EAAU;AACZ,CAAC,CAAA;AAEM,MAAM,WAAA,GAAc,CAAC,QAAA,EAAoB,KAAA,KAAkB;AAChE,EAAA,MAAM,CAAC,IAAA,EAAM,IAAA,EAAM,KAAK,CAAA,GAAI,GAAG,MAAA,CAAO,QAAA,EAAU,KAAA,EAAO,CAAA,EAAG,GAAG,CAAA;AAE7D,EAAA,IAAI,gBAA0B,EAAC;AAC/B,EAAA,IAAI,UAAA,uBAA8B,GAAA,EAAI;AACtC,EAAA,IAAI,EAAE,QAAQ,KAAA,CAAA,EAAQ;AACpB,IAAA,OAAO,CAAC,EAAC,EAAG,EAAE,CAAA;AAAA,EAChB;AAMA,EAAA,MAAM,IAAA,GAAO,CAAC,IAAA,EAAc,OAAA,KAAqB;AAC/C,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,UAAA,CAAW,IAAI,IAAI,CAAA;AAAA,IACrB;AAAA,EACF,CAAA;AAGA,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,KAAA,CAAM,QAAQ,CAAA,EAAA,EAAK;AACrC,IAAA,IAAI,OAAA,GAAU,MAAM,CAAC,CAAA;AAGrB,IAAAA,uBAAA,CAAO,SAAA,CAAU,QAAA,CAAS,IAAA,CAAK,GAAA,CAAI,OAAO,CAAC,CAAA,EAAG,IAAA,CAAK,MAAA,CAAO,OAAO,CAAA,EAAG,IAAI,CAAA;AAExE,IAAA,aAAA,CAAc,KAAK,QAAA,CAAS,IAAA,CAAK,GAAA,CAAI,OAAO,CAAC,CAAC,CAAA;AAAA,EAChD;AAEA,EAAA,OAAO,CAAC,aAAA,EAAe,CAAC,GAAG,UAAU,CAAC,CAAA;AACxC;;;;"}