27 lines
663 B
JavaScript
27 lines
663 B
JavaScript
import { getTld, isPromise } from "./util.js";
|
|
// ts-ignore
|
|
export class AbstractResolverModule {
|
|
constructor(resolver) {
|
|
this._resolver = resolver;
|
|
}
|
|
_resolver;
|
|
get resolver() {
|
|
return this._resolver;
|
|
}
|
|
set resolver(value) {
|
|
this._resolver = value;
|
|
}
|
|
getSupportedTlds() {
|
|
return [];
|
|
}
|
|
isTldSupported(domain) {
|
|
let supported = this.getSupportedTlds();
|
|
if (isPromise(supported)) {
|
|
return supported.then((supported) => {
|
|
return supported.includes(getTld(domain));
|
|
});
|
|
}
|
|
return supported.includes(getTld(domain));
|
|
}
|
|
}
|