"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;