function getSourceCodeOfFiles(patterns, providedOptions, providedCallback) {
    const sourceCodes = {};
    const globPatternsList = typeof patterns === "string" ? [patterns] : patterns;
    let options, callback;

    const defaultOptions = Object.assign({}, baseDefaultOptions, { cwd: process.cwd() });

    if (typeof providedOptions === "undefined") {
        options = defaultOptions;
        callback = null;
    } else if (typeof providedOptions === "function") {
        callback = providedOptions;
        options = defaultOptions;
    } else if (typeof providedOptions === "object") {
        options = Object.assign({}, defaultOptions, providedOptions);
        callback = providedCallback;
    }
    debug("constructed options:", options);

    const filenames = globUtils.listFilesToProcess(globPatternsList, options)
        .filter(fileInfo => !fileInfo.ignored)
        .reduce((files, fileInfo) => files.concat(fileInfo.filename), []);

    if (filenames.length === 0) {
        debug(`Did not find any files matching pattern(s): ${globPatternsList}`);
    }
    filenames.forEach(filename => {
        const sourceCode = getSourceCodeOfFile(filename, options);

        if (sourceCode) {
            debug("got sourceCode of", filename);
            sourceCodes[filename] = sourceCode;
        }
        if (callback) {
            callback(filenames.length); // eslint-disable-line callback-return
        }
    });
    return sourceCodes;
}
function getSourceCodeOfFiles(patterns, providedOptions, providedCallback) {
    const sourceCodes = {};
    const globPatternsList = typeof patterns === "string" ? [patterns] : patterns;
    let options, callback;

    const defaultOptions = Object.assign({}, baseDefaultOptions, { cwd: process.cwd() });

    if (typeof providedOptions === "undefined") {
        options = defaultOptions;
        callback = null;
    } else if (typeof providedOptions === "function") {
        callback = providedOptions;
        options = defaultOptions;
    } else if (typeof providedOptions === "object") {
        options = Object.assign({}, defaultOptions, providedOptions);
        callback = providedCallback;
    }
    debug("constructed options:", options);

    const filenames = globUtils.listFilesToProcess(globPatternsList, options)
        .filter(fileInfo => !fileInfo.ignored)
        .reduce((files, fileInfo) => files.concat(fileInfo.filename), []);

    if (filenames.length === 0) {
        debug(`Did not find any files matching pattern(s): ${globPatternsList}`);
    }
    filenames.forEach(filename => {
        const sourceCode = getSourceCodeOfFile(filename, options);

        if (sourceCode) {
            debug("got sourceCode of", filename);
            sourceCodes[filename] = sourceCode;
        }
        if (callback) {
            callback(filenames.length); // eslint-disable-line callback-return
        }
    });
    return sourceCodes;
}
function getSourceCodeOfFiles ( patterns , providedOptions , providedCallback ) { const sourceCodes = { } ; const globPatternsList = typeof patterns === "string" ? [ patterns ] : patterns ; let options , callback ; const defaultOptions = Object . assign ( { } , baseDefaultOptions , { cwd : process . cwd ( ) } ) ; if ( typeof providedOptions === "undefined" ) { options = defaultOptions ; callback = null ; } else if ( typeof providedOptions === "function" ) { callback = providedOptions ; options = defaultOptions ; } else if ( typeof providedOptions === "object" ) { options = Object . assign ( { } , defaultOptions , providedOptions ) ; callback = providedCallback ; } debug ( "constructed options:" , options ) ; const filenames = globUtils . listFilesToProcess ( globPatternsList , options ) . filter ( fileInfo => ! fileInfo . ignored ) . reduce ( ( files , fileInfo ) => files . concat ( fileInfo . filename ) , [ ] ) ; if ( filenames . length === 0 ) { debug ( ` ${ globPatternsList } ` ) ; } filenames . forEach ( filename => { const sourceCode = getSourceCodeOfFile ( filename , options ) ; if ( sourceCode ) { debug ( "got sourceCode of" , filename ) ; sourceCodes [ filename ] = sourceCode ; } if ( callback ) { callback ( filenames . length ) ; // eslint-disable-line callback-return } } ) ; return sourceCodes ; }
This callback is used to measure execution status in a progress bar
@callback progressCallback
@param {number} The total number of times the callback will be called.
 
Gets the SourceCode of a single file, or set of files.
@param {string[]|string} patterns A filename, directory name, or glob, or an array of them
@param {Object} [providedOptions] A CLIEngine options object. If not provided, the default cli options will be used.
@param {progressCallback} [providedCallback] Callback for reporting execution status
@returns {Object} The SourceCode of all processed files.
This callback is used to measure execution status in a progress bar
Get sourceCode of files matching a glob pattern