@zerodep/is-pojo
v2.0.7
Published
A utility to determine if a value is a Plain Old Java Object (a non-null serializable JSON object)
Downloads
488
Readme
@zerodep/is-pojo
A simple, performant utility to determine if a value is a Plain Old Javascript Object (POJO) that is serializable.
Full documentation is available at the zerodep.app page.
Examples
All @zerodep packages support both ESM and CJS.
import { isPojo } from '@zerodep/is-pojo';
// or
const { isPojo } = require('@zerodep/is-pojo');
Positive Response
isPojo([]); // true
isPojo(['a', 1, true]); // true
isPojo({}); // true
isPojo({ a: 'string', b: 2, c: false }); // true
Negative Response
isPojo(null); // false - CAUTION
isPojo({ aMap: new Map() }); // false - CAUTION
isPojo({ aSet: new Set() }); // false - CAUTION
isPojo(1000n); // false
isPojo(true); // false
isPojo(new Date()); // false
isPojo(''); // false
isPojo(new Error('message')); // false
isPojo(3.14); // false
isPojo(() => 'function'); // false
isPojo(42); // false
isPojo(
new Map([
['a', 1],
['b', 2],
])
); // false
isPojo(null); // false
isPojo(new Promise(() => {})); // false
isPojo(/[regex]+/gi); // false
isPojo(new Set([1, 2, 3])); // false
isPojo('a string'); // false
isPojo(Symbol()); // false
isPojo(new Int32Array(2)); // false
isPojo(undefined); // false