1.3.0 • Published 8 years ago

json-sub v1.3.0

Weekly downloads
29
License
MIT
Repository
github
Last release
8 years ago

#jsonSub Lightweight module for substitution in json object. Use {{placeholder}} (double curly braces) to define your placeholder in the json object and the variables object.

Option : memberMode {Boolean} Member mode allows to replace object member without using the {{}} of left part of the variables

Install

npm install json-sub

Usage Example

	var jsonSub = require('json-sub')();
	
	var json = [{
		"method" : "get",
		"path" : "/reports/{{campaign_id}}/members",
	},
	{
		"method" : "get",
		"path" : "/city/{{store_id}}/turnover",
	}];

	var variables = {
		'{{campaign_id}}' : 'mc1234567d',
		'{{store_id}}' : 76890
	}
	
	/** Variables in memberMode
	var variables = {
		'campaign_id' : 'mc1234567d',
		'store_id' : 76890
	}
	**/
	
	// Substitution
	jsonSub.substitute(json, variables, function(result) {
		console.log(result);
	});
	
	/** With memberMode : true
	jsonSub.substitute(json, variables, true, function(result) {
		console.log(result);
	});
	**/
	
	
	// OUTPUTS
	/* [
		{ method: 'get', path: '/reports/mc1234567d/members' },
		{ method: 'get', path: '/city/76890/turnover' }
	] */

Synchronous Method

	var jsonSub = require('json-sub')();
	
	// In Synchronous mode
	var result = jsonSub.substituteSync(json, variables);
	
	/** With memberMode : true
	var result = jsonSub.substituteSync(json, variables, true);
	**/
	

Addresser Method

	var jsonSub = require('json-sub')();
	
	var DataModel = {
		reportOne : "report.memberOne",
		reportTwo : "report.memberTwo",
		winner : "report.winner.one"
	};

	var variables = {
		report : {
			memberOne: 'abcd123',
			memberTwo: 'efg456',
			winners : {
				one : 'Alex',
				two : 'Norman'
			}
		}	
	};
	
	var add = jsonSub.addresser(DataModel, variables);
	
	// OUTPUTS
	/*
	{reportOne : 'abcd123', reportTwo: 'efg456', winner: 'Alex'}
	*/