0.1.2 • Published 9 years ago
json-compile v0.1.2
json-compile
Compiles references in given json file into single structure
Overview
Its about simple inheritance of json configs in your applications. It simply finds out all $ref
keys inside given file
and replaces them with referenced values. First will be replaced outer references (to outer files), second - inner references
(in started with #
symbol).
Example
Imagine you have base config and his extension.
// inside /dir/base/extension.json
{
"$ref": "../base.json",
"host": "127.0.0.1",
"port": "8080"
}
// inside /dir/base.json
{
"name": "json-compile"
}
Inside your program you could get compiled config with json-compile
module:
// inside your program
var compile = require("json-compile"),
path = require("path");
compile(path.resolve(__dirname, "./dir/base/extension.json"), function(err, config) {
console.log(typeof config); // object
console.log(config); // { "host": "127.0.0.1", "port": "8080", "name": "json-compile" }
});
API
compile(file, options, callback)
file
Type: String
Path to input json. Could be absolute, or relative. If relative - then basedir
property in options must be set.
options
Type: Object
Options.
Property | Necessary | Type | Description |
---|---|---|---|
basedir | no | string | Path to directory, where to find for relatively given path. |
loader | no | Function | Loader for output references. Default uses fs module. Has signature (path, callback) , where callback is callback(err, contents) |
merge | no | boolean | Merge or not properties, if they are Object . Default to true . |
callback
Has signature (err, result)
where err
could be a null
or instance of Error
, and result is an Object
with compiled json.