1.0.4 • Published 7 years ago
jsonbuilddo v1.0.4
Table of Contents
jsonBuildDo
Supports a predefined configuration that extends JSONDo to manage JSON objects in a dynamicly
Meta
- version: 1.0.0
- author: Justin Mathews
configType
Type defining JSON management instructions
Parameters
jsonConfigJSON Object containing all values neededjsonConfig.typeString type Object type that will be found in sourceObject 'static', 'json', 'function'jsonConfig.sourceObjectany Object type passed, must match that defined by "type". Except when type = "static", then the object will be returned as isjsonConfig.sourcePath(String | Array | Undefined) This will either be a (type = 'json') dot '.' delimited string mapping the path to the value (type = 'function') an Array of parameters to pass to the function or Undefined (type = 'static') Undefined - value will be ignoredjsonConfig.newPathString dot '.' delimited string mapping the path to the value
getValue
- See: configType
Returns a value based on the configuration passed. This can a static value or one collected from a JSON object or function call
Parameters
typesourceObjectsourcePathjsonConfigJSON Object containing all values neededjsonConfig.typeString type Object type that will be found in sourceObject 'static', 'json', 'function'jsonConfig.sourceObjectany Object type passed, must match that defined by "type". Except when type = "static", then the object will be returned as isjsonConfig.sourcePath(String | Array | Undefined) This will either be a (type = 'json') dot '.' delimited string mapping the path to the value (type = 'function') an Array of parameters to pass to the function or Undefined (type = 'static') Undefined - value will be ignored
Examples
Retrieve a STATIC value
getValue('static', 'some value', undefined) => 'some value' *
getValue('static', 'some value') => 'some value'Retrieve a value from JSON
getValue('json', {a:{b:1,c:{d:'value here'}}}, 'a.c.d') => 'value here'Retrieve value from function call
getValue('function', function bob(){ return 'a value from funtion'}, undefined) => 'a value from funtion'
getValue('function', (input)=>{ return input + 10}, [1]) => 11
getValue('function', (input1, input2)=>{ return input1 + input2}, [1, 100]) => 101Pass configuration in as JSON object instead of individual parameters
let json = {type: 'static', sourceObject: 'parameters passed in json', sourcePath: undefined}
getValue(json) => 'parameters passed in json'Returns any
buildBranch
- See: configType
Creates a new JSON object based using a dot '.' delimited String and a value is assign after having retrieved it from the location passed
Parameters
jsonConfigJSON A combination of TYPE configType with an additional field "newPath"
Examples
Using the same process as shown in getValue, an additional step will be added to define and create a nw JSON object with the value provided
let jsonConfig = {type: 'static', sourceObject: 42, newPath: 'answer.to.life.is'}
buildBranch(jsonConfig) => {answer: {to: {life: {is: 42}}}}Same as above, but the parameters are passed seperately
buildBranch('static', 42, undefined, 'answer.to.life.is') => {answer: {to: {life: {is: 42}}}}Returns JSON