From b7e249fc0826dc7431ed9cd092503bbf02933e01 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 6 Apr 2026 22:48:14 +0100 Subject: [PATCH] refactor: dedupe browser setup record guard --- extensions/browser/setup-api.ts | 5 +---- extensions/browser/src/record-shared.ts | 10 ++++++---- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/extensions/browser/setup-api.ts b/extensions/browser/setup-api.ts index 23a9821fa8a..a2cdc1f2221 100644 --- a/extensions/browser/setup-api.ts +++ b/extensions/browser/setup-api.ts @@ -1,9 +1,6 @@ import type { OpenClawConfig } from "openclaw/plugin-sdk/plugin-entry"; import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry"; - -function isRecord(value: unknown): value is Record { - return Boolean(value) && typeof value === "object" && !Array.isArray(value); -} +import { isRecord } from "./src/record-shared.js"; function listContainsBrowser(value: unknown): boolean { return ( diff --git a/extensions/browser/src/record-shared.ts b/extensions/browser/src/record-shared.ts index 7b4ae081a6f..fab9276ca88 100644 --- a/extensions/browser/src/record-shared.ts +++ b/extensions/browser/src/record-shared.ts @@ -1,5 +1,7 @@ -export function asRecord(value: unknown): Record | null { - return value && typeof value === "object" && !Array.isArray(value) - ? (value as Record) - : null; +export function isRecord(value: unknown): value is Record { + return Boolean(value) && typeof value === "object" && !Array.isArray(value); +} + +export function asRecord(value: unknown): Record | null { + return isRecord(value) ? value : null; }