UNPKG

terraform-plus

Version:
62 lines (53 loc) 1.06 kB
'use strict'; const path = require('path'); const PlanParser = require('tf-parse').Plan; /** * Terraform plan */ class Plan { /** * @param {string} path * @param {string} output */ constructor(path, output) { this._path = path; this._output = output; this._diff = new PlanParser().parse(this.output); } /** * @returns {string} */ get path() { return this._path; } /** * @returns {string} */ get dir() { return path.dirname(this._path); } /** * @returns {string} */ get output() { return this._output; } /** * @returns {*} */ get diff() { return this._diff; } /** * @returns {boolean} */ get changed() { return !(Object.keys(this._diff.mod.prev).length <= 0 && Object.keys(this._diff.mod.next).length <= 0 && Object.keys(this._diff.rep.prev).length <= 0 && Object.keys(this._diff.rep.next).length <= 0 && Object.keys(this._diff.add).length <= 0 && Object.keys(this._diff.del).length <= 0); } } module.exports = Plan;