{"version":3,"file":"resolve.mjs","names":[],"sources":["../../src/dynamic/resolve.ts"],"sourcesContent":["import {\n  BRIDGE_SLUG_TO_NAME,\n  CHAIN_ID_TO_NAME,\n  CHAIN_SLUG_TO_NAME,\n  DEFI_SLUG_TO_NAME,\n  DEX_SLUG_TO_NAME,\n  EXCHANGE_SLUG_TO_NAME,\n  ORACLE_SLUG_TO_NAME,\n  TICKER_TO_COIN,\n  WALLET_SLUG_TO_NAME,\n} from '../meta';\n\ntype Variant = 'colored' | 'mono';\n\nfunction withVariant(baseName: string, variant: Variant): string {\n  return variant === 'mono' ? `${baseName}Mono` : baseName;\n}\n\nexport function resolveChainExportName(props: {\n  name?: string;\n  chainId?: number;\n  variant?: Variant;\n}): string | null {\n  const variant = props.variant ?? 'colored';\n  let baseName: string | undefined;\n\n  if (props.chainId !== undefined) {\n    baseName = Object.hasOwn(CHAIN_ID_TO_NAME, props.chainId)\n      ? CHAIN_ID_TO_NAME[props.chainId as keyof typeof CHAIN_ID_TO_NAME]\n      : undefined;\n  } else if (props.name) {\n    const slug = props.name.toLowerCase().trim();\n    baseName = Object.hasOwn(CHAIN_SLUG_TO_NAME, slug)\n      ? CHAIN_SLUG_TO_NAME[slug as keyof typeof CHAIN_SLUG_TO_NAME]\n      : undefined;\n  }\n\n  return baseName ? withVariant(baseName, variant) : null;\n}\n\nexport function resolveCoinExportName(props: {\n  symbol: string;\n  variant?: Variant;\n}): string | null {\n  const variant = props.variant ?? 'colored';\n  const ticker = props.symbol.toUpperCase().trim();\n  const baseName = Object.hasOwn(TICKER_TO_COIN, ticker)\n    ? TICKER_TO_COIN[ticker as keyof typeof TICKER_TO_COIN]\n    : undefined;\n  return baseName ? withVariant(baseName, variant) : null;\n}\n\nexport function resolveWalletExportName(props: {\n  name: string;\n  variant?: Variant;\n}): string | null {\n  const variant = props.variant ?? 'colored';\n  const slug = props.name.toLowerCase().trim();\n  const baseName = Object.hasOwn(WALLET_SLUG_TO_NAME, slug)\n    ? WALLET_SLUG_TO_NAME[slug as keyof typeof WALLET_SLUG_TO_NAME]\n    : undefined;\n  return baseName ? withVariant(baseName, variant) : null;\n}\n\nexport function resolveExchangeExportName(props: {\n  name: string;\n  variant?: Variant;\n}): string | null {\n  const variant = props.variant ?? 'colored';\n  const slug = props.name.toLowerCase().trim();\n  const baseName = Object.hasOwn(EXCHANGE_SLUG_TO_NAME, slug)\n    ? EXCHANGE_SLUG_TO_NAME[slug as keyof typeof EXCHANGE_SLUG_TO_NAME]\n    : undefined;\n  return baseName ? withVariant(baseName, variant) : null;\n}\n\nexport function resolveDefiExportName(props: {\n  name: string;\n  variant?: Variant;\n}): string | null {\n  const variant = props.variant ?? 'colored';\n  // Normalize dots and hyphens so e.g. \"ether.fi\" / \"ether-fi\" resolve to \"etherfi\"\n  const slug = props.name.toLowerCase().trim().replace(/[.-]/g, '');\n  const baseName = Object.hasOwn(DEFI_SLUG_TO_NAME, slug)\n    ? DEFI_SLUG_TO_NAME[slug as keyof typeof DEFI_SLUG_TO_NAME]\n    : undefined;\n  return baseName ? withVariant(baseName, variant) : null;\n}\n\nexport function resolveDexExportName(props: {\n  name: string;\n  variant?: Variant;\n}): string | null {\n  const variant = props.variant ?? 'colored';\n  const slug = props.name.toLowerCase().trim();\n  const baseName = Object.hasOwn(DEX_SLUG_TO_NAME, slug)\n    ? DEX_SLUG_TO_NAME[slug as keyof typeof DEX_SLUG_TO_NAME]\n    : undefined;\n  return baseName ? withVariant(baseName, variant) : null;\n}\n\nexport function resolveBridgeExportName(props: {\n  name: string;\n  variant?: Variant;\n}): string | null {\n  const variant = props.variant ?? 'colored';\n  const slug = props.name.toLowerCase().trim();\n  const baseName = Object.hasOwn(BRIDGE_SLUG_TO_NAME, slug)\n    ? BRIDGE_SLUG_TO_NAME[slug as keyof typeof BRIDGE_SLUG_TO_NAME]\n    : undefined;\n  return baseName ? withVariant(baseName, variant) : null;\n}\n\nexport function resolveOracleExportName(props: {\n  name: string;\n  variant?: Variant;\n}): string | null {\n  const variant = props.variant ?? 'colored';\n  const slug = props.name.toLowerCase().trim();\n  const baseName = Object.hasOwn(ORACLE_SLUG_TO_NAME, slug)\n    ? ORACLE_SLUG_TO_NAME[slug as keyof typeof ORACLE_SLUG_TO_NAME]\n    : undefined;\n  return baseName ? withVariant(baseName, variant) : null;\n}\n"],"mappings":";;AAcA,SAAS,YAAY,UAAkB,SAA0B;CAC/D,OAAO,YAAY,SAAS,GAAG,SAAS,QAAQ;AAClD;AAEA,SAAgB,uBAAuB,OAIrB;CAChB,MAAM,UAAU,MAAM,WAAW;CACjC,IAAI;CAEJ,IAAI,MAAM,YAAY,KAAA,GACpB,WAAW,OAAO,OAAO,kBAAkB,MAAM,OAAO,IACpD,iBAAiB,MAAM,WACvB,KAAA;MACC,IAAI,MAAM,MAAM;EACrB,MAAM,OAAO,MAAM,KAAK,YAAY,CAAC,CAAC,KAAK;EAC3C,WAAW,OAAO,OAAO,oBAAoB,IAAI,IAC7C,mBAAmB,QACnB,KAAA;CACN;CAEA,OAAO,WAAW,YAAY,UAAU,OAAO,IAAI;AACrD;AAEA,SAAgB,sBAAsB,OAGpB;CAChB,MAAM,UAAU,MAAM,WAAW;CACjC,MAAM,SAAS,MAAM,OAAO,YAAY,CAAC,CAAC,KAAK;CAC/C,MAAM,WAAW,OAAO,OAAO,gBAAgB,MAAM,IACjD,eAAe,UACf,KAAA;CACJ,OAAO,WAAW,YAAY,UAAU,OAAO,IAAI;AACrD;AAEA,SAAgB,wBAAwB,OAGtB;CAChB,MAAM,UAAU,MAAM,WAAW;CACjC,MAAM,OAAO,MAAM,KAAK,YAAY,CAAC,CAAC,KAAK;CAC3C,MAAM,WAAW,OAAO,OAAO,qBAAqB,IAAI,IACpD,oBAAoB,QACpB,KAAA;CACJ,OAAO,WAAW,YAAY,UAAU,OAAO,IAAI;AACrD;AAEA,SAAgB,0BAA0B,OAGxB;CAChB,MAAM,UAAU,MAAM,WAAW;CACjC,MAAM,OAAO,MAAM,KAAK,YAAY,CAAC,CAAC,KAAK;CAC3C,MAAM,WAAW,OAAO,OAAO,uBAAuB,IAAI,IACtD,sBAAsB,QACtB,KAAA;CACJ,OAAO,WAAW,YAAY,UAAU,OAAO,IAAI;AACrD;AAEA,SAAgB,sBAAsB,OAGpB;CAChB,MAAM,UAAU,MAAM,WAAW;CAEjC,MAAM,OAAO,MAAM,KAAK,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,SAAS,EAAE;CAChE,MAAM,WAAW,OAAO,OAAO,mBAAmB,IAAI,IAClD,kBAAkB,QAClB,KAAA;CACJ,OAAO,WAAW,YAAY,UAAU,OAAO,IAAI;AACrD;AAEA,SAAgB,qBAAqB,OAGnB;CAChB,MAAM,UAAU,MAAM,WAAW;CACjC,MAAM,OAAO,MAAM,KAAK,YAAY,CAAC,CAAC,KAAK;CAC3C,MAAM,WAAW,OAAO,OAAO,kBAAkB,IAAI,IACjD,iBAAiB,QACjB,KAAA;CACJ,OAAO,WAAW,YAAY,UAAU,OAAO,IAAI;AACrD;AAEA,SAAgB,wBAAwB,OAGtB;CAChB,MAAM,UAAU,MAAM,WAAW;CACjC,MAAM,OAAO,MAAM,KAAK,YAAY,CAAC,CAAC,KAAK;CAC3C,MAAM,WAAW,OAAO,OAAO,qBAAqB,IAAI,IACpD,oBAAoB,QACpB,KAAA;CACJ,OAAO,WAAW,YAAY,UAAU,OAAO,IAAI;AACrD;AAEA,SAAgB,wBAAwB,OAGtB;CAChB,MAAM,UAAU,MAAM,WAAW;CACjC,MAAM,OAAO,MAAM,KAAK,YAAY,CAAC,CAAC,KAAK;CAC3C,MAAM,WAAW,OAAO,OAAO,qBAAqB,IAAI,IACpD,oBAAoB,QACpB,KAAA;CACJ,OAAO,WAAW,YAAY,UAAU,OAAO,IAAI;AACrD"}