| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | "use strict";Object.defineProperty(exports, "__esModule", { value: true });var optionsManager = require("./managers/options");var taskManager = require("./managers/tasks");var reader_async_1 = require("./providers/reader-async");var reader_stream_1 = require("./providers/reader-stream");var reader_sync_1 = require("./providers/reader-sync");var arrayUtils = require("./utils/array");var streamUtils = require("./utils/stream");/** * Synchronous API. */function sync(source, opts) {    assertPatternsInput(source);    var works = getWorks(source, reader_sync_1.default, opts);    return arrayUtils.flatten(works);}exports.sync = sync;/** * Asynchronous API. */function async(source, opts) {    try {        assertPatternsInput(source);    }    catch (error) {        return Promise.reject(error);    }    var works = getWorks(source, reader_async_1.default, opts);    return Promise.all(works).then(arrayUtils.flatten);}exports.async = async;/** * Stream API. */function stream(source, opts) {    assertPatternsInput(source);    var works = getWorks(source, reader_stream_1.default, opts);    return streamUtils.merge(works);}exports.stream = stream;/** * Return a set of tasks based on provided patterns. */function generateTasks(source, opts) {    assertPatternsInput(source);    var patterns = [].concat(source);    var options = optionsManager.prepare(opts);    return taskManager.generate(patterns, options);}exports.generateTasks = generateTasks;/** * Returns a set of works based on provided tasks and class of the reader. */function getWorks(source, _Reader, opts) {    var patterns = [].concat(source);    var options = optionsManager.prepare(opts);    var tasks = taskManager.generate(patterns, options);    var reader = new _Reader(options);    return tasks.map(reader.read, reader);}function assertPatternsInput(source) {    if ([].concat(source).every(isString)) {        return;    }    throw new TypeError('Patterns must be a string or an array of strings');}function isString(source) {    /* tslint:disable-next-line strict-type-predicates */    return typeof source === 'string';}
 |