1 | "use strict";
|
2 |
|
3 | exports.__esModule = true;
|
4 | exports.default = void 0;
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 | function createChainedFunction() {
|
16 | for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {
|
17 | funcs[_key] = arguments[_key];
|
18 | }
|
19 |
|
20 | return funcs.filter(function (f) {
|
21 | return f != null;
|
22 | }).reduce(function (acc, f) {
|
23 | if (typeof f !== 'function') {
|
24 | throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');
|
25 | }
|
26 |
|
27 | if (acc === null) return f;
|
28 | return function chainedFunction() {
|
29 | for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
30 | args[_key2] = arguments[_key2];
|
31 | }
|
32 |
|
33 |
|
34 | acc.apply(this, args);
|
35 |
|
36 | f.apply(this, args);
|
37 | };
|
38 | }, null);
|
39 | }
|
40 |
|
41 | var _default = createChainedFunction;
|
42 | exports.default = _default;
|
43 | module.exports = exports["default"]; |
\ | No newline at end of file |