From b4ec83b4c30f740f3f9c0da9587ceb5b98ea5e2d Mon Sep 17 00:00:00 2001 From: Hatter Jiang Date: Wed, 11 Feb 2026 01:50:54 +0800 Subject: [PATCH] update deno common smod --- libraries/deno-commons-mod.ts | 39 ++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/libraries/deno-commons-mod.ts b/libraries/deno-commons-mod.ts index 54e8abe..c9abdf3 100644 --- a/libraries/deno-commons-mod.ts +++ b/libraries/deno-commons-mod.ts @@ -4,6 +4,7 @@ import {decodeBase64, encodeBase64} from "jsr:@std/encoding/base64"; import {dirname, fromFileUrl} from "https://deno.land/std/path/mod.ts"; import {spawn, SpawnOptionsWithoutStdio} from "node:child_process"; +import { readFile,readFileSync } from 'node:fs'; // reference: https://docs.deno.com/examples/hex_base64_encoding/ // import { decodeBase64, encodeBase64 } from "jsr:@std/encoding/base64"; @@ -773,25 +774,39 @@ export async function existsPath(path: string): Promise { export async function readFileToString( filename: string, ): Promise { - try { - return await Deno.readTextFile(resolveFilename(filename)); - } catch (e) { - if (e instanceof Error && e.name == "NotFound") { - return null; + if (isDeno()) { + try { + return await Deno.readTextFile(resolveFilename(filename)); + } catch (e) { + if (e instanceof Error && e.name == "NotFound") { + return null; + } + throw e; } - throw e; } + return Promise((resolve, reject) => { + readFile(resolveFilename(filename), 'utf8', (err, buffer) => { + if (err) { + reject(err); + } else { + resolve(buffer); + } + }); + }); } export function readFileToStringSync(filename: string): string | null { - try { - return Deno.readTextFileSync(resolveFilename(filename)); - } catch (e) { - if (e instanceof Error && e.name == "NotFound") { - return null; + if (isDeno()) { + try { + return Deno.readTextFileSync(resolveFilename(filename)); + } catch (e) { + if (e instanceof Error && e.name == "NotFound") { + return null; + } + throw e; } - throw e; } + return readFileSync(resolveFilename(filename), 'utf8'); } export async function writeStringToFile(