immutable-recursive
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.
Preliminary documentation
Development tasks
Function | Plan | Write | Tests | Document | Examples |
---|
deepGet | Done | Done | | | |
deepGetChildren | 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 | | | | |
deepFilterCollapse | In progress | | | | |
deepSortBy | Done | In progress | | | |
deconstruct | Done | In progress | | | |
reconstruct | In progress | | | | |
flatCollapse | | | | | |
flatPrune | | | | | |
asList | Done | Done | Done | Done | |
isLeaf | Done | Done | Done | Done | |
keysToPath | Done | Done | Done | Done | |
keysToPathChildren | Done | Done | Done | Done | |
isSiblingOf | Done | | | | |
isParentOf | Done | | | | |
isAncestorOf | Done | | | | |
commonAncestorOf | | | | | |
inputFunction (typedef) | Done | N/A | N/A | Done | |
keys (typedef) | Done | N/A | N/A | In progress | |
childPath (typedef) | Done | N/A | N/A | In progress | |
mapper (typedef) | Done | N/A | N/A | In progress | |
updater (typedef) | Done | N/A | N/A | In progress | |
reducer (typedef) | Done | N/A | N/A | In progress | |
filter (typedef) | Done | N/A | N/A | In progress | |
- Reconsider paramaters passed to mappers / updaters etc. and which children, parents or ancestors should be accessible
- Add a 'thinking in trees and nodes' style intro
- Add documentation about partially applied function benefits
- 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
- Change to minami, fix table styles on index page