strong-roots-capital / map-objects

Map key-value pairs treating deeply-equal keys as equivalent objects

Home Page:https://www.npmjs.com/package/@strong-roots-capital/map-objects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

map-objects Build status npm version codecov

Map key-value pairs treating deeply-equal keys as equivalent objects

Install

npm install @strong-roots-capital/map-objects

This module uses the following settings in tsconfig.json

{
    "compilerOptions": {
        "target": "es6",
        "downlevelIteration": true
    }
}

Use

import mapObjects from '@strong-roots-capital/map-objects'
import deepEqual from 'deep-equal'

const a = {a: 1, b: 2, c: 3}
const b = {c: 3, b: 2, a: 1}
console.log('a, b are equal:', deepEqual(a, b))

const value = 'horse'

const map = new Map()
map.set(a, value)
console.log('map does not find value with deeply-equal object:', map.get(b))

const mapObject = new MapObjects()
mapObject.set(a, value)
console.log('mapObject does find value with deeply-equal object:', mapObject.get(b))

Acknowledgments

Related

About

Map key-value pairs treating deeply-equal keys as equivalent objects

https://www.npmjs.com/package/@strong-roots-capital/map-objects


Languages

Language:TypeScript 87.4%Language:JavaScript 12.6%