+function getLinkOrThrow (webfingerData: WebFingerData) {
+ if (Array.isArray(webfingerData.links) === false) throw new Error('WebFinger links is not an array.')
+
+ const selfLink = webfingerData.links.find(l => l.rel === 'self')
+ if (selfLink === undefined || isActivityPubUrlValid(selfLink.href) === false) {
+ throw new Error('Cannot find self link or href is not a valid URL.')
+ }
+
+ return selfLink.href
+}
+