diff options
author | Florian Dold <florian.dold@gmail.com> | 2020-04-07 01:23:29 +0530 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2020-04-07 01:23:29 +0530 |
commit | 1471aae8927c20d646cc2aa5ab0e20c1a7f2c0ca (patch) | |
tree | 32d32d7f33b2ca64cf101006442b1b17bfaf61aa /src | |
parent | 47787c0b0b846d5f4a057661efdd05d8786032f1 (diff) |
linter / simpler webextension pack
Diffstat (limited to 'src')
-rw-r--r-- | src/operations/exchanges.ts | 13 | ||||
-rw-r--r-- | src/operations/history.ts | 8 | ||||
-rw-r--r-- | src/util/query.ts | 4 | ||||
-rw-r--r-- | src/util/timer.ts | 16 | ||||
-rw-r--r-- | src/webex/pages/add-auditor.tsx | 8 | ||||
-rw-r--r-- | src/webex/pages/popup.tsx | 11 | ||||
-rw-r--r-- | src/webex/renderHtml.tsx | 4 | ||||
-rw-r--r-- | src/webex/wxBackend.ts | 12 |
8 files changed, 35 insertions, 41 deletions
diff --git a/src/operations/exchanges.ts b/src/operations/exchanges.ts index 53b250a8e..27fed0b6c 100644 --- a/src/operations/exchanges.ts +++ b/src/operations/exchanges.ts @@ -31,7 +31,6 @@ import { WireFee, ExchangeUpdateReason, ExchangeUpdatedEventRecord, - CoinStatus, } from "../types/dbTypes"; import { canonicalizeBaseUrl } from "../util/helpers"; import * as Amounts from "../util/amounts"; @@ -81,7 +80,7 @@ async function setExchangeError( err: OperationError, ): Promise<void> { console.log(`last error for exchange ${baseUrl}:`, err); - const mut = (exchange: ExchangeRecord) => { + const mut = (exchange: ExchangeRecord): ExchangeRecord => { exchange.lastError = err; return exchange; }; @@ -284,7 +283,7 @@ async function updateExchangeWithKeys( async function updateExchangeFinalize( ws: InternalWalletState, exchangeBaseUrl: string, -) { +): Promise<void> { const exchange = await ws.db.get(Stores.exchanges, exchangeBaseUrl); if (!exchange) { return; @@ -316,7 +315,7 @@ async function updateExchangeFinalize( async function updateExchangeWithTermsOfService( ws: InternalWalletState, exchangeBaseUrl: string, -) { +): Promise<void> { const exchange = await ws.db.get(Stores.exchanges, exchangeBaseUrl); if (!exchange) { return; @@ -357,7 +356,7 @@ export async function acceptExchangeTermsOfService( ws: InternalWalletState, exchangeBaseUrl: string, etag: string | undefined, -) { +): Promise<void> { await ws.db.runWithWriteTransaction([Stores.exchanges], async (tx) => { const r = await tx.get(Stores.exchanges, exchangeBaseUrl); if (!r) { @@ -377,7 +376,7 @@ export async function acceptExchangeTermsOfService( async function updateExchangeWithWireInfo( ws: InternalWalletState, exchangeBaseUrl: string, -) { +): Promise<void> { const exchange = await ws.db.get(Stores.exchanges, exchangeBaseUrl); if (!exchange) { return; @@ -461,7 +460,7 @@ export async function updateExchangeFromUrl( baseUrl: string, forceNow = false, ): Promise<ExchangeRecord> { - const onOpErr = (e: OperationError) => setExchangeError(ws, baseUrl, e); + const onOpErr = (e: OperationError): Promise<void> => setExchangeError(ws, baseUrl, e); return await guardOperationException( () => updateExchangeFromUrlImpl(ws, baseUrl, forceNow), onOpErr, diff --git a/src/operations/history.ts b/src/operations/history.ts index b043e4a90..efbfbf377 100644 --- a/src/operations/history.ts +++ b/src/operations/history.ts @@ -20,11 +20,9 @@ import { InternalWalletState } from "./state"; import { Stores, - TipRecord, ProposalStatus, ProposalRecord, PlanchetRecord, - CoinRecord, } from "../types/dbTypes"; import { Amounts } from "../util/amounts"; import { AmountJson } from "../util/amounts"; @@ -40,14 +38,14 @@ import { VerboseRefreshDetails, } from "../types/history"; import { assertUnreachable } from "../util/assertUnreachable"; -import { TransactionHandle, Store } from "../util/query"; +import { TransactionHandle } from "../util/query"; import { timestampCmp } from "../util/time"; import { summarizeReserveHistory } from "../util/reserveHistoryUtil"; /** * Create an event ID from the type and the primary key for the event. */ -function makeEventId(type: HistoryEventType, ...args: string[]) { +function makeEventId(type: HistoryEventType, ...args: string[]): string { return type + ";" + args.map((x) => encodeURIComponent(x)).join(";"); } @@ -72,7 +70,7 @@ async function collectProposalHistory( tx: TransactionHandle, history: HistoryEvent[], historyQuery?: HistoryQuery, -) { +): Promise<void> { tx.iter(Stores.proposals).forEachAsync(async (proposal) => { const status = proposal.proposalStatus; switch (status) { diff --git a/src/util/query.ts b/src/util/query.ts index d11b79a96..256395d42 100644 --- a/src/util/query.ts +++ b/src/util/query.ts @@ -292,7 +292,7 @@ export class TransactionHandle { return requestToPromise(req); } - mutate<T>(store: Store<T>, key: any, f: (x: T) => T | undefined) { + mutate<T>(store: Store<T>, key: any, f: (x: T) => T | undefined): Promise<void> { const req = this.tx.objectStore(store.name).openCursor(key); return applyMutation(req, f); } @@ -438,7 +438,7 @@ export function openDatabase( export class Database { constructor(private db: IDBDatabase) {} - static deleteDatabase(idbFactory: IDBFactory, dbName: string) { + static deleteDatabase(idbFactory: IDBFactory, dbName: string): void { idbFactory.deleteDatabase(dbName); } diff --git a/src/util/timer.ts b/src/util/timer.ts index a1712b03f..18132a812 100644 --- a/src/util/timer.ts +++ b/src/util/timer.ts @@ -1,5 +1,3 @@ -import { Duration } from "./time"; - /* This file is part of GNU Taler (C) 2017-2019 Taler Systems S.A. @@ -24,6 +22,12 @@ import { Duration } from "./time"; */ /** + * Imports. + */ +import { Duration } from "./time"; + + +/** * Cancelable timer. */ export interface TimerHandle { @@ -33,7 +37,7 @@ export interface TimerHandle { class IntervalHandle { constructor(public h: any) {} - clear() { + clear(): void { clearInterval(this.h); } } @@ -41,7 +45,7 @@ class IntervalHandle { class TimeoutHandle { constructor(public h: any) {} - clear() { + clear(): void { clearTimeout(this.h); } } @@ -55,7 +59,7 @@ export const performanceNow: () => number = (() => { const t = process.hrtime(); return t[0] * 1e9 + t[1]; }; - } else if (typeof "performance" !== "undefined") { + } else if (typeof performance !== "undefined") { return () => performance.now(); } else { return () => 0; @@ -93,7 +97,7 @@ export class TimerGroup { private idGen = 1; - stopCurrentAndFutureTimers() { + stopCurrentAndFutureTimers(): void { this.stopped = true; for (const x in this.timerMap) { if (!this.timerMap.hasOwnProperty(x)) { diff --git a/src/webex/pages/add-auditor.tsx b/src/webex/pages/add-auditor.tsx index 4e3f8615c..fc7de920f 100644 --- a/src/webex/pages/add-auditor.tsx +++ b/src/webex/pages/add-auditor.tsx @@ -78,7 +78,7 @@ function ConfirmAuditor(props: ConfirmAuditorProps): JSX.Element { setAddDone(true); }; - const back = () => { + const back = (): void => { window.history.back(); }; @@ -86,12 +86,12 @@ function ConfirmAuditor(props: ConfirmAuditorProps): JSX.Element { <div id="main"> <p> Do you want to let <strong>{props.auditorPub}</strong> audit the - currency "{props.currency}"? + currency "{props.currency}"? </p> {addDone ? ( <div> Auditor was added! You can also{" "} - <a href={chrome.extension.getURL("/src/webex/pages/auditors.html")}> + <a href={chrome.extension.getURL("/auditors.html")}> view and edit </a>{" "} auditors. @@ -113,7 +113,7 @@ function ConfirmAuditor(props: ConfirmAuditorProps): JSX.Element { ); } -export function makeAddAuditorPage() { +export function makeAddAuditorPage(): JSX.Element { const walletPageUrl = new URL(document.location.href); const url = walletPageUrl.searchParams.get("url"); if (!url) { diff --git a/src/webex/pages/popup.tsx b/src/webex/pages/popup.tsx index c2f050e2a..f62f64b73 100644 --- a/src/webex/pages/popup.tsx +++ b/src/webex/pages/popup.tsx @@ -734,21 +734,18 @@ function WalletDebug(props: any): JSX.Element { return ( <div> <p>Debug tools:</p> - <button onClick={openExtensionPage("/src/webex/pages/popup.html")}> + <button onClick={openExtensionPage("/popup.html")}> wallet tab </button> - <button onClick={openExtensionPage("/src/webex/pages/benchmark.html")}> + <button onClick={openExtensionPage("/benchmark.html")}> benchmark </button> - <button onClick={openExtensionPage("/src/webex/pages/show-db.html")}> + <button onClick={openExtensionPage("/show-db.html")}> show db </button> - <button onClick={openExtensionPage("/src/webex/pages/tree.html")}> + <button onClick={openExtensionPage("/tree.html")}> show tree </button> - <button onClick={openExtensionPage("/src/webex/pages/logs.html")}> - show logs - </button> <br /> <button onClick={confirmReset}>reset</button> <button onClick={reload}>reload chrome extension</button> diff --git a/src/webex/renderHtml.tsx b/src/webex/renderHtml.tsx index 8fc6a6a63..f5a6a7e4d 100644 --- a/src/webex/renderHtml.tsx +++ b/src/webex/renderHtml.tsx @@ -335,9 +335,9 @@ export function ProgressButton( export function PageLink( props: React.PropsWithChildren<{ pageName: string }>, ): JSX.Element { - const url = chrome.extension.getURL(`/src/webex/pages/${props.pageName}`); + const url = chrome.extension.getURL(`/${props.pageName}`); return ( - <a className="actionLink" href={url} target="_blank"> + <a className="actionLink" href={url} target="_blank" rel="noopener noreferrer"> {props.children} </a> ); diff --git a/src/webex/wxBackend.ts b/src/webex/wxBackend.ts index f26c14d37..8fbb1431f 100644 --- a/src/webex/wxBackend.ts +++ b/src/webex/wxBackend.ts @@ -358,7 +358,7 @@ function makeSyncWalletRedirect( oldUrl: string, params?: { [name: string]: string | undefined }, ): object { - const innerUrl = new URL(chrome.extension.getURL("/src/webex/pages/" + url)); + const innerUrl = new URL(chrome.extension.getURL("/" + url)); if (params) { for (const key in params) { const p = params[key]; @@ -367,10 +367,6 @@ function makeSyncWalletRedirect( } } } - const outerUrl = new URL( - chrome.extension.getURL("/src/webex/pages/redirect.html"), - ); - outerUrl.searchParams.set("url", innerUrl.href); if (isFirefox()) { // Some platforms don't support the sync redirect (yet), so fall back to // async redirect after a timeout. @@ -378,12 +374,12 @@ function makeSyncWalletRedirect( await waitMs(150); const tab = await getTab(tabId); if (tab.url === oldUrl) { - chrome.tabs.update(tabId, { url: outerUrl.href }); + chrome.tabs.update(tabId, { url: innerUrl.href }); } }; doit(); } - return { redirectUrl: outerUrl.href }; + return { redirectUrl: innerUrl.href }; } async function reinitWallet(): Promise<void> { @@ -447,7 +443,7 @@ try { chrome.runtime.onInstalled.addListener((details) => { console.log("onInstalled with reason", details.reason); if (details.reason === "install") { - const url = chrome.extension.getURL("/src/webex/pages/welcome.html"); + const url = chrome.extension.getURL("/welcome.html"); chrome.tabs.create({ active: true, url: url }); } }); |