immutable-recursive
![github-issues](https://img.shields.io/github/issues/dxinteractive/immutable-recursive.svg)
Extra functions for use with Immutable.js to better handle tree structures, nested data and recursive iteration.
Completely pre-alpha at this point, won't be long until this is ready for public. Hold on to your hats, anything could change in the near future.
Github | Preliminary documentation
Development tasks
Function | Plan | Write | Tests | Document | Examples |
---|
deepGet | Done | Done | Done | Done | |
deepGetChildren | Done | Done | Done | Done | |
deepSet | Done | Done | | | |
deepSetChildren | Done | Done | | | |
deepUpdate | | | | | |
deepUpdateChildren | | | | | |
deepDelete | Done | | | | |
deepDeleteChildren | Done | | | | |
deepDeleteCollapse | In progress | | | | |
deepMap | Done | Done | | In progress | |
deepMapLeaves | Done | Done | | In progress | |
deepMapParents | Done | Done | | In progress | |
deepMapOutward | In progress | | | | |
deepMapParentsOutward | In progress | | | | |
deepReduce | In progress | | | | |
deepFilter | In progress | | | | |
deepFilterCollapse | In progress | | | | |
deepSortBy | Done | In progress | | | |
deconstruct | Done | In progress | | | |
reconstruct | In progress | | | | |
flatCollapse | | | | | |
flatPrune | | | | | |
asList | Done | Done | Done | Done | Done |
nodePathToKeys | Done | Done | Done | Done | Done |
nodePathToKeysChildren | Done | Done | Done | Done | Done |
isLeaf | Done | Done | Done | Done | Done |
isSiblingOf | Done | | | | |
isParentOf | Done | | | | |
isAncestorOf | Done | | | | |
commonAncestor | | | | | |
Typedef | Plan | Document | Examples |
---|
InputFunction | Done | Done | Done |
NodePath | Done | Done | Done |
ChildPath | Done | Done | Done |
mapper | Done | Done | |
updater | Done | In progress | |
reducer | Done | In progress | |
filter | Done | In progress | |
- Reconsider paramaters passed to mappers / updaters etc. and which children, parents or ancestors should be accessible
- 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