
Security News
Vite Releases Technical Preview of Rolldown-Vite, a Rust-Based Bundler
Vite releases Rolldown-Vite, a Rust-based bundler preview offering faster builds and lower memory usage as a drop-in replacement for Vite.
typescript-map
Advanced tools
ES6 Map implemented in TypeScript.
This is not an ES6 Map polyfill, it is not a pure implementation (but it's really close!). I just needed a way to declare maps in my ts code in a safe, reusable way without taking dozens of kilobytes.
Just over 1 kilobyte gzipped. :)
Note: This library doesn't use a hashing function to keep the implmentation small and simple, this means if you plan to put more than a few hundred keys into the map or if the map is on a hot path you should use es6-map instead.
npm install typescript-map
The lib creates a single global variable: TSMap
If you're using typescript/ES6:
import { TSMap } from "typescript-map"
If you're using commonjs:
const TSMap = require("typescript-map").TSMap;
If you're just using it in the browser:
Download dist/tsmap.min.js
Include it in your head: <script src="tsmap.min.js"></script>
.
var myMap = new TSMap();
myMap.set('foo','bar');
console.log(myMap.get('foo')) //<= "bar"
//Typescript
var myMap = new TSMap<string,number>();
myMap.set('foo',2);
//ES6 Maps take an array of arrays as the optional init object:
var myMap = new TSMap([
['foo','bar'],
['key','value']
])
Also includes several functions that aren't in the spec
// Safely retrieve a deeply nested object, works for nested TSMaps, objects and arrays.
let someValue = myMap.deepGet(["deeply","nested","property"]);
// Insert items keeping the keys sorted (Uses a super fast binary insert method)
myMap.sortedSet(5, "apple");
myMap.sortedSet(2, "orange");
myMap.sortedSet(7, "bannana");
console.log(myMap.keys()) // <= [2, 5, 7];
//Import JSON into the map
var myMap = new TSMap().fromJSON({
foo:'bar',
key:'value'
}, true); // <= optional second parameter, if "true" nested objects should be converted to TSMaps.
//Export the map to JSON
var myJSON = myMap.toJSON();
//Map the map (insert meme here). Returns an array, not the map.
var anArray = myMap.map(function(value, key) {
return value + " oh look, another hippy".
});
//Filter the map (removes items in the current map)
myMap.filter(function(value, key) {
return key%2; //Remove all even objects;
});
Everything is documented in the src/index.ts file and the definitions file is pretty clear. If you need a full doc on using Maps look here: MDN Map Docs
npm install && npm run build
MIT
FAQs
ES6 Map Implemented in TypeScript
The npm package typescript-map receives a total of 5,654 weekly downloads. As such, typescript-map popularity was classified as popular.
We found that typescript-map demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Vite releases Rolldown-Vite, a Rust-based bundler preview offering faster builds and lower memory usage as a drop-in replacement for Vite.
Research
Security News
A malicious npm typosquat uses remote commands to silently delete entire project directories after a single mistyped install.
Research
Security News
Malicious PyPI package semantic-types steals Solana private keys via transitive dependency installs using monkey patching and blockchain exfiltration.