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