diff --git a/README.md b/README.md
index 2c4d09bbf..e74ebf0d0 100644
--- a/README.md
+++ b/README.md
@@ -342,6 +342,7 @@ average(1, 2, 3);
* [`isNull`](#isnull)
* [`isNumber`](#isnumber)
* [`isObject`](#isobject)
+* [`isPlainObject`](#isplainobject)
* [`isPrimitive`](#isprimitive)
* [`isPromiseLike`](#ispromiselike)
* [`isString`](#isstring)
@@ -5632,6 +5633,29 @@ isObject(true); // false
[⬆ Back to top](#table-of-contents)
+### isPlainObject
+
+Checks if the provided value is an bbject created by the Object constructor.
+
+Check if the provided value is truthy, use `typeof` to check if it is an object and `Object.constructor` to make sure the constructor is equal to `Object`.
+
+```js
+const isPlainObject = val => !!val && typeof val === 'object' && val.constructor === Object;
+```
+
+
+Examples
+
+```js
+isPlainObject({ a: 1 }); // true
+isPlainObject(new Map()); // false
+```
+
+
+
+ [⬆ Back to top](#table-of-contents)
+
+
### isPrimitive
Returns a boolean determining if the passed value is primitive or not.
diff --git a/docs/index.html b/docs/index.html
index 3d3797a5f..431521070 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -50,7 +50,7 @@
scrollToTop();
}
}, false);
- }
30 seconds of code Curated collection of useful JavaScript snippets that you can understand in 30 seconds or less.
Adapter
call
Given a key and a set of arguments, call them when given a context. Primarily useful in composition.
Use a closure to call a stored key with stored arguments.
Returns a boolean determining if the passed value is primitive or not.
Use Array.includes() on an array of type strings which are not primitive, supplying the type using typeof. Since typeof null evaluates to 'object', it needs to be directly compared.
constisPrimitive= val => !['object','function'].includes(typeof val)|| val ===null;