[Collectable.js] Immutable Map


stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
23322Jul 5, 2021Oct 26, 2016Minified + gzip package size for @collectable/map in KB


Collectable.js: Immutable Map

Immutable Map

An persistent/immutable/functional map (dictionary) data structure

Build Status NPM version GitHub version Gitter

A Clojure-style hash array mapped trie, adapted from Tylor Steinberger's TypeScript conversion of Matt Bierner's HAMT implementation.

This documentation is under construction. The list of functions, descriptions and examples are pending.


# via NPM
npm install @collectable/map

# or Yarn
yarn add @collectable/map

If you intend to use other data structures as well, install the main collectable package instead. It takes a dependency on each of these data structures, and so they will become available implicitly, after installation.

# via NPM
npm install collectable

# or Yarn
yarn add collectable

TypeScript type definitions are built in.


Import and use the functions you need:

import { fromObject, unwrap } from '@collectable/map';

const map = fromObject({ foo: 'bar' }); // => HashMap<{ foo: 'bar' }>
const obj = unwrap(map); // => { foo: 'bar' }

Use a modern bundler such as Webpack 2 or Rollup in order to take advantage of tree shaking capabilities, giving you maximum flexibility to use what you need while excluding anything else from the final build.


All map-manipulation functions are available from module @collectable/map.

Documentation pending

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.