main
Last change
on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago |
Initial commit
|
-
Property mode
set to
100644
|
File size:
795 bytes
|
Line | |
---|
1 | export default function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {
|
---|
2 | var desc = {};
|
---|
3 | Object.keys(descriptor).forEach(function (key) {
|
---|
4 | desc[key] = descriptor[key];
|
---|
5 | });
|
---|
6 | desc.enumerable = !!desc.enumerable;
|
---|
7 | desc.configurable = !!desc.configurable;
|
---|
8 | if ('value' in desc || desc.initializer) {
|
---|
9 | desc.writable = true;
|
---|
10 | }
|
---|
11 | desc = decorators.slice().reverse().reduce(function (desc, decorator) {
|
---|
12 | return decorator(target, property, desc) || desc;
|
---|
13 | }, desc);
|
---|
14 | if (context && desc.initializer !== void 0) {
|
---|
15 | desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
|
---|
16 | desc.initializer = undefined;
|
---|
17 | }
|
---|
18 | if (desc.initializer === void 0) {
|
---|
19 | Object.defineProperty(target, property, desc);
|
---|
20 | desc = null;
|
---|
21 | }
|
---|
22 | return desc;
|
---|
23 | } |
---|
Note:
See
TracBrowser
for help on using the repository browser.