1 | var _Object$defineProperty = require("../core-js/object/define-property.js");
|
2 |
|
3 | var _Object$keys = require("../core-js/object/keys.js");
|
4 |
|
5 | function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {
|
6 | var desc = {};
|
7 |
|
8 | _Object$keys(descriptor).forEach(function (key) {
|
9 | desc[key] = descriptor[key];
|
10 | });
|
11 |
|
12 | desc.enumerable = !!desc.enumerable;
|
13 | desc.configurable = !!desc.configurable;
|
14 |
|
15 | if ('value' in desc || desc.initializer) {
|
16 | desc.writable = true;
|
17 | }
|
18 |
|
19 | desc = decorators.slice().reverse().reduce(function (desc, decorator) {
|
20 | return decorator(target, property, desc) || desc;
|
21 | }, desc);
|
22 |
|
23 | if (context && desc.initializer !== void 0) {
|
24 | desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
|
25 | desc.initializer = undefined;
|
26 | }
|
27 |
|
28 | if (desc.initializer === void 0) {
|
29 | _Object$defineProperty(target, property, desc);
|
30 |
|
31 | desc = null;
|
32 | }
|
33 |
|
34 | return desc;
|
35 | }
|
36 |
|
37 | module.exports = _applyDecoratedDescriptor; |
\ | No newline at end of file |