immutable-recursive
v0.0.8
Published
Extra functions for use with Immutable.js to better handle tree structures / nested data and recursive iteration
Downloads
96
Maintainers
Readme
immutable-recursive
Extra functions for use with Immutable.js to better handle tree structures, nested data and recursive iteration.
Warning
While I anticipate this library will be very stable once release, it is completely in development / pre-alpha at this point. Won't be long until this is ready for public though. Hold on to your hats, anything could change in the near future.
Development tasks
| Function | Plan | Write | Tests | Document | Examples | | -------- | ---- | ----- | ----- | -------- | -------- | | deepGet | Done | Done | Done | Done | | | deepGetChildren | Done | Done | Done | Done | | | deepSet | Done | Done | Done | Done | | | deepSetChildren | Done | Done | Done | Done | | | deepUpdate | Done | Done | Done | Done | | | deepUpdateChildren | Done | Done | Done | Done | | | deepDelete | Done | Done | Done | Done | | | deepDeleteChildren | Done | Done | Done | Done | | | deepDeleteCollapse | In progress | | | | | | deepMap | Done | Done | Done | In progress | | | deepMapLeaves | Done | Done | Done | Done | | | deepMapParents | Done | Done | Done | Done | | | deepMapOutward | Done | Done | Done | Done | | | deepMapLeavesOutwards | Done | Done | Done | Done | | | deepMapParentsOutwards | Done | Done | Done | Done | | | deepReduce | Done | Done | Done | Done | | | deepReduceLeaves | Done | Done | Done | Done | | | deepReduceParents | Done | Done | Done | Done | | | deepReduceOutward | Done | Done | Done | Done | | | deepReduceLeavesOutwards | Done | Done | Done | Done | | | deepReduceParentsOutwards | Done | Done | Done | Done | | | deepFilter | Done | Done | Done | Done | | | deepFilterCollapse | In progress | | | | | | deepPick | Done | Done | Done | Done | | | deconstruct | Done | In progress | | | | | reconstruct | In progress | | | | | | asList | Done | Done | Done | Done | Done | | blankNode | Done | Done | Done | Done | | | nodePathToKeys | Done | Done | Done | Done | Done | | nodePathToKeysChildren | Done | Done | Done | Done | Done | | isLeaf | Done | Done | Done | Done | Done | | isRoot | In progress | | | | | | pick | Done | Done | Done | Done | Done | | isSiblingOf | Done | | | | | | isParentOf | Done | | | | | | isAncestorOf | Done | | | | | | getChildren | In progress | | | | | | setChildren | In progress | | | | | | updateChildren | In progress | | | | | | filterChildren | In progress | | | | | | deleteChildren | In progress | | | | | | getCommonAncestor | In progress | | | | |
Also need something to iterate starting from a child iterable with no root node
| Typedef | Plan | Document | Examples | ------- | ---- | -------- | -------- | | InputFunction | Done | Done | Done | | NodePath | Done | Done | Done | | ChildPath | Done | Done | Done | | mapper | Done | Done | | | updater | Done | Done | | | reducer | Done | Done | | | filter | Done | Done | |
- Show reverse() or sortBy() examples when using deeply
- Try adding @externals for JS and Immutable, try grouping under different modules
- Allow functions to be passsed into ChildPath and modify all affected library functions so they can use it
- Add a 'thinking in trees and nodes' style intro
- Add documentation about deep data manipulation pitfalls, avoiding killing children
- Add build process with Travis
- Add coverage reporting and build failing
- Add shields for tests, version numbers, coverage
- Fix table styles on index page, remove horrible purple colour