UNPKG

@atomist/sdm-pack-aspect

Version:

an Atomist SDM Extension Pack for visualizing drift across an organization

55 lines 1.93 kB
import { FP } from "@atomist/sdm-pack-fingerprints"; /** * Flag for an undesirable usage */ export interface ProblemUsage { readonly severity: "info" | "warn" | "error"; /** * Authority this comes from */ readonly authority: string; /** * Message to the user */ readonly description?: string; /** * URL associated with this if one is available. * For example, a security advisory. */ readonly url?: string; readonly fingerprint: FP; } /** * Persistent store of problem fingerprints */ export interface ProblemStore { noteProblem(workspaceId: string, fingerprintId: string): Promise<void>; storeProblemFingerprint(workspaceId: string, problem: ProblemUsage): Promise<void>; loadProblems(workspaceId: string): Promise<ProblemUsage[]>; } /** * Check to see if the given fingerprint is undesirable in the given workspace. * Enables code to be used along with fingerprints persisted in ProblemStore. */ export declare type UndesirableUsageCheck = (fp: FP, workspaceId: string) => ProblemUsage | undefined; /** * Type that can flag an issue with a fingerprint. * This is a programmatic complement to ProblemStore. */ export interface UndesirableUsageChecker { check: UndesirableUsageCheck; } /** * UndesirableUsageChecker from a list * @param {(fp: FP) => Promise<Flag[]>} checkers * @return {UndesirableUsageChecker} */ export declare function chainUndesirableUsageCheckers(...checkers: UndesirableUsageCheck[]): UndesirableUsageChecker; /** * Undesirable usageChecker backed by a ProblemStore for the given workspace * @param {ProblemStore} problemStore * @param {string} workspaceId * @return {Promise<UndesirableUsageChecker>} */ export declare function problemStoreBackedUndesirableUsageCheckerFor(problemStore: ProblemStore, workspaceId: string): Promise<UndesirableUsageChecker>; //# sourceMappingURL=ProblemStore.d.ts.map