diff --git a/extensions/msteams/src/errors.ts b/extensions/msteams/src/errors.ts index 62449e126f9..c558690521d 100644 --- a/extensions/msteams/src/errors.ts +++ b/extensions/msteams/src/errors.ts @@ -1,3 +1,5 @@ +import { isRecord } from "./attachments/shared.js"; + export function formatUnknownError(err: unknown): string { if (err instanceof Error) { return err.message; @@ -27,10 +29,6 @@ export function formatUnknownError(err: unknown): string { } } -function isRecord(value: unknown): value is Record { - return typeof value === "object" && value !== null && !Array.isArray(value); -} - function extractStatusCode(err: unknown): number | null { if (!isRecord(err)) { return null; diff --git a/extensions/msteams/src/polls.ts b/extensions/msteams/src/polls.ts index 7d00e96fad5..1646992f0f9 100644 --- a/extensions/msteams/src/polls.ts +++ b/extensions/msteams/src/polls.ts @@ -1,4 +1,5 @@ import crypto from "node:crypto"; +import { isRecord } from "./attachments/shared.js"; import { resolveMSTeamsStorePath } from "./storage.js"; import { readJsonFile, withFileLock, writeJsonFile } from "./store-fs.js"; @@ -46,9 +47,6 @@ type PollStoreData = { const STORE_FILENAME = "msteams-polls.json"; const MAX_POLLS = 1000; const POLL_TTL_MS = 30 * 24 * 60 * 60 * 1000; -function isRecord(value: unknown): value is Record { - return Boolean(value) && typeof value === "object" && !Array.isArray(value); -} function normalizeChoiceValue(value: unknown): string | null { if (typeof value === "string") {