diff --git a/src/chrome/LocationsButton.tsx b/src/chrome/LocationsButton.tsx index 93c1b95d7..e84d32c25 100644 --- a/src/chrome/LocationsButton.tsx +++ b/src/chrome/LocationsButton.tsx @@ -9,7 +9,7 @@ import {Button, styled} from 'flipper'; import {connect} from 'react-redux'; import React, {Component} from 'react'; import {State as Store} from '../reducers'; -import {readBookmarksFromDB} from '../plugins/navigation/util/indexedDB.js'; +import {readBookmarksFromDB} from '../plugins/navigation/util/indexedDB'; import {State as NavPluginState} from '../plugins/navigation/flow-types'; import BaseDevice from '../devices/BaseDevice'; import {State as PluginState} from 'src/reducers/pluginStates'; diff --git a/src/plugins/navigation/index.js b/src/plugins/navigation/index.js index 75730c708..074f069df 100644 --- a/src/plugins/navigation/index.js +++ b/src/plugins/navigation/index.js @@ -19,7 +19,7 @@ import { removeBookmark, readBookmarksFromDB, writeBookmarkToDB, -} from './util/indexedDB'; +} from './util/indexedDB.tsx'; import { appMatchPatternsToAutoCompleteProvider, bookmarksToAutoCompleteProvider, diff --git a/src/plugins/navigation/util/indexedDB.js b/src/plugins/navigation/util/indexedDB.tsx similarity index 71% rename from src/plugins/navigation/util/indexedDB.js rename to src/plugins/navigation/util/indexedDB.tsx index a9cabf90e..dd076ae62 100644 --- a/src/plugins/navigation/util/indexedDB.js +++ b/src/plugins/navigation/util/indexedDB.tsx @@ -3,36 +3,31 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * @format - * @flow strict-local */ -import type {Bookmark} from '../flow-types'; +import {Bookmark} from '../types'; const FLIPPER_NAVIGATION_PLUGIN_DB = 'flipper_navigation_plugin_db'; const FLIPPER_NAVIGATION_PLUGIN_DB_VERSION = 1; const BOOKMARKS_KEY = 'bookmarks'; -const createBookmarksObjectStore: IDBDatabase => Promise = ( - db: IDBDatabase, -) => { - return new Promise((resolve, reject) => { +const createBookmarksObjectStore = (db: IDBDatabase) => { + return new Promise((resolve, reject) => { if (!db.objectStoreNames.contains(BOOKMARKS_KEY)) { const bookmarksObjectStore = db.createObjectStore(BOOKMARKS_KEY, { keyPath: 'uri', }); bookmarksObjectStore.transaction.oncomplete = () => resolve(); - bookmarksObjectStore.transaction.onerror = event => - reject(event.target.error); + bookmarksObjectStore.transaction.onerror = () => + reject(bookmarksObjectStore.transaction.error); } else { resolve(); } }); }; -const initializeNavigationPluginDB: IDBDatabase => Promise> = ( - db: IDBDatabase, -) => { +const initializeNavigationPluginDB = (db: IDBDatabase) => { return Promise.all([createBookmarksObjectStore(db)]); }; @@ -46,14 +41,12 @@ const openNavigationPluginDB: () => Promise = () => { const db = openRequest.result; initializeNavigationPluginDB(db).then(() => resolve(db)); }; - openRequest.onerror = event => reject(event.target.error); + openRequest.onerror = () => reject(openRequest.error); openRequest.onsuccess = () => resolve(openRequest.result); }); }; -export const writeBookmarkToDB: Bookmark => Promise = ( - bookmark: Bookmark, -) => { +export const writeBookmarkToDB = (bookmark: Bookmark) => { return new Promise((resolve, reject) => { openNavigationPluginDB() .then((db: IDBDatabase) => { @@ -62,7 +55,7 @@ export const writeBookmarkToDB: Bookmark => Promise = ( .objectStore(BOOKMARKS_KEY); const request = bookmarksObjectStore.put(bookmark); request.onsuccess = () => resolve(); - request.onerror = event => reject(event.target.error); + request.onerror = () => reject(request.error); }) .catch(reject); }); @@ -76,8 +69,9 @@ export const readBookmarksFromDB: () => Promise> = () => { const bookmarksObjectStore = db .transaction(BOOKMARKS_KEY) .objectStore(BOOKMARKS_KEY); - bookmarksObjectStore.openCursor().onsuccess = event => { - const cursor = event.target.result; + const request = bookmarksObjectStore.openCursor(); + request.onsuccess = () => { + const cursor = request.result; if (cursor) { const bookmark = cursor.value; bookmarks.set(bookmark.uri, bookmark); @@ -86,23 +80,22 @@ export const readBookmarksFromDB: () => Promise> = () => { resolve(bookmarks); } }; - bookmarksObjectStore.openCursor().onerror = event => - reject(event.target.error); + request.onerror = () => reject(request.error); }) .catch(reject); }); }; export const removeBookmark: (uri: string) => Promise = uri => { - return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { openNavigationPluginDB() .then((db: IDBDatabase) => { const bookmarksObjectStore = db .transaction(BOOKMARKS_KEY, 'readwrite') .objectStore(BOOKMARKS_KEY); const request = bookmarksObjectStore.delete(uri); - request.onsuccess = resolve; - request.onerror = event => reject(event.target.error); + request.onsuccess = () => resolve(); + request.onerror = () => reject(request.error); }) .catch(reject); });