jsondo

JSON object management utility

Usage no npm install needed!

<script type="module">
  import jsondo from 'https://cdn.skypack.dev/jsondo';
</script>

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 value
  • keyMap 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 created
  • value 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 structure
  • cb 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 desired
  • subLevelName 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 structure
  • cb 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 desired
  • subLevelName String Name of element that leads to the next layer.

Returns JSON JSON object with the desired changes