ConstNonCollectionObjectSchema.parse({}); // ✓ Valid
NonCollectionObjectSchema.parse({ key: 'value' }); // ✓ Valid
NonCollectionObjectSchema.parse(function () {}); // ✓ Valid
NonCollectionObjectSchema.parse(() => {}); // ✓ Valid
NonCollectionObjectSchema.parse(new Map()); // ✗ Throws validation error
NonCollectionObjectSchema.parse(new Set()); // ✗ Throws validation error
NonCollectionObjectSchema.parse(null); // ✗ Throws validation error
NonCollectionObjectSchema.parse(42); // ✗ Throws validation error
import { createAssertion, use } from 'bupkis';
import { NonCollectionObjectSchema } from 'bupkis/schema';
const nonCollectionAssertion = createAssertion(
  [NonCollectionObjectSchema, 'to be a non-collection object'],
  NonCollectionObjectSchema,
);
const { expect } = use([nonCollectionAssertion]);
expect({ key: 'value' }, 'to be a non-collection object');
A Zod schema that validates non-collection objects and functions.
Accepts plain objects, functions, arrays, dates, etc. but rejects collection types like
Map,Set,WeakMap, andWeakSet.