CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-lodash-ismap

The lodash method `_.isMap` exported as a standalone Node.js module for checking if a value is a Map object.

Pending
Quality

Pending

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

index.mddocs/

lodash.ismap

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.

Package Information

  • Package Name: lodash.ismap
  • Package Type: npm
  • Language: JavaScript
  • Installation: npm install lodash.ismap

Core Imports

var isMap = require('lodash.ismap');

Basic Usage

var isMap = require('lodash.ismap');

// Check if value is a Map
isMap(new Map);
// => true

isMap(new WeakMap);
// => false

isMap({});
// => false

isMap([1, 2, 3]);
// => false

isMap(null);
// => false

Capabilities

Map Type Checking

Checks if a value is classified as a Map object with cross-environment compatibility.

/**
 * Checks if `value` is classified as a `Map` object.
 *
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a map, else `false`.
 */
function isMap(value);

Parameters:

  • value (*): The value to check

Returns:

  • boolean: Returns true if value is a map, else false

Implementation Details:

The function uses two different strategies based on the environment:

  1. Node.js Environment: Uses native util.isMap for optimal performance when available
  2. Browser/General Environment: Falls back to object type checking using Object.prototype.toString

The implementation handles cross-browser compatibility issues and provides accurate Map detection across different JavaScript environments, including:

  • Native Map support in modern browsers
  • IE 11 compatibility issues
  • Node.js optimizations
  • Host object detection in older IE versions

Usage Examples:

var isMap = require('lodash.ismap');

// Standard Map object
var myMap = new Map([['key1', 'value1'], ['key2', 'value2']]);
console.log(isMap(myMap)); // => true

// WeakMap (not a Map)
var myWeakMap = new WeakMap();
console.log(isMap(myWeakMap)); // => false

// Plain objects
console.log(isMap({})); // => false
console.log(isMap({ a: 1 })); // => false

// Arrays
console.log(isMap([])); // => false
console.log(isMap([1, 2, 3])); // => false

// Primitives
console.log(isMap(null)); // => false
console.log(isMap(undefined)); // => false
console.log(isMap(42)); // => false
console.log(isMap('string')); // => false
console.log(isMap(true)); // => false

// Edge cases
console.log(isMap(new Set())); // => false
console.log(isMap(new Date())); // => false
console.log(isMap(/regex/)); // => false

docs

index.md

tile.json