From c696561d4377e63b9c30a8f3359d556249fca0a6 Mon Sep 17 00:00:00 2001 From: rhysd Date: Mon, 2 Dec 2019 17:21:46 +0900 Subject: [PATCH] give typings to global.__coverage__ to avoid @ts-ignore --- src/lib.d.ts | 11 +++++++++++ src/worker.ts | 24 ++++++++---------------- 2 files changed, 19 insertions(+), 16 deletions(-) create mode 100644 src/lib.d.ts diff --git a/src/lib.d.ts b/src/lib.d.ts new file mode 100644 index 0000000..2b15867 --- /dev/null +++ b/src/lib.d.ts @@ -0,0 +1,11 @@ +declare module NodeJS { + interface Global { + __coverage__: { + [filePath: string]: { + s: { [n: string]: number }; + f: { [n: string]: number }; + b: { [n: string]: number[] }; + }; + }; + } +} diff --git a/src/worker.ts b/src/worker.ts index badf963..b2c98ac 100644 --- a/src/worker.ts +++ b/src/worker.ts @@ -19,22 +19,15 @@ class Worker { getTotalCoverage() { let total = 0; - // @ts-ignore - for (const filePath in global["__coverage__"]) { - // @ts-ignore - for (const s in global["__coverage__"][filePath]['s']) { - // @ts-ignore - total += global["__coverage__"][filePath]['s'][s] ? 1 : 0; + for (const filePath in global.__coverage__) { + for (const s in global.__coverage__[filePath].s) { + total += global.__coverage__[filePath].s[s] ? 1 : 0; } - // @ts-ignore - for (const f in global["__coverage__"][filePath]['f']) { - // @ts-ignore - total += global["__coverage__"][filePath]['f'][f] ? 1 : 0; + for (const f in global.__coverage__[filePath].f) { + total += global.__coverage__[filePath].f[f] ? 1 : 0; } - // @ts-ignore - for (const b in global["__coverage__"][filePath]['b']) { - // @ts-ignore - for (const i of global["__coverage__"][filePath]['b'][b]) { + for (const b in global.__coverage__[filePath].b) { + for (const i of global.__coverage__[filePath].b[b]) { total += i ? 1 : 0; } } @@ -44,8 +37,7 @@ class Worker { } dump_coverage() { - // @ts-ignore - const data = JSON.stringify(global["__coverage__"]); + const data = JSON.stringify(global.__coverage__); if (!fs.existsSync('./.nyc_output')){ fs.mkdirSync('./.nyc_output'); }