UNPKG

562 BJavaScriptView Raw
1export default function decorateFunction(type, fn) {
2
3 var decorated = function decorated() {
4 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
5 args[_key] = arguments[_key];
6 }
7
8 type.assertParams.apply(type, babelHelpers.toConsumableArray(args));
9 var result = fn.apply(this, args);
10 type.assertReturn(result);
11 return result;
12 };
13
14 Object.defineProperties(decorated, {
15 name: {
16 value: fn.name || 'anonymous'
17 },
18 length: {
19 value: fn.length
20 }
21 });
22
23 return decorated;
24}
\No newline at end of file