README
Table of Contents
JSONDo
Prodives a JSON configuration module that allows simply creation and lookup functionality through dot notation
Meta
- version: 2.0.0
- author: Justin Mathews
getValue
parses source object and retrieves value if exists
Parameters
sourceJSON
JSON JSON object containing valuekeyMap
string Dot '.' delimited string mapping location of value in the source object
Returns any
Meta
- author: Justin Mathews
buildBranch
Creates JSON and assigns value
Parameters
keyMap
String Dot '.' delimited string that maps the JSON hierarchy to by createdvalue
any Object assigned to the final JSON element
Examples
buildBranch('this.is.a.nested.value', 'example') => {this:{is:{a:{nested:{value: 'example'}}}}}
Returns JSON Single JSON branch
Meta
- author: Justin Mathews
mergeDeep
Merges multilevel JSON object to return a combined result.
Parameters
Examples
A simple merge tha will add an element to a nested JSON object and overwrite another where already exists
let source = {a:1, b:{c: 'not bob', d:{age: 42}}}
let newJson = {b:{c:'is bob', d:{sex:'male'}}}
mergeDeep(source, newJson) => {a:1, b:{c:'is bob', d:{age:42, sex:'male'}}}
Returns JSON Merged Objects
Meta
- author: Justin Mathews
crawlForward
Process crawls the JSON starting from the beginning moving to the end. The callback is executed at each layer
Parameters
config
JSON Object meeting TYPE configType structurecb
Function Anon function that will be executed for each layer of the JSON processed. Requires a single parameter to allow the current JSON layer to be passed. A "return" is niether required nor desiredsubLevelName
String Name of element that leads to the next layer.level
Number (undefined) Value sets the starting position of the hierarchy. This is primarily used by the process to pass the previous layer depth. Adds elemeent "level" If undefined, the hierarchy is not mapped
Returns JSON
crawlReverse
Process crawls the JSON starting from the end of each branch moving to the beginning. The callback is executed at each layer
Parameters
json
JSON Object meeting TYPE configType structurecb
Function Anon function that will be executed for each layer of the JSON processed. Requires a single parameter to allow the current JSON layer to be passed. A "return" is niether required nor desiredsubLevelName
String Name of element that leads to the next layer.
Returns JSON JSON object with the desired changes