UNPKG

ens-tools

Version:

Opinionated ENS General Tooling

2 lines 3.63 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var T=e=>(2147483648|e)>>>0,E= exports.convertCoinTypeToEVMChainId =e=>Math.trunc(2147483647&e);var x=/^0x[\dA-Fa-f]{40}$/,$= exports.formatAddress =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=>_optionalChain([e, 'access', _ => _.match, 'call', _2 => _2(/^(.+?:\/\/)?(([^.]+\.)+[^./]+)/), 'optionalAccess', _3 => _3[2]])]);var g={"com.twitter":p,"com.reddit":a,"com.github":c,"com.discord":i,"com.linkedin":m,"org.telegram":f,website:l},w= exports.formatRecord =(e,t)=>{if(!!t)return _optionalChain([g, 'access', _4 => _4[e], 'optionalCall', _5 => _5(t)])};var se=({coinType:e,...t})=>{};var _core = require('@wagmi/core');var _react = require('react');var _swr = require('swr'); var _swr2 = _interopRequireDefault(_swr);var u=({name:e,records:t})=>{let o=_swr2.default.call(void 0, _optionalChain([t, 'optionalAccess', _6 => _6.length])>0?`ens/r/${t.join(",")}`:null,async()=>{let s=await _core.fetchEnsResolver.call(void 0, {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 _react.useEffect.call(void 0, ()=>{o.mutate()},[t.join(",")]),o};var ce=({name:e,fallback:t=e})=>{let o=u({name:e,records:["display"],format:!1});return o.data?_optionalChain([o, 'access', _7 => _7.data, 'access', _8 => _8.display, 'optionalAccess', _9 => _9.toLowerCase, 'call', _10 => _10()])!=e.toLowerCase()?{...o,data:t}:{...o,data:o.data.display}:{...o,data:t}};exports.AddressRegex = x; exports.convertCoinTypeToEVMChainId = E; exports.convertEVMChainIdToCoinType = T; exports.formatAddress = $; exports.formatDiscordRules = i; exports.formatLinkedinRules = m; exports.formatRecord = w; exports.formatRedditRules = a; exports.formatTelegramRules = f; exports.formatTwitterRules = p; exports.formatWebsiteRules = l; exports.useEnsMultichainAddress = se; exports.usePreferredName = ce; exports.useRecords = u; //# sourceMappingURL=index.cjs.map