@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

Readme

Keywords

Package Sidebar

Install

npm i @zerodep/is-pojo

Homepage

zerodep.app

Weekly Downloads

108

Version

2.0.7

License

MIT

Unpacked Size

6.36 kB

Total Files

7

Last publish

Collaborators

  • cdepage