]> git.codecow.com Git - nano-pow.git/commitdiff
Use flexible Record type instead of keyed object.
authorChris Duncan <chris@codecow.com>
Mon, 25 May 2026 05:32:52 +0000 (22:32 -0700)
committerChris Duncan <chris@codecow.com>
Mon, 25 May 2026 05:32:52 +0000 (22:32 -0700)
src/bin/cli.ts
src/bin/server.ts
src/lib/generate/webgl/index.ts
src/lib/generate/webgpu/index.ts
src/utils/logger.ts

index 138b7cabbac7ff4a8d6c37cc77050e30175a4f6e..f6e81f17fa02a5b924a459eaa0cca6a7362a6e7d 100755 (executable)
@@ -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<string, any> = {
        action: 'work_generate'
 }
 
@@ -254,7 +254,7 @@ function generateHashes (count: number) {
        }
 }
 
-async function request (body: { [key: string]: any }): Promise<WorkGenerateResponse | WorkValidateResponse | WorkErrorResponse> {
+async function request (body: Record<string, any>): Promise<WorkGenerateResponse | WorkValidateResponse | WorkErrorResponse> {
        return new Promise((resolve, reject): void => {
                const listener = async (msg: Serializable): Promise<void> => {
                        if (typeof msg === 'object' && msg != null
index a8a3c0ef091943e7d14c22762403a95bde8672c3..f91774e9928a7160627faef375017b8aa0dfeec6 100755 (executable)
@@ -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<string> {
                LOG: logger.log('Data corrupted.')
                throw new Error(resBody)
        }
-       const dataParsed = data as { [key: string]: unknown }
+       const dataParsed = data as Record<string, unknown>
 
        let { action, hash, work, difficulty } = dataParsed
        if (action !== 'work_generate' && action !== 'work_validate') {
index 278a4d1907fff6222fe5ba3427cd838f743583b2..1169c638dca394b552efde04dbba959a4f777453 100644 (file)
@@ -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<string, bigint> = {}
        let isFirstRetry = false
        try {
                do {
index 4e87cddf0ac2dd98c33cccc293a7f7de520035d4..081b0ebc9cacf476ecd2cf034762358cf0f694b6 100644 (file)
@@ -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<string, bigint> = {}
        let isFirstRetry = false
        try {
                do {
index 566f5faac8f092eb7434c394af817a9b360fb867..0e89283170373b6e3d75304f19c68c9273fa6ba2 100644 (file)
@@ -7,7 +7,7 @@
  */
 export class Logger {
        isEnabled: boolean = false
-       groups: { [key: string]: boolean } = {}
+       groups: Record<string, boolean> = {}
 
        groupStart (name: string): void {
                if (this.isEnabled) {