diff options
author | Samy Pesse <samypesse@gmail.com> | 2016-04-26 17:02:59 +0200 |
---|---|---|
committer | Samy Pesse <samypesse@gmail.com> | 2016-04-26 17:02:59 +0200 |
commit | 8bac111acf121adf03cc2dff09bd0a1ce8cea19b (patch) | |
tree | e568a585c6ac78b05ff86044fb589edbd778b43d /lib/api/encodeConfig.js | |
parent | 7a46d3b4977bcd1e115324880a409e88032899a7 (diff) | |
download | gitbook-8bac111acf121adf03cc2dff09bd0a1ce8cea19b.zip gitbook-8bac111acf121adf03cc2dff09bd0a1ce8cea19b.tar.gz gitbook-8bac111acf121adf03cc2dff09bd0a1ce8cea19b.tar.bz2 |
Add base for plugin JS api
Diffstat (limited to 'lib/api/encodeConfig.js')
-rw-r--r-- | lib/api/encodeConfig.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/api/encodeConfig.js b/lib/api/encodeConfig.js new file mode 100644 index 0000000..d83f81a --- /dev/null +++ b/lib/api/encodeConfig.js @@ -0,0 +1,30 @@ +var objectPath = require('object-path'); +var deprecate = require('./deprecate'); + +/** + Encode a config object into a JS config api + + @param {Output} output + @param {Config} config + @return {Object} +*/ +function encodeConfig(output, config) { + var result = { + values: config.getValues().toJS(), + + get: function(key, defaultValue) { + return objectPath.get(result.values, key, defaultValue); + }, + + set: function(key, value) { + return objectPath.set(result.values, key, value); + } + }; + + deprecate.field(output, 'config.options', result, 'options', + result.values, '"config.options" property is deprecated, use "config.get(key)" instead'); + + return result; +} + +module.exports = encodeConfig; |