From: Chris Duncan Date: Mon, 25 May 2026 05:32:52 +0000 (-0700) Subject: Use flexible Record type instead of keyed object. X-Git-Url: https://git.codecow.com/?a=commitdiff_plain;h=f73729a2a374c1b5a880de595d690429dad2b18f;p=nano-pow.git Use flexible Record type instead of keyed object. --- diff --git a/src/bin/cli.ts b/src/bin/cli.ts index 138b7ca..f6e81f1 100755 --- a/src/bin/cli.ts +++ b/src/bin/cli.ts @@ -3,7 +3,7 @@ //! SPDX-License-Identifier: GPL-3.0-or-later import { WorkErrorResponse, WorkGenerateResponse, WorkValidateResponse } from 'nano-pow' -import { isHex32, isHex8, Logger, stats } from 'nano-pow/utils' +import { Logger, isHex32, isHex8, stats } from 'nano-pow/utils' import { Serializable, spawn } from 'node:child_process' import { getRandomValues } from 'node:crypto' import { createInterface } from 'node:readline/promises' @@ -77,7 +77,7 @@ hashes.push(...inArgs) let isBatch = false let isBenchmark = false let runs = 1 -const body: { [key: string]: any } = { +const body: Record = { action: 'work_generate' } @@ -254,7 +254,7 @@ function generateHashes (count: number) { } } -async function request (body: { [key: string]: any }): Promise { +async function request (body: Record): Promise { return new Promise((resolve, reject): void => { const listener = async (msg: Serializable): Promise => { if (typeof msg === 'object' && msg != null diff --git a/src/bin/server.ts b/src/bin/server.ts index a8a3c0e..f91774e 100755 --- a/src/bin/server.ts +++ b/src/bin/server.ts @@ -3,7 +3,7 @@ //! SPDX-License-Identifier: GPL-3.0-or-later import { WorkErrorResponse, WorkGenerateResponse, WorkValidateResponse } from 'nano-pow' -import { isHex32, isHex8, Logger } from 'nano-pow/utils' +import { Logger, isHex32, isHex8 } from 'nano-pow/utils' import { Serializable } from 'node:child_process' import { hash } from 'node:crypto' import { readFile, writeFile } from 'node:fs/promises' @@ -159,7 +159,7 @@ async function work (data: unknown): Promise { LOG: logger.log('Data corrupted.') throw new Error(resBody) } - const dataParsed = data as { [key: string]: unknown } + const dataParsed = data as Record let { action, hash, work, difficulty } = dataParsed if (action !== 'work_generate' && action !== 'work_validate') { diff --git a/src/lib/generate/webgl/index.ts b/src/lib/generate/webgl/index.ts index 278a4d1..1169c63 100644 --- a/src/lib/generate/webgl/index.ts +++ b/src/lib/generate/webgl/index.ts @@ -418,7 +418,7 @@ export async function generate (hash: Bytes, difficulty: bigint, effort: number, // Start drawing to calculate one nonce per pixel let found = false - let result: { [key: string]: bigint } = {} + let result: Record = {} let isFirstRetry = false try { do { diff --git a/src/lib/generate/webgpu/index.ts b/src/lib/generate/webgpu/index.ts index 4e87cdd..081b0eb 100644 --- a/src/lib/generate/webgpu/index.ts +++ b/src/lib/generate/webgpu/index.ts @@ -281,7 +281,7 @@ export async function generate (hash: Bytes, difficulty: bigint, effort: number, LOG: logger.groupStart('NanoPow WebGPU work_generate') LOG: logger.log('generating') let found = false - let result: { [key: string]: bigint } = {} + let result: Record = {} let isFirstRetry = false try { do { diff --git a/src/utils/logger.ts b/src/utils/logger.ts index 566f5fa..0e89283 100644 --- a/src/utils/logger.ts +++ b/src/utils/logger.ts @@ -7,7 +7,7 @@ */ export class Logger { isEnabled: boolean = false - groups: { [key: string]: boolean } = {} + groups: Record = {} groupStart (name: string): void { if (this.isEnabled) {