@jsenv/core 29.1.19 → 29.2.1

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 (75) hide show
  1. package/dist/babel_helpers/AsyncGenerator/AsyncGenerator.js +3 -16
  2. package/dist/babel_helpers/applyDecoratorDescriptor/applyDecoratorDescriptor.js +0 -5
  3. package/dist/babel_helpers/applyDecs/applyDecs.js +54 -241
  4. package/dist/babel_helpers/applyDecs2023/applyDecs2023.js +47 -195
  5. package/dist/babel_helpers/arrayLikeToArray/arrayLikeToArray.js +0 -2
  6. package/dist/babel_helpers/arrayWithoutHoles/arrayWithoutHoles.js +2 -1
  7. package/dist/babel_helpers/assertThisInitialized/assertThisInitialized.js +0 -1
  8. package/dist/babel_helpers/asyncGeneratorDelegate/asyncGeneratorDelegate.js +4 -14
  9. package/dist/babel_helpers/asyncIterator/asyncIterator.js +5 -20
  10. package/dist/babel_helpers/asyncToGenerator/asyncToGenerator.js +2 -8
  11. package/dist/babel_helpers/awaitAsyncGenerator/awaitAsyncGenerator.js +1 -3
  12. package/dist/babel_helpers/classApplyDescriptorDestructureSet/classApplyDescriptorDestructureSet.js +0 -4
  13. package/dist/babel_helpers/classApplyDescriptorGet/classApplyDescriptorGet.js +0 -1
  14. package/dist/babel_helpers/classApplyDescriptorSet/classApplyDescriptorSet.js +0 -1
  15. package/dist/babel_helpers/classExtractFieldDescriptor/classExtractFieldDescriptor.js +0 -1
  16. package/dist/babel_helpers/classPrivateFieldLooseBase/classPrivateFieldLooseBase.js +0 -1
  17. package/dist/babel_helpers/classPrivateMethodGet/classPrivateMethodGet.js +0 -1
  18. package/dist/babel_helpers/construct/construct.js +5 -5
  19. package/dist/babel_helpers/createClass/createClass.js +0 -1
  20. package/dist/babel_helpers/createForOfIteratorHelper/createForOfIteratorHelper.js +5 -9
  21. package/dist/babel_helpers/createForOfIteratorHelperLoose/createForOfIteratorHelperLoose.js +2 -3
  22. package/dist/babel_helpers/createRawReactElement/createRawReactElement.js +2 -8
  23. package/dist/babel_helpers/createSuper/createSuper.js +2 -4
  24. package/dist/babel_helpers/decorate/decorate.js +60 -311
  25. package/dist/babel_helpers/defaults/defaults.js +0 -3
  26. package/dist/babel_helpers/defineEnumerableProperties/defineEnumerableProperties.js +2 -5
  27. package/dist/babel_helpers/defineProperty/defineProperty.js +0 -1
  28. package/dist/babel_helpers/extends/extends.js +0 -3
  29. package/dist/babel_helpers/get/get.js +0 -3
  30. package/dist/babel_helpers/getPrototypeOf/getPrototypeOf.js +2 -1
  31. package/dist/babel_helpers/inherits/inherits.js +2 -3
  32. package/dist/babel_helpers/instanceof/instanceof.js +0 -1
  33. package/dist/babel_helpers/interopRequireWildcard/interopRequireWildcard.js +0 -10
  34. package/dist/babel_helpers/isNativeReflectConstruct/isNativeReflectConstruct.js +6 -6
  35. package/dist/babel_helpers/iterableToArrayLimit/iterableToArrayLimit.js +0 -5
  36. package/dist/babel_helpers/iterableToArrayLimitLoose/iterableToArrayLimitLoose.js +2 -5
  37. package/dist/babel_helpers/jsx/jsx.js +2 -8
  38. package/dist/babel_helpers/maybeArrayLike/maybeArrayLike.js +2 -3
  39. package/dist/babel_helpers/objectDestructuringEmpty/objectDestructuringEmpty.js +1 -1
  40. package/dist/babel_helpers/objectSpread/objectSpread.js +4 -6
  41. package/dist/babel_helpers/objectSpread2/objectSpread2.js +3 -8
  42. package/dist/babel_helpers/objectWithoutProperties/objectWithoutProperties.js +0 -3
  43. package/dist/babel_helpers/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js +0 -2
  44. package/dist/babel_helpers/possibleConstructorReturn/possibleConstructorReturn.js +0 -1
  45. package/dist/babel_helpers/regeneratorRuntime/regeneratorRuntime.js +634 -0
  46. package/dist/babel_helpers/set/set.js +2 -12
  47. package/dist/babel_helpers/superPropBase/superPropBase.js +0 -1
  48. package/dist/babel_helpers/taggedTemplateLiteral/taggedTemplateLiteral.js +0 -1
  49. package/dist/babel_helpers/taggedTemplateLiteralLoose/taggedTemplateLiteralLoose.js +0 -1
  50. package/dist/babel_helpers/toPrimitive/toPrimitive.js +1 -5
  51. package/dist/babel_helpers/typeof/typeof.js +0 -2
  52. package/dist/babel_helpers/wrapNativeSuper/wrapNativeSuper.js +0 -7
  53. package/dist/babel_helpers/wrapRegExp/wrapRegExp.js +5 -19
  54. package/dist/controllable_child_process.mjs +17 -27
  55. package/dist/controllable_worker_thread.mjs +4 -16
  56. package/dist/js/autoreload.js +13 -56
  57. package/dist/js/execute_using_dynamic_import.js +40 -164
  58. package/dist/js/global_this.js +2 -10
  59. package/dist/js/import_meta_hot.js +3 -9
  60. package/dist/js/new_stylesheet.js +0 -59
  61. package/dist/js/regenerator_runtime.js +80 -156
  62. package/dist/js/s.js +25 -113
  63. package/dist/js/s.js.map +10 -10
  64. package/dist/js/script_type_module_supervisor.js +4 -13
  65. package/dist/js/server_events_client.js +10 -38
  66. package/dist/js/supervisor.js +25 -167
  67. package/dist/js/v8_coverage.js +29 -92
  68. package/dist/js/ws.js +239 -717
  69. package/dist/main.js +761 -4155
  70. package/package.json +6 -6
  71. package/src/plugins/import_meta_url/client/import_meta_url_browser.js +1 -2
  72. package/src/plugins/import_meta_url/client/import_meta_url_commonjs.mjs +1 -1
  73. package/src/plugins/plugins.js +1 -1
  74. package/src/plugins/transpilation/as_js_classic/helpers-string.js +1 -0
  75. package/src/plugins/transpilation/babel/global_this/client/global_this.js +0 -2
@@ -1,38 +1,21 @@
1
1
  /* eslint-disable block-scoped-var */
2
-
3
2
  /* eslint-disable no-nested-ternary */
4
-
5
3
  /* eslint-disable no-negated-condition */
6
-
7
4
  /* eslint-disable consistent-return */
8
-
9
5
  /* eslint-disable prefer-spread */
10
-
11
6
  /* eslint-disable no-void */
12
-
13
7
  /* eslint-disable no-sequences */
14
8
  import toArray from "../toArray/toArray.js";
15
- import toPropertyKey from "../toPropertyKey/toPropertyKey.js"; // ClassDefinitionEvaluation (Steps 26-*)
9
+ import toPropertyKey from "../toPropertyKey/toPropertyKey.js";
16
10
 
17
- export default function _decorate(decorators
18
- /* : ClassDecorator[] */
19
- , factory
20
- /* : ClassFactory */
21
- , superClass
22
- /* : ?Class<*> */
23
- , mixins
24
- /* : ?Array<Function> */
25
- )
26
- /* : Class<*> */
27
- {
11
+ // ClassDefinitionEvaluation (Steps 26-*)
12
+ export default function _decorate(decorators /* : ClassDecorator[] */, factory /* : ClassFactory */, superClass /* : ?Class<*> */, mixins /* : ?Array<Function> */) /* : Class<*> */{
28
13
  var api = _getDecoratorsApi();
29
-
30
14
  if (mixins) {
31
15
  for (var i = 0; i < mixins.length; i++) {
32
16
  api = mixins[i](api);
33
17
  }
34
18
  }
35
-
36
19
  var r = factory(function initialize(O) {
37
20
  api.initializeInstanceElements(O, decorated.elements);
38
21
  }, superClass);
@@ -40,46 +23,26 @@ export default function _decorate(decorators
40
23
  api.initializeClassElements(r.F, decorated.elements);
41
24
  return api.runClassFinishers(r.F, decorated.finishers);
42
25
  }
43
-
44
26
  var _getDecoratorsApi = function () {
45
27
  var api = {
46
28
  elementsDefinitionOrder: [["method"], ["field"]],
47
-
48
29
  // InitializeInstanceElements
49
- initializeInstanceElements(
50
- /* ::<C>*/
51
- O
52
- /* : C */
53
- , elements
54
- /* : ElementDescriptor[] */
55
- ) {
30
+ initializeInstanceElements( /* ::<C>*/O /* : C */, elements /* : ElementDescriptor[] */) {
56
31
  ;
57
32
  ["method", "field"].forEach(function (kind) {
58
- elements.forEach(function (element
59
- /* : ElementDescriptor */
60
- ) {
33
+ elements.forEach(function (element /* : ElementDescriptor */) {
61
34
  if (element.kind === kind && element.placement === "own") {
62
35
  this.defineClassElement(O, element);
63
36
  }
64
37
  }, this);
65
38
  }, this);
66
39
  },
67
-
68
40
  // InitializeClassElements
69
- initializeClassElements(
70
- /* ::<C>*/
71
- F
72
- /* : Class<C> */
73
- , elements
74
- /* : ElementDescriptor[] */
75
- ) {
41
+ initializeClassElements( /* ::<C>*/F /* : Class<C> */, elements /* : ElementDescriptor[] */) {
76
42
  var proto = F.prototype;
77
43
  ["method", "field"].forEach(function (kind) {
78
- elements.forEach(function (element
79
- /* : ElementDescriptor */
80
- ) {
44
+ elements.forEach(function (element /* : ElementDescriptor */) {
81
45
  var placement = element.placement;
82
-
83
46
  if (element.kind === kind && (placement === "static" || placement === "prototype")) {
84
47
  var receiver = placement === "static" ? F : proto;
85
48
  this.defineClassElement(receiver, element);
@@ -87,19 +50,9 @@ var _getDecoratorsApi = function () {
87
50
  }, this);
88
51
  }, this);
89
52
  },
90
-
91
53
  // DefineClassElement
92
- defineClassElement(
93
- /* ::<C>*/
94
- receiver
95
- /* : C | Class<C> */
96
- , element
97
- /* : ElementDescriptor */
98
- ) {
99
- var descriptor
100
- /* : PropertyDescriptor */
101
- = element.descriptor;
102
-
54
+ defineClassElement( /* ::<C>*/receiver /* : C | Class<C> */, element /* : ElementDescriptor */) {
55
+ var descriptor /* : PropertyDescriptor */ = element.descriptor;
103
56
  if (element.kind === "field") {
104
57
  var initializer = element.initializer;
105
58
  descriptor = {
@@ -109,163 +62,86 @@ var _getDecoratorsApi = function () {
109
62
  value: initializer === void 0 ? void 0 : initializer.call(receiver)
110
63
  };
111
64
  }
112
-
113
65
  Object.defineProperty(receiver, element.key, descriptor);
114
66
  },
115
-
116
67
  // DecorateClass
117
- decorateClass(elements
118
- /* : ElementDescriptor[] */
119
- , decorators
120
- /* : ClassDecorator[] */
121
- )
122
- /* : ElementsFinishers */
123
- {
124
- var newElements
125
- /* : ElementDescriptor[] */
126
- = [];
127
- var finishers
128
- /* : ClassFinisher[] */
129
- = [];
130
- var placements
131
- /* : Placements */
132
- = {
68
+ decorateClass(elements /* : ElementDescriptor[] */, decorators /* : ClassDecorator[] */) /* : ElementsFinishers */{
69
+ var newElements /* : ElementDescriptor[] */ = [];
70
+ var finishers /* : ClassFinisher[] */ = [];
71
+ var placements /* : Placements */ = {
133
72
  static: [],
134
73
  prototype: [],
135
74
  own: []
136
75
  };
137
- elements.forEach(function (element
138
- /* : ElementDescriptor */
139
- ) {
76
+ elements.forEach(function (element /* : ElementDescriptor */) {
140
77
  this.addElementPlacement(element, placements);
141
78
  }, this);
142
- elements.forEach(function (element
143
- /* : ElementDescriptor */
144
- ) {
79
+ elements.forEach(function (element /* : ElementDescriptor */) {
145
80
  if (!_hasDecorators(element)) return newElements.push(element);
146
- var elementFinishersExtras
147
- /* : ElementFinishersExtras */
148
- = this.decorateElement(element, placements);
81
+ var elementFinishersExtras /* : ElementFinishersExtras */ = this.decorateElement(element, placements);
149
82
  newElements.push(elementFinishersExtras.element);
150
83
  newElements.push.apply(newElements, elementFinishersExtras.extras);
151
84
  finishers.push.apply(finishers, elementFinishersExtras.finishers);
152
85
  }, this);
153
-
154
86
  if (!decorators) {
155
87
  return {
156
88
  elements: newElements,
157
89
  finishers
158
90
  };
159
91
  }
160
-
161
- var result
162
- /* : ElementsFinishers */
163
- = this.decorateConstructor(newElements, decorators);
92
+ var result /* : ElementsFinishers */ = this.decorateConstructor(newElements, decorators);
164
93
  finishers.push.apply(finishers, result.finishers);
165
94
  result.finishers = finishers;
166
95
  return result;
167
96
  },
168
-
169
97
  // AddElementPlacement
170
- addElementPlacement(element
171
- /* : ElementDescriptor */
172
- , placements
173
- /* : Placements */
174
- , silent
175
- /* : boolean */
176
- ) {
98
+ addElementPlacement(element /* : ElementDescriptor */, placements /* : Placements */, silent /* : boolean */) {
177
99
  var keys = placements[element.placement];
178
-
179
100
  if (!silent && keys.indexOf(element.key) !== -1) {
180
101
  throw new TypeError(`Duplicated element (${element.key})`);
181
102
  }
182
-
183
103
  keys.push(element.key);
184
104
  },
185
-
186
105
  // DecorateElement
187
- decorateElement(element
188
- /* : ElementDescriptor */
189
- , placements
190
- /* : Placements */
191
- )
192
- /* : ElementFinishersExtras */
193
- {
194
- var extras
195
- /* : ElementDescriptor[] */
196
- = [];
197
- var finishers
198
- /* : ClassFinisher[] */
199
- = [];
200
-
106
+ decorateElement(element /* : ElementDescriptor */, placements /* : Placements */) /* : ElementFinishersExtras */{
107
+ var extras /* : ElementDescriptor[] */ = [];
108
+ var finishers /* : ClassFinisher[] */ = [];
201
109
  for (var decorators = element.decorators, i = decorators.length - 1; i >= 0; i--) {
202
110
  // (inlined) RemoveElementPlacement
203
111
  var keys = placements[element.placement];
204
112
  keys.splice(keys.indexOf(element.key), 1);
205
- var elementObject
206
- /* : ElementObjectInput */
207
- = this.fromElementDescriptor(element);
208
- var elementFinisherExtras
209
- /* : ElementFinisherExtras */
210
- = this.toElementFinisherExtras((0, decorators[i])(elementObject)
211
- /* : ElementObjectOutput */
212
- || elementObject);
113
+ var elementObject /* : ElementObjectInput */ = this.fromElementDescriptor(element);
114
+ var elementFinisherExtras /* : ElementFinisherExtras */ = this.toElementFinisherExtras((0, decorators[i])(elementObject) /* : ElementObjectOutput */ || elementObject);
213
115
  element = elementFinisherExtras.element;
214
116
  this.addElementPlacement(element, placements);
215
-
216
117
  if (elementFinisherExtras.finisher) {
217
118
  finishers.push(elementFinisherExtras.finisher);
218
119
  }
219
-
220
- var newExtras
221
- /* : ElementDescriptor[] | void */
222
- = elementFinisherExtras.extras;
223
-
120
+ var newExtras /* : ElementDescriptor[] | void */ = elementFinisherExtras.extras;
224
121
  if (newExtras) {
225
122
  for (var j = 0; j < newExtras.length; j++) {
226
123
  this.addElementPlacement(newExtras[j], placements);
227
124
  }
228
-
229
125
  extras.push.apply(extras, newExtras);
230
126
  }
231
127
  }
232
-
233
128
  return {
234
129
  element,
235
130
  finishers,
236
131
  extras
237
132
  };
238
133
  },
239
-
240
134
  // DecorateConstructor
241
- decorateConstructor(elements
242
- /* : ElementDescriptor[] */
243
- , decorators
244
- /* : ClassDecorator[] */
245
- )
246
- /* : ElementsFinishers */
247
- {
248
- var finishers
249
- /* : ClassFinisher[] */
250
- = [];
251
-
135
+ decorateConstructor(elements /* : ElementDescriptor[] */, decorators /* : ClassDecorator[] */) /* : ElementsFinishers */{
136
+ var finishers /* : ClassFinisher[] */ = [];
252
137
  for (var i = decorators.length - 1; i >= 0; i--) {
253
- var obj
254
- /* : ClassObject */
255
- = this.fromClassDescriptor(elements);
256
- var elementsAndFinisher
257
- /* : ElementsFinisher */
258
- = this.toClassDescriptor((0, decorators[i])(obj)
259
- /* : ClassObject */
260
- || obj);
261
-
138
+ var obj /* : ClassObject */ = this.fromClassDescriptor(elements);
139
+ var elementsAndFinisher /* : ElementsFinisher */ = this.toClassDescriptor((0, decorators[i])(obj) /* : ClassObject */ || obj);
262
140
  if (elementsAndFinisher.finisher !== undefined) {
263
141
  finishers.push(elementsAndFinisher.finisher);
264
142
  }
265
-
266
143
  if (elementsAndFinisher.elements !== undefined) {
267
144
  elements = elementsAndFinisher.elements;
268
-
269
145
  for (var j = 0; j < elements.length - 1; j++) {
270
146
  for (var k = j + 1; k < elements.length; k++) {
271
147
  if (elements[j].key === elements[k].key && elements[j].placement === elements[k].placement) {
@@ -275,22 +151,14 @@ var _getDecoratorsApi = function () {
275
151
  }
276
152
  }
277
153
  }
278
-
279
154
  return {
280
155
  elements,
281
156
  finishers
282
157
  };
283
158
  },
284
-
285
159
  // FromElementDescriptor
286
- fromElementDescriptor(element
287
- /* : ElementDescriptor */
288
- )
289
- /* : ElementObject */
290
- {
291
- var obj
292
- /* : ElementObject */
293
- = {
160
+ fromElementDescriptor(element /* : ElementDescriptor */) /* : ElementObject */{
161
+ var obj /* : ElementObject */ = {
294
162
  kind: element.kind,
295
163
  key: element.key,
296
164
  placement: element.placement,
@@ -304,13 +172,8 @@ var _getDecoratorsApi = function () {
304
172
  if (element.kind === "field") obj.initializer = element.initializer;
305
173
  return obj;
306
174
  },
307
-
308
175
  // ToElementDescriptors
309
- toElementDescriptors(elementObjects
310
- /* : ElementObject[] */
311
- )
312
- /* : ElementDescriptor[] */
313
- {
176
+ toElementDescriptors(elementObjects /* : ElementObject[] */) /* : ElementDescriptor[] */{
314
177
  if (elementObjects === undefined) return;
315
178
  return toArray(elementObjects).map(function (elementObject) {
316
179
  var element = this.toElementDescriptor(elementObject);
@@ -319,39 +182,25 @@ var _getDecoratorsApi = function () {
319
182
  return element;
320
183
  }, this);
321
184
  },
322
-
323
185
  // ToElementDescriptor
324
- toElementDescriptor(elementObject
325
- /* : ElementObject */
326
- )
327
- /* : ElementDescriptor */
328
- {
186
+ toElementDescriptor(elementObject /* : ElementObject */) /* : ElementDescriptor */{
329
187
  var kind = String(elementObject.kind);
330
-
331
188
  if (kind !== "method" && kind !== "field") {
332
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}"`);
333
190
  }
334
-
335
191
  var key = toPropertyKey(elementObject.key);
336
192
  var placement = String(elementObject.placement);
337
-
338
193
  if (placement !== "static" && placement !== "prototype" && placement !== "own") {
339
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}"`);
340
195
  }
341
-
342
- var descriptor
343
- /* : PropertyDescriptor */
344
- = elementObject.descriptor;
196
+ var descriptor /* : PropertyDescriptor */ = elementObject.descriptor;
345
197
  this.disallowProperty(elementObject, "elements", "An element descriptor");
346
- var element
347
- /* : ElementDescriptor */
348
- = {
198
+ var element /* : ElementDescriptor */ = {
349
199
  kind,
350
200
  key,
351
201
  placement,
352
202
  descriptor: Object.assign({}, descriptor)
353
203
  };
354
-
355
204
  if (kind !== "field") {
356
205
  this.disallowProperty(elementObject, "initializer", "A method descriptor");
357
206
  } else {
@@ -360,39 +209,20 @@ var _getDecoratorsApi = function () {
360
209
  this.disallowProperty(descriptor, "value", "The property descriptor of a field descriptor");
361
210
  element.initializer = elementObject.initializer;
362
211
  }
363
-
364
212
  return element;
365
213
  },
366
-
367
- toElementFinisherExtras(elementObject
368
- /* : ElementObject */
369
- )
370
- /* : ElementFinisherExtras */
371
- {
372
- var element
373
- /* : ElementDescriptor */
374
- = this.toElementDescriptor(elementObject);
375
-
376
- var finisher
377
- /* : ClassFinisher */
378
- = _optionalCallableProperty(elementObject, "finisher");
379
-
380
- var extras
381
- /* : ElementDescriptors[] */
382
- = this.toElementDescriptors(elementObject.extras);
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);
383
218
  return {
384
219
  element,
385
220
  finisher,
386
221
  extras
387
222
  };
388
223
  },
389
-
390
224
  // FromClassDescriptor
391
- fromClassDescriptor(elements
392
- /* : ElementDescriptor[] */
393
- )
394
- /* : ClassObject */
395
- {
225
+ fromClassDescriptor(elements /* : ElementDescriptor[] */) /* : ClassObject */{
396
226
  var obj = {
397
227
  kind: "class",
398
228
  elements: elements.map(this.fromElementDescriptor, this)
@@ -404,85 +234,54 @@ var _getDecoratorsApi = function () {
404
234
  Object.defineProperty(obj, Symbol.toStringTag, desc);
405
235
  return obj;
406
236
  },
407
-
408
237
  // ToClassDescriptor
409
- toClassDescriptor(obj
410
- /* : ClassObject */
411
- )
412
- /* : ElementsFinisher */
413
- {
238
+ toClassDescriptor(obj /* : ClassObject */) /* : ElementsFinisher */{
414
239
  var kind = String(obj.kind);
415
-
416
240
  if (kind !== "class") {
417
241
  throw new TypeError(`${'A class descriptor\'s .kind property must be "class", but a decorator' + ' created a class descriptor with .kind "'}${kind}"`);
418
242
  }
419
-
420
243
  this.disallowProperty(obj, "key", "A class descriptor");
421
244
  this.disallowProperty(obj, "placement", "A class descriptor");
422
245
  this.disallowProperty(obj, "descriptor", "A class descriptor");
423
246
  this.disallowProperty(obj, "initializer", "A class descriptor");
424
247
  this.disallowProperty(obj, "extras", "A class descriptor");
425
-
426
248
  var finisher = _optionalCallableProperty(obj, "finisher");
427
-
428
249
  var elements = this.toElementDescriptors(obj.elements);
429
250
  return {
430
251
  elements,
431
252
  finisher
432
253
  };
433
254
  },
434
-
435
255
  // RunClassFinishers
436
- runClassFinishers(constructor
437
- /* : Class<*> */
438
- , finishers
439
- /* : ClassFinisher[] */
440
- )
441
- /* : Class<*> */
442
- {
256
+ runClassFinishers(constructor /* : Class<*> */, finishers /* : ClassFinisher[] */) /* : Class<*> */{
443
257
  for (var i = 0; i < finishers.length; i++) {
444
- var newConstructor
445
- /* : ?Class<*> */
446
- = (0, finishers[i])(constructor);
447
-
258
+ var newConstructor /* : ?Class<*> */ = (0, finishers[i])(constructor);
448
259
  if (newConstructor !== undefined) {
449
260
  // NOTE: This should check if IsConstructor(newConstructor) is false.
450
261
  if (typeof newConstructor !== "function") {
451
262
  throw new TypeError("Finishers must return a constructor.");
452
263
  }
453
-
454
264
  constructor = newConstructor;
455
265
  }
456
266
  }
457
-
458
267
  return constructor;
459
268
  },
460
-
461
269
  disallowProperty(obj, name, objectType) {
462
270
  if (obj[name] !== undefined) {
463
271
  throw new TypeError(`${objectType} can't have a .${name} property.`);
464
272
  }
465
273
  }
466
-
467
274
  };
468
-
469
275
  _getDecoratorsApi = function () {
470
276
  return api;
471
277
  };
472
-
473
278
  return api;
474
- }; // ClassElementEvaluation
475
-
279
+ };
476
280
 
477
- function _createElementDescriptor(def
478
- /* : ElementDefinition */
479
- )
480
- /* : ElementDescriptor */
481
- {
281
+ // ClassElementEvaluation
282
+ function _createElementDescriptor(def /* : ElementDefinition */) /* : ElementDescriptor */{
482
283
  var key = toPropertyKey(def.key);
483
- var descriptor;
484
- /* : PropertyDescriptor */
485
-
284
+ var descriptor; /* : PropertyDescriptor */
486
285
  if (def.kind === "method") {
487
286
  descriptor = {
488
287
  value: def.value,
@@ -509,10 +308,7 @@ function _createElementDescriptor(def
509
308
  enumerable: true
510
309
  };
511
310
  }
512
-
513
- var element
514
- /* : ElementDescriptor */
515
- = {
311
+ var element /* : ElementDescriptor */ = {
516
312
  kind: def.kind === "field" ? "field" : "method",
517
313
  key,
518
314
  placement: def.static ? "static" : def.kind === "field" ? "own" : "prototype",
@@ -521,102 +317,55 @@ function _createElementDescriptor(def
521
317
  if (def.decorators) element.decorators = def.decorators;
522
318
  if (def.kind === "field") element.initializer = def.value;
523
319
  return element;
524
- } // CoalesceGetterSetter
525
-
526
-
527
- function _coalesceGetterSetter(element
528
- /* : ElementDescriptor */
529
- , other
530
- /* : ElementDescriptor */
531
- ) {
320
+ }
321
+ // CoalesceGetterSetter
322
+ function _coalesceGetterSetter(element /* : ElementDescriptor */, other /* : ElementDescriptor */) {
532
323
  if (element.descriptor.get !== undefined) {
533
324
  other.descriptor.get = element.descriptor.get;
534
325
  } else {
535
326
  other.descriptor.set = element.descriptor.set;
536
327
  }
537
- } // CoalesceClassElements
538
-
539
-
540
- function _coalesceClassElements(elements
541
- /* : ElementDescriptor[] */
542
- )
543
- /* : ElementDescriptor[] */
544
- {
545
- var newElements
546
- /* : ElementDescriptor[] */
547
- = [];
548
-
549
- var isSameElement = function (other
550
- /* : ElementDescriptor */
551
- )
552
- /* : boolean */
553
- {
328
+ }
329
+ // CoalesceClassElements
330
+ function _coalesceClassElements(elements /* : ElementDescriptor[] */) /* : ElementDescriptor[] */{
331
+ var newElements /* : ElementDescriptor[] */ = [];
332
+ var isSameElement = function (other /* : ElementDescriptor */) /* : boolean */{
554
333
  return other.kind === "method" && other.key === element.key && other.placement === element.placement;
555
334
  };
556
-
557
335
  for (var i = 0; i < elements.length; i++) {
558
- var element
559
- /* : ElementDescriptor */
560
- = elements[i];
561
- var other;
562
- /* : ElementDescriptor */
563
-
336
+ var element /* : ElementDescriptor */ = elements[i];
337
+ var other; /* : ElementDescriptor */
564
338
  if (element.kind === "method" && (other = newElements.find(isSameElement))) {
565
339
  if (_isDataDescriptor(element.descriptor) || _isDataDescriptor(other.descriptor)) {
566
340
  if (_hasDecorators(element) || _hasDecorators(other)) {
567
341
  throw new ReferenceError(`Duplicated methods (${element.key}) can't be decorated.`);
568
342
  }
569
-
570
343
  other.descriptor = element.descriptor;
571
344
  } else {
572
345
  if (_hasDecorators(element)) {
573
346
  if (_hasDecorators(other)) {
574
347
  throw new ReferenceError(`${"Decorators can't be placed on different accessors with for " + "the same property ("}${element.key}).`);
575
348
  }
576
-
577
349
  other.decorators = element.decorators;
578
350
  }
579
-
580
351
  _coalesceGetterSetter(element, other);
581
352
  }
582
353
  } else {
583
354
  newElements.push(element);
584
355
  }
585
356
  }
586
-
587
357
  return newElements;
588
358
  }
589
-
590
- function _hasDecorators(element
591
- /* : ElementDescriptor */
592
- )
593
- /* : boolean */
594
- {
359
+ function _hasDecorators(element /* : ElementDescriptor */) /* : boolean */{
595
360
  return element.decorators && element.decorators.length;
596
361
  }
597
-
598
- function _isDataDescriptor(desc
599
- /* : PropertyDescriptor */
600
- )
601
- /* : boolean */
602
- {
362
+ function _isDataDescriptor(desc /* : PropertyDescriptor */) /* : boolean */{
603
363
  return desc !== undefined && !(desc.value === undefined && desc.writable === undefined);
604
364
  }
605
-
606
- function _optionalCallableProperty
607
- /* ::<T>*/
608
- (obj
609
- /* : T */
610
- , name
611
- /* : $Keys<T> */
612
- )
613
- /* : ?Function */
614
- {
365
+ function _optionalCallableProperty /* ::<T>*/(obj /* : T */, name /* : $Keys<T> */) /* : ?Function */{
615
366
  var value = obj[name];
616
-
617
367
  if (value !== undefined && typeof value !== "function") {
618
368
  throw new TypeError(`Expected '${name}' to be a function`);
619
369
  }
620
-
621
370
  return value;
622
371
  }
@@ -1,14 +1,11 @@
1
1
  export default function (obj, defaults) {
2
2
  var keys = Object.getOwnPropertyNames(defaults);
3
-
4
3
  for (var i = 0; i < keys.length; i++) {
5
4
  var key = keys[i];
6
5
  var value = Object.getOwnPropertyDescriptor(defaults, key);
7
-
8
6
  if (value && value.configurable && obj[key] === undefined) {
9
7
  Object.defineProperty(obj, key, value);
10
8
  }
11
9
  }
12
-
13
10
  return obj;
14
11
  }
@@ -5,14 +5,12 @@ export default function (obj, descs) {
5
5
  desc.configurable = desc.enumerable = true;
6
6
  if ("value" in desc) desc.writable = true;
7
7
  Object.defineProperty(obj, key, desc);
8
- } // Symbols are not enumerated over by for-in loops. If native
8
+ }
9
+ // Symbols are not enumerated over by for-in loops. If native
9
10
  // Symbols are available, fetch all of the descs object's own
10
11
  // symbol properties and define them on our target object too.
11
-
12
-
13
12
  if (Object.getOwnPropertySymbols) {
14
13
  var objectSymbols = Object.getOwnPropertySymbols(descs);
15
-
16
14
  for (var i = 0; i < objectSymbols.length; i++) {
17
15
  var sym = objectSymbols[i];
18
16
  var symbDesc = descs[sym];
@@ -21,6 +19,5 @@ export default function (obj, descs) {
21
19
  Object.defineProperty(obj, sym, symbDesc);
22
20
  }
23
21
  }
24
-
25
22
  return obj;
26
23
  }
@@ -14,6 +14,5 @@ export default ((obj, key, value) => {
14
14
  } else {
15
15
  obj[key] = value;
16
16
  }
17
-
18
17
  return obj;
19
18
  });