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