jsii-diff
Version:
Assembly comparison for jsii
51 lines • 1.65 kB
TypeScript
import { Stability } from '@jsii/spec';
import * as reflect from 'jsii-reflect';
export interface ComparisonOptions {
/**
* Whether to treat API elements as experimental if unmarked.
*
* @default Treat as stable
*/
defaultExperimental?: boolean;
/**
* Mapping old FQNs to new ones
*/
fqnRemapping?: Record<string, string>;
}
export interface ComparisonContext extends ComparisonOptions {
/**
* Where to report errors
*/
mismatches: Mismatches;
}
export interface ApiMismatch {
message: string;
violationKey: string;
stability: Stability;
}
export type ApiElement = reflect.Type | reflect.TypeMember | reflect.EnumMember;
export interface ReportOptions {
ruleKey: string;
violator: ApiElement;
message: string;
}
export interface IReport {
report(options: ReportOptions): void;
withMotivation(reason: string): IReport;
}
export declare class Mismatches implements IReport {
readonly mismatches: ApiMismatch[];
private readonly defaultStability;
constructor(opts: {
defaultStability: Stability;
});
report(options: ReportOptions): void;
messages(): Generator<string, void, unknown>;
get count(): number;
filter(pred: (x: ApiMismatch) => boolean): Mismatches;
withMotivation(motivation: string): IReport;
}
export declare function apiElementIdentifier(apiElement: ApiElement): string;
export declare function describeType(type: reflect.Type): "ENUM" | "CLASS" | "IFACE" | "TYPE";
export declare function describeInterfaceType(dataType: boolean): "struct" | "regular interface";
//# sourceMappingURL=types.d.ts.map