@modern-js/plugin 2.14.0 → 2.16.0
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 +21 -0
- package/dist/cjs/farrow-pipeline/context.js +9 -27
- package/dist/cjs/farrow-pipeline/counter.js +7 -25
- package/dist/cjs/farrow-pipeline/index.js +25 -38
- package/dist/cjs/index.js +21 -20
- package/dist/cjs/manager/async.js +25 -41
- package/dist/cjs/manager/index.js +20 -19
- package/dist/cjs/manager/shared.js +16 -34
- package/dist/cjs/manager/sync.js +48 -60
- package/dist/cjs/manager/types.js +4 -15
- package/dist/cjs/waterfall/async.js +25 -34
- package/dist/cjs/waterfall/index.js +19 -18
- package/dist/cjs/waterfall/sync.js +24 -31
- package/dist/cjs/workflow/async.js +25 -33
- package/dist/cjs/workflow/index.js +20 -19
- package/dist/cjs/workflow/parallel.js +25 -33
- package/dist/cjs/workflow/sync.js +23 -29
- package/dist/esm/index.js +1123 -637
- package/dist/esm-node/farrow-pipeline/context.js +3 -6
- package/dist/esm-node/farrow-pipeline/counter.js +1 -4
- package/dist/esm-node/farrow-pipeline/index.js +11 -14
- package/dist/esm-node/manager/async.js +11 -18
- package/dist/esm-node/manager/shared.js +8 -17
- package/dist/esm-node/manager/sync.js +21 -42
- package/dist/esm-node/manager/types.js +1 -0
- package/dist/esm-node/waterfall/async.js +14 -16
- package/dist/esm-node/waterfall/sync.js +12 -10
- package/dist/esm-node/workflow/async.js +12 -13
- package/dist/esm-node/workflow/parallel.js +11 -10
- package/dist/esm-node/workflow/sync.js +10 -7
- package/package.json +10 -5
- package/dist/cjs/utils/pluginDagSort.js +0 -79
- package/dist/esm-node/utils/pluginDagSort.js +0 -56
- package/dist/types/utils/pluginDagSort.d.ts +0 -1
package/dist/esm/index.js
CHANGED
@@ -1,743 +1,1229 @@
|
|
1
1
|
// src/farrow-pipeline/context.ts
|
2
|
-
function _arrayLikeToArray(arr, len) {
|
3
|
-
if (len == null || len > arr.length) len = arr.length;
|
4
|
-
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
5
|
-
return arr2;
|
6
|
-
}
|
7
|
-
function _arrayWithoutHoles(arr) {
|
8
|
-
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
9
|
-
}
|
10
|
-
function _defineProperty(obj, key, value) {
|
11
|
-
if (key in obj) {
|
12
|
-
Object.defineProperty(obj, key, {
|
13
|
-
value: value,
|
14
|
-
enumerable: true,
|
15
|
-
configurable: true,
|
16
|
-
writable: true
|
17
|
-
});
|
18
|
-
} else {
|
19
|
-
obj[key] = value;
|
20
|
-
}
|
21
|
-
return obj;
|
22
|
-
}
|
23
|
-
function _iterableToArray(iter) {
|
24
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
25
|
-
}
|
26
|
-
function _nonIterableSpread() {
|
27
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
28
|
-
}
|
29
|
-
function _objectSpread(target) {
|
30
|
-
for(var i = 1; i < arguments.length; i++){
|
31
|
-
var source = arguments[i] != null ? arguments[i] : {};
|
32
|
-
var ownKeys = Object.keys(source);
|
33
|
-
if (typeof Object.getOwnPropertySymbols === "function") {
|
34
|
-
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
35
|
-
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
36
|
-
}));
|
37
|
-
}
|
38
|
-
ownKeys.forEach(function(key) {
|
39
|
-
_defineProperty(target, key, source[key]);
|
40
|
-
});
|
41
|
-
}
|
42
|
-
return target;
|
43
|
-
}
|
44
|
-
function ownKeys(object, enumerableOnly) {
|
45
|
-
var keys = Object.keys(object);
|
46
|
-
if (Object.getOwnPropertySymbols) {
|
47
|
-
var symbols = Object.getOwnPropertySymbols(object);
|
48
|
-
if (enumerableOnly) {
|
49
|
-
symbols = symbols.filter(function(sym) {
|
50
|
-
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
51
|
-
});
|
52
|
-
}
|
53
|
-
keys.push.apply(keys, symbols);
|
54
|
-
}
|
55
|
-
return keys;
|
56
|
-
}
|
57
|
-
function _objectSpreadProps(target, source) {
|
58
|
-
source = source != null ? source : {};
|
59
|
-
if (Object.getOwnPropertyDescriptors) {
|
60
|
-
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
61
|
-
} else {
|
62
|
-
ownKeys(Object(source)).forEach(function(key) {
|
63
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
64
|
-
});
|
65
|
-
}
|
66
|
-
return target;
|
67
|
-
}
|
68
|
-
function _toConsumableArray(arr) {
|
69
|
-
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
70
|
-
}
|
71
|
-
function _unsupportedIterableToArray(o, minLen) {
|
72
|
-
if (!o) return;
|
73
|
-
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
74
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
75
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
76
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
77
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
78
|
-
}
|
79
2
|
var createContext = function(value) {
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
},
|
87
|
-
set value (v){
|
88
|
-
currentValue = v;
|
89
|
-
}
|
90
|
-
};
|
91
|
-
},
|
92
|
-
get: function() {
|
93
|
-
return currentValue;
|
3
|
+
var currentValue = value;
|
4
|
+
return {
|
5
|
+
use: function() {
|
6
|
+
return {
|
7
|
+
get value() {
|
8
|
+
return currentValue;
|
94
9
|
},
|
95
|
-
set
|
96
|
-
|
10
|
+
set value(v) {
|
11
|
+
currentValue = v;
|
97
12
|
}
|
98
|
-
|
13
|
+
};
|
14
|
+
},
|
15
|
+
get: function() {
|
16
|
+
return currentValue;
|
17
|
+
},
|
18
|
+
set: function(v1) {
|
19
|
+
currentValue = v1;
|
20
|
+
}
|
21
|
+
};
|
99
22
|
};
|
23
|
+
|
100
24
|
// src/farrow-pipeline/counter.ts
|
101
25
|
var createCounter = function(callback) {
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
};
|
107
|
-
return callback(index, input, next);
|
108
|
-
};
|
109
|
-
return {
|
110
|
-
start: function(input) {
|
111
|
-
return dispatch(0, input);
|
112
|
-
},
|
113
|
-
dispatch: dispatch
|
26
|
+
var dispatch = function(index, input) {
|
27
|
+
var next = function() {
|
28
|
+
var nextInput = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : input;
|
29
|
+
return dispatch(index + 1, nextInput);
|
114
30
|
};
|
31
|
+
return callback(index, input, next);
|
32
|
+
};
|
33
|
+
return {
|
34
|
+
start: function(input) {
|
35
|
+
return dispatch(0, input);
|
36
|
+
},
|
37
|
+
dispatch
|
38
|
+
};
|
115
39
|
};
|
40
|
+
|
116
41
|
// src/farrow-pipeline/index.ts
|
42
|
+
function _array_like_to_array(arr, len) {
|
43
|
+
if (len == null || len > arr.length)
|
44
|
+
len = arr.length;
|
45
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++)
|
46
|
+
arr2[i] = arr[i];
|
47
|
+
return arr2;
|
48
|
+
}
|
49
|
+
function _array_without_holes(arr) {
|
50
|
+
if (Array.isArray(arr))
|
51
|
+
return _array_like_to_array(arr);
|
52
|
+
}
|
53
|
+
function _define_property(obj, key, value) {
|
54
|
+
if (key in obj) {
|
55
|
+
Object.defineProperty(obj, key, {
|
56
|
+
value,
|
57
|
+
enumerable: true,
|
58
|
+
configurable: true,
|
59
|
+
writable: true
|
60
|
+
});
|
61
|
+
} else {
|
62
|
+
obj[key] = value;
|
63
|
+
}
|
64
|
+
return obj;
|
65
|
+
}
|
66
|
+
function _iterable_to_array(iter) {
|
67
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
|
68
|
+
return Array.from(iter);
|
69
|
+
}
|
70
|
+
function _non_iterable_spread() {
|
71
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
72
|
+
}
|
73
|
+
function _object_spread(target) {
|
74
|
+
for (var i = 1; i < arguments.length; i++) {
|
75
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
76
|
+
var ownKeys8 = Object.keys(source);
|
77
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
78
|
+
ownKeys8 = ownKeys8.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
79
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
80
|
+
}));
|
81
|
+
}
|
82
|
+
ownKeys8.forEach(function(key) {
|
83
|
+
_define_property(target, key, source[key]);
|
84
|
+
});
|
85
|
+
}
|
86
|
+
return target;
|
87
|
+
}
|
88
|
+
function _to_consumable_array(arr) {
|
89
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
90
|
+
}
|
91
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
92
|
+
if (!o)
|
93
|
+
return;
|
94
|
+
if (typeof o === "string")
|
95
|
+
return _array_like_to_array(o, minLen);
|
96
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
97
|
+
if (n === "Object" && o.constructor)
|
98
|
+
n = o.constructor.name;
|
99
|
+
if (n === "Map" || n === "Set")
|
100
|
+
return Array.from(n);
|
101
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
|
102
|
+
return _array_like_to_array(o, minLen);
|
103
|
+
}
|
117
104
|
var isPipeline = function(input) {
|
118
|
-
|
105
|
+
return Boolean(input === null || input === void 0 ? void 0 : input[PipelineSymbol]);
|
119
106
|
};
|
120
107
|
var PipelineSymbol = Symbol.for("MODERN_PIPELINE");
|
121
108
|
var getMiddleware = function(input) {
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
109
|
+
if (typeof input === "function") {
|
110
|
+
return input;
|
111
|
+
} else if (input && typeof input.middleware === "function") {
|
112
|
+
return input.middleware;
|
113
|
+
}
|
114
|
+
throw new Error("".concat(input, " is not a Middleware"));
|
128
115
|
};
|
129
116
|
var createPipeline = function() {
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
return pipeline;
|
138
|
-
};
|
139
|
-
var createCurrentCounter = function(onLast) {
|
140
|
-
return createCounter(function(index, input, next) {
|
141
|
-
if (index >= middlewares.length) {
|
142
|
-
if (onLast) {
|
143
|
-
return onLast(input);
|
144
|
-
}
|
145
|
-
throw new Error("Expect returning a value, but all middlewares just calling next()");
|
146
|
-
}
|
147
|
-
return middlewares[index](input, next);
|
148
|
-
});
|
149
|
-
};
|
150
|
-
var currentCounter = createCurrentCounter();
|
151
|
-
var getCounter = function(options) {
|
152
|
-
if (!options) {
|
153
|
-
return currentCounter;
|
154
|
-
}
|
155
|
-
return createCurrentCounter(options === null || options === void 0 ? void 0 : options.onLast);
|
156
|
-
};
|
157
|
-
var run = function(input, options) {
|
158
|
-
return getCounter(options).start(input);
|
159
|
-
};
|
160
|
-
var middleware = function(input, next) {
|
161
|
-
return run(input, {
|
162
|
-
onLast: next
|
163
|
-
});
|
164
|
-
};
|
165
|
-
var _obj;
|
166
|
-
var pipeline = (_obj = {}, _defineProperty(_obj, PipelineSymbol, true), _defineProperty(_obj, "use", use), _defineProperty(_obj, "run", run), _defineProperty(_obj, "middleware", middleware), _obj);
|
117
|
+
var middlewares = [];
|
118
|
+
var use = function() {
|
119
|
+
for (var _len = arguments.length, inputs = new Array(_len), _key = 0; _key < _len; _key++) {
|
120
|
+
inputs[_key] = arguments[_key];
|
121
|
+
}
|
122
|
+
var _middlewares;
|
123
|
+
(_middlewares = middlewares).push.apply(_middlewares, _to_consumable_array(inputs.map(getMiddleware)));
|
167
124
|
return pipeline;
|
125
|
+
};
|
126
|
+
var createCurrentCounter = function(onLast) {
|
127
|
+
return createCounter(function(index, input, next) {
|
128
|
+
if (index >= middlewares.length) {
|
129
|
+
if (onLast) {
|
130
|
+
return onLast(input);
|
131
|
+
}
|
132
|
+
throw new Error("Expect returning a value, but all middlewares just calling next()");
|
133
|
+
}
|
134
|
+
return middlewares[index](input, next);
|
135
|
+
});
|
136
|
+
};
|
137
|
+
var currentCounter = createCurrentCounter();
|
138
|
+
var getCounter = function(options) {
|
139
|
+
if (!options) {
|
140
|
+
return currentCounter;
|
141
|
+
}
|
142
|
+
return createCurrentCounter(options === null || options === void 0 ? void 0 : options.onLast);
|
143
|
+
};
|
144
|
+
var run = function(input, options) {
|
145
|
+
return getCounter(options).start(input);
|
146
|
+
};
|
147
|
+
var middleware = function(input, next) {
|
148
|
+
return run(input, {
|
149
|
+
onLast: next
|
150
|
+
});
|
151
|
+
};
|
152
|
+
var _obj;
|
153
|
+
var pipeline = (_obj = {}, _define_property(_obj, PipelineSymbol, true), _define_property(_obj, "use", use), _define_property(_obj, "run", run), _define_property(_obj, "middleware", middleware), _obj);
|
154
|
+
return pipeline;
|
168
155
|
};
|
169
156
|
var createAsyncPipeline = function() {
|
170
|
-
|
171
|
-
|
157
|
+
var pipeline = createPipeline();
|
158
|
+
return _object_spread({}, pipeline);
|
172
159
|
};
|
160
|
+
|
173
161
|
// src/waterfall/sync.ts
|
162
|
+
function _array_like_to_array2(arr, len) {
|
163
|
+
if (len == null || len > arr.length)
|
164
|
+
len = arr.length;
|
165
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++)
|
166
|
+
arr2[i] = arr[i];
|
167
|
+
return arr2;
|
168
|
+
}
|
169
|
+
function _array_without_holes2(arr) {
|
170
|
+
if (Array.isArray(arr))
|
171
|
+
return _array_like_to_array2(arr);
|
172
|
+
}
|
173
|
+
function _define_property2(obj, key, value) {
|
174
|
+
if (key in obj) {
|
175
|
+
Object.defineProperty(obj, key, {
|
176
|
+
value,
|
177
|
+
enumerable: true,
|
178
|
+
configurable: true,
|
179
|
+
writable: true
|
180
|
+
});
|
181
|
+
} else {
|
182
|
+
obj[key] = value;
|
183
|
+
}
|
184
|
+
return obj;
|
185
|
+
}
|
186
|
+
function _iterable_to_array2(iter) {
|
187
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
|
188
|
+
return Array.from(iter);
|
189
|
+
}
|
190
|
+
function _non_iterable_spread2() {
|
191
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
192
|
+
}
|
193
|
+
function _object_spread2(target) {
|
194
|
+
for (var i = 1; i < arguments.length; i++) {
|
195
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
196
|
+
var ownKeys8 = Object.keys(source);
|
197
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
198
|
+
ownKeys8 = ownKeys8.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
199
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
200
|
+
}));
|
201
|
+
}
|
202
|
+
ownKeys8.forEach(function(key) {
|
203
|
+
_define_property2(target, key, source[key]);
|
204
|
+
});
|
205
|
+
}
|
206
|
+
return target;
|
207
|
+
}
|
208
|
+
function ownKeys(object, enumerableOnly) {
|
209
|
+
var keys = Object.keys(object);
|
210
|
+
if (Object.getOwnPropertySymbols) {
|
211
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
212
|
+
if (enumerableOnly) {
|
213
|
+
symbols = symbols.filter(function(sym) {
|
214
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
215
|
+
});
|
216
|
+
}
|
217
|
+
keys.push.apply(keys, symbols);
|
218
|
+
}
|
219
|
+
return keys;
|
220
|
+
}
|
221
|
+
function _object_spread_props(target, source) {
|
222
|
+
source = source != null ? source : {};
|
223
|
+
if (Object.getOwnPropertyDescriptors) {
|
224
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
225
|
+
} else {
|
226
|
+
ownKeys(Object(source)).forEach(function(key) {
|
227
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
228
|
+
});
|
229
|
+
}
|
230
|
+
return target;
|
231
|
+
}
|
232
|
+
function _to_consumable_array2(arr) {
|
233
|
+
return _array_without_holes2(arr) || _iterable_to_array2(arr) || _unsupported_iterable_to_array2(arr) || _non_iterable_spread2();
|
234
|
+
}
|
235
|
+
function _unsupported_iterable_to_array2(o, minLen) {
|
236
|
+
if (!o)
|
237
|
+
return;
|
238
|
+
if (typeof o === "string")
|
239
|
+
return _array_like_to_array2(o, minLen);
|
240
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
241
|
+
if (n === "Object" && o.constructor)
|
242
|
+
n = o.constructor.name;
|
243
|
+
if (n === "Map" || n === "Set")
|
244
|
+
return Array.from(n);
|
245
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
|
246
|
+
return _array_like_to_array2(o, minLen);
|
247
|
+
}
|
174
248
|
var WATERFALL_SYMBOL = Symbol.for("MODERN_WATERFALL");
|
175
249
|
var getBrook = function(input) {
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
250
|
+
if (typeof input === "function") {
|
251
|
+
return input;
|
252
|
+
} else if (input && typeof input.middleware === "function") {
|
253
|
+
return input.middleware;
|
254
|
+
}
|
255
|
+
throw new Error("".concat(input, " is not a Brook or { brook: Brook }"));
|
182
256
|
};
|
183
257
|
var createWaterfall = function() {
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
return waterfall;
|
192
|
-
};
|
193
|
-
var run = function(input, options) {
|
194
|
-
return pipeline.run(input, _objectSpreadProps(_objectSpread({}, options), {
|
195
|
-
onLast: function(input2) {
|
196
|
-
return input2;
|
197
|
-
}
|
198
|
-
}));
|
199
|
-
};
|
200
|
-
var middleware = function(input) {
|
201
|
-
return pipeline.run(input, {
|
202
|
-
onLast: function(input2) {
|
203
|
-
return input2;
|
204
|
-
}
|
205
|
-
});
|
206
|
-
};
|
207
|
-
var waterfall = _objectSpreadProps(_objectSpread({}, pipeline), _defineProperty({
|
208
|
-
use: use,
|
209
|
-
run: run,
|
210
|
-
middleware: middleware
|
211
|
-
}, WATERFALL_SYMBOL, true));
|
258
|
+
var pipeline = createPipeline();
|
259
|
+
var use = function() {
|
260
|
+
for (var _len = arguments.length, brooks = new Array(_len), _key = 0; _key < _len; _key++) {
|
261
|
+
brooks[_key] = arguments[_key];
|
262
|
+
}
|
263
|
+
var _pipeline;
|
264
|
+
(_pipeline = pipeline).use.apply(_pipeline, _to_consumable_array2(brooks.map(getBrook).map(mapBrookToMiddleware)));
|
212
265
|
return waterfall;
|
266
|
+
};
|
267
|
+
var run = function(input, options) {
|
268
|
+
return pipeline.run(input, _object_spread_props(_object_spread2({}, options), {
|
269
|
+
onLast: function(input2) {
|
270
|
+
return input2;
|
271
|
+
}
|
272
|
+
}));
|
273
|
+
};
|
274
|
+
var middleware = function(input) {
|
275
|
+
return pipeline.run(input, {
|
276
|
+
onLast: function(input2) {
|
277
|
+
return input2;
|
278
|
+
}
|
279
|
+
});
|
280
|
+
};
|
281
|
+
var waterfall = _object_spread_props(_object_spread2({}, pipeline), _define_property2({
|
282
|
+
use,
|
283
|
+
run,
|
284
|
+
middleware
|
285
|
+
}, WATERFALL_SYMBOL, true));
|
286
|
+
return waterfall;
|
213
287
|
};
|
214
288
|
var isWaterfall = function(input) {
|
215
|
-
|
289
|
+
return Boolean(input === null || input === void 0 ? void 0 : input[WATERFALL_SYMBOL]);
|
216
290
|
};
|
217
291
|
var mapBrookToMiddleware = function(brook) {
|
218
|
-
|
219
|
-
|
220
|
-
|
292
|
+
return function(input, next) {
|
293
|
+
return next(brook(input));
|
294
|
+
};
|
221
295
|
};
|
296
|
+
|
222
297
|
// src/waterfall/async.ts
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
298
|
+
function _array_like_to_array3(arr, len) {
|
299
|
+
if (len == null || len > arr.length)
|
300
|
+
len = arr.length;
|
301
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++)
|
302
|
+
arr2[i] = arr[i];
|
303
|
+
return arr2;
|
304
|
+
}
|
305
|
+
function _array_without_holes3(arr) {
|
306
|
+
if (Array.isArray(arr))
|
307
|
+
return _array_like_to_array3(arr);
|
308
|
+
}
|
309
|
+
function _define_property3(obj, key, value) {
|
310
|
+
if (key in obj) {
|
311
|
+
Object.defineProperty(obj, key, {
|
312
|
+
value,
|
313
|
+
enumerable: true,
|
314
|
+
configurable: true,
|
315
|
+
writable: true
|
316
|
+
});
|
317
|
+
} else {
|
318
|
+
obj[key] = value;
|
319
|
+
}
|
320
|
+
return obj;
|
321
|
+
}
|
322
|
+
function _iterable_to_array3(iter) {
|
323
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
|
324
|
+
return Array.from(iter);
|
325
|
+
}
|
326
|
+
function _non_iterable_spread3() {
|
327
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
328
|
+
}
|
329
|
+
function _object_spread3(target) {
|
330
|
+
for (var i = 1; i < arguments.length; i++) {
|
331
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
332
|
+
var ownKeys8 = Object.keys(source);
|
333
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
334
|
+
ownKeys8 = ownKeys8.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
335
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
336
|
+
}));
|
227
337
|
}
|
228
|
-
|
229
|
-
|
338
|
+
ownKeys8.forEach(function(key) {
|
339
|
+
_define_property3(target, key, source[key]);
|
340
|
+
});
|
341
|
+
}
|
342
|
+
return target;
|
343
|
+
}
|
344
|
+
function ownKeys2(object, enumerableOnly) {
|
345
|
+
var keys = Object.keys(object);
|
346
|
+
if (Object.getOwnPropertySymbols) {
|
347
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
348
|
+
if (enumerableOnly) {
|
349
|
+
symbols = symbols.filter(function(sym) {
|
350
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
351
|
+
});
|
230
352
|
}
|
231
|
-
|
353
|
+
keys.push.apply(keys, symbols);
|
354
|
+
}
|
355
|
+
return keys;
|
356
|
+
}
|
357
|
+
function _object_spread_props2(target, source) {
|
358
|
+
source = source != null ? source : {};
|
359
|
+
if (Object.getOwnPropertyDescriptors) {
|
360
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
361
|
+
} else {
|
362
|
+
ownKeys2(Object(source)).forEach(function(key) {
|
363
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
364
|
+
});
|
365
|
+
}
|
366
|
+
return target;
|
367
|
+
}
|
368
|
+
function _to_consumable_array3(arr) {
|
369
|
+
return _array_without_holes3(arr) || _iterable_to_array3(arr) || _unsupported_iterable_to_array3(arr) || _non_iterable_spread3();
|
370
|
+
}
|
371
|
+
function _unsupported_iterable_to_array3(o, minLen) {
|
372
|
+
if (!o)
|
373
|
+
return;
|
374
|
+
if (typeof o === "string")
|
375
|
+
return _array_like_to_array3(o, minLen);
|
376
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
377
|
+
if (n === "Object" && o.constructor)
|
378
|
+
n = o.constructor.name;
|
379
|
+
if (n === "Map" || n === "Set")
|
380
|
+
return Array.from(n);
|
381
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
|
382
|
+
return _array_like_to_array3(o, minLen);
|
383
|
+
}
|
384
|
+
var ASYNC_WATERFALL_SYMBOL = Symbol.for("MODERN_ASYNC_WATERFALL");
|
385
|
+
var getAsyncBrook = function(input) {
|
386
|
+
if (typeof input === "function") {
|
387
|
+
return input;
|
388
|
+
}
|
389
|
+
if (input && typeof input.middleware === "function") {
|
390
|
+
return input.middleware;
|
391
|
+
}
|
392
|
+
throw new Error("".concat(input, " is not a AsyncBrook or { brook: AsyncBrook }"));
|
232
393
|
};
|
233
394
|
var createAsyncWaterfall = function() {
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
return waterfall;
|
242
|
-
};
|
243
|
-
var run = function(input, options) {
|
244
|
-
return pipeline.run(input, _objectSpreadProps(_objectSpread({}, options), {
|
245
|
-
onLast: function(input2) {
|
246
|
-
return input2;
|
247
|
-
}
|
248
|
-
}));
|
249
|
-
};
|
250
|
-
var middleware = function(input) {
|
251
|
-
return pipeline.run(input, {
|
252
|
-
onLast: function(input2) {
|
253
|
-
return input2;
|
254
|
-
}
|
255
|
-
});
|
256
|
-
};
|
257
|
-
var waterfall = _objectSpreadProps(_objectSpread({}, pipeline), _defineProperty({
|
258
|
-
use: use,
|
259
|
-
run: run,
|
260
|
-
middleware: middleware
|
261
|
-
}, ASYNC_WATERFALL_SYMBOL, true));
|
395
|
+
var pipeline = createAsyncPipeline();
|
396
|
+
var use = function() {
|
397
|
+
for (var _len = arguments.length, input = new Array(_len), _key = 0; _key < _len; _key++) {
|
398
|
+
input[_key] = arguments[_key];
|
399
|
+
}
|
400
|
+
var _pipeline;
|
401
|
+
(_pipeline = pipeline).use.apply(_pipeline, _to_consumable_array3(input.map(getAsyncBrook).map(mapAsyncBrookToAsyncMiddleware)));
|
262
402
|
return waterfall;
|
403
|
+
};
|
404
|
+
var run = function(input, options) {
|
405
|
+
return pipeline.run(input, _object_spread_props2(_object_spread3({}, options), {
|
406
|
+
onLast: function(input2) {
|
407
|
+
return input2;
|
408
|
+
}
|
409
|
+
}));
|
410
|
+
};
|
411
|
+
var middleware = function(input) {
|
412
|
+
return pipeline.run(input, {
|
413
|
+
onLast: function(input2) {
|
414
|
+
return input2;
|
415
|
+
}
|
416
|
+
});
|
417
|
+
};
|
418
|
+
var waterfall = _object_spread_props2(_object_spread3({}, pipeline), _define_property3({
|
419
|
+
use,
|
420
|
+
run,
|
421
|
+
middleware
|
422
|
+
}, ASYNC_WATERFALL_SYMBOL, true));
|
423
|
+
return waterfall;
|
263
424
|
};
|
264
425
|
var isAsyncWaterfall = function(input) {
|
265
|
-
|
426
|
+
return Boolean(input === null || input === void 0 ? void 0 : input[ASYNC_WATERFALL_SYMBOL]);
|
266
427
|
};
|
267
428
|
var mapAsyncBrookToAsyncMiddleware = function(brook) {
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
429
|
+
return function(input, next) {
|
430
|
+
return Promise.resolve(brook(input)).then(function(result) {
|
431
|
+
return next(result);
|
432
|
+
});
|
433
|
+
};
|
273
434
|
};
|
435
|
+
|
274
436
|
// src/workflow/sync.ts
|
437
|
+
function _array_like_to_array4(arr, len) {
|
438
|
+
if (len == null || len > arr.length)
|
439
|
+
len = arr.length;
|
440
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++)
|
441
|
+
arr2[i] = arr[i];
|
442
|
+
return arr2;
|
443
|
+
}
|
444
|
+
function _array_without_holes4(arr) {
|
445
|
+
if (Array.isArray(arr))
|
446
|
+
return _array_like_to_array4(arr);
|
447
|
+
}
|
448
|
+
function _define_property4(obj, key, value) {
|
449
|
+
if (key in obj) {
|
450
|
+
Object.defineProperty(obj, key, {
|
451
|
+
value,
|
452
|
+
enumerable: true,
|
453
|
+
configurable: true,
|
454
|
+
writable: true
|
455
|
+
});
|
456
|
+
} else {
|
457
|
+
obj[key] = value;
|
458
|
+
}
|
459
|
+
return obj;
|
460
|
+
}
|
461
|
+
function _iterable_to_array4(iter) {
|
462
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
|
463
|
+
return Array.from(iter);
|
464
|
+
}
|
465
|
+
function _non_iterable_spread4() {
|
466
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
467
|
+
}
|
468
|
+
function _object_spread4(target) {
|
469
|
+
for (var i = 1; i < arguments.length; i++) {
|
470
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
471
|
+
var ownKeys8 = Object.keys(source);
|
472
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
473
|
+
ownKeys8 = ownKeys8.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
474
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
475
|
+
}));
|
476
|
+
}
|
477
|
+
ownKeys8.forEach(function(key) {
|
478
|
+
_define_property4(target, key, source[key]);
|
479
|
+
});
|
480
|
+
}
|
481
|
+
return target;
|
482
|
+
}
|
483
|
+
function ownKeys3(object, enumerableOnly) {
|
484
|
+
var keys = Object.keys(object);
|
485
|
+
if (Object.getOwnPropertySymbols) {
|
486
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
487
|
+
if (enumerableOnly) {
|
488
|
+
symbols = symbols.filter(function(sym) {
|
489
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
490
|
+
});
|
491
|
+
}
|
492
|
+
keys.push.apply(keys, symbols);
|
493
|
+
}
|
494
|
+
return keys;
|
495
|
+
}
|
496
|
+
function _object_spread_props3(target, source) {
|
497
|
+
source = source != null ? source : {};
|
498
|
+
if (Object.getOwnPropertyDescriptors) {
|
499
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
500
|
+
} else {
|
501
|
+
ownKeys3(Object(source)).forEach(function(key) {
|
502
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
503
|
+
});
|
504
|
+
}
|
505
|
+
return target;
|
506
|
+
}
|
507
|
+
function _to_consumable_array4(arr) {
|
508
|
+
return _array_without_holes4(arr) || _iterable_to_array4(arr) || _unsupported_iterable_to_array4(arr) || _non_iterable_spread4();
|
509
|
+
}
|
510
|
+
function _unsupported_iterable_to_array4(o, minLen) {
|
511
|
+
if (!o)
|
512
|
+
return;
|
513
|
+
if (typeof o === "string")
|
514
|
+
return _array_like_to_array4(o, minLen);
|
515
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
516
|
+
if (n === "Object" && o.constructor)
|
517
|
+
n = o.constructor.name;
|
518
|
+
if (n === "Map" || n === "Set")
|
519
|
+
return Array.from(n);
|
520
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
|
521
|
+
return _array_like_to_array4(o, minLen);
|
522
|
+
}
|
275
523
|
var WORKFLOW_SYMBOL = Symbol.for("MODERN_WORKFLOW");
|
276
524
|
var createWorkflow = function() {
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
return workflow;
|
285
|
-
};
|
286
|
-
var run = function(input) {
|
287
|
-
var result = pipeline.run(input, {
|
288
|
-
onLast: function() {
|
289
|
-
return [];
|
290
|
-
}
|
291
|
-
});
|
292
|
-
return result.filter(Boolean);
|
293
|
-
};
|
294
|
-
var workflow = _objectSpreadProps(_objectSpread({}, pipeline), _defineProperty({
|
295
|
-
use: use,
|
296
|
-
run: run
|
297
|
-
}, WORKFLOW_SYMBOL, true));
|
525
|
+
var pipeline = createPipeline();
|
526
|
+
var use = function() {
|
527
|
+
for (var _len = arguments.length, input = new Array(_len), _key = 0; _key < _len; _key++) {
|
528
|
+
input[_key] = arguments[_key];
|
529
|
+
}
|
530
|
+
var _pipeline;
|
531
|
+
(_pipeline = pipeline).use.apply(_pipeline, _to_consumable_array4(input.map(mapWorkerToMiddleware)));
|
298
532
|
return workflow;
|
533
|
+
};
|
534
|
+
var run = function(input) {
|
535
|
+
var result = pipeline.run(input, {
|
536
|
+
onLast: function() {
|
537
|
+
return [];
|
538
|
+
}
|
539
|
+
});
|
540
|
+
return result.filter(Boolean);
|
541
|
+
};
|
542
|
+
var workflow = _object_spread_props3(_object_spread4({}, pipeline), _define_property4({
|
543
|
+
use,
|
544
|
+
run
|
545
|
+
}, WORKFLOW_SYMBOL, true));
|
546
|
+
return workflow;
|
299
547
|
};
|
300
548
|
var isWorkflow = function(input) {
|
301
|
-
|
549
|
+
return Boolean(input === null || input === void 0 ? void 0 : input[WORKFLOW_SYMBOL]);
|
302
550
|
};
|
303
551
|
var mapWorkerToMiddleware = function(worker) {
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
552
|
+
return function(input, next) {
|
553
|
+
return [
|
554
|
+
worker(input)
|
555
|
+
].concat(_to_consumable_array4(next(input)));
|
556
|
+
};
|
309
557
|
};
|
558
|
+
|
310
559
|
// src/workflow/parallel.ts
|
560
|
+
function _array_like_to_array5(arr, len) {
|
561
|
+
if (len == null || len > arr.length)
|
562
|
+
len = arr.length;
|
563
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++)
|
564
|
+
arr2[i] = arr[i];
|
565
|
+
return arr2;
|
566
|
+
}
|
567
|
+
function _array_without_holes5(arr) {
|
568
|
+
if (Array.isArray(arr))
|
569
|
+
return _array_like_to_array5(arr);
|
570
|
+
}
|
571
|
+
function _define_property5(obj, key, value) {
|
572
|
+
if (key in obj) {
|
573
|
+
Object.defineProperty(obj, key, {
|
574
|
+
value,
|
575
|
+
enumerable: true,
|
576
|
+
configurable: true,
|
577
|
+
writable: true
|
578
|
+
});
|
579
|
+
} else {
|
580
|
+
obj[key] = value;
|
581
|
+
}
|
582
|
+
return obj;
|
583
|
+
}
|
584
|
+
function _iterable_to_array5(iter) {
|
585
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
|
586
|
+
return Array.from(iter);
|
587
|
+
}
|
588
|
+
function _non_iterable_spread5() {
|
589
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
590
|
+
}
|
591
|
+
function _object_spread5(target) {
|
592
|
+
for (var i = 1; i < arguments.length; i++) {
|
593
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
594
|
+
var ownKeys8 = Object.keys(source);
|
595
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
596
|
+
ownKeys8 = ownKeys8.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
597
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
598
|
+
}));
|
599
|
+
}
|
600
|
+
ownKeys8.forEach(function(key) {
|
601
|
+
_define_property5(target, key, source[key]);
|
602
|
+
});
|
603
|
+
}
|
604
|
+
return target;
|
605
|
+
}
|
606
|
+
function ownKeys4(object, enumerableOnly) {
|
607
|
+
var keys = Object.keys(object);
|
608
|
+
if (Object.getOwnPropertySymbols) {
|
609
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
610
|
+
if (enumerableOnly) {
|
611
|
+
symbols = symbols.filter(function(sym) {
|
612
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
613
|
+
});
|
614
|
+
}
|
615
|
+
keys.push.apply(keys, symbols);
|
616
|
+
}
|
617
|
+
return keys;
|
618
|
+
}
|
619
|
+
function _object_spread_props4(target, source) {
|
620
|
+
source = source != null ? source : {};
|
621
|
+
if (Object.getOwnPropertyDescriptors) {
|
622
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
623
|
+
} else {
|
624
|
+
ownKeys4(Object(source)).forEach(function(key) {
|
625
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
626
|
+
});
|
627
|
+
}
|
628
|
+
return target;
|
629
|
+
}
|
630
|
+
function _to_consumable_array5(arr) {
|
631
|
+
return _array_without_holes5(arr) || _iterable_to_array5(arr) || _unsupported_iterable_to_array5(arr) || _non_iterable_spread5();
|
632
|
+
}
|
633
|
+
function _unsupported_iterable_to_array5(o, minLen) {
|
634
|
+
if (!o)
|
635
|
+
return;
|
636
|
+
if (typeof o === "string")
|
637
|
+
return _array_like_to_array5(o, minLen);
|
638
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
639
|
+
if (n === "Object" && o.constructor)
|
640
|
+
n = o.constructor.name;
|
641
|
+
if (n === "Map" || n === "Set")
|
642
|
+
return Array.from(n);
|
643
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
|
644
|
+
return _array_like_to_array5(o, minLen);
|
645
|
+
}
|
311
646
|
var PARALLEL_WORKFLOW_SYMBOL = Symbol.for("MODERN_PARALLEL_WORKFLOW");
|
312
647
|
var isParallelWorkflow = function(input) {
|
313
|
-
|
648
|
+
return Boolean(input === null || input === void 0 ? void 0 : input[PARALLEL_WORKFLOW_SYMBOL]);
|
314
649
|
};
|
315
650
|
var createParallelWorkflow = function() {
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
return workflow;
|
324
|
-
};
|
325
|
-
var run = function(input) {
|
326
|
-
return Promise.all(pipeline.run(input, {
|
327
|
-
onLast: function() {
|
328
|
-
return [];
|
329
|
-
}
|
330
|
-
})).then(function(result) {
|
331
|
-
return result.filter(Boolean);
|
332
|
-
});
|
333
|
-
};
|
334
|
-
var workflow = _objectSpreadProps(_objectSpread({}, pipeline), _defineProperty({
|
335
|
-
run: run,
|
336
|
-
use: use
|
337
|
-
}, PARALLEL_WORKFLOW_SYMBOL, true));
|
651
|
+
var pipeline = createPipeline();
|
652
|
+
var use = function() {
|
653
|
+
for (var _len = arguments.length, input = new Array(_len), _key = 0; _key < _len; _key++) {
|
654
|
+
input[_key] = arguments[_key];
|
655
|
+
}
|
656
|
+
var _pipeline;
|
657
|
+
(_pipeline = pipeline).use.apply(_pipeline, _to_consumable_array5(input.map(mapParallelWorkerToAsyncMiddleware)));
|
338
658
|
return workflow;
|
659
|
+
};
|
660
|
+
var run = function(input) {
|
661
|
+
return Promise.all(pipeline.run(input, {
|
662
|
+
onLast: function() {
|
663
|
+
return [];
|
664
|
+
}
|
665
|
+
})).then(function(result) {
|
666
|
+
return result.filter(Boolean);
|
667
|
+
});
|
668
|
+
};
|
669
|
+
var workflow = _object_spread_props4(_object_spread5({}, pipeline), _define_property5({
|
670
|
+
run,
|
671
|
+
use
|
672
|
+
}, PARALLEL_WORKFLOW_SYMBOL, true));
|
673
|
+
return workflow;
|
339
674
|
};
|
340
675
|
var mapParallelWorkerToAsyncMiddleware = function(worker) {
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
676
|
+
return function(input, next) {
|
677
|
+
return [
|
678
|
+
worker(input)
|
679
|
+
].concat(_to_consumable_array5(next(input)));
|
680
|
+
};
|
346
681
|
};
|
682
|
+
|
347
683
|
// src/workflow/async.ts
|
684
|
+
function _array_like_to_array6(arr, len) {
|
685
|
+
if (len == null || len > arr.length)
|
686
|
+
len = arr.length;
|
687
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++)
|
688
|
+
arr2[i] = arr[i];
|
689
|
+
return arr2;
|
690
|
+
}
|
691
|
+
function _array_without_holes6(arr) {
|
692
|
+
if (Array.isArray(arr))
|
693
|
+
return _array_like_to_array6(arr);
|
694
|
+
}
|
695
|
+
function _define_property6(obj, key, value) {
|
696
|
+
if (key in obj) {
|
697
|
+
Object.defineProperty(obj, key, {
|
698
|
+
value,
|
699
|
+
enumerable: true,
|
700
|
+
configurable: true,
|
701
|
+
writable: true
|
702
|
+
});
|
703
|
+
} else {
|
704
|
+
obj[key] = value;
|
705
|
+
}
|
706
|
+
return obj;
|
707
|
+
}
|
708
|
+
function _iterable_to_array6(iter) {
|
709
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
|
710
|
+
return Array.from(iter);
|
711
|
+
}
|
712
|
+
function _non_iterable_spread6() {
|
713
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
714
|
+
}
|
715
|
+
function _object_spread6(target) {
|
716
|
+
for (var i = 1; i < arguments.length; i++) {
|
717
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
718
|
+
var ownKeys8 = Object.keys(source);
|
719
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
720
|
+
ownKeys8 = ownKeys8.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
721
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
722
|
+
}));
|
723
|
+
}
|
724
|
+
ownKeys8.forEach(function(key) {
|
725
|
+
_define_property6(target, key, source[key]);
|
726
|
+
});
|
727
|
+
}
|
728
|
+
return target;
|
729
|
+
}
|
730
|
+
function ownKeys5(object, enumerableOnly) {
|
731
|
+
var keys = Object.keys(object);
|
732
|
+
if (Object.getOwnPropertySymbols) {
|
733
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
734
|
+
if (enumerableOnly) {
|
735
|
+
symbols = symbols.filter(function(sym) {
|
736
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
737
|
+
});
|
738
|
+
}
|
739
|
+
keys.push.apply(keys, symbols);
|
740
|
+
}
|
741
|
+
return keys;
|
742
|
+
}
|
743
|
+
function _object_spread_props5(target, source) {
|
744
|
+
source = source != null ? source : {};
|
745
|
+
if (Object.getOwnPropertyDescriptors) {
|
746
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
747
|
+
} else {
|
748
|
+
ownKeys5(Object(source)).forEach(function(key) {
|
749
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
750
|
+
});
|
751
|
+
}
|
752
|
+
return target;
|
753
|
+
}
|
754
|
+
function _to_consumable_array6(arr) {
|
755
|
+
return _array_without_holes6(arr) || _iterable_to_array6(arr) || _unsupported_iterable_to_array6(arr) || _non_iterable_spread6();
|
756
|
+
}
|
757
|
+
function _unsupported_iterable_to_array6(o, minLen) {
|
758
|
+
if (!o)
|
759
|
+
return;
|
760
|
+
if (typeof o === "string")
|
761
|
+
return _array_like_to_array6(o, minLen);
|
762
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
763
|
+
if (n === "Object" && o.constructor)
|
764
|
+
n = o.constructor.name;
|
765
|
+
if (n === "Map" || n === "Set")
|
766
|
+
return Array.from(n);
|
767
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
|
768
|
+
return _array_like_to_array6(o, minLen);
|
769
|
+
}
|
348
770
|
var ASYNC_WORKFLOW_SYMBOL = Symbol.for("MODERN_ASYNC_WORKFLOW");
|
349
771
|
var isAsyncWorkflow = function(input) {
|
350
|
-
|
772
|
+
return Boolean(input === null || input === void 0 ? void 0 : input[ASYNC_WORKFLOW_SYMBOL]);
|
351
773
|
};
|
352
774
|
var createAsyncWorkflow = function() {
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
return workflow;
|
361
|
-
};
|
362
|
-
var run = function(input) {
|
363
|
-
var result = pipeline.run(input, {
|
364
|
-
onLast: function() {
|
365
|
-
return [];
|
366
|
-
}
|
367
|
-
});
|
368
|
-
if (isPromise(result)) {
|
369
|
-
return result.then(function(result2) {
|
370
|
-
return result2.filter(Boolean);
|
371
|
-
});
|
372
|
-
}
|
373
|
-
return result.filter(Boolean);
|
374
|
-
};
|
375
|
-
var workflow = _objectSpreadProps(_objectSpread({}, pipeline), _defineProperty({
|
376
|
-
use: use,
|
377
|
-
run: run
|
378
|
-
}, ASYNC_WORKFLOW_SYMBOL, true));
|
775
|
+
var pipeline = createAsyncPipeline();
|
776
|
+
var use = function() {
|
777
|
+
for (var _len = arguments.length, input = new Array(_len), _key = 0; _key < _len; _key++) {
|
778
|
+
input[_key] = arguments[_key];
|
779
|
+
}
|
780
|
+
var _pipeline;
|
781
|
+
(_pipeline = pipeline).use.apply(_pipeline, _to_consumable_array6(input.map(mapAsyncWorkerToAsyncMiddleware)));
|
379
782
|
return workflow;
|
783
|
+
};
|
784
|
+
var run = function(input) {
|
785
|
+
var result = pipeline.run(input, {
|
786
|
+
onLast: function() {
|
787
|
+
return [];
|
788
|
+
}
|
789
|
+
});
|
790
|
+
if (isPromise(result)) {
|
791
|
+
return result.then(function(result2) {
|
792
|
+
return result2.filter(Boolean);
|
793
|
+
});
|
794
|
+
}
|
795
|
+
return result.filter(Boolean);
|
796
|
+
};
|
797
|
+
var workflow = _object_spread_props5(_object_spread6({}, pipeline), _define_property6({
|
798
|
+
use,
|
799
|
+
run
|
800
|
+
}, ASYNC_WORKFLOW_SYMBOL, true));
|
801
|
+
return workflow;
|
380
802
|
};
|
381
803
|
var mapAsyncWorkerToAsyncMiddleware = function(worker) {
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
});
|
390
|
-
};
|
391
|
-
};
|
392
|
-
function isPromise(obj) {
|
393
|
-
return obj && typeof obj.then === "function";
|
394
|
-
}
|
395
|
-
// src/utils/pluginDagSort.ts
|
396
|
-
var dagSort = function(plugins) {
|
397
|
-
var _loop = function() {
|
398
|
-
var zep = zeroEndPoints.shift();
|
399
|
-
sortedPoint.push(getPluginByAny(zep));
|
400
|
-
allLines = allLines.filter(function(l) {
|
401
|
-
return l[0] !== getPluginByAny(zep)[key];
|
402
|
-
});
|
403
|
-
var restPoints = plugins.filter(function(item) {
|
404
|
-
return !sortedPoint.find(function(sp) {
|
405
|
-
return sp[key] === item[key];
|
406
|
-
});
|
407
|
-
});
|
408
|
-
zeroEndPoints = restPoints.filter(// eslint-disable-next-line @typescript-eslint/no-loop-func
|
409
|
-
function(item) {
|
410
|
-
return !allLines.find(function(l) {
|
411
|
-
return l[1] === item[key];
|
412
|
-
});
|
413
|
-
});
|
414
|
-
};
|
415
|
-
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";
|
416
|
-
var getPluginByAny = function getPluginByAny(q) {
|
417
|
-
var target = plugins.find(function(item) {
|
418
|
-
return typeof q === "string" ? item[key] === q : item[key] === q[key];
|
419
|
-
});
|
420
|
-
if (!target) {
|
421
|
-
throw new Error("plugin ".concat(q, " not existed"));
|
422
|
-
}
|
423
|
-
return target;
|
424
|
-
};
|
425
|
-
var allLines = [];
|
426
|
-
plugins.forEach(function(item) {
|
427
|
-
item[preKey].forEach(function(p) {
|
428
|
-
if (plugins.find(function(ap) {
|
429
|
-
return ap.name === p;
|
430
|
-
})) {
|
431
|
-
allLines.push([
|
432
|
-
getPluginByAny(p)[key],
|
433
|
-
getPluginByAny(item)[key]
|
434
|
-
]);
|
435
|
-
}
|
436
|
-
});
|
437
|
-
item[postKey].forEach(function(pt) {
|
438
|
-
if (plugins.find(function(ap) {
|
439
|
-
return ap.name === pt;
|
440
|
-
})) {
|
441
|
-
allLines.push([
|
442
|
-
getPluginByAny(item)[key],
|
443
|
-
getPluginByAny(pt)[key]
|
444
|
-
]);
|
445
|
-
}
|
446
|
-
});
|
447
|
-
});
|
448
|
-
var zeroEndPoints = plugins.filter(function(item) {
|
449
|
-
return !allLines.find(function(l) {
|
450
|
-
return l[1] === item[key];
|
451
|
-
});
|
804
|
+
return function(input, next) {
|
805
|
+
return Promise.resolve(worker(input)).then(function(result) {
|
806
|
+
return Promise.resolve(next(input)).then(function(nextResult) {
|
807
|
+
return [
|
808
|
+
result
|
809
|
+
].concat(_to_consumable_array6(nextResult));
|
810
|
+
});
|
452
811
|
});
|
453
|
-
|
454
|
-
while(zeroEndPoints.length)_loop();
|
455
|
-
if (allLines.length) {
|
456
|
-
var restInRingPoints = {};
|
457
|
-
allLines.forEach(function(l) {
|
458
|
-
restInRingPoints[l[0]] = true;
|
459
|
-
restInRingPoints[l[1]] = true;
|
460
|
-
});
|
461
|
-
throw new Error("plugins dependences has loop: ".concat(Object.keys(restInRingPoints).join(",")));
|
462
|
-
}
|
463
|
-
return sortedPoint;
|
812
|
+
};
|
464
813
|
};
|
814
|
+
function isPromise(obj) {
|
815
|
+
return obj && typeof obj.then === "function";
|
816
|
+
}
|
817
|
+
|
465
818
|
// src/manager/shared.ts
|
819
|
+
import { pluginDagSort } from "@modern-js/utils/universal/pluginDagSort";
|
466
820
|
var checkPlugins = function(plugins) {
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
});
|
475
|
-
});
|
476
|
-
origin.required.forEach(function(required) {
|
477
|
-
if (!plugins.some(function(plugin) {
|
478
|
-
return plugin.name === required;
|
479
|
-
})) {
|
480
|
-
throw new Error("The plugin: ".concat(required, " is required when plugin: ").concat(origin.name, " is exist."));
|
481
|
-
}
|
482
|
-
});
|
821
|
+
if (process.env.NODE_ENV !== "production") {
|
822
|
+
plugins.forEach(function(origin) {
|
823
|
+
origin.rivals.forEach(function(rival) {
|
824
|
+
plugins.forEach(function(plugin) {
|
825
|
+
if (rival === plugin.name) {
|
826
|
+
throw new Error("".concat(origin.name, " has rival ").concat(plugin.name));
|
827
|
+
}
|
483
828
|
});
|
484
|
-
|
829
|
+
});
|
830
|
+
origin.required.forEach(function(required) {
|
831
|
+
if (!plugins.some(function(plugin) {
|
832
|
+
return plugin.name === required;
|
833
|
+
})) {
|
834
|
+
throw new Error("The plugin: ".concat(required, " is required when plugin: ").concat(origin.name, " is exist."));
|
835
|
+
}
|
836
|
+
});
|
837
|
+
});
|
838
|
+
}
|
485
839
|
};
|
486
840
|
function sortPlugins(input) {
|
487
|
-
|
841
|
+
return pluginDagSort(input.slice());
|
488
842
|
}
|
489
843
|
var includePlugin = function(plugins, input) {
|
490
|
-
|
491
|
-
|
492
|
-
|
844
|
+
return plugins.some(function(plugin) {
|
845
|
+
return plugin.name === input.name;
|
846
|
+
});
|
493
847
|
};
|
494
848
|
var isObject = function(obj) {
|
495
|
-
|
849
|
+
return obj !== null && typeof obj === "object";
|
496
850
|
};
|
497
851
|
var hasOwnProperty = function(obj, prop) {
|
498
|
-
|
852
|
+
return obj.hasOwnProperty(prop);
|
499
853
|
};
|
854
|
+
|
500
855
|
// src/manager/sync.ts
|
856
|
+
function _define_property7(obj, key, value) {
|
857
|
+
if (key in obj) {
|
858
|
+
Object.defineProperty(obj, key, {
|
859
|
+
value,
|
860
|
+
enumerable: true,
|
861
|
+
configurable: true,
|
862
|
+
writable: true
|
863
|
+
});
|
864
|
+
} else {
|
865
|
+
obj[key] = value;
|
866
|
+
}
|
867
|
+
return obj;
|
868
|
+
}
|
869
|
+
function _object_spread7(target) {
|
870
|
+
for (var i = 1; i < arguments.length; i++) {
|
871
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
872
|
+
var ownKeys8 = Object.keys(source);
|
873
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
874
|
+
ownKeys8 = ownKeys8.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
875
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
876
|
+
}));
|
877
|
+
}
|
878
|
+
ownKeys8.forEach(function(key) {
|
879
|
+
_define_property7(target, key, source[key]);
|
880
|
+
});
|
881
|
+
}
|
882
|
+
return target;
|
883
|
+
}
|
884
|
+
function ownKeys6(object, enumerableOnly) {
|
885
|
+
var keys = Object.keys(object);
|
886
|
+
if (Object.getOwnPropertySymbols) {
|
887
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
888
|
+
if (enumerableOnly) {
|
889
|
+
symbols = symbols.filter(function(sym) {
|
890
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
891
|
+
});
|
892
|
+
}
|
893
|
+
keys.push.apply(keys, symbols);
|
894
|
+
}
|
895
|
+
return keys;
|
896
|
+
}
|
897
|
+
function _object_spread_props6(target, source) {
|
898
|
+
source = source != null ? source : {};
|
899
|
+
if (Object.getOwnPropertyDescriptors) {
|
900
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
901
|
+
} else {
|
902
|
+
ownKeys6(Object(source)).forEach(function(key) {
|
903
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
904
|
+
});
|
905
|
+
}
|
906
|
+
return target;
|
907
|
+
}
|
501
908
|
var SYNC_PLUGIN_SYMBOL = "SYNC_PLUGIN_SYMBOL";
|
502
909
|
var DEFAULT_OPTIONS = {
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
910
|
+
name: "untitled",
|
911
|
+
pre: [],
|
912
|
+
post: [],
|
913
|
+
rivals: [],
|
914
|
+
required: [],
|
915
|
+
usePlugins: [],
|
916
|
+
registerHook: {}
|
510
917
|
};
|
511
918
|
var createManager = function(hooks, api) {
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
919
|
+
var index = 0;
|
920
|
+
var runners;
|
921
|
+
var currentHooks = _object_spread7({}, hooks);
|
922
|
+
var useRunner = function() {
|
923
|
+
return runners;
|
924
|
+
};
|
925
|
+
var registerHook = function(extraHooks) {
|
926
|
+
currentHooks = _object_spread7({}, extraHooks, currentHooks);
|
927
|
+
};
|
928
|
+
var isPlugin = function(input) {
|
929
|
+
return isObject(input) && hasOwnProperty(input, SYNC_PLUGIN_SYMBOL) && input[SYNC_PLUGIN_SYMBOL] === SYNC_PLUGIN_SYMBOL;
|
930
|
+
};
|
931
|
+
var pluginAPI = _object_spread_props6(_object_spread7({}, api), {
|
932
|
+
useHookRunners: useRunner
|
933
|
+
});
|
934
|
+
var clone = function(overrideAPI) {
|
935
|
+
var plugins = [];
|
936
|
+
var addPlugin = function(plugin) {
|
937
|
+
if (!includePlugin(plugins, plugin)) {
|
938
|
+
plugins.push(_object_spread7({}, plugin));
|
939
|
+
}
|
940
|
+
};
|
941
|
+
var usePlugin = function() {
|
942
|
+
for (var _len = arguments.length, input = new Array(_len), _key = 0; _key < _len; _key++) {
|
943
|
+
input[_key] = arguments[_key];
|
944
|
+
}
|
945
|
+
input.forEach(function(plugin) {
|
946
|
+
if (isPlugin(plugin)) {
|
947
|
+
addPlugin(plugin);
|
948
|
+
} else if (typeof plugin === "function") {
|
949
|
+
var options = plugin();
|
950
|
+
addPlugin(createPlugin(options.setup, options));
|
951
|
+
} else if (isObject(plugin)) {
|
952
|
+
addPlugin(createPlugin(plugin.setup, plugin));
|
953
|
+
} else if (process.env.NODE_ENV !== "production") {
|
954
|
+
console.warn("Unknown plugin: ".concat(JSON.stringify(plugin)));
|
955
|
+
}
|
956
|
+
});
|
957
|
+
return manager;
|
958
|
+
};
|
959
|
+
var createPlugin = function() {
|
960
|
+
var setup = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function() {
|
961
|
+
}, options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
962
|
+
var _options_usePlugins;
|
963
|
+
if ((_options_usePlugins = options.usePlugins) === null || _options_usePlugins === void 0 ? void 0 : _options_usePlugins.length) {
|
964
|
+
options.usePlugins.forEach(function(plugin) {
|
965
|
+
usePlugin(createPlugin(plugin.setup, plugin));
|
966
|
+
});
|
967
|
+
}
|
968
|
+
if (options.registerHook) {
|
969
|
+
registerHook(options.registerHook);
|
970
|
+
}
|
971
|
+
return _object_spread_props6(_object_spread7(_object_spread_props6(_object_spread7({}, DEFAULT_OPTIONS), {
|
972
|
+
name: "No.".concat(index++, " plugin")
|
973
|
+
}), options), {
|
974
|
+
SYNC_PLUGIN_SYMBOL,
|
975
|
+
setup
|
976
|
+
});
|
517
977
|
};
|
518
|
-
var
|
519
|
-
|
978
|
+
var clear = function() {
|
979
|
+
plugins = [];
|
520
980
|
};
|
521
|
-
var
|
522
|
-
|
981
|
+
var init = function() {
|
982
|
+
var sortedPlugins = sortPlugins(plugins);
|
983
|
+
var mergedPluginAPI = _object_spread7({}, pluginAPI, overrideAPI);
|
984
|
+
checkPlugins(sortedPlugins);
|
985
|
+
var hooksList = sortedPlugins.map(function(plugin) {
|
986
|
+
return plugin.setup(mergedPluginAPI);
|
987
|
+
});
|
988
|
+
runners = generateRunner(hooksList, currentHooks);
|
989
|
+
return runners;
|
523
990
|
};
|
524
|
-
var
|
525
|
-
|
526
|
-
});
|
527
|
-
var clone = function(overrideAPI) {
|
528
|
-
var plugins = [];
|
529
|
-
var addPlugin = function(plugin) {
|
530
|
-
if (!includePlugin(plugins, plugin)) {
|
531
|
-
plugins.push(_objectSpread({}, plugin));
|
532
|
-
}
|
533
|
-
};
|
534
|
-
var usePlugin = function() {
|
535
|
-
for(var _len = arguments.length, input = new Array(_len), _key = 0; _key < _len; _key++){
|
536
|
-
input[_key] = arguments[_key];
|
537
|
-
}
|
538
|
-
input.forEach(function(plugin) {
|
539
|
-
if (isPlugin(plugin)) {
|
540
|
-
addPlugin(plugin);
|
541
|
-
} else if (typeof plugin === "function") {
|
542
|
-
var options = plugin();
|
543
|
-
addPlugin(createPlugin(options.setup, options));
|
544
|
-
} else if (isObject(plugin)) {
|
545
|
-
addPlugin(createPlugin(plugin.setup, plugin));
|
546
|
-
} else if (process.env.NODE_ENV !== "production") {
|
547
|
-
console.warn("Unknown plugin: ".concat(JSON.stringify(plugin)));
|
548
|
-
}
|
549
|
-
});
|
550
|
-
return manager;
|
551
|
-
};
|
552
|
-
var createPlugin = function() {
|
553
|
-
var setup = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function() {}, options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
554
|
-
var _options_usePlugins;
|
555
|
-
if ((_options_usePlugins = options.usePlugins) === null || _options_usePlugins === void 0 ? void 0 : _options_usePlugins.length) {
|
556
|
-
options.usePlugins.forEach(function(plugin) {
|
557
|
-
usePlugin(createPlugin(plugin.setup, plugin));
|
558
|
-
});
|
559
|
-
}
|
560
|
-
if (options.registerHook) {
|
561
|
-
registerHook(options.registerHook);
|
562
|
-
}
|
563
|
-
return _objectSpreadProps(_objectSpread(_objectSpreadProps(_objectSpread({}, DEFAULT_OPTIONS), {
|
564
|
-
name: "No.".concat(index++, " plugin")
|
565
|
-
}), options), {
|
566
|
-
SYNC_PLUGIN_SYMBOL: SYNC_PLUGIN_SYMBOL,
|
567
|
-
setup: setup
|
568
|
-
});
|
569
|
-
};
|
570
|
-
var clear = function() {
|
571
|
-
plugins = [];
|
572
|
-
};
|
573
|
-
var init = function() {
|
574
|
-
var sortedPlugins = sortPlugins(plugins);
|
575
|
-
var mergedPluginAPI = _objectSpread({}, pluginAPI, overrideAPI);
|
576
|
-
checkPlugins(sortedPlugins);
|
577
|
-
var hooksList = sortedPlugins.map(function(plugin) {
|
578
|
-
return plugin.setup(mergedPluginAPI);
|
579
|
-
});
|
580
|
-
runners = generateRunner(hooksList, currentHooks);
|
581
|
-
return runners;
|
582
|
-
};
|
583
|
-
var run = function(cb) {
|
584
|
-
return cb();
|
585
|
-
};
|
586
|
-
var manager = {
|
587
|
-
createPlugin: createPlugin,
|
588
|
-
isPlugin: isPlugin,
|
589
|
-
usePlugin: usePlugin,
|
590
|
-
init: init,
|
591
|
-
clear: clear,
|
592
|
-
run: run,
|
593
|
-
registerHook: registerHook,
|
594
|
-
useRunner: useRunner,
|
595
|
-
clone: clone
|
596
|
-
};
|
597
|
-
return manager;
|
991
|
+
var run = function(cb) {
|
992
|
+
return cb();
|
598
993
|
};
|
599
|
-
|
994
|
+
var manager = {
|
995
|
+
createPlugin,
|
996
|
+
isPlugin,
|
997
|
+
usePlugin,
|
998
|
+
init,
|
999
|
+
clear,
|
1000
|
+
run,
|
1001
|
+
registerHook,
|
1002
|
+
useRunner,
|
1003
|
+
clone
|
1004
|
+
};
|
1005
|
+
return manager;
|
1006
|
+
};
|
1007
|
+
return clone();
|
600
1008
|
};
|
601
1009
|
var generateRunner = function(hooksList, hooksMap) {
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
1010
|
+
var runner = {};
|
1011
|
+
var cloneShape = cloneHooksMap(hooksMap);
|
1012
|
+
if (hooksMap) {
|
1013
|
+
var _loop = function(key2) {
|
1014
|
+
hooksList.forEach(function(hooks) {
|
1015
|
+
if (hooks === null || hooks === void 0 ? void 0 : hooks[key2]) {
|
1016
|
+
cloneShape[key2].use(hooks[key2]);
|
1017
|
+
}
|
1018
|
+
});
|
1019
|
+
runner[key2] = function(input, options) {
|
1020
|
+
return cloneShape[key2].run(input, _object_spread7({}, options));
|
1021
|
+
};
|
1022
|
+
};
|
1023
|
+
for (var key in cloneShape)
|
1024
|
+
_loop(key);
|
1025
|
+
}
|
1026
|
+
return runner;
|
618
1027
|
};
|
619
1028
|
var cloneHook = function(hook) {
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
1029
|
+
if (isWaterfall(hook)) {
|
1030
|
+
return createWaterfall();
|
1031
|
+
}
|
1032
|
+
if (isAsyncWaterfall(hook)) {
|
1033
|
+
return createAsyncWaterfall();
|
1034
|
+
}
|
1035
|
+
if (isWorkflow(hook)) {
|
1036
|
+
return createWorkflow();
|
1037
|
+
}
|
1038
|
+
if (isAsyncWorkflow(hook)) {
|
1039
|
+
return createAsyncWorkflow();
|
1040
|
+
}
|
1041
|
+
if (isParallelWorkflow(hook)) {
|
1042
|
+
return createParallelWorkflow();
|
1043
|
+
}
|
1044
|
+
if (isPipeline(hook)) {
|
1045
|
+
return createPipeline();
|
1046
|
+
}
|
1047
|
+
throw new Error("Unknown hook: ".concat(hook));
|
639
1048
|
};
|
640
1049
|
var cloneHooksMap = function(record) {
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
|
1050
|
+
if (!record) {
|
1051
|
+
return record;
|
1052
|
+
}
|
1053
|
+
var result = {};
|
1054
|
+
for (var key in record) {
|
1055
|
+
result[key] = cloneHook(record[key]);
|
1056
|
+
}
|
1057
|
+
return result;
|
649
1058
|
};
|
1059
|
+
|
650
1060
|
// src/manager/async.ts
|
1061
|
+
function _define_property8(obj, key, value) {
|
1062
|
+
if (key in obj) {
|
1063
|
+
Object.defineProperty(obj, key, {
|
1064
|
+
value,
|
1065
|
+
enumerable: true,
|
1066
|
+
configurable: true,
|
1067
|
+
writable: true
|
1068
|
+
});
|
1069
|
+
} else {
|
1070
|
+
obj[key] = value;
|
1071
|
+
}
|
1072
|
+
return obj;
|
1073
|
+
}
|
1074
|
+
function _object_spread8(target) {
|
1075
|
+
for (var i = 1; i < arguments.length; i++) {
|
1076
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
1077
|
+
var ownKeys8 = Object.keys(source);
|
1078
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
1079
|
+
ownKeys8 = ownKeys8.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
1080
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
1081
|
+
}));
|
1082
|
+
}
|
1083
|
+
ownKeys8.forEach(function(key) {
|
1084
|
+
_define_property8(target, key, source[key]);
|
1085
|
+
});
|
1086
|
+
}
|
1087
|
+
return target;
|
1088
|
+
}
|
1089
|
+
function ownKeys7(object, enumerableOnly) {
|
1090
|
+
var keys = Object.keys(object);
|
1091
|
+
if (Object.getOwnPropertySymbols) {
|
1092
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
1093
|
+
if (enumerableOnly) {
|
1094
|
+
symbols = symbols.filter(function(sym) {
|
1095
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
1096
|
+
});
|
1097
|
+
}
|
1098
|
+
keys.push.apply(keys, symbols);
|
1099
|
+
}
|
1100
|
+
return keys;
|
1101
|
+
}
|
1102
|
+
function _object_spread_props7(target, source) {
|
1103
|
+
source = source != null ? source : {};
|
1104
|
+
if (Object.getOwnPropertyDescriptors) {
|
1105
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
1106
|
+
} else {
|
1107
|
+
ownKeys7(Object(source)).forEach(function(key) {
|
1108
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
1109
|
+
});
|
1110
|
+
}
|
1111
|
+
return target;
|
1112
|
+
}
|
651
1113
|
var ASYNC_PLUGIN_SYMBOL = "ASYNC_PLUGIN_SYMBOL";
|
652
1114
|
var createAsyncManager = function(hooks, api) {
|
653
|
-
|
654
|
-
|
655
|
-
|
656
|
-
|
657
|
-
|
1115
|
+
var index = 0;
|
1116
|
+
var runners;
|
1117
|
+
var currentHooks = _object_spread8({}, hooks);
|
1118
|
+
var useRunner = function() {
|
1119
|
+
return runners;
|
1120
|
+
};
|
1121
|
+
var registerHook = function(extraHooks) {
|
1122
|
+
currentHooks = _object_spread8({}, extraHooks, currentHooks);
|
1123
|
+
};
|
1124
|
+
var isPlugin = function(input) {
|
1125
|
+
return isObject(input) && hasOwnProperty(input, ASYNC_PLUGIN_SYMBOL) && input[ASYNC_PLUGIN_SYMBOL] === ASYNC_PLUGIN_SYMBOL;
|
1126
|
+
};
|
1127
|
+
var pluginAPI = _object_spread_props7(_object_spread8({}, api), {
|
1128
|
+
useHookRunners: useRunner
|
1129
|
+
});
|
1130
|
+
var clone = function(overrideAPI) {
|
1131
|
+
var plugins = [];
|
1132
|
+
var addPlugin = function(plugin) {
|
1133
|
+
if (!includePlugin(plugins, plugin)) {
|
1134
|
+
plugins.push(_object_spread8({}, plugin));
|
1135
|
+
}
|
658
1136
|
};
|
659
|
-
var
|
660
|
-
|
1137
|
+
var usePlugin = function() {
|
1138
|
+
for (var _len = arguments.length, input = new Array(_len), _key = 0; _key < _len; _key++) {
|
1139
|
+
input[_key] = arguments[_key];
|
1140
|
+
}
|
1141
|
+
input.forEach(function(plugin) {
|
1142
|
+
if (isPlugin(plugin)) {
|
1143
|
+
addPlugin(plugin);
|
1144
|
+
} else if (typeof plugin === "function") {
|
1145
|
+
var options = plugin();
|
1146
|
+
addPlugin(createPlugin(options.setup, options));
|
1147
|
+
} else if (isObject(plugin)) {
|
1148
|
+
addPlugin(createPlugin(plugin.setup, plugin));
|
1149
|
+
} else if (process.env.NODE_ENV !== "production") {
|
1150
|
+
console.warn("Unknown plugin: ".concat(JSON.stringify(plugin)));
|
1151
|
+
}
|
1152
|
+
});
|
1153
|
+
return manager;
|
1154
|
+
};
|
1155
|
+
var createPlugin = function() {
|
1156
|
+
var setup = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function() {
|
1157
|
+
}, options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
1158
|
+
var _options_usePlugins;
|
1159
|
+
if ((_options_usePlugins = options.usePlugins) === null || _options_usePlugins === void 0 ? void 0 : _options_usePlugins.length) {
|
1160
|
+
options.usePlugins.forEach(function(plugin) {
|
1161
|
+
usePlugin(createPlugin(plugin.setup, plugin));
|
1162
|
+
});
|
1163
|
+
}
|
1164
|
+
if (options.registerHook) {
|
1165
|
+
registerHook(options.registerHook);
|
1166
|
+
}
|
1167
|
+
return _object_spread_props7(_object_spread8(_object_spread_props7(_object_spread8({}, DEFAULT_OPTIONS), {
|
1168
|
+
name: "No.".concat(index++, " plugin")
|
1169
|
+
}), options), {
|
1170
|
+
ASYNC_PLUGIN_SYMBOL,
|
1171
|
+
setup
|
1172
|
+
});
|
661
1173
|
};
|
662
|
-
var
|
663
|
-
|
1174
|
+
var clear = function() {
|
1175
|
+
plugins = [];
|
664
1176
|
};
|
665
|
-
var
|
666
|
-
|
667
|
-
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
var usePlugin = function() {
|
676
|
-
for(var _len = arguments.length, input = new Array(_len), _key = 0; _key < _len; _key++){
|
677
|
-
input[_key] = arguments[_key];
|
678
|
-
}
|
679
|
-
input.forEach(function(plugin) {
|
680
|
-
if (isPlugin(plugin)) {
|
681
|
-
addPlugin(plugin);
|
682
|
-
} else if (typeof plugin === "function") {
|
683
|
-
var options = plugin();
|
684
|
-
addPlugin(createPlugin(options.setup, options));
|
685
|
-
} else if (isObject(plugin)) {
|
686
|
-
addPlugin(createPlugin(plugin.setup, plugin));
|
687
|
-
} else if (process.env.NODE_ENV !== "production") {
|
688
|
-
console.warn("Unknown plugin: ".concat(JSON.stringify(plugin)));
|
689
|
-
}
|
690
|
-
});
|
691
|
-
return manager;
|
692
|
-
};
|
693
|
-
var createPlugin = function() {
|
694
|
-
var setup = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function() {}, options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
695
|
-
var _options_usePlugins;
|
696
|
-
if ((_options_usePlugins = options.usePlugins) === null || _options_usePlugins === void 0 ? void 0 : _options_usePlugins.length) {
|
697
|
-
options.usePlugins.forEach(function(plugin) {
|
698
|
-
usePlugin(createPlugin(plugin.setup, plugin));
|
699
|
-
});
|
700
|
-
}
|
701
|
-
if (options.registerHook) {
|
702
|
-
registerHook(options.registerHook);
|
703
|
-
}
|
704
|
-
return _objectSpreadProps(_objectSpread(_objectSpreadProps(_objectSpread({}, DEFAULT_OPTIONS), {
|
705
|
-
name: "No.".concat(index++, " plugin")
|
706
|
-
}), options), {
|
707
|
-
ASYNC_PLUGIN_SYMBOL: ASYNC_PLUGIN_SYMBOL,
|
708
|
-
setup: setup
|
709
|
-
});
|
710
|
-
};
|
711
|
-
var clear = function() {
|
712
|
-
plugins = [];
|
713
|
-
};
|
714
|
-
var init = function() {
|
715
|
-
var sortedPlugins = sortPlugins(plugins);
|
716
|
-
var mergedPluginAPI = _objectSpread({}, pluginAPI, overrideAPI);
|
717
|
-
checkPlugins(sortedPlugins);
|
718
|
-
return Promise.all(sortedPlugins.map(function(plugin) {
|
719
|
-
return plugin.setup(mergedPluginAPI);
|
720
|
-
})).then(function(hooksList) {
|
721
|
-
runners = generateRunner(hooksList, currentHooks);
|
722
|
-
return runners;
|
723
|
-
});
|
724
|
-
};
|
725
|
-
var run = function(cb) {
|
726
|
-
return cb();
|
727
|
-
};
|
728
|
-
var manager = {
|
729
|
-
createPlugin: createPlugin,
|
730
|
-
isPlugin: isPlugin,
|
731
|
-
usePlugin: usePlugin,
|
732
|
-
init: init,
|
733
|
-
run: run,
|
734
|
-
clear: clear,
|
735
|
-
clone: clone,
|
736
|
-
registerHook: registerHook,
|
737
|
-
useRunner: useRunner
|
738
|
-
};
|
739
|
-
return manager;
|
1177
|
+
var init = function() {
|
1178
|
+
var sortedPlugins = sortPlugins(plugins);
|
1179
|
+
var mergedPluginAPI = _object_spread8({}, pluginAPI, overrideAPI);
|
1180
|
+
checkPlugins(sortedPlugins);
|
1181
|
+
return Promise.all(sortedPlugins.map(function(plugin) {
|
1182
|
+
return plugin.setup(mergedPluginAPI);
|
1183
|
+
})).then(function(hooksList) {
|
1184
|
+
runners = generateRunner(hooksList, currentHooks);
|
1185
|
+
return runners;
|
1186
|
+
});
|
740
1187
|
};
|
741
|
-
|
1188
|
+
var run = function(cb) {
|
1189
|
+
return cb();
|
1190
|
+
};
|
1191
|
+
var manager = {
|
1192
|
+
createPlugin,
|
1193
|
+
isPlugin,
|
1194
|
+
usePlugin,
|
1195
|
+
init,
|
1196
|
+
run,
|
1197
|
+
clear,
|
1198
|
+
clone,
|
1199
|
+
registerHook,
|
1200
|
+
useRunner
|
1201
|
+
};
|
1202
|
+
return manager;
|
1203
|
+
};
|
1204
|
+
return clone();
|
1205
|
+
};
|
1206
|
+
export {
|
1207
|
+
DEFAULT_OPTIONS,
|
1208
|
+
cloneHook,
|
1209
|
+
cloneHooksMap,
|
1210
|
+
createAsyncManager,
|
1211
|
+
createAsyncPipeline,
|
1212
|
+
createAsyncWaterfall,
|
1213
|
+
createAsyncWorkflow,
|
1214
|
+
createContext,
|
1215
|
+
createManager,
|
1216
|
+
createParallelWorkflow,
|
1217
|
+
createPipeline,
|
1218
|
+
createWaterfall,
|
1219
|
+
createWorkflow,
|
1220
|
+
generateRunner,
|
1221
|
+
getAsyncBrook,
|
1222
|
+
getBrook,
|
1223
|
+
isAsyncWaterfall,
|
1224
|
+
isAsyncWorkflow,
|
1225
|
+
isParallelWorkflow,
|
1226
|
+
isPipeline,
|
1227
|
+
isWaterfall,
|
1228
|
+
isWorkflow
|
742
1229
|
};
|
743
|
-
export { DEFAULT_OPTIONS, cloneHook, cloneHooksMap, createAsyncManager, createAsyncPipeline, createAsyncWaterfall, createAsyncWorkflow, createContext, createManager, createParallelWorkflow, createPipeline, createWaterfall, createWorkflow, generateRunner, getAsyncBrook, getBrook, isAsyncWaterfall, isAsyncWorkflow, isParallelWorkflow, isPipeline, isWaterfall, isWorkflow };
|