@modern-js/plugin 2.12.0 → 2.13.1
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.
- package/CHANGELOG.md +10 -0
- package/dist/cjs/farrow-pipeline/context.js +7 -16
- package/dist/cjs/farrow-pipeline/counter.js +1 -2
- package/dist/cjs/farrow-pipeline/index.js +71 -2
- package/dist/cjs/manager/async.js +9 -8
- package/dist/cjs/manager/shared.js +16 -15
- package/dist/cjs/manager/sync.js +4 -9
- package/dist/cjs/waterfall/async.js +3 -2
- package/dist/cjs/workflow/async.js +6 -5
- package/dist/cjs/workflow/parallel.js +1 -1
- package/dist/esm/index.js +743 -4
- package/dist/esm-node/farrow-pipeline/context.js +7 -16
- package/dist/esm-node/farrow-pipeline/counter.js +1 -2
- package/dist/esm-node/farrow-pipeline/index.js +60 -1
- package/dist/esm-node/manager/async.js +9 -8
- package/dist/esm-node/manager/shared.js +16 -15
- package/dist/esm-node/manager/sync.js +4 -9
- package/dist/esm-node/waterfall/async.js +3 -2
- package/dist/esm-node/workflow/async.js +6 -5
- package/dist/esm-node/workflow/parallel.js +1 -1
- package/dist/types/farrow-pipeline/context.d.ts +0 -1
- package/dist/types/farrow-pipeline/index.d.ts +25 -1
- package/package.json +3 -3
- package/dist/cjs/farrow-pipeline/pipeline.js +0 -86
- package/dist/esm/farrow-pipeline/context.js +0 -31
- package/dist/esm/farrow-pipeline/counter.js +0 -17
- package/dist/esm/farrow-pipeline/index.js +0 -1
- package/dist/esm/farrow-pipeline/pipeline.js +0 -112
- package/dist/esm/manager/async.js +0 -306
- package/dist/esm/manager/index.js +0 -3
- package/dist/esm/manager/shared.js +0 -35
- package/dist/esm/manager/sync.js +0 -226
- package/dist/esm/manager/types.js +0 -1
- package/dist/esm/utils/pluginDagSort.js +0 -70
- package/dist/esm/waterfall/async.js +0 -271
- package/dist/esm/waterfall/index.js +0 -2
- package/dist/esm/waterfall/sync.js +0 -127
- package/dist/esm/workflow/async.js +0 -293
- package/dist/esm/workflow/index.js +0 -3
- package/dist/esm/workflow/parallel.js +0 -249
- package/dist/esm/workflow/sync.js +0 -114
- package/dist/esm-node/farrow-pipeline/pipeline.js +0 -60
- package/dist/types/farrow-pipeline/pipeline.d.ts +0 -29
@@ -1,306 +0,0 @@
|
|
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
|
-
});
|
28
|
-
};
|
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
|
-
}));
|
51
|
-
}
|
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
|
-
});
|
66
|
-
}
|
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;
|
169
|
-
}
|
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;
|
186
|
-
};
|
187
|
-
var registerHook = function(extraHooks) {
|
188
|
-
currentHooks = _objectSpread({}, extraHooks, currentHooks);
|
189
|
-
};
|
190
|
-
var isPlugin = function(input) {
|
191
|
-
return isObject(input) && hasOwnProperty(input, ASYNC_PLUGIN_SYMBOL) && input[ASYNC_PLUGIN_SYMBOL] === ASYNC_PLUGIN_SYMBOL;
|
192
|
-
};
|
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));
|
201
|
-
}
|
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 _options_usePlugins;
|
241
|
-
if ((_options_usePlugins = options.usePlugins) === null || _options_usePlugins === void 0 ? void 0 : _options_usePlugins.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;
|
303
|
-
};
|
304
|
-
return clone();
|
305
|
-
};
|
306
|
-
export { createAsyncManager };
|
@@ -1,35 +0,0 @@
|
|
1
|
-
import { dagSort } from "../utils/pluginDagSort";
|
2
|
-
var checkPlugins = function(plugins) {
|
3
|
-
plugins.forEach(function(origin) {
|
4
|
-
origin.rivals.forEach(function(rival) {
|
5
|
-
plugins.forEach(function(plugin) {
|
6
|
-
if (rival === plugin.name) {
|
7
|
-
throw new Error("".concat(origin.name, " has rival ").concat(plugin.name));
|
8
|
-
}
|
9
|
-
});
|
10
|
-
});
|
11
|
-
origin.required.forEach(function(required) {
|
12
|
-
if (!plugins.some(function(plugin) {
|
13
|
-
return plugin.name === required;
|
14
|
-
})) {
|
15
|
-
throw new Error("The plugin: ".concat(required, " is required when plugin: ").concat(origin.name, " is exist."));
|
16
|
-
}
|
17
|
-
});
|
18
|
-
});
|
19
|
-
};
|
20
|
-
function sortPlugins(input) {
|
21
|
-
var plugins = input.slice();
|
22
|
-
return dagSort(plugins);
|
23
|
-
}
|
24
|
-
var includePlugin = function(plugins, input) {
|
25
|
-
return plugins.some(function(plugin) {
|
26
|
-
return plugin.name === input.name;
|
27
|
-
});
|
28
|
-
};
|
29
|
-
var isObject = function(obj) {
|
30
|
-
return obj !== null && typeof obj === "object";
|
31
|
-
};
|
32
|
-
var hasOwnProperty = function(obj, prop) {
|
33
|
-
return obj.hasOwnProperty(prop);
|
34
|
-
};
|
35
|
-
export { checkPlugins, hasOwnProperty, includePlugin, isObject, sortPlugins };
|
package/dist/esm/manager/sync.js
DELETED
@@ -1,226 +0,0 @@
|
|
1
|
-
function _defineProperty(obj, key, value) {
|
2
|
-
if (key in obj) {
|
3
|
-
Object.defineProperty(obj, key, {
|
4
|
-
value: value,
|
5
|
-
enumerable: true,
|
6
|
-
configurable: true,
|
7
|
-
writable: true
|
8
|
-
});
|
9
|
-
} else {
|
10
|
-
obj[key] = value;
|
11
|
-
}
|
12
|
-
return obj;
|
13
|
-
}
|
14
|
-
function _objectSpread(target) {
|
15
|
-
for(var i = 1; i < arguments.length; i++){
|
16
|
-
var source = arguments[i] != null ? arguments[i] : {};
|
17
|
-
var ownKeys = Object.keys(source);
|
18
|
-
if (typeof Object.getOwnPropertySymbols === "function") {
|
19
|
-
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
20
|
-
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
21
|
-
}));
|
22
|
-
}
|
23
|
-
ownKeys.forEach(function(key) {
|
24
|
-
_defineProperty(target, key, source[key]);
|
25
|
-
});
|
26
|
-
}
|
27
|
-
return target;
|
28
|
-
}
|
29
|
-
function ownKeys(object, enumerableOnly) {
|
30
|
-
var keys = Object.keys(object);
|
31
|
-
if (Object.getOwnPropertySymbols) {
|
32
|
-
var symbols = Object.getOwnPropertySymbols(object);
|
33
|
-
if (enumerableOnly) {
|
34
|
-
symbols = symbols.filter(function(sym) {
|
35
|
-
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
36
|
-
});
|
37
|
-
}
|
38
|
-
keys.push.apply(keys, symbols);
|
39
|
-
}
|
40
|
-
return keys;
|
41
|
-
}
|
42
|
-
function _objectSpreadProps(target, source) {
|
43
|
-
source = source != null ? source : {};
|
44
|
-
if (Object.getOwnPropertyDescriptors) {
|
45
|
-
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
46
|
-
} else {
|
47
|
-
ownKeys(Object(source)).forEach(function(key) {
|
48
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
49
|
-
});
|
50
|
-
}
|
51
|
-
return target;
|
52
|
-
}
|
53
|
-
import { isPipeline, createPipeline } from "../farrow-pipeline";
|
54
|
-
import { isWaterfall, createWaterfall, isAsyncWaterfall, createAsyncWaterfall } from "../waterfall";
|
55
|
-
import { isWorkflow, createWorkflow, isAsyncWorkflow, createAsyncWorkflow, isParallelWorkflow, createParallelWorkflow } from "../workflow";
|
56
|
-
import { checkPlugins, hasOwnProperty, includePlugin, isObject, sortPlugins } from "./shared";
|
57
|
-
var SYNC_PLUGIN_SYMBOL = "SYNC_PLUGIN_SYMBOL";
|
58
|
-
var DEFAULT_OPTIONS = {
|
59
|
-
name: "untitled",
|
60
|
-
pre: [],
|
61
|
-
post: [],
|
62
|
-
rivals: [],
|
63
|
-
required: [],
|
64
|
-
usePlugins: [],
|
65
|
-
registerHook: {}
|
66
|
-
};
|
67
|
-
var createManager = function(hooks, api) {
|
68
|
-
var index = 0;
|
69
|
-
var runners;
|
70
|
-
var currentHooks = _objectSpread({}, hooks);
|
71
|
-
var useRunner = function() {
|
72
|
-
return runners;
|
73
|
-
};
|
74
|
-
var registerHook = function(extraHooks) {
|
75
|
-
currentHooks = _objectSpread({}, extraHooks, currentHooks);
|
76
|
-
};
|
77
|
-
var isPlugin = function(input) {
|
78
|
-
return isObject(input) && hasOwnProperty(input, SYNC_PLUGIN_SYMBOL) && input[SYNC_PLUGIN_SYMBOL] === SYNC_PLUGIN_SYMBOL;
|
79
|
-
};
|
80
|
-
var pluginAPI = _objectSpreadProps(_objectSpread({}, api), {
|
81
|
-
useHookRunners: useRunner
|
82
|
-
});
|
83
|
-
var clone = function(overrideAPI) {
|
84
|
-
var plugins = [];
|
85
|
-
var addPlugin = function(plugin) {
|
86
|
-
if (!includePlugin(plugins, plugin)) {
|
87
|
-
plugins.push(_objectSpread({}, plugin));
|
88
|
-
}
|
89
|
-
};
|
90
|
-
var usePlugin = function() {
|
91
|
-
for(var _len = arguments.length, input = new Array(_len), _key = 0; _key < _len; _key++){
|
92
|
-
input[_key] = arguments[_key];
|
93
|
-
}
|
94
|
-
input.forEach(function(plugin) {
|
95
|
-
if (isPlugin(plugin)) {
|
96
|
-
addPlugin(plugin);
|
97
|
-
} else if (typeof plugin === "function") {
|
98
|
-
var options = plugin();
|
99
|
-
addPlugin(createPlugin(options.setup, options));
|
100
|
-
} else if (isObject(plugin)) {
|
101
|
-
addPlugin(createPlugin(plugin.setup, plugin));
|
102
|
-
} else {
|
103
|
-
console.warn("Unknown plugin: ".concat(JSON.stringify(plugin)));
|
104
|
-
}
|
105
|
-
});
|
106
|
-
return manager;
|
107
|
-
};
|
108
|
-
var createPlugin = function() {
|
109
|
-
var setup = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function() {}, options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
110
|
-
var _options_usePlugins;
|
111
|
-
if ((_options_usePlugins = options.usePlugins) === null || _options_usePlugins === void 0 ? void 0 : _options_usePlugins.length) {
|
112
|
-
options.usePlugins.forEach(function(plugin) {
|
113
|
-
usePlugin(createPlugin(plugin.setup, plugin));
|
114
|
-
});
|
115
|
-
}
|
116
|
-
if (options.registerHook) {
|
117
|
-
registerHook(options.registerHook);
|
118
|
-
}
|
119
|
-
return _objectSpreadProps(_objectSpread(_objectSpreadProps(_objectSpread({}, DEFAULT_OPTIONS), {
|
120
|
-
name: "No.".concat(index++, " plugin")
|
121
|
-
}), options), {
|
122
|
-
SYNC_PLUGIN_SYMBOL: SYNC_PLUGIN_SYMBOL,
|
123
|
-
setup: setup
|
124
|
-
});
|
125
|
-
};
|
126
|
-
var clear = function() {
|
127
|
-
plugins = [];
|
128
|
-
};
|
129
|
-
var init = function() {
|
130
|
-
var sortedPlugins = sortPlugins(plugins);
|
131
|
-
var mergedPluginAPI = _objectSpread({}, pluginAPI, overrideAPI);
|
132
|
-
checkPlugins(sortedPlugins);
|
133
|
-
var hooksList = sortedPlugins.map(function(plugin) {
|
134
|
-
return plugin.setup(mergedPluginAPI);
|
135
|
-
});
|
136
|
-
runners = generateRunner(hooksList, currentHooks);
|
137
|
-
return runners;
|
138
|
-
};
|
139
|
-
var run = function(cb) {
|
140
|
-
return cb();
|
141
|
-
};
|
142
|
-
var manager = {
|
143
|
-
createPlugin: createPlugin,
|
144
|
-
isPlugin: isPlugin,
|
145
|
-
usePlugin: usePlugin,
|
146
|
-
init: init,
|
147
|
-
clear: clear,
|
148
|
-
run: run,
|
149
|
-
registerHook: registerHook,
|
150
|
-
useRunner: useRunner,
|
151
|
-
clone: clone
|
152
|
-
};
|
153
|
-
return manager;
|
154
|
-
};
|
155
|
-
return clone();
|
156
|
-
};
|
157
|
-
var generateRunner = function(hooksList, hooksMap) {
|
158
|
-
var runner = {};
|
159
|
-
var cloneShape = cloneHooksMap(hooksMap);
|
160
|
-
if (hooksMap) {
|
161
|
-
var _loop = function(key) {
|
162
|
-
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
163
|
-
try {
|
164
|
-
for(var _iterator = hooksList[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
165
|
-
var hooks = _step.value;
|
166
|
-
if (!hooks) {
|
167
|
-
continue;
|
168
|
-
}
|
169
|
-
if (hooks[key]) {
|
170
|
-
cloneShape[key].use(hooks[key]);
|
171
|
-
}
|
172
|
-
}
|
173
|
-
} catch (err) {
|
174
|
-
_didIteratorError = true;
|
175
|
-
_iteratorError = err;
|
176
|
-
} finally{
|
177
|
-
try {
|
178
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
179
|
-
_iterator.return();
|
180
|
-
}
|
181
|
-
} finally{
|
182
|
-
if (_didIteratorError) {
|
183
|
-
throw _iteratorError;
|
184
|
-
}
|
185
|
-
}
|
186
|
-
}
|
187
|
-
runner[key] = function(input, options) {
|
188
|
-
return cloneShape[key].run(input, _objectSpread({}, options));
|
189
|
-
};
|
190
|
-
};
|
191
|
-
for(var key in cloneShape)_loop(key);
|
192
|
-
}
|
193
|
-
return runner;
|
194
|
-
};
|
195
|
-
var cloneHook = function(hook) {
|
196
|
-
if (isWaterfall(hook)) {
|
197
|
-
return createWaterfall();
|
198
|
-
}
|
199
|
-
if (isAsyncWaterfall(hook)) {
|
200
|
-
return createAsyncWaterfall();
|
201
|
-
}
|
202
|
-
if (isWorkflow(hook)) {
|
203
|
-
return createWorkflow();
|
204
|
-
}
|
205
|
-
if (isAsyncWorkflow(hook)) {
|
206
|
-
return createAsyncWorkflow();
|
207
|
-
}
|
208
|
-
if (isParallelWorkflow(hook)) {
|
209
|
-
return createParallelWorkflow();
|
210
|
-
}
|
211
|
-
if (isPipeline(hook)) {
|
212
|
-
return createPipeline();
|
213
|
-
}
|
214
|
-
throw new Error("Unknown hook: ".concat(hook));
|
215
|
-
};
|
216
|
-
var cloneHooksMap = function(record) {
|
217
|
-
if (!record) {
|
218
|
-
return record;
|
219
|
-
}
|
220
|
-
var result = {};
|
221
|
-
for(var key in record){
|
222
|
-
result[key] = cloneHook(record[key]);
|
223
|
-
}
|
224
|
-
return result;
|
225
|
-
};
|
226
|
-
export { DEFAULT_OPTIONS, cloneHook, cloneHooksMap, createManager, generateRunner };
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";
|
@@ -1,70 +0,0 @@
|
|
1
|
-
var dagSort = function(plugins) {
|
2
|
-
var _loop = function() {
|
3
|
-
var zep = zeroEndPoints.shift();
|
4
|
-
sortedPoint.push(getPluginByAny(zep));
|
5
|
-
allLines = allLines.filter(function(l) {
|
6
|
-
return l[0] !== getPluginByAny(zep)[key];
|
7
|
-
});
|
8
|
-
var restPoints = plugins.filter(function(item) {
|
9
|
-
return !sortedPoint.find(function(sp) {
|
10
|
-
return sp[key] === item[key];
|
11
|
-
});
|
12
|
-
});
|
13
|
-
zeroEndPoints = restPoints.filter(// eslint-disable-next-line @typescript-eslint/no-loop-func
|
14
|
-
function(item) {
|
15
|
-
return !allLines.find(function(l) {
|
16
|
-
return l[1] === item[key];
|
17
|
-
});
|
18
|
-
});
|
19
|
-
};
|
20
|
-
var key = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "name", preKey = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "pre", postKey = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : "post";
|
21
|
-
var getPluginByAny = function getPluginByAny(q) {
|
22
|
-
var target = plugins.find(function(item) {
|
23
|
-
return typeof q === "string" ? item[key] === q : item[key] === q[key];
|
24
|
-
});
|
25
|
-
if (!target) {
|
26
|
-
throw new Error("plugin ".concat(q, " not existed"));
|
27
|
-
}
|
28
|
-
return target;
|
29
|
-
};
|
30
|
-
var allLines = [];
|
31
|
-
plugins.forEach(function(item) {
|
32
|
-
item[preKey].forEach(function(p) {
|
33
|
-
if (plugins.find(function(ap) {
|
34
|
-
return ap.name === p;
|
35
|
-
})) {
|
36
|
-
allLines.push([
|
37
|
-
getPluginByAny(p)[key],
|
38
|
-
getPluginByAny(item)[key]
|
39
|
-
]);
|
40
|
-
}
|
41
|
-
});
|
42
|
-
item[postKey].forEach(function(pt) {
|
43
|
-
if (plugins.find(function(ap) {
|
44
|
-
return ap.name === pt;
|
45
|
-
})) {
|
46
|
-
allLines.push([
|
47
|
-
getPluginByAny(item)[key],
|
48
|
-
getPluginByAny(pt)[key]
|
49
|
-
]);
|
50
|
-
}
|
51
|
-
});
|
52
|
-
});
|
53
|
-
var zeroEndPoints = plugins.filter(function(item) {
|
54
|
-
return !allLines.find(function(l) {
|
55
|
-
return l[1] === item[key];
|
56
|
-
});
|
57
|
-
});
|
58
|
-
var sortedPoint = [];
|
59
|
-
while(zeroEndPoints.length)_loop();
|
60
|
-
if (allLines.length) {
|
61
|
-
var restInRingPoints = {};
|
62
|
-
allLines.forEach(function(l) {
|
63
|
-
restInRingPoints[l[0]] = true;
|
64
|
-
restInRingPoints[l[1]] = true;
|
65
|
-
});
|
66
|
-
throw new Error("plugins dependences has loop: ".concat(Object.keys(restInRingPoints).join(",")));
|
67
|
-
}
|
68
|
-
return sortedPoint;
|
69
|
-
};
|
70
|
-
export { dagSort };
|