type MockFactory = | Partial | ((actual: TModule) => Partial); function resolveMockOverrides( actual: TModule, factory: MockFactory, ): Partial { return typeof factory === "function" ? factory(actual) : factory; } function resolveDefaultBase(actual: TModule): Record { const defaultExport = (actual as TModule & { default?: unknown }).default; if (defaultExport && typeof defaultExport === "object") { return defaultExport as Record; } return actual as Record; } export async function mockNodeBuiltinModule( loadActual: () => Promise, factory: MockFactory, options?: { mirrorToDefault?: boolean }, ): Promise { const actual = await loadActual(); const overrides = resolveMockOverrides(actual, factory); const mocked = { ...actual, ...overrides, } as TModule & { default?: Record }; if (!options?.mirrorToDefault) { return mocked; } return { ...mocked, default: { ...resolveDefaultBase(actual), ...overrides, }, } as TModule; }