From 84752bbd603998e97c6807eca9e3274cde324383 Mon Sep 17 00:00:00 2001 From: Snazzah Date: Thu, 24 Jun 2021 00:53:38 -0500 Subject: [PATCH] Add resolve claim to lbryx --- src/modules/lbryx.ts | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/modules/lbryx.ts b/src/modules/lbryx.ts index ef1e8e3..2ad0a92 100644 --- a/src/modules/lbryx.ts +++ b/src/modules/lbryx.ts @@ -225,6 +225,7 @@ export default class LBRYXModule> extends D } /* #endregion */ + /* #region claim */ /** * Abandon all claims from a LBRY account. * @param accountID The LBRY account ID to use @@ -245,4 +246,41 @@ export default class LBRYXModule> extends D } return { count: supports.items.length }; } + + /** + * Resolve a query into a claim ID. + * @param query The query to resolve + */ + async resolveClaim(query: string) { + // Regular claim ID + if (/^[a-f0-9]{40}$/.test(query)) return query; + + // Canonical URL + const CANONICAL_URL = /^lbry:\/\/([a-f0-9]{40})$/; + if (CANONICAL_URL.test(query)) return query.replace(CANONICAL_URL, '$1'); + + // Short URL: https://regex101.com/r/IQR6Xu/1 + const SHORT_URL = + /^@[\w-]+)[#:](?[a-f0-9])(?:\/(?