@reactionable/cli
Version:
34 lines • 1.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TomlFile = void 0;
const toml_1 = require("@iarna/toml");
const deepmerge_1 = require("deepmerge");
const StdFile_1 = require("./StdFile");
class TomlFile extends StdFile_1.StdFile {
parseContent(content) {
content = super.parseContent(content);
this.data = (0, toml_1.parse)(content);
return content;
}
getContent() {
return (0, toml_1.stringify)(this.data || {});
}
appendContent(content) {
return this.appendData((0, toml_1.parse)(content));
}
appendData(data) {
const overwriteMerge = (destinationArray, sourceArray) => sourceArray;
const newData = (0, deepmerge_1.all)([(this.data || {}), data], {
arrayMerge: overwriteMerge,
});
return this.setContent((0, toml_1.stringify)(newData));
}
getData(property) {
if (!this.data) {
return this.data;
}
return property ? this.data[property] : this.data;
}
}
exports.TomlFile = TomlFile;
//# sourceMappingURL=TomlFile.js.map