isSafari checks

This commit is contained in:
Kyle Spearrin 2018-01-11 15:34:55 -05:00
parent 82e88eb1ba
commit 3743e5b409
2 changed files with 34 additions and 22 deletions

View File

@ -8,8 +8,11 @@ export default class BrowserMessagingService implements MessagingService {
} }
send(subscriber: string, arg: any = {}) { send(subscriber: string, arg: any = {}) {
// if safari, else if (this.platformUtilsService.isSafari()) {
const message = Object.assign({}, { command: subscriber }, arg); // send message
chrome.runtime.sendMessage(message); } else {
const message = Object.assign({}, { command: subscriber }, arg);
chrome.runtime.sendMessage(message);
}
} }
} }

View File

@ -8,33 +8,42 @@ export default class BrowserStorageService implements StorageService {
} }
get<T>(key: string): Promise<T> { get<T>(key: string): Promise<T> {
// if safari, else if (this.platformUtilsService.isSafari()) {
return new Promise((resolve) => { // use safari storage
chrome.storage.local.get(key, (obj: any) => { } else {
if (obj && (typeof obj[key] !== 'undefined') && obj[key] !== null) { return new Promise((resolve) => {
resolve(obj[key] as T); chrome.storage.local.get(key, (obj: any) => {
} else { if (obj && (typeof obj[key] !== 'undefined') && obj[key] !== null) {
resolve(null); resolve(obj[key] as T);
} } else {
resolve(null);
}
});
}); });
}); }
} }
save(key: string, obj: any): Promise<any> { save(key: string, obj: any): Promise<any> {
// if safari, else if (this.platformUtilsService.isSafari()) {
return new Promise((resolve) => { // use safari storage
chrome.storage.local.set({ [key]: obj }, () => { } else {
resolve(); return new Promise((resolve) => {
chrome.storage.local.set({ [key]: obj }, () => {
resolve();
});
}); });
}); }
} }
remove(key: string): Promise<any> { remove(key: string): Promise<any> {
// if safari, else if (this.platformUtilsService.isSafari()) {
return new Promise((resolve) => { // use safari storage
chrome.storage.local.remove(key, () => { } else {
resolve(); return new Promise((resolve) => {
chrome.storage.local.remove(key, () => {
resolve();
});
}); });
}); }
} }
} }