terraform-plus
Version:
Terraform Plus
56 lines (47 loc) • 765 B
JavaScript
const fse = require('fs-extra');
const path = require('path');
/**
* Terraform state
*/
class State {
/**
* @param {string} path
* @param {string} backupPath
*/
constructor(path, backupPath) {
this._path = path;
this._backupPath = backupPath;
}
/**
* @returns {string}
*/
get path() {
return this._path;
}
/**
* @returns {string}
*/
get dir() {
return path.dirname(this._path);
}
/**
* @returns {string}
*/
get backupPath() {
return this._backupPath;
}
/**
* @returns {Promise}
*/
state() {
return fse.readJson(this._path);
}
/**
* @returns {Promise}
*/
backupState() {
return fse.readJson(this._backupPath);
}
}
module.exports = State;
;