UNPKG

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
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; }