interface ClipboardModuleType { setStringAsync?: (text: string) => Promise; setString?: (text: string) => void; } let ClipboardModule: ClipboardModuleType | null = null; try { // eslint-disable-next-line @typescript-eslint/no-require-imports ClipboardModule = require("@react-native-clipboard/clipboard").default; } catch { try { // eslint-disable-next-line @typescript-eslint/no-require-imports ClipboardModule = require("expo-clipboard"); } catch { ClipboardModule = null; } } export const setStringToClipboard = async (text: string): Promise => { if (!ClipboardModule) { return false; } try { if (ClipboardModule.setStringAsync) { await ClipboardModule.setStringAsync(text); return true; } if (ClipboardModule.setString) { ClipboardModule.setString(text); return true; } return false; } catch { return false; } };