1 | "use strict";
|
2 |
|
3 | require("core-js/modules/es.function.bind");
|
4 |
|
5 | require("core-js/modules/es.object.define-property");
|
6 |
|
7 | require("core-js/modules/es.reflect.apply");
|
8 |
|
9 | require("core-js/modules/es.reflect.define-property");
|
10 |
|
11 | Object.defineProperty(exports, "__esModule", {
|
12 | value: true
|
13 | });
|
14 | exports["default"] = makeClassMemberDecorator;
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 | function makeClassMemberDecorator(decorate) {
|
28 | return function decorateClassMember(target, name, descriptor) {
|
29 | var configurable = descriptor.configurable,
|
30 | enumerable = descriptor.enumerable,
|
31 | value = descriptor.value,
|
32 | _get = descriptor.get,
|
33 | initializer = descriptor.initializer;
|
34 |
|
35 | if (value) {
|
36 | return {
|
37 | configurable: configurable,
|
38 | enumerable: enumerable,
|
39 | value: decorate(value)
|
40 | };
|
41 | }
|
42 |
|
43 |
|
44 | if (_get || initializer) {
|
45 | return {
|
46 | configurable: configurable,
|
47 | enumerable: enumerable,
|
48 | get: function get() {
|
49 |
|
50 |
|
51 | if (this === target) {
|
52 | return null;
|
53 | }
|
54 |
|
55 | var resolvedValue = initializer ? Reflect.apply(initializer, this, []) : Reflect.apply(_get, this, []);
|
56 | var decoratedValue = decorate(resolvedValue).bind(this);
|
57 | Reflect.defineProperty(this, name, {
|
58 | configurable: configurable,
|
59 | enumerable: enumerable,
|
60 | value: decoratedValue
|
61 | });
|
62 | return decoratedValue;
|
63 | }
|
64 | };
|
65 | }
|
66 |
|
67 | throw new Error('called makeClassMemberDecorator on unsupported descriptor');
|
68 | };
|
69 | } |
\ | No newline at end of file |