From: Chris Duncan Date: Tue, 22 Apr 2025 21:16:55 +0000 (-0700) Subject: Cache NanoPow as puppeteer handle for further evaluate calls. X-Git-Url: https://zoso.dev/?a=commitdiff_plain;h=f2f1f75e43cfcc9a8c4b2f313a6f0b31f6f736f3;p=nano-pow.git Cache NanoPow as puppeteer handle for further evaluate calls. --- diff --git a/src/bin/server.ts b/src/bin/server.ts index 58808cb..298d777 100755 --- a/src/bin/server.ts +++ b/src/bin/server.ts @@ -121,17 +121,17 @@ async function respond (res: http.ServerResponse, dataBuffer: Buffer[]): Promise } switch (action) { case ('work_generate'): { - response = JSON.stringify(await page.evaluate(async (hash: string, options: NanoPowOptions): Promise => { - if (window.NanoPow == null) throw new Error('NanoPow not found') - return await window.NanoPow.work_generate(hash, options) - }, hash, options)) + response = JSON.stringify(await page.evaluate(async (np, hash: string, options: NanoPowOptions): Promise => { + if (np == null) throw new Error('NanoPow not found') + return await np.work_generate(hash, options) + }, npHandle, hash, options)) break } case ('work_validate'): { - response = JSON.stringify(await page.evaluate(async (work: string, hash: string, options: NanoPowOptions): Promise => { - if (window.NanoPow == null) throw new Error('NanoPow not found') - return await window.NanoPow.work_validate(work, hash, options) - }, work, hash, options)) + response = JSON.stringify(await page.evaluate(async (np, work: string, hash: string, options: NanoPowOptions): Promise => { + if (np == null) throw new Error('NanoPow not found') + return await np.work_validate(work, hash, options) + }, npHandle, work, hash, options)) break } default: { @@ -289,6 +289,7 @@ await page.goto('https://nanopow.invalid/') await page.waitForFunction(async (): Promise => { return window.NanoPow != null }) +const npHandle = await page.evaluateHandle(() => window.NanoPow) log('Puppeteer initialized')