From 10659b8cd87f6113858f1a27957f7a85c49f45a5 Mon Sep 17 00:00:00 2001 From: Hatter Jiang Date: Wed, 4 Feb 2026 01:05:06 +0800 Subject: [PATCH] update deno-commons-mod.ts --- libraries/deno-commons-mod.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/libraries/deno-commons-mod.ts b/libraries/deno-commons-mod.ts index ffc4dd9..42905ad 100644 --- a/libraries/deno-commons-mod.ts +++ b/libraries/deno-commons-mod.ts @@ -597,6 +597,25 @@ export function getCurrentScriptDirectory(): string { return dirname(getCurrentScriptFile()); } +export function stringifySorted>( + record: T, + space?: string | number, +): string { + return JSON.stringify(record, (key, value) => { + if ( + value !== null && typeof value === "object" && !Array.isArray(value) + ) { + const sortedKeys = Object.keys(value).sort(); + const sortedObj: Record = {}; + for (const k of sortedKeys) { + sortedObj[k] = value[k]; + } + return sortedObj; + } + return value; + }, space); +} + Deno.test("isOn", () => { assertEquals(false, isOn(undefined)); assertEquals(false, isOn(""));