@atomist/sdm-pack-aspect
Version:
an Atomist SDM Extension Pack for visualizing drift across an organization
36 lines • 1.78 kB
TypeScript
import { PushImpactListenerInvocation } from "@atomist/sdm";
import { Project } from "@atomist/automation-client";
import { Aspect, FP } from "@atomist/sdm-pack-fingerprint";
import { Scorer, ScorerReturn, Scores, ScoreWeightings, WeightedScore } from "../../scorer/Score";
import { RepositoryScorer, RepoToScore } from "../AspectRegistry";
/**
* Aspect that scores pushes or projects
*/
export declare type ScoredAspect = Aspect<WeightedScore>;
export declare function isScoredAspectFingerprint(fp: FP): fp is FP<WeightedScore>;
/**
* Score the project and the push
*/
export interface PushScorer extends Scorer {
scorePush: (pili: PushImpactListenerInvocation) => Promise<ScorerReturn>;
}
/**
* Default properties to configure ScoredAspect
*/
export declare const ScoredAspectDefaults: Pick<ScoredAspect, "stats" | "toDisplayableFingerprint">;
/**
* Scorer that works with project content
*/
export interface ProjectScorer extends Scorer {
scoreProject: (p: Project) => Promise<ScorerReturn>;
}
/**
* Scorer that can be used in an aspect
*/
export declare type AspectCompatibleScorer = RepositoryScorer | ProjectScorer | PushScorer;
export declare function isRepositoryScorer(s: AspectCompatibleScorer): s is RepositoryScorer;
export declare function isPushScorer(scorer: AspectCompatibleScorer): scorer is PushScorer;
export declare function isPushOrProjectScorer(scorer: AspectCompatibleScorer): scorer is (PushScorer | ProjectScorer);
export declare function fingerprintScoresFor(repositoryScorers: RepositoryScorer[], toScore: RepoToScore): Promise<Scores>;
export declare function emitScoringAspect(name: string, scorers: AspectCompatibleScorer[], scoreWeightings: ScoreWeightings): ScoredAspect | undefined;
//# sourceMappingURL=ScoredAspect.d.ts.map