isSafari checks
This commit is contained in:
parent
82e88eb1ba
commit
3743e5b409
|
@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue