refactor: share plain object guard across config and utils

This commit is contained in:
Peter Steinberger
2026-02-19 14:10:58 +00:00
parent 397f243ded
commit ba538c98c7
4 changed files with 33 additions and 21 deletions

11
src/infra/plain-object.ts Normal file
View File

@@ -0,0 +1,11 @@
/**
* Strict plain-object guard (excludes arrays and host objects).
*/
export function isPlainObject(value: unknown): value is Record<string, unknown> {
return (
typeof value === "object" &&
value !== null &&
!Array.isArray(value) &&
Object.prototype.toString.call(value) === "[object Object]"
);
}