@sendbird/uikit-react-native
Version:
Sendbird UIKit for React Native: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.
28 lines (21 loc) • 747 B
text/typescript
import type * as Clipboard from 'expo-clipboard';
import type { ClipboardServiceInterface } from './types';
type ExpoClipboardModule = typeof Clipboard & {
setString?: (text: string) => void;
};
const createExpoClipboardService = (clipboardModule: typeof Clipboard): ClipboardServiceInterface => {
const expoClipboardModule = clipboardModule as ExpoClipboardModule;
return {
getString(): Promise<string> {
return clipboardModule.getStringAsync();
},
setString(text: string) {
if (typeof expoClipboardModule.setString === 'function') {
expoClipboardModule.setString(text);
return;
}
void clipboardModule.setStringAsync(text);
},
};
};
export default createExpoClipboardService;