{"version":3,"file":"utils.mjs","sources":["../../../../../../packages/components/mentions/src/utils.ts"],"sourcesContent":["import type { MentionsConfig, MentionsEntity } from './interface';\n\nexport function getMentions(value = '', config: MentionsConfig = {}): MentionsEntity[] {\n  const { prefix = '@', split = ' ' } = config;\n  const prefixList: string[] = Array.isArray(prefix) ? prefix : [prefix];\n\n  return value\n    .split(split)\n    .map((str = ''): MentionsEntity | null => {\n      let hitPrefix: string | null = null;\n\n      prefixList.some((prefixStr) => {\n        const startStr = str.slice(0, prefixStr.length);\n        if (startStr === prefixStr) {\n          hitPrefix = prefixStr;\n          return true;\n        }\n        return false;\n      });\n\n      if (hitPrefix !== null) {\n        return {\n          prefix: hitPrefix,\n          value: str.slice((hitPrefix as string).length),\n        };\n      }\n      return null;\n    })\n    .filter((entity): entity is MentionsEntity => !!entity && !!entity.value);\n}\n"],"names":[],"mappings":"AAEO,SAAS,WAAY,CAAA,KAAA,GAAQ,EAAI,EAAA,MAAA,GAAyB,EAAsB,EAAA;AACrF,EAAA,MAAM,EAAE,MAAA,GAAS,GAAK,EAAA,KAAA,GAAQ,KAAQ,GAAA,MAAA,CAAA;AACtC,EAAA,MAAM,aAAuB,KAAM,CAAA,OAAA,CAAQ,MAAM,CAAI,GAAA,MAAA,GAAS,CAAC,MAAM,CAAA,CAAA;AAErE,EAAA,OAAO,MACJ,KAAM,CAAA,KAAK,EACX,GAAI,CAAA,CAAC,MAAM,EAA8B,KAAA;AACxC,IAAA,IAAI,SAA2B,GAAA,IAAA,CAAA;AAE/B,IAAW,UAAA,CAAA,IAAA,CAAK,CAAC,SAAc,KAAA;AAC7B,MAAA,MAAM,QAAW,GAAA,GAAA,CAAI,KAAM,CAAA,CAAA,EAAG,UAAU,MAAM,CAAA,CAAA;AAC9C,MAAA,IAAI,aAAa,SAAW,EAAA;AAC1B,QAAY,SAAA,GAAA,SAAA,CAAA;AACZ,QAAO,OAAA,IAAA,CAAA;AAAA,OACT;AACA,MAAO,OAAA,KAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAA,IAAI,cAAc,IAAM,EAAA;AACtB,MAAO,OAAA;AAAA,QACL,MAAQ,EAAA,SAAA;AAAA,QACR,KAAO,EAAA,GAAA,CAAI,KAAO,CAAA,SAAA,CAAqB,MAAM,CAAA;AAAA,OAC/C,CAAA;AAAA,KACF;AACA,IAAO,OAAA,IAAA,CAAA;AAAA,GACR,CACA,CAAA,MAAA,CAAO,CAAC,MAAA,KAAqC,CAAC,CAAC,MAAU,IAAA,CAAC,CAAC,MAAA,CAAO,KAAK,CAAA,CAAA;AAC5E;;;;"}