UNPKG

ens-tools

Version:

Opinionated ENS General Tooling

2 lines 2.34 kB
var T=e=>(2147483648|e)>>>0,E=e=>Math.trunc(2147483647&e);var x=/^0x[\dA-Fa-f]{40}$/,$=e=>e.match(x)===null?e:`${e.slice(0,5)}...${e.slice(-4)}`;var r=e=>t=>e.reduce((o,s)=>{if(o!==void 0)return s(o)},t);var i=r([e=>e.replace(/^(https?:\/\/)?(www\.)?discord(app)?\.((gg|me)\/|com\/invite\/)/,""),e=>/^.+#\d{4}/.test(e)?e:void 0]);var c=r([e=>e.replace(/^(https?:\/\/)?(www\.)?github\.com\//,""),e=>e.replace(/^@/,""),e=>e.replace(/\/+$/,"")]);var m=r([e=>e.replace(/^(https?:\/\/)?([A-Za-z]+\.)?linkedin\.com/,""),e=>e.replace(/^\/?(in\/)?/,""),e=>e.replace(/\/+$/,"")]);var a=r([e=>e.replace(/^(https?:\/\/)?(www\.)?reddit\.com\//,""),e=>e.replace(/^(user\/)/,"u/"),e=>e.replace(/^(subreddit\/)/,"r/"),e=>e.replace(/\/+$/,""),e=>/^.+$/.test(e)?e:void 0]);var f=r([e=>e.replace(/^(https?:\/\/)?(www\.)?(mobile\.)?t\.me\//,""),e=>e.replace(/^(joinchat\/)/,""),e=>e.replace(/\/+$/,""),e=>/^.+$/.test(e)?e:void 0]);var p=r([e=>e.replace(/^(https?:\/\/)?(www\.)?(mobile\.)?twitter\.com\//,""),e=>e.replace(/^@/,""),e=>e.replace(/\/$/,""),e=>/^.{1,15}$/.test(e)?`@${e}`:void 0]);var l=r([e=>e.match(/^(.+?:\/\/)?(([^.]+\.)+[^./]+)/)?.[2]]);var g={"com.twitter":p,"com.reddit":a,"com.github":c,"com.discord":i,"com.linkedin":m,"org.telegram":f,website:l},w=(e,t)=>{if(!!t)return g[e]?.(t)};var se=({coinType:e,...t})=>{};import{fetchEnsResolver as y}from"@wagmi/core";import{useEffect as h}from"react";import b from"swr";var u=({name:e,records:t})=>{let o=b(t?.length>0?`ens/r/${t.join(",")}`:null,async()=>{let s=await y({name:e});if(!s)return null;let d=await Promise.allSettled(t.map(async n=>{let R=await s.getText(n);return[n,R]}));return Object.fromEntries(d.map(n=>n&&n.status==="fulfilled"?n.value:null).filter(Boolean))});return h(()=>{o.mutate()},[t.join(",")]),o};var ce=({name:e,fallback:t=e})=>{let o=u({name:e,records:["display"],format:!1});return o.data?o.data.display?.toLowerCase()!=e.toLowerCase()?{...o,data:t}:{...o,data:o.data.display}:{...o,data:t}};export{x as AddressRegex,E as convertCoinTypeToEVMChainId,T as convertEVMChainIdToCoinType,$ as formatAddress,i as formatDiscordRules,m as formatLinkedinRules,w as formatRecord,a as formatRedditRules,f as formatTelegramRules,p as formatTwitterRules,l as formatWebsiteRules,se as useEnsMultichainAddress,ce as usePreferredName,u as useRecords}; //# sourceMappingURL=index.js.map