- Consolidated duplicate UndoManagers to single instance - Fixed connection promise to only resolve on 'connected' status - Fixed WebSocketProvider import (WebsocketProvider) - Added proper doc.destroy() cleanup - Renamed isPresenceInitialized property to avoid conflict Co-Authored-By: Paperclip <noreply@paperclip.ing>
24 lines
644 B
TypeScript
24 lines
644 B
TypeScript
import type { FetchEsque, NativeFetchEsque } from './internals/types';
|
|
|
|
type AnyFn = (...args: any[]) => unknown;
|
|
|
|
const isFunction = (fn: unknown): fn is AnyFn => typeof fn === 'function';
|
|
|
|
export function getFetch(
|
|
customFetchImpl?: FetchEsque | NativeFetchEsque,
|
|
): FetchEsque {
|
|
if (customFetchImpl) {
|
|
return customFetchImpl as FetchEsque;
|
|
}
|
|
|
|
if (typeof window !== 'undefined' && isFunction(window.fetch)) {
|
|
return window.fetch as FetchEsque;
|
|
}
|
|
|
|
if (typeof globalThis !== 'undefined' && isFunction(globalThis.fetch)) {
|
|
return globalThis.fetch as FetchEsque;
|
|
}
|
|
|
|
throw new Error('No fetch implementation found');
|
|
}
|