From f4283e2d8f49ec1c6107ea3e836fc5aa767dbb38 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Sun, 19 Feb 2023 20:07:52 -0500 Subject: [PATCH] *add a setter for the resolver object and dont use constructor based init --- src/resolverModule.ts | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/resolverModule.ts b/src/resolverModule.ts index 9b220e1..3f8f7f8 100644 --- a/src/resolverModule.ts +++ b/src/resolverModule.ts @@ -12,11 +12,7 @@ declare class ResolverRegistry { clear(): void; } -export interface ResolverModuleConstructor { - new (resolver: ResolverRegistry); -} - -export interface ResolverModule extends ResolverModuleConstructor { +export interface ResolverModule { resolve( domain: string, options: ResolverOptions, @@ -30,10 +26,18 @@ export interface ResolverModule extends ResolverModuleConstructor { // ts-ignore export abstract class AbstractResolverModule { - protected resolver: ResolverRegistry; + constructor(resolver?: ResolverRegistry) { + this._resolver = resolver; + } - constructor(resolver: ResolverRegistry) { - this.resolver = resolver; + private _resolver?: ResolverRegistry; + + get resolver(): ResolverRegistry { + return this._resolver as ResolverRegistry; + } + + set resolver(value: ResolverRegistry) { + this._resolver = value; } abstract resolve(