@atomist/rug
Version:
TypeScript model for Atomist Rugs, see http://docs.atomist.com/
85 lines (73 loc) • 1.92 kB
text/typescript
/*
* Copyright 2015-2017 Atomist Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { TreeNode, GraphNode, FormatInfo, PathExpressionEngine } from "@atomist/rug/tree/PathExpression";
import { ProjectContext } from "@atomist/rug/operations/ProjectEditor";
import { FileImpact } from "./FileImpact";
import { Project } from "./Project";
export { Impact };
/**
* Represents an impact of a change
*/
interface Impact extends TreeNode {
/**
* Project after impact
*
* @property {Project} after
*/
readonly after: Project;
/**
* Project before impact
*
* @property {Project} before
*/
readonly before: Project;
/**
* Virtual project composed of files changed in this commit
*
* @property {Project} changed
*/
readonly changed: Project;
/**
* Children
*
* @returns {TreeNode[]}
*/
children(): TreeNode[];
/**
* File impacts in this commit
*
* @property {FileImpact[]} files
*/
readonly files: FileImpact[];
/**
* Tags attached to the node
*
* @returns {string[]}
*/
nodeTags(): string[];
/**
* Tags attached to the node
*
* @returns {string[]}
*/
nodeType(): string[];
/**
* Parent of the impact
*
* @property {TreeNode} parent
*/
readonly parent: TreeNode;
}