27 lines
1.3 KiB
JavaScript
27 lines
1.3 KiB
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const object_path_1 = __importDefault(require("object-path"));
|
|
const deprecate_1 = __importDefault(require("./deprecate"));
|
|
/**
|
|
Encode a config object into a JS config api
|
|
*/
|
|
function encodeConfig(output, config) {
|
|
const result = {
|
|
values: config.getValues().toJS(),
|
|
get: function (key, defaultValue) {
|
|
return object_path_1.default.get(result.values, key, defaultValue);
|
|
},
|
|
set: function (key, value) {
|
|
return object_path_1.default.set(result.values, key, value);
|
|
}
|
|
};
|
|
deprecate_1.default.field(output, "config.options", result, "options", result.values, '"config.options" property is deprecated, use "config.get(key)" instead');
|
|
deprecate_1.default.field(output, "config.options.generator", result.values, "generator", output.getGenerator(), '"options.generator" property is deprecated, use "output.name" instead');
|
|
deprecate_1.default.field(output, "config.options.generator", result.values, "output", output.getRoot(), '"options.output" property is deprecated, use "output.root()" instead');
|
|
return result;
|
|
}
|
|
exports.default = encodeConfig;
|