Socket
Book a DemoInstallSign in
Socket

@rstacruz/nested-hamt

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rstacruz/nested-hamt

Nested HAMT implementation

latest
Source
npmnpm
Version
1.1.2
Version published
Maintainers
1
Created
Source

nested-hamt

Nested JSON structures in a HAMT tree

Based off of mini-hamt, but this handles nested JSON structures. I'll explain later.

Status

Install

npm install --save @rstacruz/nested-hamt

API

set

set(tree, keypath, value)

Sets data into a HAMT store.

import { set, get, empty } from 'nested-hamt'

var data = set(empty, 'user', { name: 'John' })
get(data, 'user.name') // => 'John'

The keypaths can be given as an array or a dot-separated string. This applies to get() and del() as well.

// Both are equivalent
var data = set(empty, 'user.name', 'John')
var data = set(empty, ['user', 'name'], 'John')

get

get(tree, keypath)

Returns data from a HAMT store. If keypath is not given, it returns the entire store as a JSON object.

del

del(tree, keypath)

Deletes data from a keypath.

keys

keys(tree)

Returns the available keys for tree.

fromJS

fromJS(object)

Converts JSON object into a HAMT tree. Inverse of toJS().

toJS

toJS(tree)

Converts HAMT tree into a JSON object. Inverse of fromJS().

empty

empty

Empty data.

import { set, get, empty } from 'nested-hamt'

var tree = set(empty, 'hello', 'world')
get(tree, 'hello') // => 'world'

extend

extend(tree, ...objects)

Extends HAMT tree with data from objects. Compare with Object.assign().

getType

getType(tree, keypath)

Checks for the type of data. Can return object, array, or anything typeof can return (string, number, boolean, and so on).

Thanks

nested-hamt © 2016+, Rico Sta. Cruz. Released under the MIT License.
Authored and maintained by Rico Sta. Cruz with help from contributors (list).

ricostacruz.com  ·  GitHub @rstacruz  ·  Twitter @rstacruz

Keywords

hamt

FAQs

Package last updated on 28 May 2016

Did you know?

Socket

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.

Install

Related posts