1 | export default function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {
|
2 | var desc = {};
|
3 | Object['ke' + 'ys'](descriptor).forEach(function (key) {
|
4 | desc[key] = descriptor[key];
|
5 | });
|
6 | desc.enumerable = !!desc.enumerable;
|
7 | desc.configurable = !!desc.configurable;
|
8 |
|
9 | if ('value' in desc || desc.initializer) {
|
10 | desc.writable = true;
|
11 | }
|
12 |
|
13 | desc = decorators.slice().reverse().reduce(function (desc, decorator) {
|
14 | return decorator(target, property, desc) || desc;
|
15 | }, desc);
|
16 |
|
17 | if (context && desc.initializer !== void 0) {
|
18 | desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
|
19 | desc.initializer = undefined;
|
20 | }
|
21 |
|
22 | if (desc.initializer === void 0) {
|
23 | Object['define' + 'Property'](target, property, desc);
|
24 | desc = null;
|
25 | }
|
26 |
|
27 | return desc;
|
28 | } |
\ | No newline at end of file |