Refactor forget function to use async/await
This commit is contained in:
		
							parent
							
								
									921dae135b
								
							
						
					
					
						commit
						6a5efb219d
					
				
					 1 changed files with 38 additions and 42 deletions
				
			
		|  | @ -305,57 +305,53 @@ export async function write(PATH, DATA, CLOUD = -1) { | |||
| @param {int} CLOUD the storage of the data | ||||
| @return {boolean} the user's confirmation | ||||
| */ | ||||
| export function forget(preference, subpreference, CLOUD = 0) { | ||||
| 	let forget_action = false; | ||||
| export async function forget(preference, subpreference, CLOUD = 0) { | ||||
| 	// Import alerts module.
 | ||||
| 	let alerts = (await import(chrome.runtime.getURL(`gui/scripts/alerts.js`))).default; | ||||
| 
 | ||||
| 	(async () => { | ||||
| 		// Import alerts module.
 | ||||
| 		let alerts = (await import(chrome.runtime.getURL(`gui/scripts/alerts.js`)))[ | ||||
| 			`alerts` | ||||
| 		]; | ||||
| 	// Confirm the action.
 | ||||
| 	let forget_action = await alerts.confirm(); | ||||
| 
 | ||||
| 		// Confirm the action.
 | ||||
| 		let forget_action = alerts.confirm_action(); | ||||
| 	if (forget_action) { | ||||
| 		if (preference) { | ||||
| 			if (subpreference) { | ||||
| 				 | ||||
| 		if (forget_action) { | ||||
| 			if (preference) { | ||||
| 				if (subpreference) { | ||||
| 					// Get the data.
 | ||||
| 					data = read(preference, CLOUD); | ||||
| 				// Get the data.
 | ||||
| 				let DATA = await read(preference, CLOUD); | ||||
| 
 | ||||
| 					// Should only run when existent
 | ||||
| 					if (data[subpreference]) { | ||||
| 						delete data[subpreference]; | ||||
| 						write([preference, subpreference], data, CLOUD); | ||||
| 					} | ||||
| 				} else { | ||||
| 					// Remove that particular data.
 | ||||
| 					if (CLOUD <= 0) { | ||||
| 						chrome.storage.local.get(null, (data) => { | ||||
| 							delete data[preference]; | ||||
| 
 | ||||
| 							chrome.storage.local.set(data, (result) => {}); | ||||
| 						}); | ||||
| 					} | ||||
| 					if (CLOUD >= 0) { | ||||
| 						chrome.storage.sync.get(null, (data) => { | ||||
| 							delete data[preference]; | ||||
| 
 | ||||
| 							chrome.storage.sync.set(data, (result) => {}); | ||||
| 						}); | ||||
| 					} | ||||
| 				// Should only run when existent
 | ||||
| 				if (DATA[subpreference]) { | ||||
| 					delete DATA[subpreference]; | ||||
| 					console.log(preference, DATA, CLOUD); | ||||
| 					write(preference, DATA, CLOUD); | ||||
| 				} | ||||
| 			} else { | ||||
| 				// Clear the data storage.
 | ||||
| 				if (CLOUD >= 0) { | ||||
| 					chrome.storage.sync.clear(); | ||||
| 				} | ||||
| 				// Remove that particular data.
 | ||||
| 				if (CLOUD <= 0) { | ||||
| 					chrome.storage.local.clear(); | ||||
| 					chrome.storage.local.get(null, (data) => { | ||||
| 						delete data[preference]; | ||||
| 
 | ||||
| 						chrome.storage.local.set(data, (result) => {}); | ||||
| 					}); | ||||
| 				} | ||||
| 				if (CLOUD >= 0) { | ||||
| 					chrome.storage.sync.get(null, (data) => { | ||||
| 						delete data[preference]; | ||||
| 
 | ||||
| 						chrome.storage.sync.set(data, (result) => {}); | ||||
| 					}); | ||||
| 				} | ||||
| 			} | ||||
| 		} else { | ||||
| 			// Clear the data storage.
 | ||||
| 			if (CLOUD >= 0) { | ||||
| 				chrome.storage.sync.clear(); | ||||
| 			} | ||||
| 			if (CLOUD <= 0) { | ||||
| 				chrome.storage.local.clear(); | ||||
| 			} | ||||
| 		} | ||||
| 	})(); | ||||
| 	} | ||||
| 
 | ||||
| 	return forget_action; | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue