jscpd
Version:
Copy/paste detector for programming code, support JavaScript, CoffeeScript, PHP, Ruby, Python, Less, Go, Java, Yaml, C#, C++, C, Puppet, Twig languages
32 lines (31 loc) • 1.23 kB
TypeScript
import EventEmitter = require('eventemitter3');
import { EntryItem } from 'fast-glob/out/types/entries';
import { IClone } from './interfaces/clone.interface';
import { IHook } from './interfaces/hook.interface';
import { IOptions } from './interfaces/options.interface';
import { ISourceOptions } from './interfaces/source-options.interface';
import { StoreManager } from './stores/stores-manager';
export declare function getStoreManager(): StoreManager<any>;
export declare class JSCPD {
options: IOptions;
clones: IClone[];
files: EntryItem[];
private readonly eventEmitter;
private detector;
private _options;
private _files;
private _clones;
private _preHooks;
private _postHooks;
constructor(options?: IOptions, eventEmitter?: EventEmitter);
attachPreHook(hook: IHook): void;
attachPostHook(hook: IHook): void;
detect(code: string, options: ISourceOptions): Promise<IClone[]>;
detectInFiles(pathToFiles?: string[]): Promise<IClone[]>;
on(event: string, fn: EventEmitter.ListenerFn, context?: any): void;
private _detectSync;
private initializeReporters;
private initializeListeners;
private _detectionFinished;
private generateReports;
}