The lodash method `_.isMap` exported as a standalone Node.js module for checking if a value is a Map object.
npx @tessl/cli install tessl/npm-lodash--ismap@4.4.00
# lodash.ismap
1
2
The lodash.ismap package provides the `_.isMap` utility method as a standalone Node.js module. It checks if a value is a Map object using internal object type checking mechanisms, offering cross-environment compatibility and optimal performance.
3
4
## Package Information
5
6
- **Package Name**: lodash.ismap
7
- **Package Type**: npm
8
- **Language**: JavaScript
9
- **Installation**: `npm install lodash.ismap`
10
11
## Core Imports
12
13
```javascript
14
var isMap = require('lodash.ismap');
15
```
16
17
## Basic Usage
18
19
```javascript
20
var isMap = require('lodash.ismap');
21
22
// Check if value is a Map
23
isMap(new Map);
24
// => true
25
26
isMap(new WeakMap);
27
// => false
28
29
isMap({});
30
// => false
31
32
isMap([1, 2, 3]);
33
// => false
34
35
isMap(null);
36
// => false
37
```
38
39
## Capabilities
40
41
### Map Type Checking
42
43
Checks if a value is classified as a Map object with cross-environment compatibility.
44
45
```javascript { .api }
46
/**
47
* Checks if `value` is classified as a `Map` object.
48
*
49
* @param {*} value The value to check.
50
* @returns {boolean} Returns `true` if `value` is a map, else `false`.
51
*/
52
function isMap(value);
53
```
54
55
**Parameters:**
56
- `value` (*): The value to check
57
58
**Returns:**
59
- `boolean`: Returns `true` if `value` is a map, else `false`
60
61
**Implementation Details:**
62
63
The function uses two different strategies based on the environment:
64
65
1. **Node.js Environment**: Uses native `util.isMap` for optimal performance when available
66
2. **Browser/General Environment**: Falls back to object type checking using `Object.prototype.toString`
67
68
The implementation handles cross-browser compatibility issues and provides accurate Map detection across different JavaScript environments, including:
69
- Native Map support in modern browsers
70
- IE 11 compatibility issues
71
- Node.js optimizations
72
- Host object detection in older IE versions
73
74
**Usage Examples:**
75
76
```javascript
77
var isMap = require('lodash.ismap');
78
79
// Standard Map object
80
var myMap = new Map([['key1', 'value1'], ['key2', 'value2']]);
81
console.log(isMap(myMap)); // => true
82
83
// WeakMap (not a Map)
84
var myWeakMap = new WeakMap();
85
console.log(isMap(myWeakMap)); // => false
86
87
// Plain objects
88
console.log(isMap({})); // => false
89
console.log(isMap({ a: 1 })); // => false
90
91
// Arrays
92
console.log(isMap([])); // => false
93
console.log(isMap([1, 2, 3])); // => false
94
95
// Primitives
96
console.log(isMap(null)); // => false
97
console.log(isMap(undefined)); // => false
98
console.log(isMap(42)); // => false
99
console.log(isMap('string')); // => false
100
console.log(isMap(true)); // => false
101
102
// Edge cases
103
console.log(isMap(new Set())); // => false
104
console.log(isMap(new Date())); // => false
105
console.log(isMap(/regex/)); // => false
106
```