UNPKG

650 BPlain TextView Raw
1import { UnavailabilityError } from '@unimodules/core';
2
3import Sharing from './ExpoSharing';
4
5export type SharingOptions = {
6 mimeType?: string;
7 UTI?: string;
8 dialogTitle?: string;
9};
10
11export async function isAvailableAsync(): Promise<boolean> {
12 if (Sharing) {
13 if (Sharing.isAvailableAsync) {
14 return await Sharing.isAvailableAsync();
15 }
16 return true;
17 }
18
19 return false;
20}
21
22export async function shareAsync(url: string, options: SharingOptions = {}): Promise<object> {
23 if (!Sharing || !Sharing.shareAsync) {
24 throw new UnavailabilityError('Sharing', 'shareAsync');
25 }
26 return await Sharing.shareAsync(url, options);
27}