@zerodep/is-pojo
TypeScript icon, indicating that this package has built-in type declarations

2.0.7 • Public • Published

@zerodep/is-pojo

version language types license

CodeFactor Known Vulnerabilities

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

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i @zerodep/is-pojo

      Homepage

      zerodep.app

      Weekly Downloads

      133

      Version

      2.0.7

      License

      MIT

      Unpacked Size

      6.36 kB

      Total Files

      7

      Last publish

      Collaborators

      • cdepage