@authereum/resolution
Version:
Domain Resolution for blockchain domains
24 lines (18 loc) • 693 B
text/typescript
import nodeFetch, {Response as FetchResponse} from 'node-fetch';
export default abstract class BaseConnection {
protected isNode(): boolean {
if (typeof process === 'object') {
// eslint-disable-next-line no-undef
if (typeof process.versions === 'object') {
// eslint-disable-next-line no-undef
if (typeof process.versions.node !== 'undefined') {
return true;
}
}
}
return false;
}
protected async fetch(url: string, options: {body?: string, headers?: Record<string, string>, method?: string}): Promise<FetchResponse | Response> {
return this.isNode() ? nodeFetch(url, options) : window.fetch(url, options);
}
}