2021-01-13 23:08:33 +01:00
|
|
|
import { BrowserApi } from '../browser/browserApi';
|
|
|
|
import { SafariApp } from '../browser/safariApp';
|
|
|
|
|
2019-08-13 17:40:54 +02:00
|
|
|
import { MessagingService } from 'jslib/abstractions/messaging.service';
|
2018-01-04 22:06:00 +01:00
|
|
|
|
2018-01-09 20:26:20 +01:00
|
|
|
export default class BrowserMessagingService implements MessagingService {
|
2018-01-04 22:06:00 +01:00
|
|
|
send(subscriber: string, arg: any = {}) {
|
2019-08-15 22:36:49 +02:00
|
|
|
const message = Object.assign({}, { command: subscriber }, arg);
|
2021-01-13 23:08:33 +01:00
|
|
|
if (BrowserApi.isSafariApi) {
|
|
|
|
SafariApp.sendMessageToApp(subscriber, arg);
|
|
|
|
SafariApp.sendMessageToListeners(message, 'BrowserMessagingService', null);
|
|
|
|
} else {
|
|
|
|
chrome.runtime.sendMessage(message);
|
|
|
|
}
|
2018-01-04 22:06:00 +01:00
|
|
|
}
|
|
|
|
}
|