Some checks failed
Dependency builds / Build web (pull_request) Has been skipped
Dependency builds / Build desktop (pull_request) Has been skipped
Dependency builds / Test native MTP (pull_request) Has been skipped
Dependency builds / Build mobile (pull_request) Has been skipped
/ build-web (push) Failing after 3m32s
/ build-desktop (linux) (push) Failing after 2m47s
/ build-mobile (push) Failing after 5m29s
/ release (push) Has been skipped
26 lines
695 B
TypeScript
26 lines
695 B
TypeScript
import { BrowserMediaShareAdapter } from "./browser";
|
|
import { ElectronMediaShareAdapter } from "./electron";
|
|
import { TauriMediaShareAdapter } from "./tauri";
|
|
import type { MediaShareAdapter } from "./types";
|
|
|
|
let adapter: MediaShareAdapter | null = null;
|
|
|
|
export function getMediaShareAdapter(): MediaShareAdapter {
|
|
if (!adapter) {
|
|
adapter = window.tensaminMobileMedia
|
|
? new TauriMediaShareAdapter()
|
|
: window.tensaminDesktop?.media
|
|
? new ElectronMediaShareAdapter()
|
|
: new BrowserMediaShareAdapter();
|
|
}
|
|
|
|
return adapter;
|
|
}
|
|
|
|
export type {
|
|
MediaShareAdapter,
|
|
MediaShareKind,
|
|
MediaShareRequest,
|
|
MediaShareSession,
|
|
MediaShareSource,
|
|
} from "./types";
|