@modern-js/plugin 2.0.0-beta.2 → 2.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/js/modern/farrow-pipeline/context.js +8 -10
  3. package/dist/js/modern/farrow-pipeline/counter.js +6 -8
  4. package/dist/js/modern/farrow-pipeline/index.js +1 -5
  5. package/dist/js/modern/farrow-pipeline/pipeline.js +37 -21
  6. package/dist/js/modern/index.js +1 -1
  7. package/dist/js/modern/manager/async.js +77 -38
  8. package/dist/js/modern/manager/index.js +1 -1
  9. package/dist/js/modern/manager/shared.js +20 -11
  10. package/dist/js/modern/manager/sync.js +80 -49
  11. package/dist/js/modern/utils/pluginDagSort.js +28 -21
  12. package/dist/js/modern/waterfall/async.js +63 -20
  13. package/dist/js/modern/waterfall/index.js +1 -1
  14. package/dist/js/modern/waterfall/sync.js +35 -18
  15. package/dist/js/modern/workflow/async.js +59 -17
  16. package/dist/js/modern/workflow/index.js +1 -1
  17. package/dist/js/modern/workflow/parallel.js +53 -11
  18. package/dist/js/modern/workflow/sync.js +30 -12
  19. package/dist/js/node/farrow-pipeline/context.js +25 -15
  20. package/dist/js/node/farrow-pipeline/counter.js +23 -13
  21. package/dist/js/node/farrow-pipeline/index.js +17 -16
  22. package/dist/js/node/farrow-pipeline/pipeline.js +54 -30
  23. package/dist/js/node/index.js +20 -49
  24. package/dist/js/node/manager/async.js +92 -47
  25. package/dist/js/node/manager/index.js +19 -38
  26. package/dist/js/node/manager/shared.js +38 -21
  27. package/dist/js/node/manager/sync.js +92 -71
  28. package/dist/js/node/utils/pluginDagSort.js +45 -26
  29. package/dist/js/node/waterfall/async.js +79 -28
  30. package/dist/js/node/waterfall/index.js +18 -27
  31. package/dist/js/node/waterfall/sync.js +54 -27
  32. package/dist/js/node/workflow/async.js +75 -24
  33. package/dist/js/node/workflow/index.js +19 -38
  34. package/dist/js/node/workflow/parallel.js +72 -19
  35. package/dist/js/node/workflow/sync.js +49 -20
  36. package/dist/js/treeshaking/farrow-pipeline/context.js +30 -34
  37. package/dist/js/treeshaking/farrow-pipeline/counter.js +16 -20
  38. package/dist/js/treeshaking/farrow-pipeline/index.js +1 -5
  39. package/dist/js/treeshaking/farrow-pipeline/pipeline.js +106 -59
  40. package/dist/js/treeshaking/index.js +1 -1
  41. package/dist/js/treeshaking/manager/async.js +297 -115
  42. package/dist/js/treeshaking/manager/index.js +1 -1
  43. package/dist/js/treeshaking/manager/shared.js +29 -29
  44. package/dist/js/treeshaking/manager/sync.js +213 -168
  45. package/dist/js/treeshaking/manager/types.js +1 -0
  46. package/dist/js/treeshaking/utils/pluginDagSort.js +67 -72
  47. package/dist/js/treeshaking/waterfall/async.js +266 -68
  48. package/dist/js/treeshaking/waterfall/index.js +1 -1
  49. package/dist/js/treeshaking/waterfall/sync.js +122 -46
  50. package/dist/js/treeshaking/workflow/async.js +285 -84
  51. package/dist/js/treeshaking/workflow/index.js +1 -1
  52. package/dist/js/treeshaking/workflow/parallel.js +244 -49
  53. package/dist/js/treeshaking/workflow/sync.js +110 -32
  54. package/dist/types/manager/async.d.ts +9 -0
  55. package/dist/types/manager/sync.d.ts +9 -0
  56. package/dist/types/manager/types.d.ts +9 -2
  57. package/package.json +3 -3
@@ -1,65 +1,112 @@
1
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
4
- /**
5
- * modified from https://github.com/farrow-js/farrow/tree/master/packages/farrow-pipeline
6
- * license at https://github.com/farrow-js/farrow/blob/master/LICENSE
7
- */
1
+ function _arrayLikeToArray(arr, len) {
2
+ if (len == null || len > arr.length) len = arr.length;
3
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
+ return arr2;
5
+ }
6
+ function _arrayWithoutHoles(arr) {
7
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
8
+ }
9
+ function _defineProperty(obj, key, value) {
10
+ if (key in obj) {
11
+ Object.defineProperty(obj, key, {
12
+ value: value,
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true
16
+ });
17
+ } else {
18
+ obj[key] = value;
19
+ }
20
+ return obj;
21
+ }
22
+ function _iterableToArray(iter) {
23
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
24
+ }
25
+ function _nonIterableSpread() {
26
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
27
+ }
28
+ function _objectSpread(target) {
29
+ for(var i = 1; i < arguments.length; i++){
30
+ var source = arguments[i] != null ? arguments[i] : {};
31
+ var ownKeys = Object.keys(source);
32
+ if (typeof Object.getOwnPropertySymbols === "function") {
33
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
34
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
35
+ }));
36
+ }
37
+ ownKeys.forEach(function(key) {
38
+ _defineProperty(target, key, source[key]);
39
+ });
40
+ }
41
+ return target;
42
+ }
43
+ function _toConsumableArray(arr) {
44
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
45
+ }
46
+ function _unsupportedIterableToArray(o, minLen) {
47
+ if (!o) return;
48
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
49
+ var n = Object.prototype.toString.call(o).slice(8, -1);
50
+ if (n === "Object" && o.constructor) n = o.constructor.name;
51
+ if (n === "Map" || n === "Set") return Array.from(n);
52
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
53
+ }
8
54
  import { createContext } from "./context";
9
55
  import { createCounter } from "./counter";
10
- export { createContext };
11
- export var isPipeline = function isPipeline(input) {
12
- return Boolean(input === null || input === void 0 ? void 0 : input[PipelineSymbol]);
56
+ var isPipeline = function(input) {
57
+ return Boolean(input === null || input === void 0 ? void 0 : input[PipelineSymbol]);
13
58
  };
14
- var PipelineSymbol = Symbol["for"]('MODERN_PIPELINE');
15
- var getMiddleware = function getMiddleware(input) {
16
- if (typeof input === 'function') {
17
- return input;
18
- } else if (input && typeof input.middleware === 'function') {
19
- return input.middleware;
20
- }
21
- throw new Error("".concat(input, " is not a Middleware"));
22
- };
23
- export var createPipeline = function createPipeline() {
24
- var _pipeline;
25
- var middlewares = [];
26
- var use = function use() {
27
- for (var _len = arguments.length, inputs = new Array(_len), _key = 0; _key < _len; _key++) {
28
- inputs[_key] = arguments[_key];
59
+ var PipelineSymbol = Symbol.for("MODERN_PIPELINE");
60
+ var getMiddleware = function(input) {
61
+ if (typeof input === "function") {
62
+ return input;
63
+ } else if (input && typeof input.middleware === "function") {
64
+ return input.middleware;
29
65
  }
30
- middlewares.push.apply(middlewares, _toConsumableArray(inputs.map(getMiddleware)));
31
- return pipeline;
32
- };
33
- var createCurrentCounter = function createCurrentCounter(onLast) {
34
- return createCounter(function (index, input, next) {
35
- if (index >= middlewares.length) {
36
- if (onLast) {
37
- return onLast(input);
66
+ throw new Error("".concat(input, " is not a Middleware"));
67
+ };
68
+ var createPipeline = function() {
69
+ var middlewares = [];
70
+ var use = function() {
71
+ for(var _len = arguments.length, inputs = new Array(_len), _key = 0; _key < _len; _key++){
72
+ inputs[_key] = arguments[_key];
38
73
  }
39
- throw new Error("Expect returning a value, but all middlewares just calling next()");
40
- }
41
- return middlewares[index](input, next);
42
- });
43
- };
44
- var currentCounter = createCurrentCounter();
45
- var getCounter = function getCounter(options) {
46
- if (!options) {
47
- return currentCounter;
48
- }
49
- return createCurrentCounter(options === null || options === void 0 ? void 0 : options.onLast);
50
- };
51
- var run = function run(input, options) {
52
- return getCounter(options).start(input);
53
- };
54
- var middleware = function middleware(input, next) {
55
- return run(input, {
56
- onLast: next
57
- });
58
- };
59
- var pipeline = (_pipeline = {}, _defineProperty(_pipeline, PipelineSymbol, true), _defineProperty(_pipeline, "use", use), _defineProperty(_pipeline, "run", run), _defineProperty(_pipeline, "middleware", middleware), _pipeline);
60
- return pipeline;
74
+ var _middlewares;
75
+ (_middlewares = middlewares).push.apply(_middlewares, _toConsumableArray(inputs.map(getMiddleware)));
76
+ return pipeline;
77
+ };
78
+ var createCurrentCounter = function(onLast) {
79
+ return createCounter(function(index, input, next) {
80
+ if (index >= middlewares.length) {
81
+ if (onLast) {
82
+ return onLast(input);
83
+ }
84
+ throw new Error("Expect returning a value, but all middlewares just calling next()");
85
+ }
86
+ return middlewares[index](input, next);
87
+ });
88
+ };
89
+ var currentCounter = createCurrentCounter();
90
+ var getCounter = function(options) {
91
+ if (!options) {
92
+ return currentCounter;
93
+ }
94
+ return createCurrentCounter(options === null || options === void 0 ? void 0 : options.onLast);
95
+ };
96
+ var run = function(input, options) {
97
+ return getCounter(options).start(input);
98
+ };
99
+ var middleware = function(input, next) {
100
+ return run(input, {
101
+ onLast: next
102
+ });
103
+ };
104
+ var _obj;
105
+ var pipeline = (_obj = {}, _defineProperty(_obj, PipelineSymbol, true), _defineProperty(_obj, "use", use), _defineProperty(_obj, "run", run), _defineProperty(_obj, "middleware", middleware), _obj);
106
+ return pipeline;
107
+ };
108
+ var createAsyncPipeline = function() {
109
+ var pipeline = createPipeline();
110
+ return _objectSpread({}, pipeline);
61
111
  };
62
- export var createAsyncPipeline = function createAsyncPipeline() {
63
- var pipeline = createPipeline();
64
- return _objectSpread({}, pipeline);
65
- };
112
+ export { createAsyncPipeline, createContext, createPipeline, isPipeline };
@@ -1,4 +1,4 @@
1
1
  export * from "./farrow-pipeline";
2
2
  export * from "./waterfall";
3
3
  export * from "./workflow";
4
- export * from "./manager";
4
+ export * from "./manager";
@@ -1,124 +1,306 @@
1
- import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
2
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
- import { generateRunner, DEFAULT_OPTIONS } from "./sync";
5
- import { checkPlugins, isObject, hasOwnProperty, sortPlugins, includePlugin } from "./shared";
6
- var ASYNC_PLUGIN_SYMBOL = 'ASYNC_PLUGIN_SYMBOL';
7
- export var createAsyncManager = function createAsyncManager(hooks, api) {
8
- var index = 0;
9
- var runners;
10
- var currentHooks = _objectSpread({}, hooks);
11
- var useRunner = function useRunner() {
12
- return runners;
13
- };
14
- var registerHook = function registerHook(extraHooks) {
15
- currentHooks = _objectSpread(_objectSpread({}, extraHooks), currentHooks);
16
- };
17
- var isPlugin = function isPlugin(input) {
18
- return isObject(input) && hasOwnProperty(input, ASYNC_PLUGIN_SYMBOL) && input[ASYNC_PLUGIN_SYMBOL] === ASYNC_PLUGIN_SYMBOL;
19
- };
20
- var pluginAPI = _objectSpread(_objectSpread({}, api), {}, {
21
- useHookRunners: useRunner
22
- });
23
- var clone = function clone(overrideAPI) {
24
- var plugins = [];
25
- var addPlugin = function addPlugin(plugin) {
26
- if (!includePlugin(plugins, plugin)) {
27
- plugins.push(_objectSpread({}, plugin));
28
- }
1
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2
+ try {
3
+ var info = gen[key](arg);
4
+ var value = info.value;
5
+ } catch (error) {
6
+ reject(error);
7
+ return;
8
+ }
9
+ if (info.done) {
10
+ resolve(value);
11
+ } else {
12
+ Promise.resolve(value).then(_next, _throw);
13
+ }
14
+ }
15
+ function _asyncToGenerator(fn) {
16
+ return function() {
17
+ var self = this, args = arguments;
18
+ return new Promise(function(resolve, reject) {
19
+ var gen = fn.apply(self, args);
20
+ function _next(value) {
21
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
22
+ }
23
+ function _throw(err) {
24
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
25
+ }
26
+ _next(undefined);
27
+ });
29
28
  };
30
- var usePlugin = function usePlugin() {
31
- for (var _len = arguments.length, input = new Array(_len), _key = 0; _key < _len; _key++) {
32
- input[_key] = arguments[_key];
33
- }
34
- for (var _i = 0, _input = input; _i < _input.length; _i++) {
35
- var plugin = _input[_i];
36
- // already created by createPlugin
37
- if (isPlugin(plugin)) {
38
- addPlugin(plugin);
39
- }
40
- // using function to return plugin options
41
- else if (typeof plugin === 'function') {
42
- var _options = plugin();
43
- addPlugin(createPlugin(_options.setup, _options));
29
+ }
30
+ function _defineProperty(obj, key, value) {
31
+ if (key in obj) {
32
+ Object.defineProperty(obj, key, {
33
+ value: value,
34
+ enumerable: true,
35
+ configurable: true,
36
+ writable: true
37
+ });
38
+ } else {
39
+ obj[key] = value;
40
+ }
41
+ return obj;
42
+ }
43
+ function _objectSpread(target) {
44
+ for(var i = 1; i < arguments.length; i++){
45
+ var source = arguments[i] != null ? arguments[i] : {};
46
+ var ownKeys = Object.keys(source);
47
+ if (typeof Object.getOwnPropertySymbols === "function") {
48
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
49
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
50
+ }));
44
51
  }
45
- // plain plugin object
46
- else if (isObject(plugin)) {
47
- addPlugin(createPlugin(plugin.setup, plugin));
52
+ ownKeys.forEach(function(key) {
53
+ _defineProperty(target, key, source[key]);
54
+ });
55
+ }
56
+ return target;
57
+ }
58
+ function ownKeys(object, enumerableOnly) {
59
+ var keys = Object.keys(object);
60
+ if (Object.getOwnPropertySymbols) {
61
+ var symbols = Object.getOwnPropertySymbols(object);
62
+ if (enumerableOnly) {
63
+ symbols = symbols.filter(function(sym) {
64
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
65
+ });
48
66
  }
49
- // unknown plugin
50
- else {
51
- console.warn("Unknown plugin: ".concat(JSON.stringify(plugin)));
67
+ keys.push.apply(keys, symbols);
68
+ }
69
+ return keys;
70
+ }
71
+ function _objectSpreadProps(target, source) {
72
+ source = source != null ? source : {};
73
+ if (Object.getOwnPropertyDescriptors) {
74
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
75
+ } else {
76
+ ownKeys(Object(source)).forEach(function(key) {
77
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
78
+ });
79
+ }
80
+ return target;
81
+ }
82
+ var __generator = this && this.__generator || function(thisArg, body) {
83
+ var f, y, t, g, _ = {
84
+ label: 0,
85
+ sent: function() {
86
+ if (t[0] & 1) throw t[1];
87
+ return t[1];
88
+ },
89
+ trys: [],
90
+ ops: []
91
+ };
92
+ return(g = {
93
+ next: verb(0),
94
+ "throw": verb(1),
95
+ "return": verb(2)
96
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
97
+ return this;
98
+ }), g);
99
+ function verb(n) {
100
+ return function(v) {
101
+ return step([
102
+ n,
103
+ v
104
+ ]);
105
+ };
106
+ }
107
+ function step(op) {
108
+ if (f) throw new TypeError("Generator is already executing.");
109
+ while(_)try {
110
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
111
+ if (y = 0, t) op = [
112
+ op[0] & 2,
113
+ t.value
114
+ ];
115
+ switch(op[0]){
116
+ case 0:
117
+ case 1:
118
+ t = op;
119
+ break;
120
+ case 4:
121
+ _.label++;
122
+ return {
123
+ value: op[1],
124
+ done: false
125
+ };
126
+ case 5:
127
+ _.label++;
128
+ y = op[1];
129
+ op = [
130
+ 0
131
+ ];
132
+ continue;
133
+ case 7:
134
+ op = _.ops.pop();
135
+ _.trys.pop();
136
+ continue;
137
+ default:
138
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
139
+ _ = 0;
140
+ continue;
141
+ }
142
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
143
+ _.label = op[1];
144
+ break;
145
+ }
146
+ if (op[0] === 6 && _.label < t[1]) {
147
+ _.label = t[1];
148
+ t = op;
149
+ break;
150
+ }
151
+ if (t && _.label < t[2]) {
152
+ _.label = t[2];
153
+ _.ops.push(op);
154
+ break;
155
+ }
156
+ if (t[2]) _.ops.pop();
157
+ _.trys.pop();
158
+ continue;
159
+ }
160
+ op = body.call(thisArg, _);
161
+ } catch (e) {
162
+ op = [
163
+ 6,
164
+ e
165
+ ];
166
+ y = 0;
167
+ } finally{
168
+ f = t = 0;
52
169
  }
53
- }
54
- return manager;
170
+ if (op[0] & 5) throw op[1];
171
+ return {
172
+ value: op[0] ? op[1] : void 0,
173
+ done: true
174
+ };
175
+ }
176
+ };
177
+ import { generateRunner, DEFAULT_OPTIONS } from "./sync";
178
+ import { checkPlugins, isObject, hasOwnProperty, sortPlugins, includePlugin } from "./shared";
179
+ var ASYNC_PLUGIN_SYMBOL = "ASYNC_PLUGIN_SYMBOL";
180
+ var createAsyncManager = function(hooks, api) {
181
+ var index = 0;
182
+ var runners;
183
+ var currentHooks = _objectSpread({}, hooks);
184
+ var useRunner = function() {
185
+ return runners;
55
186
  };
56
- var createPlugin = function createPlugin() {
57
- var _options$usePlugins;
58
- var setup = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {};
59
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
60
- if ((_options$usePlugins = options.usePlugins) !== null && _options$usePlugins !== void 0 && _options$usePlugins.length) {
61
- options.usePlugins.forEach(function (plugin) {
62
- usePlugin(createPlugin(plugin.setup, plugin));
63
- });
64
- }
65
- if (options.registerHook) {
66
- registerHook(options.registerHook);
67
- }
68
- return _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_OPTIONS), {}, {
69
- name: "No.".concat(index++, " plugin")
70
- }, options), {}, {
71
- ASYNC_PLUGIN_SYMBOL: ASYNC_PLUGIN_SYMBOL,
72
- setup: setup
73
- });
187
+ var registerHook = function(extraHooks) {
188
+ currentHooks = _objectSpread({}, extraHooks, currentHooks);
74
189
  };
75
- var clear = function clear() {
76
- plugins = [];
190
+ var isPlugin = function(input) {
191
+ return isObject(input) && hasOwnProperty(input, ASYNC_PLUGIN_SYMBOL) && input[ASYNC_PLUGIN_SYMBOL] === ASYNC_PLUGIN_SYMBOL;
77
192
  };
78
- var init = /*#__PURE__*/function () {
79
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
80
- var sortedPlugins, mergedPluginAPI, hooksList;
81
- return _regeneratorRuntime().wrap(function _callee$(_context) {
82
- while (1) {
83
- switch (_context.prev = _context.next) {
84
- case 0:
85
- sortedPlugins = sortPlugins(plugins);
86
- mergedPluginAPI = _objectSpread(_objectSpread({}, pluginAPI), overrideAPI);
87
- checkPlugins(sortedPlugins);
88
- _context.next = 5;
89
- return Promise.all(sortedPlugins.map(function (plugin) {
90
- return plugin.setup(mergedPluginAPI);
91
- }));
92
- case 5:
93
- hooksList = _context.sent;
94
- runners = generateRunner(hooksList, currentHooks);
95
- return _context.abrupt("return", runners);
96
- case 8:
97
- case "end":
98
- return _context.stop();
193
+ var pluginAPI = _objectSpreadProps(_objectSpread({}, api), {
194
+ useHookRunners: useRunner
195
+ });
196
+ var clone = function(overrideAPI) {
197
+ var plugins = [];
198
+ var addPlugin = function(plugin) {
199
+ if (!includePlugin(plugins, plugin)) {
200
+ plugins.push(_objectSpread({}, plugin));
99
201
  }
100
- }
101
- }, _callee);
102
- }));
103
- return function init() {
104
- return _ref.apply(this, arguments);
105
- };
106
- }();
107
- var run = function run(cb) {
108
- return cb();
109
- };
110
- var manager = {
111
- createPlugin: createPlugin,
112
- isPlugin: isPlugin,
113
- usePlugin: usePlugin,
114
- init: init,
115
- run: run,
116
- clear: clear,
117
- clone: clone,
118
- registerHook: registerHook,
119
- useRunner: useRunner
202
+ };
203
+ var usePlugin = function() {
204
+ for(var _len = arguments.length, input = new Array(_len), _key = 0; _key < _len; _key++){
205
+ input[_key] = arguments[_key];
206
+ }
207
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
208
+ try {
209
+ for(var _iterator = input[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
210
+ var plugin = _step.value;
211
+ if (isPlugin(plugin)) {
212
+ addPlugin(plugin);
213
+ } else if (typeof plugin === "function") {
214
+ var options = plugin();
215
+ addPlugin(createPlugin(options.setup, options));
216
+ } else if (isObject(plugin)) {
217
+ addPlugin(createPlugin(plugin.setup, plugin));
218
+ } else {
219
+ console.warn("Unknown plugin: ".concat(JSON.stringify(plugin)));
220
+ }
221
+ }
222
+ } catch (err) {
223
+ _didIteratorError = true;
224
+ _iteratorError = err;
225
+ } finally{
226
+ try {
227
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
228
+ _iterator.return();
229
+ }
230
+ } finally{
231
+ if (_didIteratorError) {
232
+ throw _iteratorError;
233
+ }
234
+ }
235
+ }
236
+ return manager;
237
+ };
238
+ var createPlugin = function() {
239
+ var setup = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function() {}, options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
240
+ var ref;
241
+ if ((ref = options.usePlugins) === null || ref === void 0 ? void 0 : ref.length) {
242
+ options.usePlugins.forEach(function(plugin) {
243
+ usePlugin(createPlugin(plugin.setup, plugin));
244
+ });
245
+ }
246
+ if (options.registerHook) {
247
+ registerHook(options.registerHook);
248
+ }
249
+ return _objectSpreadProps(_objectSpread(_objectSpreadProps(_objectSpread({}, DEFAULT_OPTIONS), {
250
+ name: "No.".concat(index++, " plugin")
251
+ }), options), {
252
+ ASYNC_PLUGIN_SYMBOL: ASYNC_PLUGIN_SYMBOL,
253
+ setup: setup
254
+ });
255
+ };
256
+ var clear = function() {
257
+ plugins = [];
258
+ };
259
+ var init = function() {
260
+ var _ref = _asyncToGenerator(function() {
261
+ var sortedPlugins, mergedPluginAPI, hooksList;
262
+ return __generator(this, function(_state) {
263
+ switch(_state.label){
264
+ case 0:
265
+ sortedPlugins = sortPlugins(plugins);
266
+ mergedPluginAPI = _objectSpread({}, pluginAPI, overrideAPI);
267
+ checkPlugins(sortedPlugins);
268
+ return [
269
+ 4,
270
+ Promise.all(sortedPlugins.map(function(plugin) {
271
+ return plugin.setup(mergedPluginAPI);
272
+ }))
273
+ ];
274
+ case 1:
275
+ hooksList = _state.sent();
276
+ runners = generateRunner(hooksList, currentHooks);
277
+ return [
278
+ 2,
279
+ runners
280
+ ];
281
+ }
282
+ });
283
+ });
284
+ return function init() {
285
+ return _ref.apply(this, arguments);
286
+ };
287
+ }();
288
+ var run = function(cb) {
289
+ return cb();
290
+ };
291
+ var manager = {
292
+ createPlugin: createPlugin,
293
+ isPlugin: isPlugin,
294
+ usePlugin: usePlugin,
295
+ init: init,
296
+ run: run,
297
+ clear: clear,
298
+ clone: clone,
299
+ registerHook: registerHook,
300
+ useRunner: useRunner
301
+ };
302
+ return manager;
120
303
  };
121
- return manager;
122
- };
123
- return clone();
124
- };
304
+ return clone();
305
+ };
306
+ export { createAsyncManager };
@@ -1,3 +1,3 @@
1
1
  export * from "./sync";
2
2
  export * from "./async";
3
- export * from "./types";
3
+ export * from "./types";