From 9818d17a06f80185091f8fc91cbd45a34ed32823 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Fri, 19 Aug 2022 09:57:34 -0400 Subject: [PATCH] *Update dist --- dist/resolverRegistry.d.ts | 11 +++++++++++ dist/resolverRegistry.js | 31 ++++++++++++++++++++++++++++++- 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/dist/resolverRegistry.d.ts b/dist/resolverRegistry.d.ts index 3a91707..5d57b64 100644 --- a/dist/resolverRegistry.d.ts +++ b/dist/resolverRegistry.d.ts @@ -4,10 +4,21 @@ export declare class ResolverRegistry { private _rpcNetwork; constructor(network: RpcNetwork); get rpcNetwork(): RpcNetwork; + get resolvers(): Promise>; resolve( domain: string, options?: ResolverOptions, bypassCache?: boolean ): Promise; } +export declare class ResolverModule { + private resolver; + private domain; + constructor(resolver: ResolverRegistry, domain: string); + resolve( + domain: string, + options: ResolverOptions, + bypassCache: boolean + ): Promise; +} export { RpcNetwork }; diff --git a/dist/resolverRegistry.js b/dist/resolverRegistry.js index 9466e5e..964a0e2 100644 --- a/dist/resolverRegistry.js +++ b/dist/resolverRegistry.js @@ -1,6 +1,7 @@ import { DNS_RECORD_TYPE, resolverError, } from "@lumeweb/resolver-common"; -import { resolve } from "@lumeweb/kernel-dns-client"; +import { getResolvers, resolve } from "@lumeweb/kernel-dns-client"; import { RpcNetwork } from "@lumeweb/kernel-rpc-client"; +import { callModule } from "libkmodule"; export class ResolverRegistry { _rpcNetwork; constructor(network) { @@ -9,6 +10,15 @@ export class ResolverRegistry { get rpcNetwork() { return this._rpcNetwork; } + get resolvers() { + return getResolvers() + .catch(() => { + return new Set(); + }) + .then((resolvers) => { + return new Set(resolvers.map((resolver) => new ResolverModule(this, resolver))); + }); + } async resolve(domain, options = { type: DNS_RECORD_TYPE.DEFAULT }, bypassCache = false) { let result; try { @@ -20,4 +30,23 @@ export class ResolverRegistry { return result; } } +export class ResolverModule { + resolver; + domain; + constructor(resolver, domain) { + this.resolver = resolver; + this.domain = domain; + } + async resolve(domain, options, bypassCache) { + const [ret, err] = await callModule(this.domain, "resolve", { + domain, + options, + bypassCache, + }); + if (err) { + return resolverError(err); + } + return ret; + } +} export { RpcNetwork };