UNPKG

@atomist/sdm-pack-aspect

Version:

an Atomist SDM Extension Pack for visualizing drift across an organization

36 lines 1.78 kB
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