Socket
Socket
Sign inDemoInstall

umap

Package Overview
Dependencies
0
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.0.1 to 1.0.0

14

package.json
{
"name": "umap",
"version": "0.0.1",
"description": "The smallest, yet common, Map and WeakMap utility ever",
"version": "1.0.0",
"description": "The smallest, yet handy, Map and WeakMap utility ever",
"main": "./cjs/index.js",

@@ -43,3 +43,11 @@ "scripts": {

},
"unpkg": "min.js"
"unpkg": "min.js",
"repository": {
"type": "git",
"url": "git+https://github.com/WebReflection/umap.git"
},
"bugs": {
"url": "https://github.com/WebReflection/umap/issues"
},
"homepage": "https://github.com/WebReflection/umap#readme"
}

@@ -1,9 +0,10 @@

# <em>µ</em>map
# <em>µ</em>map 🗺
[![Build Status](https://travis-ci.com/WebReflection/umap.svg?branch=master)](https://travis-ci.com/WebReflection/umap) [![Coverage Status](https://coveralls.io/repos/github/WebReflection/umap/badge.svg?branch=master)](https://coveralls.io/github/WebReflection/umap?branch=master)
The smallest, yet common, `Map` and `WeakMap` utility ever.
The smallest, yet handy, `Map` and `WeakMap` utility ever.
```js
import umap from 'umap';
import umap from 'umap';
// const umap = require('umap');

@@ -14,3 +15,3 @@ const map = umap(new Map);

(map.get(1) || map.set(1, Math.random())),
'the most common pattern ever I have with Map instances'
'a very common pattern I have with Map instances'
);

@@ -22,4 +23,28 @@

(weakMap.get(map) || weakMap.set(map, Math.random())),
'which also I use a lot with WeakMap instances'
'which I use even more with WeakMap instances'
);
```
### 🤔 Reason
I am super tired of creating workarounds for the fact `map.set(key, value)` doesn't return value but the `map` itself, and so does the _WeakMap_.
This module will help, at least me, dropping all one-off helpers, here and there, to always do the same thing:
```js
// before 😢
const cache = new WeakMap;
const setThing = (key, value) => {
cache.set(key, value);
return value;
};
const thing = cache.get(key) || setThing(key, value);
// with umap 🎉
const cache = umap(new WeakMap);
const thing = cache.get(key) || cache.set(key, value);
```
### 🌈 It's Done!
This module is meant to solve one pattern only, and it does exactly that, so that if you store _falsy_ values in _Maps_ or _WeakMaps_, it is not a concern of this module.
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc