is-kit

struct

Shape guard for objects; supports exact key checking via options.

import { struct, isString, isNumber } from 'is-kit';
const isUser = struct({ id: isNumber, name: isString });
isUser({ id: 1, name: 'A' }); // true
const isExactUser = struct({ id: isNumber, name: isString }, { exact: true });
isExactUser({ id: 1, name: 'A', extra: 1 }); // false