dry-ts
Version:
Find candidate duplicate TypeScript code by comparing normalized AST structure.
25 lines (24 loc) • 1.06 kB
TypeScript
import ts from "typescript";
export interface Entry {
readonly file: string;
readonly startLine: number;
readonly endLine: number;
readonly nodes: number;
readonly fingerprints: Float64Array;
readonly kind: string;
readonly name: string | null;
}
export declare class FileScanner {
private readonly normalizer;
private readonly interner;
private readonly markerHashes;
scanFiles(files: readonly string[], minLines: number, minNodes?: number, excludeKinds?: ReadonlySet<ts.SyntaxKind>, minDistinctKinds?: number, excludeTaggedTemplates?: boolean): Entry[];
scanFile(file: string, minLines: number, minNodes?: number, excludeKinds?: ReadonlySet<ts.SyntaxKind>, minDistinctKinds?: number, excludeTaggedTemplates?: boolean): Entry[];
private markerHash;
}
export declare const candidateKindNames: readonly string[];
export declare const candidateKindDescriptions: readonly {
name: string;
blurb: string;
}[];
export declare function resolveExcludeKinds(names: readonly string[]): ReadonlySet<ts.SyntaxKind>;