solver
This library is a small utility that it's used by simple-config-loader to solve dependencies in configuration files.
It will resolve an object's templated properties which might reference other properties in the same object or in a provided context object.
Templated properties are strings that follow the syntax ${property}
. Properties can be nested within objects, ${property.name}
.
You reference objects or properties by their keypath. A keypath is a string representing the location of a piece of data.
var data = user: name: 'Peperone' address: city: 'New York' ;
You can reference strings or objects using two different syntaxes:
- Object interpolation:
@{user}
or@{user.address}
- String interpolation:
${user.name}
or${user.address.city}
Getting Started
Install the module with: npm install solver
Examples
Check out the example directory in the github repository.
A quick example:
var Solver = ; var context = nick: 'Peperone' greeting: 'Hello' user: name: 'Pepe' address: city: 'New York' ; var re = ; var output = re; console; //Hello Pepe! Still living in New York?console; // Peperone, how are you? console; // { name: 'Pepe', address: { city: 'New York' } }
Documentation
To see how it's being used, check simple-config-loader.
License
Copyright (c) 2015 goliatone
Licensed under the MIT license.