UNPKG

@atomist/sdm-pack-fingerprints

Version:

an Atomist SDM Extension Pack for fingerprinting code

24 lines (23 loc) 1.26 kB
import { Aspect, BaseAspect, FingerprintSelector, FP } from "./Aspect"; /** * Aspect derived from existing fingerprints. * Surfaces as a single fingerprint. Implementations must * also support atomic application. */ export interface AtomicAspect<FPI extends FP = FP> extends BaseAspect<FPI> { /** * Function to extract fingerprint(s) from this project */ consolidate: (fps: FP[]) => Promise<FPI>; } export declare function isAtomicAspect(aspect: BaseAspect): aspect is AtomicAspect; /** * Create a composite aspect from the given other aspects or extractors. * Will use a single fingerprint that is made of many others. Ordering is significant: * atomic aspects can only be computed after normal fingerprints have been calculated. * @param aspectData identifying data of new composite fingerprint * @param narrower function to select fingerprints from the various aspects that we are interested in * @param aspect0 first aspect to combine * @param aspects other aspects */ export declare function atomicAspect(aspectData: Pick<Aspect, "displayName" | "summary" | "comparators" | "toDisplayableFingerprint" | "toDisplayableFingerprintName" | "name">, narrower: FingerprintSelector, aspect0: Aspect, ...aspects: Aspect[]): AtomicAspect;