@jsenv/core 36.2.0 → 36.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/dist/babel_helpers/AsyncGenerator/AsyncGenerator.js +45 -35
  2. package/dist/babel_helpers/AwaitValue/AwaitValue.js +3 -3
  3. package/dist/babel_helpers/applyDecoratedDescriptor/applyDecoratedDescriptor.js +13 -13
  4. package/dist/babel_helpers/applyDecs/applyDecs.js +227 -42
  5. package/dist/babel_helpers/applyDecs2203/applyDecs2203.js +559 -418
  6. package/dist/babel_helpers/applyDecs2203R/applyDecs2203R.js +235 -87
  7. package/dist/babel_helpers/applyDecs2301/applyDecs2301.js +591 -456
  8. package/dist/babel_helpers/applyDecs2305/applyDecs2305.js +681 -0
  9. package/dist/babel_helpers/arrayLikeToArray/arrayLikeToArray.js +5 -5
  10. package/dist/babel_helpers/arrayWithHoles/arrayWithHoles.js +3 -3
  11. package/dist/babel_helpers/arrayWithoutHoles/arrayWithoutHoles.js +4 -4
  12. package/dist/babel_helpers/assertThisInitialized/assertThisInitialized.js +4 -4
  13. package/dist/babel_helpers/asyncGeneratorDelegate/asyncGeneratorDelegate.js +12 -4
  14. package/dist/babel_helpers/asyncIterator/asyncIterator.js +13 -11
  15. package/dist/babel_helpers/asyncToGenerator/asyncToGenerator.js +18 -17
  16. package/dist/babel_helpers/awaitAsyncGenerator/awaitAsyncGenerator.js +2 -1
  17. package/dist/babel_helpers/checkInRHS/checkInRHS.js +8 -5
  18. package/dist/babel_helpers/classApplyDescriptorDestructureSet/classApplyDescriptorDestructureSet.js +7 -7
  19. package/dist/babel_helpers/classApplyDescriptorGet/classApplyDescriptorGet.js +3 -3
  20. package/dist/babel_helpers/classApplyDescriptorSet/classApplyDescriptorSet.js +4 -4
  21. package/dist/babel_helpers/classCallCheck/classCallCheck.js +2 -2
  22. package/dist/babel_helpers/classCheckPrivateStaticAccess/classCheckPrivateStaticAccess.js +2 -2
  23. package/dist/babel_helpers/classCheckPrivateStaticFieldDescriptor/classCheckPrivateStaticFieldDescriptor.js +2 -2
  24. package/dist/babel_helpers/classExtractFieldDescriptor/classExtractFieldDescriptor.js +3 -3
  25. package/dist/babel_helpers/classNameTDZError/classNameTDZError.js +2 -2
  26. package/dist/babel_helpers/classPrivateFieldDestructureSet/classPrivateFieldDestructureSet.js +6 -5
  27. package/dist/babel_helpers/classPrivateFieldGet/classPrivateFieldGet.js +6 -5
  28. package/dist/babel_helpers/classPrivateFieldLooseBase/classPrivateFieldLooseBase.js +3 -3
  29. package/dist/babel_helpers/classPrivateFieldLooseKey/classPrivateFieldLooseKey.js +3 -3
  30. package/dist/babel_helpers/classPrivateFieldSet/classPrivateFieldSet.js +7 -6
  31. package/dist/babel_helpers/classPrivateMethodGet/classPrivateMethodGet.js +3 -3
  32. package/dist/babel_helpers/classPrivateMethodSet/classPrivateMethodSet.js +2 -2
  33. package/dist/babel_helpers/classStaticPrivateFieldSpecGet/classStaticPrivateFieldSpecGet.js +8 -7
  34. package/dist/babel_helpers/classStaticPrivateFieldSpecSet/classStaticPrivateFieldSpecSet.js +15 -9
  35. package/dist/babel_helpers/classStaticPrivateMethodGet/classStaticPrivateMethodGet.js +5 -4
  36. package/dist/babel_helpers/classStaticPrivateMethodSet/classStaticPrivateMethodSet.js +2 -2
  37. package/dist/babel_helpers/construct/construct.js +10 -9
  38. package/dist/babel_helpers/createClass/createClass.js +2 -3
  39. package/dist/babel_helpers/createForOfIteratorHelper/createForOfIteratorHelper.js +30 -29
  40. package/dist/babel_helpers/createForOfIteratorHelperLoose/createForOfIteratorHelperLoose.js +18 -16
  41. package/dist/babel_helpers/createRawReactElement/createRawReactElement.js +23 -17
  42. package/dist/babel_helpers/createSuper/createSuper.js +14 -12
  43. package/dist/babel_helpers/decorate/decorate.js +242 -210
  44. package/dist/babel_helpers/defaults/defaults.js +6 -6
  45. package/dist/babel_helpers/defineAccessor/defineAccessor.js +1 -4
  46. package/dist/babel_helpers/defineEnumerableProperties/defineEnumerableProperties.js +12 -12
  47. package/dist/babel_helpers/defineProperty/defineProperty.js +7 -6
  48. package/dist/babel_helpers/extends/extends.js +5 -4
  49. package/dist/babel_helpers/get/get.js +2 -1
  50. package/dist/babel_helpers/getPrototypeOf/getPrototypeOf.js +4 -3
  51. package/dist/babel_helpers/inherits/inherits.js +3 -4
  52. package/dist/babel_helpers/inheritsLoose/inheritsLoose.js +6 -5
  53. package/dist/babel_helpers/initializerDefineProperty/initializerDefineProperty.js +4 -4
  54. package/dist/babel_helpers/initializerWarningHelper/initializerWarningHelper.js +5 -2
  55. package/dist/babel_helpers/instanceof/instanceof.js +3 -3
  56. package/dist/babel_helpers/interopRequireDefault/interopRequireDefault.js +2 -4
  57. package/dist/babel_helpers/interopRequireWildcard/interopRequireWildcard.js +19 -21
  58. package/dist/babel_helpers/isNativeFunction/isNativeFunction.js +2 -2
  59. package/dist/babel_helpers/isNativeReflectConstruct/isNativeReflectConstruct.js +7 -7
  60. package/dist/babel_helpers/iterableToArray/iterableToArray.js +6 -2
  61. package/dist/babel_helpers/iterableToArrayLimit/iterableToArrayLimit.js +6 -1
  62. package/dist/babel_helpers/iterableToArrayLimitLoose/iterableToArrayLimitLoose.js +6 -2
  63. package/dist/babel_helpers/jsx/jsx.js +14 -7
  64. package/dist/babel_helpers/maybeArrayLike/maybeArrayLike.js +6 -5
  65. package/dist/babel_helpers/newArrowCheck/newArrowCheck.js +2 -2
  66. package/dist/babel_helpers/nonIterableRest/nonIterableRest.js +5 -3
  67. package/dist/babel_helpers/nonIterableSpread/nonIterableSpread.js +5 -3
  68. package/dist/babel_helpers/objectDestructuringEmpty/objectDestructuringEmpty.js +2 -2
  69. package/dist/babel_helpers/objectSpread/objectSpread.js +15 -12
  70. package/dist/babel_helpers/objectSpread2/objectSpread2.js +7 -2
  71. package/dist/babel_helpers/objectWithoutProperties/objectWithoutProperties.js +15 -13
  72. package/dist/babel_helpers/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js +11 -11
  73. package/dist/babel_helpers/possibleConstructorReturn/possibleConstructorReturn.js +7 -6
  74. package/dist/babel_helpers/readOnlyError/readOnlyError.js +2 -2
  75. package/dist/babel_helpers/regeneratorRuntime/regeneratorRuntime.js +124 -73
  76. package/dist/babel_helpers/set/set.js +23 -20
  77. package/dist/babel_helpers/setPrototypeOf/setPrototypeOf.js +6 -5
  78. package/dist/babel_helpers/skipFirstGeneratorNext/skipFirstGeneratorNext.js +5 -5
  79. package/dist/babel_helpers/slicedToArray/slicedToArray.js +10 -5
  80. package/dist/babel_helpers/slicedToArrayLoose/slicedToArrayLoose.js +12 -6
  81. package/dist/babel_helpers/superPropBase/superPropBase.js +6 -5
  82. package/dist/babel_helpers/taggedTemplateLiteral/taggedTemplateLiteral.js +7 -7
  83. package/dist/babel_helpers/taggedTemplateLiteralLoose/taggedTemplateLiteralLoose.js +4 -4
  84. package/dist/babel_helpers/tdz/tdz.js +2 -2
  85. package/dist/babel_helpers/temporalRef/temporalRef.js +5 -4
  86. package/dist/babel_helpers/temporalUndefined/temporalUndefined.js +1 -1
  87. package/dist/babel_helpers/toArray/toArray.js +10 -5
  88. package/dist/babel_helpers/toConsumableArray/toConsumableArray.js +10 -5
  89. package/dist/babel_helpers/toPrimitive/toPrimitive.js +7 -7
  90. package/dist/babel_helpers/toPropertyKey/toPropertyKey.js +5 -4
  91. package/dist/babel_helpers/typeof/typeof.js +14 -5
  92. package/dist/babel_helpers/unsupportedIterableToArray/unsupportedIterableToArray.js +10 -8
  93. package/dist/babel_helpers/wrapAsyncGenerator/wrapAsyncGenerator.js +5 -4
  94. package/dist/babel_helpers/wrapNativeSuper/wrapNativeSuper.js +17 -15
  95. package/dist/babel_helpers/wrapRegExp/wrapRegExp.js +19 -8
  96. package/dist/babel_helpers/writeOnlyError/writeOnlyError.js +2 -2
  97. package/dist/js/autoreload.js +148 -133
  98. package/dist/js/import_meta_hot.js +19 -13
  99. package/dist/js/inline_content.js +1 -3
  100. package/dist/js/new_stylesheet.js +119 -60
  101. package/dist/js/regenerator_runtime.js +204 -102
  102. package/dist/js/ribbon.js +11 -6
  103. package/dist/js/server_events_client.js +122 -98
  104. package/dist/js/ws.js +968 -265
  105. package/dist/jsenv_core.js +8513 -6162
  106. package/package.json +9 -9
  107. package/src/build/build.js +497 -486
  108. package/src/build/version_mappings_injection.js +21 -44
  109. package/src/kitchen/errors.js +2 -2
  110. package/src/kitchen/fetched_content_compliance.js +6 -2
  111. package/src/kitchen/kitchen.js +285 -80
  112. package/src/kitchen/prepend_content.js +135 -0
  113. package/src/kitchen/url_graph/url_graph_visitor.js +99 -0
  114. package/src/kitchen/url_graph/url_info_transformations.js +140 -21
  115. package/src/kitchen/url_graph.js +59 -29
  116. package/src/plugins/autoreload/jsenv_plugin_hmr.js +1 -2
  117. package/src/plugins/import_meta_hot/jsenv_plugin_import_meta_hot.js +2 -2
  118. package/src/plugins/importmap/jsenv_plugin_importmap.js +2 -2
  119. package/src/plugins/inlining/jsenv_plugin_inlining_as_data_url.js +1 -1
  120. package/src/plugins/reference_analysis/html/jsenv_plugin_html_reference_analysis.js +44 -23
  121. package/src/plugins/reference_analysis/js/jsenv_plugin_js_reference_analysis.js +2 -1
  122. package/dist/js/global_this_js_classic.js +0 -24
  123. package/dist/js/global_this_js_module.js +0 -20
  124. package/src/build/graph_utils.js +0 -34
@@ -5,367 +5,399 @@
5
5
  /* eslint-disable prefer-spread */
6
6
  /* eslint-disable no-void */
7
7
  /* eslint-disable no-sequences */
8
- import toArray from "../toArray/toArray.js";
9
- import toPropertyKey from "../toPropertyKey/toPropertyKey.js";
8
+ import toArray from "../toArray/toArray.js"
9
+ import toPropertyKey from "../toPropertyKey/toPropertyKey.js"
10
10
 
11
11
  // ClassDefinitionEvaluation (Steps 26-*)
12
- export default function _decorate(decorators /* : ClassDecorator[] */, factory /* : ClassFactory */, superClass /* : ?Class<*> */, mixins /* : ?Array<Function> */) /* : Class<*> */{
13
- var api = _getDecoratorsApi();
12
+ export default function _decorate(
13
+ decorators /* : ClassDecorator[] */,
14
+ factory /* : ClassFactory */,
15
+ superClass /* : ?Class<*> */,
16
+ mixins /* : ?Array<Function> */,
17
+ ) /* : Class<*> */ {
18
+ var api = _getDecoratorsApi()
14
19
  if (mixins) {
15
20
  for (var i = 0; i < mixins.length; i++) {
16
- api = mixins[i](api);
21
+ api = mixins[i](api)
17
22
  }
18
23
  }
19
24
  var r = factory(function initialize(O) {
20
- api.initializeInstanceElements(O, decorated.elements);
21
- }, superClass);
22
- var decorated = api.decorateClass(_coalesceClassElements(r.d.map(_createElementDescriptor)), decorators);
23
- api.initializeClassElements(r.F, decorated.elements);
24
- return api.runClassFinishers(r.F, decorated.finishers);
25
+ api.initializeInstanceElements(O, decorated.elements)
26
+ }, superClass)
27
+ var decorated = api.decorateClass(
28
+ _coalesceClassElements(r.d.map(_createElementDescriptor)),
29
+ decorators,
30
+ )
31
+ api.initializeClassElements(r.F, decorated.elements)
32
+ return api.runClassFinishers(r.F, decorated.finishers)
25
33
  }
34
+
26
35
  var _getDecoratorsApi = function () {
27
36
  var api = {
28
37
  elementsDefinitionOrder: [["method"], ["field"]],
29
38
  // InitializeInstanceElements
30
- initializeInstanceElements( /* ::<C>*/O /* : C */, elements /* : ElementDescriptor[] */) {
31
- ;
32
- ["method", "field"].forEach(function (kind) {
39
+ initializeInstanceElements(/* ::<C>*/ O /* : C */, elements /* : ElementDescriptor[] */) {
40
+ ;["method", "field"].forEach(function (kind) {
33
41
  elements.forEach(function (element /* : ElementDescriptor */) {
34
42
  if (element.kind === kind && element.placement === "own") {
35
- this.defineClassElement(O, element);
43
+ this.defineClassElement(O, element)
36
44
  }
37
- }, this);
38
- }, this);
45
+ }, this)
46
+ }, this)
39
47
  },
40
48
  // InitializeClassElements
41
- initializeClassElements( /* ::<C>*/F /* : Class<C> */, elements /* : ElementDescriptor[] */) {
42
- var proto = F.prototype;
43
- ["method", "field"].forEach(function (kind) {
49
+ initializeClassElements(/* ::<C>*/ F /* : Class<C> */, elements /* : ElementDescriptor[] */) {
50
+ var proto = F.prototype
51
+ ;["method", "field"].forEach(function (kind) {
44
52
  elements.forEach(function (element /* : ElementDescriptor */) {
45
- var placement = element.placement;
53
+ var placement = element.placement
46
54
  if (element.kind === kind && (placement === "static" || placement === "prototype")) {
47
- var receiver = placement === "static" ? F : proto;
48
- this.defineClassElement(receiver, element);
55
+ var receiver = placement === "static" ? F : proto
56
+ this.defineClassElement(receiver, element)
49
57
  }
50
- }, this);
51
- }, this);
58
+ }, this)
59
+ }, this)
52
60
  },
53
61
  // DefineClassElement
54
- defineClassElement( /* ::<C>*/receiver /* : C | Class<C> */, element /* : ElementDescriptor */) {
55
- var descriptor /* : PropertyDescriptor */ = element.descriptor;
62
+ defineClassElement(
63
+ /* ::<C>*/ receiver /* : C | Class<C> */,
64
+ element /* : ElementDescriptor */,
65
+ ) {
66
+ var descriptor /* : PropertyDescriptor */ = element.descriptor
56
67
  if (element.kind === "field") {
57
- var initializer = element.initializer;
68
+ var initializer = element.initializer
58
69
  descriptor = {
59
70
  enumerable: descriptor.enumerable,
60
71
  writable: descriptor.writable,
61
72
  configurable: descriptor.configurable,
62
- value: initializer === void 0 ? void 0 : initializer.call(receiver)
63
- };
73
+ value: initializer === void 0 ? void 0 : initializer.call(receiver),
74
+ }
64
75
  }
65
- Object.defineProperty(receiver, element.key, descriptor);
76
+ Object.defineProperty(receiver, element.key, descriptor)
66
77
  },
67
78
  // DecorateClass
68
- decorateClass(elements /* : ElementDescriptor[] */, decorators /* : ClassDecorator[] */) /* : ElementsFinishers */{
69
- var newElements /* : ElementDescriptor[] */ = [];
70
- var finishers /* : ClassFinisher[] */ = [];
79
+ decorateClass(
80
+ elements /* : ElementDescriptor[] */,
81
+ decorators /* : ClassDecorator[] */,
82
+ ) /* : ElementsFinishers */ {
83
+ var newElements /* : ElementDescriptor[] */ = []
84
+ var finishers /* : ClassFinisher[] */ = []
71
85
  var placements /* : Placements */ = {
72
86
  static: [],
73
87
  prototype: [],
74
- own: []
75
- };
88
+ own: [],
89
+ }
76
90
  elements.forEach(function (element /* : ElementDescriptor */) {
77
- this.addElementPlacement(element, placements);
78
- }, this);
91
+ this.addElementPlacement(element, placements)
92
+ }, this)
79
93
  elements.forEach(function (element /* : ElementDescriptor */) {
80
- if (!_hasDecorators(element)) return newElements.push(element);
81
- var elementFinishersExtras /* : ElementFinishersExtras */ = this.decorateElement(element, placements);
82
- newElements.push(elementFinishersExtras.element);
83
- newElements.push.apply(newElements, elementFinishersExtras.extras);
84
- finishers.push.apply(finishers, elementFinishersExtras.finishers);
85
- }, this);
94
+ if (!_hasDecorators(element)) return newElements.push(element)
95
+ var elementFinishersExtras /* : ElementFinishersExtras */ = this.decorateElement(
96
+ element,
97
+ placements,
98
+ )
99
+ newElements.push(elementFinishersExtras.element)
100
+ newElements.push.apply(newElements, elementFinishersExtras.extras)
101
+ finishers.push.apply(finishers, elementFinishersExtras.finishers)
102
+ }, this)
86
103
  if (!decorators) {
87
- return {
88
- elements: newElements,
89
- finishers
90
- };
104
+ return { elements: newElements, finishers }
91
105
  }
92
- var result /* : ElementsFinishers */ = this.decorateConstructor(newElements, decorators);
93
- finishers.push.apply(finishers, result.finishers);
94
- result.finishers = finishers;
95
- return result;
106
+ var result /* : ElementsFinishers */ = this.decorateConstructor(newElements, decorators)
107
+ finishers.push.apply(finishers, result.finishers)
108
+ result.finishers = finishers
109
+ return result
96
110
  },
97
111
  // AddElementPlacement
98
- addElementPlacement(element /* : ElementDescriptor */, placements /* : Placements */, silent /* : boolean */) {
99
- var keys = placements[element.placement];
112
+ addElementPlacement(
113
+ element /* : ElementDescriptor */,
114
+ placements /* : Placements */,
115
+ silent /* : boolean */,
116
+ ) {
117
+ var keys = placements[element.placement]
100
118
  if (!silent && keys.indexOf(element.key) !== -1) {
101
- throw new TypeError(`Duplicated element (${element.key})`);
119
+ throw new TypeError(`Duplicated element (${element.key})`)
102
120
  }
103
- keys.push(element.key);
121
+ keys.push(element.key)
104
122
  },
105
123
  // DecorateElement
106
- decorateElement(element /* : ElementDescriptor */, placements /* : Placements */) /* : ElementFinishersExtras */{
107
- var extras /* : ElementDescriptor[] */ = [];
108
- var finishers /* : ClassFinisher[] */ = [];
124
+ decorateElement(
125
+ element /* : ElementDescriptor */,
126
+ placements /* : Placements */,
127
+ ) /* : ElementFinishersExtras */ {
128
+ var extras /* : ElementDescriptor[] */ = []
129
+ var finishers /* : ClassFinisher[] */ = []
109
130
  for (var decorators = element.decorators, i = decorators.length - 1; i >= 0; i--) {
110
131
  // (inlined) RemoveElementPlacement
111
- var keys = placements[element.placement];
112
- keys.splice(keys.indexOf(element.key), 1);
113
- var elementObject /* : ElementObjectInput */ = this.fromElementDescriptor(element);
114
- var elementFinisherExtras /* : ElementFinisherExtras */ = this.toElementFinisherExtras((0, decorators[i])(elementObject) /* : ElementObjectOutput */ || elementObject);
115
- element = elementFinisherExtras.element;
116
- this.addElementPlacement(element, placements);
132
+ var keys = placements[element.placement]
133
+ keys.splice(keys.indexOf(element.key), 1)
134
+ var elementObject /* : ElementObjectInput */ = this.fromElementDescriptor(element)
135
+ var elementFinisherExtras /* : ElementFinisherExtras */ = this.toElementFinisherExtras(
136
+ (0, decorators[i])(elementObject) /* : ElementObjectOutput */ || elementObject,
137
+ )
138
+ element = elementFinisherExtras.element
139
+ this.addElementPlacement(element, placements)
117
140
  if (elementFinisherExtras.finisher) {
118
- finishers.push(elementFinisherExtras.finisher);
141
+ finishers.push(elementFinisherExtras.finisher)
119
142
  }
120
- var newExtras /* : ElementDescriptor[] | void */ = elementFinisherExtras.extras;
143
+ var newExtras /* : ElementDescriptor[] | void */ = elementFinisherExtras.extras
121
144
  if (newExtras) {
122
145
  for (var j = 0; j < newExtras.length; j++) {
123
- this.addElementPlacement(newExtras[j], placements);
146
+ this.addElementPlacement(newExtras[j], placements)
124
147
  }
125
- extras.push.apply(extras, newExtras);
148
+ extras.push.apply(extras, newExtras)
126
149
  }
127
150
  }
128
- return {
129
- element,
130
- finishers,
131
- extras
132
- };
151
+ return { element, finishers, extras }
133
152
  },
134
153
  // DecorateConstructor
135
- decorateConstructor(elements /* : ElementDescriptor[] */, decorators /* : ClassDecorator[] */) /* : ElementsFinishers */{
136
- var finishers /* : ClassFinisher[] */ = [];
154
+ decorateConstructor(
155
+ elements /* : ElementDescriptor[] */,
156
+ decorators /* : ClassDecorator[] */,
157
+ ) /* : ElementsFinishers */ {
158
+ var finishers /* : ClassFinisher[] */ = []
137
159
  for (var i = decorators.length - 1; i >= 0; i--) {
138
- var obj /* : ClassObject */ = this.fromClassDescriptor(elements);
139
- var elementsAndFinisher /* : ElementsFinisher */ = this.toClassDescriptor((0, decorators[i])(obj) /* : ClassObject */ || obj);
160
+ var obj /* : ClassObject */ = this.fromClassDescriptor(elements)
161
+ var elementsAndFinisher /* : ElementsFinisher */ = this.toClassDescriptor(
162
+ (0, decorators[i])(obj) /* : ClassObject */ || obj,
163
+ )
140
164
  if (elementsAndFinisher.finisher !== undefined) {
141
- finishers.push(elementsAndFinisher.finisher);
165
+ finishers.push(elementsAndFinisher.finisher)
142
166
  }
143
167
  if (elementsAndFinisher.elements !== undefined) {
144
- elements = elementsAndFinisher.elements;
168
+ elements = elementsAndFinisher.elements
145
169
  for (var j = 0; j < elements.length - 1; j++) {
146
170
  for (var k = j + 1; k < elements.length; k++) {
147
- if (elements[j].key === elements[k].key && elements[j].placement === elements[k].placement) {
148
- throw new TypeError(`Duplicated element (${elements[j].key})`);
171
+ if (
172
+ elements[j].key === elements[k].key &&
173
+ elements[j].placement === elements[k].placement
174
+ ) {
175
+ throw new TypeError(`Duplicated element (${elements[j].key})`)
149
176
  }
150
177
  }
151
178
  }
152
179
  }
153
180
  }
154
- return {
155
- elements,
156
- finishers
157
- };
181
+ return { elements, finishers }
158
182
  },
159
183
  // FromElementDescriptor
160
- fromElementDescriptor(element /* : ElementDescriptor */) /* : ElementObject */{
184
+ fromElementDescriptor(element /* : ElementDescriptor */) /* : ElementObject */ {
161
185
  var obj /* : ElementObject */ = {
162
186
  kind: element.kind,
163
187
  key: element.key,
164
188
  placement: element.placement,
165
- descriptor: element.descriptor
166
- };
189
+ descriptor: element.descriptor,
190
+ }
167
191
  var desc = {
168
192
  value: "Descriptor",
169
- configurable: true
170
- };
171
- Object.defineProperty(obj, Symbol.toStringTag, desc);
172
- if (element.kind === "field") obj.initializer = element.initializer;
173
- return obj;
193
+ configurable: true,
194
+ }
195
+ Object.defineProperty(obj, Symbol.toStringTag, desc)
196
+ if (element.kind === "field") obj.initializer = element.initializer
197
+ return obj
174
198
  },
175
199
  // ToElementDescriptors
176
- toElementDescriptors(elementObjects /* : ElementObject[] */) /* : ElementDescriptor[] */{
177
- if (elementObjects === undefined) return;
200
+ toElementDescriptors(elementObjects /* : ElementObject[] */) /* : ElementDescriptor[] */ {
201
+ if (elementObjects === undefined) return
178
202
  return toArray(elementObjects).map(function (elementObject) {
179
- var element = this.toElementDescriptor(elementObject);
180
- this.disallowProperty(elementObject, "finisher", "An element descriptor");
181
- this.disallowProperty(elementObject, "extras", "An element descriptor");
182
- return element;
183
- }, this);
203
+ var element = this.toElementDescriptor(elementObject)
204
+ this.disallowProperty(elementObject, "finisher", "An element descriptor")
205
+ this.disallowProperty(elementObject, "extras", "An element descriptor")
206
+ return element
207
+ }, this)
184
208
  },
185
209
  // ToElementDescriptor
186
- toElementDescriptor(elementObject /* : ElementObject */) /* : ElementDescriptor */{
187
- var kind = String(elementObject.kind);
210
+ toElementDescriptor(elementObject /* : ElementObject */) /* : ElementDescriptor */ {
211
+ var kind = String(elementObject.kind)
188
212
  if (kind !== "method" && kind !== "field") {
189
- throw new TypeError(`${'An element descriptor\'s .kind property must be either "method" or' + ' "field", but a decorator created an element descriptor with' + ' .kind "'}${kind}"`);
213
+ throw new TypeError(
214
+ `${
215
+ 'An element descriptor\'s .kind property must be either "method" or' +
216
+ ' "field", but a decorator created an element descriptor with' +
217
+ ' .kind "'
218
+ }${kind}"`,
219
+ )
190
220
  }
191
- var key = toPropertyKey(elementObject.key);
192
- var placement = String(elementObject.placement);
221
+ var key = toPropertyKey(elementObject.key)
222
+ var placement = String(elementObject.placement)
193
223
  if (placement !== "static" && placement !== "prototype" && placement !== "own") {
194
- throw new TypeError(`${'An element descriptor\'s .placement property must be one of "static",' + ' "prototype" or "own", but a decorator created an element descriptor' + ' with .placement "'}${placement}"`);
224
+ throw new TypeError(
225
+ `${
226
+ 'An element descriptor\'s .placement property must be one of "static",' +
227
+ ' "prototype" or "own", but a decorator created an element descriptor' +
228
+ ' with .placement "'
229
+ }${placement}"`,
230
+ )
195
231
  }
196
- var descriptor /* : PropertyDescriptor */ = elementObject.descriptor;
197
- this.disallowProperty(elementObject, "elements", "An element descriptor");
232
+ var descriptor /* : PropertyDescriptor */ = elementObject.descriptor
233
+ this.disallowProperty(elementObject, "elements", "An element descriptor")
198
234
  var element /* : ElementDescriptor */ = {
199
235
  kind,
200
236
  key,
201
237
  placement,
202
- descriptor: Object.assign({}, descriptor)
203
- };
238
+ descriptor: Object.assign({}, descriptor),
239
+ }
204
240
  if (kind !== "field") {
205
- this.disallowProperty(elementObject, "initializer", "A method descriptor");
241
+ this.disallowProperty(elementObject, "initializer", "A method descriptor")
206
242
  } else {
207
- this.disallowProperty(descriptor, "get", "The property descriptor of a field descriptor");
208
- this.disallowProperty(descriptor, "set", "The property descriptor of a field descriptor");
209
- this.disallowProperty(descriptor, "value", "The property descriptor of a field descriptor");
210
- element.initializer = elementObject.initializer;
243
+ this.disallowProperty(descriptor, "get", "The property descriptor of a field descriptor")
244
+ this.disallowProperty(descriptor, "set", "The property descriptor of a field descriptor")
245
+ this.disallowProperty(descriptor, "value", "The property descriptor of a field descriptor")
246
+ element.initializer = elementObject.initializer
211
247
  }
212
- return element;
248
+ return element
213
249
  },
214
- toElementFinisherExtras(elementObject /* : ElementObject */) /* : ElementFinisherExtras */{
215
- var element /* : ElementDescriptor */ = this.toElementDescriptor(elementObject);
216
- var finisher /* : ClassFinisher */ = _optionalCallableProperty(elementObject, "finisher");
217
- var extras /* : ElementDescriptors[] */ = this.toElementDescriptors(elementObject.extras);
218
- return {
219
- element,
220
- finisher,
221
- extras
222
- };
250
+ toElementFinisherExtras(elementObject /* : ElementObject */) /* : ElementFinisherExtras */ {
251
+ var element /* : ElementDescriptor */ = this.toElementDescriptor(elementObject)
252
+ var finisher /* : ClassFinisher */ = _optionalCallableProperty(elementObject, "finisher")
253
+ var extras /* : ElementDescriptors[] */ = this.toElementDescriptors(elementObject.extras)
254
+ return { element, finisher, extras }
223
255
  },
224
256
  // FromClassDescriptor
225
- fromClassDescriptor(elements /* : ElementDescriptor[] */) /* : ClassObject */{
257
+ fromClassDescriptor(elements /* : ElementDescriptor[] */) /* : ClassObject */ {
226
258
  var obj = {
227
259
  kind: "class",
228
- elements: elements.map(this.fromElementDescriptor, this)
229
- };
230
- var desc = {
231
- value: "Descriptor",
232
- configurable: true
233
- };
234
- Object.defineProperty(obj, Symbol.toStringTag, desc);
235
- return obj;
260
+ elements: elements.map(this.fromElementDescriptor, this),
261
+ }
262
+ var desc = { value: "Descriptor", configurable: true }
263
+ Object.defineProperty(obj, Symbol.toStringTag, desc)
264
+ return obj
236
265
  },
237
266
  // ToClassDescriptor
238
- toClassDescriptor(obj /* : ClassObject */) /* : ElementsFinisher */{
239
- var kind = String(obj.kind);
267
+ toClassDescriptor(obj /* : ClassObject */) /* : ElementsFinisher */ {
268
+ var kind = String(obj.kind)
240
269
  if (kind !== "class") {
241
- throw new TypeError(`${'A class descriptor\'s .kind property must be "class", but a decorator' + ' created a class descriptor with .kind "'}${kind}"`);
270
+ throw new TypeError(
271
+ `${
272
+ 'A class descriptor\'s .kind property must be "class", but a decorator' +
273
+ ' created a class descriptor with .kind "'
274
+ }${kind}"`,
275
+ )
242
276
  }
243
- this.disallowProperty(obj, "key", "A class descriptor");
244
- this.disallowProperty(obj, "placement", "A class descriptor");
245
- this.disallowProperty(obj, "descriptor", "A class descriptor");
246
- this.disallowProperty(obj, "initializer", "A class descriptor");
247
- this.disallowProperty(obj, "extras", "A class descriptor");
248
- var finisher = _optionalCallableProperty(obj, "finisher");
249
- var elements = this.toElementDescriptors(obj.elements);
250
- return {
251
- elements,
252
- finisher
253
- };
277
+ this.disallowProperty(obj, "key", "A class descriptor")
278
+ this.disallowProperty(obj, "placement", "A class descriptor")
279
+ this.disallowProperty(obj, "descriptor", "A class descriptor")
280
+ this.disallowProperty(obj, "initializer", "A class descriptor")
281
+ this.disallowProperty(obj, "extras", "A class descriptor")
282
+ var finisher = _optionalCallableProperty(obj, "finisher")
283
+ var elements = this.toElementDescriptors(obj.elements)
284
+ return { elements, finisher }
254
285
  },
255
286
  // RunClassFinishers
256
- runClassFinishers(constructor /* : Class<*> */, finishers /* : ClassFinisher[] */) /* : Class<*> */{
287
+ runClassFinishers(
288
+ constructor /* : Class<*> */,
289
+ finishers /* : ClassFinisher[] */,
290
+ ) /* : Class<*> */ {
257
291
  for (var i = 0; i < finishers.length; i++) {
258
- var newConstructor /* : ?Class<*> */ = (0, finishers[i])(constructor);
292
+ var newConstructor /* : ?Class<*> */ = (0, finishers[i])(constructor)
259
293
  if (newConstructor !== undefined) {
260
294
  // NOTE: This should check if IsConstructor(newConstructor) is false.
261
295
  if (typeof newConstructor !== "function") {
262
- throw new TypeError("Finishers must return a constructor.");
296
+ throw new TypeError("Finishers must return a constructor.")
263
297
  }
264
- constructor = newConstructor;
298
+ constructor = newConstructor
265
299
  }
266
300
  }
267
- return constructor;
301
+ return constructor
268
302
  },
269
303
  disallowProperty(obj, name, objectType) {
270
304
  if (obj[name] !== undefined) {
271
- throw new TypeError(`${objectType} can't have a .${name} property.`);
305
+ throw new TypeError(`${objectType} can't have a .${name} property.`)
272
306
  }
273
- }
274
- };
307
+ },
308
+ }
275
309
  _getDecoratorsApi = function () {
276
- return api;
277
- };
278
- return api;
279
- };
310
+ return api
311
+ }
312
+ return api
313
+ }
280
314
 
281
315
  // ClassElementEvaluation
282
- function _createElementDescriptor(def /* : ElementDefinition */) /* : ElementDescriptor */{
283
- var key = toPropertyKey(def.key);
284
- var descriptor; /* : PropertyDescriptor */
316
+ function _createElementDescriptor(def /* : ElementDefinition */) /* : ElementDescriptor */ {
317
+ var key = toPropertyKey(def.key)
318
+ var descriptor /* : PropertyDescriptor */
285
319
  if (def.kind === "method") {
286
320
  descriptor = {
287
321
  value: def.value,
288
322
  writable: true,
289
323
  configurable: true,
290
- enumerable: false
291
- };
324
+ enumerable: false,
325
+ }
292
326
  } else if (def.kind === "get") {
293
- descriptor = {
294
- get: def.value,
295
- configurable: true,
296
- enumerable: false
297
- };
327
+ descriptor = { get: def.value, configurable: true, enumerable: false }
298
328
  } else if (def.kind === "set") {
299
- descriptor = {
300
- set: def.value,
301
- configurable: true,
302
- enumerable: false
303
- };
329
+ descriptor = { set: def.value, configurable: true, enumerable: false }
304
330
  } else if (def.kind === "field") {
305
- descriptor = {
306
- configurable: true,
307
- writable: true,
308
- enumerable: true
309
- };
331
+ descriptor = { configurable: true, writable: true, enumerable: true }
310
332
  }
311
333
  var element /* : ElementDescriptor */ = {
312
334
  kind: def.kind === "field" ? "field" : "method",
313
335
  key,
314
336
  placement: def.static ? "static" : def.kind === "field" ? "own" : "prototype",
315
- descriptor
316
- };
317
- if (def.decorators) element.decorators = def.decorators;
318
- if (def.kind === "field") element.initializer = def.value;
319
- return element;
337
+ descriptor,
338
+ }
339
+ if (def.decorators) element.decorators = def.decorators
340
+ if (def.kind === "field") element.initializer = def.value
341
+ return element
320
342
  }
321
343
  // CoalesceGetterSetter
322
344
  function _coalesceGetterSetter(element /* : ElementDescriptor */, other /* : ElementDescriptor */) {
323
345
  if (element.descriptor.get !== undefined) {
324
- other.descriptor.get = element.descriptor.get;
346
+ other.descriptor.get = element.descriptor.get
325
347
  } else {
326
- other.descriptor.set = element.descriptor.set;
348
+ other.descriptor.set = element.descriptor.set
327
349
  }
328
350
  }
329
351
  // CoalesceClassElements
330
- function _coalesceClassElements(elements /* : ElementDescriptor[] */) /* : ElementDescriptor[] */{
331
- var newElements /* : ElementDescriptor[] */ = [];
332
- var isSameElement = function (other /* : ElementDescriptor */) /* : boolean */{
333
- return other.kind === "method" && other.key === element.key && other.placement === element.placement;
334
- };
352
+ function _coalesceClassElements(elements /* : ElementDescriptor[] */) /* : ElementDescriptor[] */ {
353
+ var newElements /* : ElementDescriptor[] */ = []
354
+ var isSameElement = function (other /* : ElementDescriptor */) /* : boolean */ {
355
+ return (
356
+ other.kind === "method" && other.key === element.key && other.placement === element.placement
357
+ )
358
+ }
335
359
  for (var i = 0; i < elements.length; i++) {
336
- var element /* : ElementDescriptor */ = elements[i];
337
- var other; /* : ElementDescriptor */
360
+ var element /* : ElementDescriptor */ = elements[i]
361
+ var other /* : ElementDescriptor */
338
362
  if (element.kind === "method" && (other = newElements.find(isSameElement))) {
339
363
  if (_isDataDescriptor(element.descriptor) || _isDataDescriptor(other.descriptor)) {
340
364
  if (_hasDecorators(element) || _hasDecorators(other)) {
341
- throw new ReferenceError(`Duplicated methods (${element.key}) can't be decorated.`);
365
+ throw new ReferenceError(`Duplicated methods (${element.key}) can't be decorated.`)
342
366
  }
343
- other.descriptor = element.descriptor;
367
+ other.descriptor = element.descriptor
344
368
  } else {
345
369
  if (_hasDecorators(element)) {
346
370
  if (_hasDecorators(other)) {
347
- throw new ReferenceError(`${"Decorators can't be placed on different accessors with for " + "the same property ("}${element.key}).`);
371
+ throw new ReferenceError(
372
+ `${
373
+ "Decorators can't be placed on different accessors with for " +
374
+ "the same property ("
375
+ }${element.key}).`,
376
+ )
348
377
  }
349
- other.decorators = element.decorators;
378
+ other.decorators = element.decorators
350
379
  }
351
- _coalesceGetterSetter(element, other);
380
+ _coalesceGetterSetter(element, other)
352
381
  }
353
382
  } else {
354
- newElements.push(element);
383
+ newElements.push(element)
355
384
  }
356
385
  }
357
- return newElements;
386
+ return newElements
358
387
  }
359
- function _hasDecorators(element /* : ElementDescriptor */) /* : boolean */{
360
- return element.decorators && element.decorators.length;
388
+ function _hasDecorators(element /* : ElementDescriptor */) /* : boolean */ {
389
+ return element.decorators && element.decorators.length
361
390
  }
362
- function _isDataDescriptor(desc /* : PropertyDescriptor */) /* : boolean */{
363
- return desc !== undefined && !(desc.value === undefined && desc.writable === undefined);
391
+ function _isDataDescriptor(desc /* : PropertyDescriptor */) /* : boolean */ {
392
+ return desc !== undefined && !(desc.value === undefined && desc.writable === undefined)
364
393
  }
365
- function _optionalCallableProperty /* ::<T>*/(obj /* : T */, name /* : $Keys<T> */) /* : ?Function */{
366
- var value = obj[name];
394
+ function _optionalCallableProperty /* ::<T>*/(
395
+ obj /* : T */,
396
+ name /* : $Keys<T> */,
397
+ ) /* : ?Function */ {
398
+ var value = obj[name]
367
399
  if (value !== undefined && typeof value !== "function") {
368
- throw new TypeError(`Expected '${name}' to be a function`);
400
+ throw new TypeError(`Expected '${name}' to be a function`)
369
401
  }
370
- return value;
371
- }
402
+ return value
403
+ }
@@ -1,11 +1,11 @@
1
1
  export default function (obj, defaults) {
2
- var keys = Object.getOwnPropertyNames(defaults);
2
+ var keys = Object.getOwnPropertyNames(defaults)
3
3
  for (var i = 0; i < keys.length; i++) {
4
- var key = keys[i];
5
- var value = Object.getOwnPropertyDescriptor(defaults, key);
4
+ var key = keys[i]
5
+ var value = Object.getOwnPropertyDescriptor(defaults, key)
6
6
  if (value && value.configurable && obj[key] === undefined) {
7
- Object.defineProperty(obj, key, value);
7
+ Object.defineProperty(obj, key, value)
8
8
  }
9
9
  }
10
- return obj;
11
- }
10
+ return obj
11
+ }
@@ -1,8 +1,5 @@
1
1
  export default function _defineAccessor(type, obj, key, fn) {
2
- var desc = {
3
- configurable: true,
4
- enumerable: true
5
- };
2
+ var desc = { configurable: true, enumerable: true };
6
3
  // type should be "get" or "set"
7
4
  desc[type] = fn;
8
5
  return Object.defineProperty(obj, key, desc);