1 | "use strict";
|
---|
2 |
|
---|
3 | Object.defineProperty(exports, "__esModule", {
|
---|
4 | value: true
|
---|
5 | });
|
---|
6 | exports.default = void 0;
|
---|
7 |
|
---|
8 | var _template = require("@babel/template");
|
---|
9 |
|
---|
10 | var generated = require("./helpers-generated");
|
---|
11 |
|
---|
12 | const helpers = Object.assign({
|
---|
13 | __proto__: null
|
---|
14 | }, generated);
|
---|
15 | var _default = helpers;
|
---|
16 | exports.default = _default;
|
---|
17 |
|
---|
18 | const helper = minVersion => tpl => ({
|
---|
19 | minVersion,
|
---|
20 | ast: () => _template.default.program.ast(tpl)
|
---|
21 | });
|
---|
22 |
|
---|
23 | helpers.asyncIterator = helper("7.0.0-beta.0")`
|
---|
24 | export default function _asyncIterator(iterable) {
|
---|
25 | var method;
|
---|
26 | if (typeof Symbol !== "undefined") {
|
---|
27 | if (Symbol.asyncIterator) method = iterable[Symbol.asyncIterator];
|
---|
28 | if (method == null && Symbol.iterator) method = iterable[Symbol.iterator];
|
---|
29 | }
|
---|
30 | if (method == null) method = iterable["@@asyncIterator"];
|
---|
31 | if (method == null) method = iterable["@@iterator"]
|
---|
32 | if (method == null) throw new TypeError("Object is not async iterable");
|
---|
33 | return method.call(iterable);
|
---|
34 | }
|
---|
35 | `;
|
---|
36 | helpers.AwaitValue = helper("7.0.0-beta.0")`
|
---|
37 | export default function _AwaitValue(value) {
|
---|
38 | this.wrapped = value;
|
---|
39 | }
|
---|
40 | `;
|
---|
41 | helpers.AsyncGenerator = helper("7.0.0-beta.0")`
|
---|
42 | import AwaitValue from "AwaitValue";
|
---|
43 |
|
---|
44 | export default function AsyncGenerator(gen) {
|
---|
45 | var front, back;
|
---|
46 |
|
---|
47 | function send(key, arg) {
|
---|
48 | return new Promise(function (resolve, reject) {
|
---|
49 | var request = {
|
---|
50 | key: key,
|
---|
51 | arg: arg,
|
---|
52 | resolve: resolve,
|
---|
53 | reject: reject,
|
---|
54 | next: null,
|
---|
55 | };
|
---|
56 |
|
---|
57 | if (back) {
|
---|
58 | back = back.next = request;
|
---|
59 | } else {
|
---|
60 | front = back = request;
|
---|
61 | resume(key, arg);
|
---|
62 | }
|
---|
63 | });
|
---|
64 | }
|
---|
65 |
|
---|
66 | function resume(key, arg) {
|
---|
67 | try {
|
---|
68 | var result = gen[key](arg)
|
---|
69 | var value = result.value;
|
---|
70 | var wrappedAwait = value instanceof AwaitValue;
|
---|
71 |
|
---|
72 | Promise.resolve(wrappedAwait ? value.wrapped : value).then(
|
---|
73 | function (arg) {
|
---|
74 | if (wrappedAwait) {
|
---|
75 | resume(key === "return" ? "return" : "next", arg);
|
---|
76 | return
|
---|
77 | }
|
---|
78 |
|
---|
79 | settle(result.done ? "return" : "normal", arg);
|
---|
80 | },
|
---|
81 | function (err) { resume("throw", err); });
|
---|
82 | } catch (err) {
|
---|
83 | settle("throw", err);
|
---|
84 | }
|
---|
85 | }
|
---|
86 |
|
---|
87 | function settle(type, value) {
|
---|
88 | switch (type) {
|
---|
89 | case "return":
|
---|
90 | front.resolve({ value: value, done: true });
|
---|
91 | break;
|
---|
92 | case "throw":
|
---|
93 | front.reject(value);
|
---|
94 | break;
|
---|
95 | default:
|
---|
96 | front.resolve({ value: value, done: false });
|
---|
97 | break;
|
---|
98 | }
|
---|
99 |
|
---|
100 | front = front.next;
|
---|
101 | if (front) {
|
---|
102 | resume(front.key, front.arg);
|
---|
103 | } else {
|
---|
104 | back = null;
|
---|
105 | }
|
---|
106 | }
|
---|
107 |
|
---|
108 | this._invoke = send;
|
---|
109 |
|
---|
110 | // Hide "return" method if generator return is not supported
|
---|
111 | if (typeof gen.return !== "function") {
|
---|
112 | this.return = undefined;
|
---|
113 | }
|
---|
114 | }
|
---|
115 |
|
---|
116 | AsyncGenerator.prototype[typeof Symbol === "function" && Symbol.asyncIterator || "@@asyncIterator"] = function () { return this; };
|
---|
117 |
|
---|
118 | AsyncGenerator.prototype.next = function (arg) { return this._invoke("next", arg); };
|
---|
119 | AsyncGenerator.prototype.throw = function (arg) { return this._invoke("throw", arg); };
|
---|
120 | AsyncGenerator.prototype.return = function (arg) { return this._invoke("return", arg); };
|
---|
121 | `;
|
---|
122 | helpers.wrapAsyncGenerator = helper("7.0.0-beta.0")`
|
---|
123 | import AsyncGenerator from "AsyncGenerator";
|
---|
124 |
|
---|
125 | export default function _wrapAsyncGenerator(fn) {
|
---|
126 | return function () {
|
---|
127 | return new AsyncGenerator(fn.apply(this, arguments));
|
---|
128 | };
|
---|
129 | }
|
---|
130 | `;
|
---|
131 | helpers.awaitAsyncGenerator = helper("7.0.0-beta.0")`
|
---|
132 | import AwaitValue from "AwaitValue";
|
---|
133 |
|
---|
134 | export default function _awaitAsyncGenerator(value) {
|
---|
135 | return new AwaitValue(value);
|
---|
136 | }
|
---|
137 | `;
|
---|
138 | helpers.asyncGeneratorDelegate = helper("7.0.0-beta.0")`
|
---|
139 | export default function _asyncGeneratorDelegate(inner, awaitWrap) {
|
---|
140 | var iter = {}, waiting = false;
|
---|
141 |
|
---|
142 | function pump(key, value) {
|
---|
143 | waiting = true;
|
---|
144 | value = new Promise(function (resolve) { resolve(inner[key](value)); });
|
---|
145 | return { done: false, value: awaitWrap(value) };
|
---|
146 | };
|
---|
147 |
|
---|
148 | iter[typeof Symbol !== "undefined" && Symbol.iterator || "@@iterator"] = function () { return this; };
|
---|
149 |
|
---|
150 | iter.next = function (value) {
|
---|
151 | if (waiting) {
|
---|
152 | waiting = false;
|
---|
153 | return value;
|
---|
154 | }
|
---|
155 | return pump("next", value);
|
---|
156 | };
|
---|
157 |
|
---|
158 | if (typeof inner.throw === "function") {
|
---|
159 | iter.throw = function (value) {
|
---|
160 | if (waiting) {
|
---|
161 | waiting = false;
|
---|
162 | throw value;
|
---|
163 | }
|
---|
164 | return pump("throw", value);
|
---|
165 | };
|
---|
166 | }
|
---|
167 |
|
---|
168 | if (typeof inner.return === "function") {
|
---|
169 | iter.return = function (value) {
|
---|
170 | if (waiting) {
|
---|
171 | waiting = false;
|
---|
172 | return value;
|
---|
173 | }
|
---|
174 | return pump("return", value);
|
---|
175 | };
|
---|
176 | }
|
---|
177 |
|
---|
178 | return iter;
|
---|
179 | }
|
---|
180 | `;
|
---|
181 | helpers.asyncToGenerator = helper("7.0.0-beta.0")`
|
---|
182 | function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
---|
183 | try {
|
---|
184 | var info = gen[key](arg);
|
---|
185 | var value = info.value;
|
---|
186 | } catch (error) {
|
---|
187 | reject(error);
|
---|
188 | return;
|
---|
189 | }
|
---|
190 |
|
---|
191 | if (info.done) {
|
---|
192 | resolve(value);
|
---|
193 | } else {
|
---|
194 | Promise.resolve(value).then(_next, _throw);
|
---|
195 | }
|
---|
196 | }
|
---|
197 |
|
---|
198 | export default function _asyncToGenerator(fn) {
|
---|
199 | return function () {
|
---|
200 | var self = this, args = arguments;
|
---|
201 | return new Promise(function (resolve, reject) {
|
---|
202 | var gen = fn.apply(self, args);
|
---|
203 | function _next(value) {
|
---|
204 | asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
---|
205 | }
|
---|
206 | function _throw(err) {
|
---|
207 | asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
---|
208 | }
|
---|
209 |
|
---|
210 | _next(undefined);
|
---|
211 | });
|
---|
212 | };
|
---|
213 | }
|
---|
214 | `;
|
---|
215 | helpers.classCallCheck = helper("7.0.0-beta.0")`
|
---|
216 | export default function _classCallCheck(instance, Constructor) {
|
---|
217 | if (!(instance instanceof Constructor)) {
|
---|
218 | throw new TypeError("Cannot call a class as a function");
|
---|
219 | }
|
---|
220 | }
|
---|
221 | `;
|
---|
222 | helpers.createClass = helper("7.0.0-beta.0")`
|
---|
223 | function _defineProperties(target, props) {
|
---|
224 | for (var i = 0; i < props.length; i ++) {
|
---|
225 | var descriptor = props[i];
|
---|
226 | descriptor.enumerable = descriptor.enumerable || false;
|
---|
227 | descriptor.configurable = true;
|
---|
228 | if ("value" in descriptor) descriptor.writable = true;
|
---|
229 | Object.defineProperty(target, descriptor.key, descriptor);
|
---|
230 | }
|
---|
231 | }
|
---|
232 |
|
---|
233 | export default function _createClass(Constructor, protoProps, staticProps) {
|
---|
234 | if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
---|
235 | if (staticProps) _defineProperties(Constructor, staticProps);
|
---|
236 | return Constructor;
|
---|
237 | }
|
---|
238 | `;
|
---|
239 | helpers.defineEnumerableProperties = helper("7.0.0-beta.0")`
|
---|
240 | export default function _defineEnumerableProperties(obj, descs) {
|
---|
241 | for (var key in descs) {
|
---|
242 | var desc = descs[key];
|
---|
243 | desc.configurable = desc.enumerable = true;
|
---|
244 | if ("value" in desc) desc.writable = true;
|
---|
245 | Object.defineProperty(obj, key, desc);
|
---|
246 | }
|
---|
247 |
|
---|
248 | // Symbols are not enumerated over by for-in loops. If native
|
---|
249 | // Symbols are available, fetch all of the descs object's own
|
---|
250 | // symbol properties and define them on our target object too.
|
---|
251 | if (Object.getOwnPropertySymbols) {
|
---|
252 | var objectSymbols = Object.getOwnPropertySymbols(descs);
|
---|
253 | for (var i = 0; i < objectSymbols.length; i++) {
|
---|
254 | var sym = objectSymbols[i];
|
---|
255 | var desc = descs[sym];
|
---|
256 | desc.configurable = desc.enumerable = true;
|
---|
257 | if ("value" in desc) desc.writable = true;
|
---|
258 | Object.defineProperty(obj, sym, desc);
|
---|
259 | }
|
---|
260 | }
|
---|
261 | return obj;
|
---|
262 | }
|
---|
263 | `;
|
---|
264 | helpers.defaults = helper("7.0.0-beta.0")`
|
---|
265 | export default function _defaults(obj, defaults) {
|
---|
266 | var keys = Object.getOwnPropertyNames(defaults);
|
---|
267 | for (var i = 0; i < keys.length; i++) {
|
---|
268 | var key = keys[i];
|
---|
269 | var value = Object.getOwnPropertyDescriptor(defaults, key);
|
---|
270 | if (value && value.configurable && obj[key] === undefined) {
|
---|
271 | Object.defineProperty(obj, key, value);
|
---|
272 | }
|
---|
273 | }
|
---|
274 | return obj;
|
---|
275 | }
|
---|
276 | `;
|
---|
277 | helpers.defineProperty = helper("7.0.0-beta.0")`
|
---|
278 | export default function _defineProperty(obj, key, value) {
|
---|
279 | // Shortcircuit the slow defineProperty path when possible.
|
---|
280 | // We are trying to avoid issues where setters defined on the
|
---|
281 | // prototype cause side effects under the fast path of simple
|
---|
282 | // assignment. By checking for existence of the property with
|
---|
283 | // the in operator, we can optimize most of this overhead away.
|
---|
284 | if (key in obj) {
|
---|
285 | Object.defineProperty(obj, key, {
|
---|
286 | value: value,
|
---|
287 | enumerable: true,
|
---|
288 | configurable: true,
|
---|
289 | writable: true
|
---|
290 | });
|
---|
291 | } else {
|
---|
292 | obj[key] = value;
|
---|
293 | }
|
---|
294 | return obj;
|
---|
295 | }
|
---|
296 | `;
|
---|
297 | helpers.extends = helper("7.0.0-beta.0")`
|
---|
298 | export default function _extends() {
|
---|
299 | _extends = Object.assign || function (target) {
|
---|
300 | for (var i = 1; i < arguments.length; i++) {
|
---|
301 | var source = arguments[i];
|
---|
302 | for (var key in source) {
|
---|
303 | if (Object.prototype.hasOwnProperty.call(source, key)) {
|
---|
304 | target[key] = source[key];
|
---|
305 | }
|
---|
306 | }
|
---|
307 | }
|
---|
308 | return target;
|
---|
309 | };
|
---|
310 |
|
---|
311 | return _extends.apply(this, arguments);
|
---|
312 | }
|
---|
313 | `;
|
---|
314 | helpers.objectSpread = helper("7.0.0-beta.0")`
|
---|
315 | import defineProperty from "defineProperty";
|
---|
316 |
|
---|
317 | export default function _objectSpread(target) {
|
---|
318 | for (var i = 1; i < arguments.length; i++) {
|
---|
319 | var source = (arguments[i] != null) ? Object(arguments[i]) : {};
|
---|
320 | var ownKeys = Object.keys(source);
|
---|
321 | if (typeof Object.getOwnPropertySymbols === 'function') {
|
---|
322 | ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function(sym) {
|
---|
323 | return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
---|
324 | }));
|
---|
325 | }
|
---|
326 | ownKeys.forEach(function(key) {
|
---|
327 | defineProperty(target, key, source[key]);
|
---|
328 | });
|
---|
329 | }
|
---|
330 | return target;
|
---|
331 | }
|
---|
332 | `;
|
---|
333 | helpers.inherits = helper("7.0.0-beta.0")`
|
---|
334 | import setPrototypeOf from "setPrototypeOf";
|
---|
335 |
|
---|
336 | export default function _inherits(subClass, superClass) {
|
---|
337 | if (typeof superClass !== "function" && superClass !== null) {
|
---|
338 | throw new TypeError("Super expression must either be null or a function");
|
---|
339 | }
|
---|
340 | subClass.prototype = Object.create(superClass && superClass.prototype, {
|
---|
341 | constructor: {
|
---|
342 | value: subClass,
|
---|
343 | writable: true,
|
---|
344 | configurable: true
|
---|
345 | }
|
---|
346 | });
|
---|
347 | if (superClass) setPrototypeOf(subClass, superClass);
|
---|
348 | }
|
---|
349 | `;
|
---|
350 | helpers.inheritsLoose = helper("7.0.0-beta.0")`
|
---|
351 | import setPrototypeOf from "setPrototypeOf";
|
---|
352 |
|
---|
353 | export default function _inheritsLoose(subClass, superClass) {
|
---|
354 | subClass.prototype = Object.create(superClass.prototype);
|
---|
355 | subClass.prototype.constructor = subClass;
|
---|
356 | setPrototypeOf(subClass, superClass);
|
---|
357 | }
|
---|
358 | `;
|
---|
359 | helpers.getPrototypeOf = helper("7.0.0-beta.0")`
|
---|
360 | export default function _getPrototypeOf(o) {
|
---|
361 | _getPrototypeOf = Object.setPrototypeOf
|
---|
362 | ? Object.getPrototypeOf
|
---|
363 | : function _getPrototypeOf(o) {
|
---|
364 | return o.__proto__ || Object.getPrototypeOf(o);
|
---|
365 | };
|
---|
366 | return _getPrototypeOf(o);
|
---|
367 | }
|
---|
368 | `;
|
---|
369 | helpers.setPrototypeOf = helper("7.0.0-beta.0")`
|
---|
370 | export default function _setPrototypeOf(o, p) {
|
---|
371 | _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
---|
372 | o.__proto__ = p;
|
---|
373 | return o;
|
---|
374 | };
|
---|
375 | return _setPrototypeOf(o, p);
|
---|
376 | }
|
---|
377 | `;
|
---|
378 | helpers.isNativeReflectConstruct = helper("7.9.0")`
|
---|
379 | export default function _isNativeReflectConstruct() {
|
---|
380 | if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
---|
381 |
|
---|
382 | // core-js@3
|
---|
383 | if (Reflect.construct.sham) return false;
|
---|
384 |
|
---|
385 | // Proxy can't be polyfilled. Every browser implemented
|
---|
386 | // proxies before or at the same time as Reflect.construct,
|
---|
387 | // so if they support Proxy they also support Reflect.construct.
|
---|
388 | if (typeof Proxy === "function") return true;
|
---|
389 |
|
---|
390 | // Since Reflect.construct can't be properly polyfilled, some
|
---|
391 | // implementations (e.g. core-js@2) don't set the correct internal slots.
|
---|
392 | // Those polyfills don't allow us to subclass built-ins, so we need to
|
---|
393 | // use our fallback implementation.
|
---|
394 | try {
|
---|
395 | // If the internal slots aren't set, this throws an error similar to
|
---|
396 | // TypeError: this is not a Boolean object.
|
---|
397 |
|
---|
398 | Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
---|
399 | return true;
|
---|
400 | } catch (e) {
|
---|
401 | return false;
|
---|
402 | }
|
---|
403 | }
|
---|
404 | `;
|
---|
405 | helpers.construct = helper("7.0.0-beta.0")`
|
---|
406 | import setPrototypeOf from "setPrototypeOf";
|
---|
407 | import isNativeReflectConstruct from "isNativeReflectConstruct";
|
---|
408 |
|
---|
409 | export default function _construct(Parent, args, Class) {
|
---|
410 | if (isNativeReflectConstruct()) {
|
---|
411 | _construct = Reflect.construct;
|
---|
412 | } else {
|
---|
413 | // NOTE: If Parent !== Class, the correct __proto__ is set *after*
|
---|
414 | // calling the constructor.
|
---|
415 | _construct = function _construct(Parent, args, Class) {
|
---|
416 | var a = [null];
|
---|
417 | a.push.apply(a, args);
|
---|
418 | var Constructor = Function.bind.apply(Parent, a);
|
---|
419 | var instance = new Constructor();
|
---|
420 | if (Class) setPrototypeOf(instance, Class.prototype);
|
---|
421 | return instance;
|
---|
422 | };
|
---|
423 | }
|
---|
424 | // Avoid issues with Class being present but undefined when it wasn't
|
---|
425 | // present in the original call.
|
---|
426 | return _construct.apply(null, arguments);
|
---|
427 | }
|
---|
428 | `;
|
---|
429 | helpers.isNativeFunction = helper("7.0.0-beta.0")`
|
---|
430 | export default function _isNativeFunction(fn) {
|
---|
431 | // Note: This function returns "true" for core-js functions.
|
---|
432 | return Function.toString.call(fn).indexOf("[native code]") !== -1;
|
---|
433 | }
|
---|
434 | `;
|
---|
435 | helpers.wrapNativeSuper = helper("7.0.0-beta.0")`
|
---|
436 | import getPrototypeOf from "getPrototypeOf";
|
---|
437 | import setPrototypeOf from "setPrototypeOf";
|
---|
438 | import isNativeFunction from "isNativeFunction";
|
---|
439 | import construct from "construct";
|
---|
440 |
|
---|
441 | export default function _wrapNativeSuper(Class) {
|
---|
442 | var _cache = typeof Map === "function" ? new Map() : undefined;
|
---|
443 |
|
---|
444 | _wrapNativeSuper = function _wrapNativeSuper(Class) {
|
---|
445 | if (Class === null || !isNativeFunction(Class)) return Class;
|
---|
446 | if (typeof Class !== "function") {
|
---|
447 | throw new TypeError("Super expression must either be null or a function");
|
---|
448 | }
|
---|
449 | if (typeof _cache !== "undefined") {
|
---|
450 | if (_cache.has(Class)) return _cache.get(Class);
|
---|
451 | _cache.set(Class, Wrapper);
|
---|
452 | }
|
---|
453 | function Wrapper() {
|
---|
454 | return construct(Class, arguments, getPrototypeOf(this).constructor)
|
---|
455 | }
|
---|
456 | Wrapper.prototype = Object.create(Class.prototype, {
|
---|
457 | constructor: {
|
---|
458 | value: Wrapper,
|
---|
459 | enumerable: false,
|
---|
460 | writable: true,
|
---|
461 | configurable: true,
|
---|
462 | }
|
---|
463 | });
|
---|
464 |
|
---|
465 | return setPrototypeOf(Wrapper, Class);
|
---|
466 | }
|
---|
467 |
|
---|
468 | return _wrapNativeSuper(Class)
|
---|
469 | }
|
---|
470 | `;
|
---|
471 | helpers.instanceof = helper("7.0.0-beta.0")`
|
---|
472 | export default function _instanceof(left, right) {
|
---|
473 | if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
---|
474 | return !!right[Symbol.hasInstance](left);
|
---|
475 | } else {
|
---|
476 | return left instanceof right;
|
---|
477 | }
|
---|
478 | }
|
---|
479 | `;
|
---|
480 | helpers.interopRequireDefault = helper("7.0.0-beta.0")`
|
---|
481 | export default function _interopRequireDefault(obj) {
|
---|
482 | return obj && obj.__esModule ? obj : { default: obj };
|
---|
483 | }
|
---|
484 | `;
|
---|
485 | helpers.interopRequireWildcard = helper("7.14.0")`
|
---|
486 | function _getRequireWildcardCache(nodeInterop) {
|
---|
487 | if (typeof WeakMap !== "function") return null;
|
---|
488 |
|
---|
489 | var cacheBabelInterop = new WeakMap();
|
---|
490 | var cacheNodeInterop = new WeakMap();
|
---|
491 | return (_getRequireWildcardCache = function (nodeInterop) {
|
---|
492 | return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
---|
493 | })(nodeInterop);
|
---|
494 | }
|
---|
495 |
|
---|
496 | export default function _interopRequireWildcard(obj, nodeInterop) {
|
---|
497 | if (!nodeInterop && obj && obj.__esModule) {
|
---|
498 | return obj;
|
---|
499 | }
|
---|
500 |
|
---|
501 | if (obj === null || (typeof obj !== "object" && typeof obj !== "function")) {
|
---|
502 | return { default: obj }
|
---|
503 | }
|
---|
504 |
|
---|
505 | var cache = _getRequireWildcardCache(nodeInterop);
|
---|
506 | if (cache && cache.has(obj)) {
|
---|
507 | return cache.get(obj);
|
---|
508 | }
|
---|
509 |
|
---|
510 | var newObj = {};
|
---|
511 | var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
---|
512 | for (var key in obj) {
|
---|
513 | if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
---|
514 | var desc = hasPropertyDescriptor
|
---|
515 | ? Object.getOwnPropertyDescriptor(obj, key)
|
---|
516 | : null;
|
---|
517 | if (desc && (desc.get || desc.set)) {
|
---|
518 | Object.defineProperty(newObj, key, desc);
|
---|
519 | } else {
|
---|
520 | newObj[key] = obj[key];
|
---|
521 | }
|
---|
522 | }
|
---|
523 | }
|
---|
524 | newObj.default = obj;
|
---|
525 | if (cache) {
|
---|
526 | cache.set(obj, newObj);
|
---|
527 | }
|
---|
528 | return newObj;
|
---|
529 | }
|
---|
530 | `;
|
---|
531 | helpers.newArrowCheck = helper("7.0.0-beta.0")`
|
---|
532 | export default function _newArrowCheck(innerThis, boundThis) {
|
---|
533 | if (innerThis !== boundThis) {
|
---|
534 | throw new TypeError("Cannot instantiate an arrow function");
|
---|
535 | }
|
---|
536 | }
|
---|
537 | `;
|
---|
538 | helpers.objectDestructuringEmpty = helper("7.0.0-beta.0")`
|
---|
539 | export default function _objectDestructuringEmpty(obj) {
|
---|
540 | if (obj == null) throw new TypeError("Cannot destructure undefined");
|
---|
541 | }
|
---|
542 | `;
|
---|
543 | helpers.objectWithoutPropertiesLoose = helper("7.0.0-beta.0")`
|
---|
544 | export default function _objectWithoutPropertiesLoose(source, excluded) {
|
---|
545 | if (source == null) return {};
|
---|
546 |
|
---|
547 | var target = {};
|
---|
548 | var sourceKeys = Object.keys(source);
|
---|
549 | var key, i;
|
---|
550 |
|
---|
551 | for (i = 0; i < sourceKeys.length; i++) {
|
---|
552 | key = sourceKeys[i];
|
---|
553 | if (excluded.indexOf(key) >= 0) continue;
|
---|
554 | target[key] = source[key];
|
---|
555 | }
|
---|
556 |
|
---|
557 | return target;
|
---|
558 | }
|
---|
559 | `;
|
---|
560 | helpers.objectWithoutProperties = helper("7.0.0-beta.0")`
|
---|
561 | import objectWithoutPropertiesLoose from "objectWithoutPropertiesLoose";
|
---|
562 |
|
---|
563 | export default function _objectWithoutProperties(source, excluded) {
|
---|
564 | if (source == null) return {};
|
---|
565 |
|
---|
566 | var target = objectWithoutPropertiesLoose(source, excluded);
|
---|
567 | var key, i;
|
---|
568 |
|
---|
569 | if (Object.getOwnPropertySymbols) {
|
---|
570 | var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
---|
571 | for (i = 0; i < sourceSymbolKeys.length; i++) {
|
---|
572 | key = sourceSymbolKeys[i];
|
---|
573 | if (excluded.indexOf(key) >= 0) continue;
|
---|
574 | if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
---|
575 | target[key] = source[key];
|
---|
576 | }
|
---|
577 | }
|
---|
578 |
|
---|
579 | return target;
|
---|
580 | }
|
---|
581 | `;
|
---|
582 | helpers.assertThisInitialized = helper("7.0.0-beta.0")`
|
---|
583 | export default function _assertThisInitialized(self) {
|
---|
584 | if (self === void 0) {
|
---|
585 | throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
---|
586 | }
|
---|
587 | return self;
|
---|
588 | }
|
---|
589 | `;
|
---|
590 | helpers.possibleConstructorReturn = helper("7.0.0-beta.0")`
|
---|
591 | import assertThisInitialized from "assertThisInitialized";
|
---|
592 |
|
---|
593 | export default function _possibleConstructorReturn(self, call) {
|
---|
594 | if (call && (typeof call === "object" || typeof call === "function")) {
|
---|
595 | return call;
|
---|
596 | } else if (call !== void 0) {
|
---|
597 | throw new TypeError("Derived constructors may only return object or undefined");
|
---|
598 | }
|
---|
599 |
|
---|
600 | return assertThisInitialized(self);
|
---|
601 | }
|
---|
602 | `;
|
---|
603 | helpers.createSuper = helper("7.9.0")`
|
---|
604 | import getPrototypeOf from "getPrototypeOf";
|
---|
605 | import isNativeReflectConstruct from "isNativeReflectConstruct";
|
---|
606 | import possibleConstructorReturn from "possibleConstructorReturn";
|
---|
607 |
|
---|
608 | export default function _createSuper(Derived) {
|
---|
609 | var hasNativeReflectConstruct = isNativeReflectConstruct();
|
---|
610 |
|
---|
611 | return function _createSuperInternal() {
|
---|
612 | var Super = getPrototypeOf(Derived), result;
|
---|
613 | if (hasNativeReflectConstruct) {
|
---|
614 | // NOTE: This doesn't work if this.__proto__.constructor has been modified.
|
---|
615 | var NewTarget = getPrototypeOf(this).constructor;
|
---|
616 | result = Reflect.construct(Super, arguments, NewTarget);
|
---|
617 | } else {
|
---|
618 | result = Super.apply(this, arguments);
|
---|
619 | }
|
---|
620 | return possibleConstructorReturn(this, result);
|
---|
621 | }
|
---|
622 | }
|
---|
623 | `;
|
---|
624 | helpers.superPropBase = helper("7.0.0-beta.0")`
|
---|
625 | import getPrototypeOf from "getPrototypeOf";
|
---|
626 |
|
---|
627 | export default function _superPropBase(object, property) {
|
---|
628 | // Yes, this throws if object is null to being with, that's on purpose.
|
---|
629 | while (!Object.prototype.hasOwnProperty.call(object, property)) {
|
---|
630 | object = getPrototypeOf(object);
|
---|
631 | if (object === null) break;
|
---|
632 | }
|
---|
633 | return object;
|
---|
634 | }
|
---|
635 | `;
|
---|
636 | helpers.get = helper("7.0.0-beta.0")`
|
---|
637 | import superPropBase from "superPropBase";
|
---|
638 |
|
---|
639 | export default function _get(target, property, receiver) {
|
---|
640 | if (typeof Reflect !== "undefined" && Reflect.get) {
|
---|
641 | _get = Reflect.get;
|
---|
642 | } else {
|
---|
643 | _get = function _get(target, property, receiver) {
|
---|
644 | var base = superPropBase(target, property);
|
---|
645 |
|
---|
646 | if (!base) return;
|
---|
647 |
|
---|
648 | var desc = Object.getOwnPropertyDescriptor(base, property);
|
---|
649 | if (desc.get) {
|
---|
650 | return desc.get.call(receiver);
|
---|
651 | }
|
---|
652 |
|
---|
653 | return desc.value;
|
---|
654 | };
|
---|
655 | }
|
---|
656 | return _get(target, property, receiver || target);
|
---|
657 | }
|
---|
658 | `;
|
---|
659 | helpers.set = helper("7.0.0-beta.0")`
|
---|
660 | import superPropBase from "superPropBase";
|
---|
661 | import defineProperty from "defineProperty";
|
---|
662 |
|
---|
663 | function set(target, property, value, receiver) {
|
---|
664 | if (typeof Reflect !== "undefined" && Reflect.set) {
|
---|
665 | set = Reflect.set;
|
---|
666 | } else {
|
---|
667 | set = function set(target, property, value, receiver) {
|
---|
668 | var base = superPropBase(target, property);
|
---|
669 | var desc;
|
---|
670 |
|
---|
671 | if (base) {
|
---|
672 | desc = Object.getOwnPropertyDescriptor(base, property);
|
---|
673 | if (desc.set) {
|
---|
674 | desc.set.call(receiver, value);
|
---|
675 | return true;
|
---|
676 | } else if (!desc.writable) {
|
---|
677 | // Both getter and non-writable fall into this.
|
---|
678 | return false;
|
---|
679 | }
|
---|
680 | }
|
---|
681 |
|
---|
682 | // Without a super that defines the property, spec boils down to
|
---|
683 | // "define on receiver" for some reason.
|
---|
684 | desc = Object.getOwnPropertyDescriptor(receiver, property);
|
---|
685 | if (desc) {
|
---|
686 | if (!desc.writable) {
|
---|
687 | // Setter, getter, and non-writable fall into this.
|
---|
688 | return false;
|
---|
689 | }
|
---|
690 |
|
---|
691 | desc.value = value;
|
---|
692 | Object.defineProperty(receiver, property, desc);
|
---|
693 | } else {
|
---|
694 | // Avoid setters that may be defined on Sub's prototype, but not on
|
---|
695 | // the instance.
|
---|
696 | defineProperty(receiver, property, value);
|
---|
697 | }
|
---|
698 |
|
---|
699 | return true;
|
---|
700 | };
|
---|
701 | }
|
---|
702 |
|
---|
703 | return set(target, property, value, receiver);
|
---|
704 | }
|
---|
705 |
|
---|
706 | export default function _set(target, property, value, receiver, isStrict) {
|
---|
707 | var s = set(target, property, value, receiver || target);
|
---|
708 | if (!s && isStrict) {
|
---|
709 | throw new Error('failed to set property');
|
---|
710 | }
|
---|
711 |
|
---|
712 | return value;
|
---|
713 | }
|
---|
714 | `;
|
---|
715 | helpers.taggedTemplateLiteral = helper("7.0.0-beta.0")`
|
---|
716 | export default function _taggedTemplateLiteral(strings, raw) {
|
---|
717 | if (!raw) { raw = strings.slice(0); }
|
---|
718 | return Object.freeze(Object.defineProperties(strings, {
|
---|
719 | raw: { value: Object.freeze(raw) }
|
---|
720 | }));
|
---|
721 | }
|
---|
722 | `;
|
---|
723 | helpers.taggedTemplateLiteralLoose = helper("7.0.0-beta.0")`
|
---|
724 | export default function _taggedTemplateLiteralLoose(strings, raw) {
|
---|
725 | if (!raw) { raw = strings.slice(0); }
|
---|
726 | strings.raw = raw;
|
---|
727 | return strings;
|
---|
728 | }
|
---|
729 | `;
|
---|
730 | helpers.readOnlyError = helper("7.0.0-beta.0")`
|
---|
731 | export default function _readOnlyError(name) {
|
---|
732 | throw new TypeError("\\"" + name + "\\" is read-only");
|
---|
733 | }
|
---|
734 | `;
|
---|
735 | helpers.writeOnlyError = helper("7.12.13")`
|
---|
736 | export default function _writeOnlyError(name) {
|
---|
737 | throw new TypeError("\\"" + name + "\\" is write-only");
|
---|
738 | }
|
---|
739 | `;
|
---|
740 | helpers.classNameTDZError = helper("7.0.0-beta.0")`
|
---|
741 | export default function _classNameTDZError(name) {
|
---|
742 | throw new Error("Class \\"" + name + "\\" cannot be referenced in computed property keys.");
|
---|
743 | }
|
---|
744 | `;
|
---|
745 | helpers.temporalUndefined = helper("7.0.0-beta.0")`
|
---|
746 | // This function isn't mean to be called, but to be used as a reference.
|
---|
747 | // We can't use a normal object because it isn't hoisted.
|
---|
748 | export default function _temporalUndefined() {}
|
---|
749 | `;
|
---|
750 | helpers.tdz = helper("7.5.5")`
|
---|
751 | export default function _tdzError(name) {
|
---|
752 | throw new ReferenceError(name + " is not defined - temporal dead zone");
|
---|
753 | }
|
---|
754 | `;
|
---|
755 | helpers.temporalRef = helper("7.0.0-beta.0")`
|
---|
756 | import undef from "temporalUndefined";
|
---|
757 | import err from "tdz";
|
---|
758 |
|
---|
759 | export default function _temporalRef(val, name) {
|
---|
760 | return val === undef ? err(name) : val;
|
---|
761 | }
|
---|
762 | `;
|
---|
763 | helpers.slicedToArray = helper("7.0.0-beta.0")`
|
---|
764 | import arrayWithHoles from "arrayWithHoles";
|
---|
765 | import iterableToArrayLimit from "iterableToArrayLimit";
|
---|
766 | import unsupportedIterableToArray from "unsupportedIterableToArray";
|
---|
767 | import nonIterableRest from "nonIterableRest";
|
---|
768 |
|
---|
769 | export default function _slicedToArray(arr, i) {
|
---|
770 | return (
|
---|
771 | arrayWithHoles(arr) ||
|
---|
772 | iterableToArrayLimit(arr, i) ||
|
---|
773 | unsupportedIterableToArray(arr, i) ||
|
---|
774 | nonIterableRest()
|
---|
775 | );
|
---|
776 | }
|
---|
777 | `;
|
---|
778 | helpers.slicedToArrayLoose = helper("7.0.0-beta.0")`
|
---|
779 | import arrayWithHoles from "arrayWithHoles";
|
---|
780 | import iterableToArrayLimitLoose from "iterableToArrayLimitLoose";
|
---|
781 | import unsupportedIterableToArray from "unsupportedIterableToArray";
|
---|
782 | import nonIterableRest from "nonIterableRest";
|
---|
783 |
|
---|
784 | export default function _slicedToArrayLoose(arr, i) {
|
---|
785 | return (
|
---|
786 | arrayWithHoles(arr) ||
|
---|
787 | iterableToArrayLimitLoose(arr, i) ||
|
---|
788 | unsupportedIterableToArray(arr, i) ||
|
---|
789 | nonIterableRest()
|
---|
790 | );
|
---|
791 | }
|
---|
792 | `;
|
---|
793 | helpers.toArray = helper("7.0.0-beta.0")`
|
---|
794 | import arrayWithHoles from "arrayWithHoles";
|
---|
795 | import iterableToArray from "iterableToArray";
|
---|
796 | import unsupportedIterableToArray from "unsupportedIterableToArray";
|
---|
797 | import nonIterableRest from "nonIterableRest";
|
---|
798 |
|
---|
799 | export default function _toArray(arr) {
|
---|
800 | return (
|
---|
801 | arrayWithHoles(arr) ||
|
---|
802 | iterableToArray(arr) ||
|
---|
803 | unsupportedIterableToArray(arr) ||
|
---|
804 | nonIterableRest()
|
---|
805 | );
|
---|
806 | }
|
---|
807 | `;
|
---|
808 | helpers.toConsumableArray = helper("7.0.0-beta.0")`
|
---|
809 | import arrayWithoutHoles from "arrayWithoutHoles";
|
---|
810 | import iterableToArray from "iterableToArray";
|
---|
811 | import unsupportedIterableToArray from "unsupportedIterableToArray";
|
---|
812 | import nonIterableSpread from "nonIterableSpread";
|
---|
813 |
|
---|
814 | export default function _toConsumableArray(arr) {
|
---|
815 | return (
|
---|
816 | arrayWithoutHoles(arr) ||
|
---|
817 | iterableToArray(arr) ||
|
---|
818 | unsupportedIterableToArray(arr) ||
|
---|
819 | nonIterableSpread()
|
---|
820 | );
|
---|
821 | }
|
---|
822 | `;
|
---|
823 | helpers.arrayWithoutHoles = helper("7.0.0-beta.0")`
|
---|
824 | import arrayLikeToArray from "arrayLikeToArray";
|
---|
825 |
|
---|
826 | export default function _arrayWithoutHoles(arr) {
|
---|
827 | if (Array.isArray(arr)) return arrayLikeToArray(arr);
|
---|
828 | }
|
---|
829 | `;
|
---|
830 | helpers.arrayWithHoles = helper("7.0.0-beta.0")`
|
---|
831 | export default function _arrayWithHoles(arr) {
|
---|
832 | if (Array.isArray(arr)) return arr;
|
---|
833 | }
|
---|
834 | `;
|
---|
835 | helpers.maybeArrayLike = helper("7.9.0")`
|
---|
836 | import arrayLikeToArray from "arrayLikeToArray";
|
---|
837 |
|
---|
838 | export default function _maybeArrayLike(next, arr, i) {
|
---|
839 | if (arr && !Array.isArray(arr) && typeof arr.length === "number") {
|
---|
840 | var len = arr.length;
|
---|
841 | return arrayLikeToArray(arr, i !== void 0 && i < len ? i : len);
|
---|
842 | }
|
---|
843 | return next(arr, i);
|
---|
844 | }
|
---|
845 | `;
|
---|
846 | helpers.iterableToArray = helper("7.0.0-beta.0")`
|
---|
847 | export default function _iterableToArray(iter) {
|
---|
848 | if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
---|
849 | }
|
---|
850 | `;
|
---|
851 | helpers.iterableToArrayLimit = helper("7.0.0-beta.0")`
|
---|
852 | export default function _iterableToArrayLimit(arr, i) {
|
---|
853 | // this is an expanded form of \`for...of\` that properly supports abrupt completions of
|
---|
854 | // iterators etc. variable names have been minimised to reduce the size of this massive
|
---|
855 | // helper. sometimes spec compliance is annoying :(
|
---|
856 | //
|
---|
857 | // _n = _iteratorNormalCompletion
|
---|
858 | // _d = _didIteratorError
|
---|
859 | // _e = _iteratorError
|
---|
860 | // _i = _iterator
|
---|
861 | // _s = _step
|
---|
862 |
|
---|
863 | var _i = arr == null ? null : (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]);
|
---|
864 | if (_i == null) return;
|
---|
865 |
|
---|
866 | var _arr = [];
|
---|
867 | var _n = true;
|
---|
868 | var _d = false;
|
---|
869 | var _s, _e;
|
---|
870 | try {
|
---|
871 | for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
|
---|
872 | _arr.push(_s.value);
|
---|
873 | if (i && _arr.length === i) break;
|
---|
874 | }
|
---|
875 | } catch (err) {
|
---|
876 | _d = true;
|
---|
877 | _e = err;
|
---|
878 | } finally {
|
---|
879 | try {
|
---|
880 | if (!_n && _i["return"] != null) _i["return"]();
|
---|
881 | } finally {
|
---|
882 | if (_d) throw _e;
|
---|
883 | }
|
---|
884 | }
|
---|
885 | return _arr;
|
---|
886 | }
|
---|
887 | `;
|
---|
888 | helpers.iterableToArrayLimitLoose = helper("7.0.0-beta.0")`
|
---|
889 | export default function _iterableToArrayLimitLoose(arr, i) {
|
---|
890 | var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]);
|
---|
891 | if (_i == null) return;
|
---|
892 |
|
---|
893 | var _arr = [];
|
---|
894 | for (_i = _i.call(arr), _step; !(_step = _i.next()).done;) {
|
---|
895 | _arr.push(_step.value);
|
---|
896 | if (i && _arr.length === i) break;
|
---|
897 | }
|
---|
898 | return _arr;
|
---|
899 | }
|
---|
900 | `;
|
---|
901 | helpers.unsupportedIterableToArray = helper("7.9.0")`
|
---|
902 | import arrayLikeToArray from "arrayLikeToArray";
|
---|
903 |
|
---|
904 | export default function _unsupportedIterableToArray(o, minLen) {
|
---|
905 | if (!o) return;
|
---|
906 | if (typeof o === "string") return arrayLikeToArray(o, minLen);
|
---|
907 | var n = Object.prototype.toString.call(o).slice(8, -1);
|
---|
908 | if (n === "Object" && o.constructor) n = o.constructor.name;
|
---|
909 | if (n === "Map" || n === "Set") return Array.from(o);
|
---|
910 | if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
|
---|
911 | return arrayLikeToArray(o, minLen);
|
---|
912 | }
|
---|
913 | `;
|
---|
914 | helpers.arrayLikeToArray = helper("7.9.0")`
|
---|
915 | export default function _arrayLikeToArray(arr, len) {
|
---|
916 | if (len == null || len > arr.length) len = arr.length;
|
---|
917 | for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
---|
918 | return arr2;
|
---|
919 | }
|
---|
920 | `;
|
---|
921 | helpers.nonIterableSpread = helper("7.0.0-beta.0")`
|
---|
922 | export default function _nonIterableSpread() {
|
---|
923 | throw new TypeError(
|
---|
924 | "Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
|
---|
925 | );
|
---|
926 | }
|
---|
927 | `;
|
---|
928 | helpers.nonIterableRest = helper("7.0.0-beta.0")`
|
---|
929 | export default function _nonIterableRest() {
|
---|
930 | throw new TypeError(
|
---|
931 | "Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
|
---|
932 | );
|
---|
933 | }
|
---|
934 | `;
|
---|
935 | helpers.createForOfIteratorHelper = helper("7.9.0")`
|
---|
936 | import unsupportedIterableToArray from "unsupportedIterableToArray";
|
---|
937 |
|
---|
938 | // s: start (create the iterator)
|
---|
939 | // n: next
|
---|
940 | // e: error (called whenever something throws)
|
---|
941 | // f: finish (always called at the end)
|
---|
942 |
|
---|
943 | export default function _createForOfIteratorHelper(o, allowArrayLike) {
|
---|
944 | var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
|
---|
945 |
|
---|
946 | if (!it) {
|
---|
947 | // Fallback for engines without symbol support
|
---|
948 | if (
|
---|
949 | Array.isArray(o) ||
|
---|
950 | (it = unsupportedIterableToArray(o)) ||
|
---|
951 | (allowArrayLike && o && typeof o.length === "number")
|
---|
952 | ) {
|
---|
953 | if (it) o = it;
|
---|
954 | var i = 0;
|
---|
955 | var F = function(){};
|
---|
956 | return {
|
---|
957 | s: F,
|
---|
958 | n: function() {
|
---|
959 | if (i >= o.length) return { done: true };
|
---|
960 | return { done: false, value: o[i++] };
|
---|
961 | },
|
---|
962 | e: function(e) { throw e; },
|
---|
963 | f: F,
|
---|
964 | };
|
---|
965 | }
|
---|
966 |
|
---|
967 | throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
---|
968 | }
|
---|
969 |
|
---|
970 | var normalCompletion = true, didErr = false, err;
|
---|
971 |
|
---|
972 | return {
|
---|
973 | s: function() {
|
---|
974 | it = it.call(o);
|
---|
975 | },
|
---|
976 | n: function() {
|
---|
977 | var step = it.next();
|
---|
978 | normalCompletion = step.done;
|
---|
979 | return step;
|
---|
980 | },
|
---|
981 | e: function(e) {
|
---|
982 | didErr = true;
|
---|
983 | err = e;
|
---|
984 | },
|
---|
985 | f: function() {
|
---|
986 | try {
|
---|
987 | if (!normalCompletion && it.return != null) it.return();
|
---|
988 | } finally {
|
---|
989 | if (didErr) throw err;
|
---|
990 | }
|
---|
991 | }
|
---|
992 | };
|
---|
993 | }
|
---|
994 | `;
|
---|
995 | helpers.createForOfIteratorHelperLoose = helper("7.9.0")`
|
---|
996 | import unsupportedIterableToArray from "unsupportedIterableToArray";
|
---|
997 |
|
---|
998 | export default function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
---|
999 | var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
|
---|
1000 |
|
---|
1001 | if (it) return (it = it.call(o)).next.bind(it);
|
---|
1002 |
|
---|
1003 | // Fallback for engines without symbol support
|
---|
1004 | if (
|
---|
1005 | Array.isArray(o) ||
|
---|
1006 | (it = unsupportedIterableToArray(o)) ||
|
---|
1007 | (allowArrayLike && o && typeof o.length === "number")
|
---|
1008 | ) {
|
---|
1009 | if (it) o = it;
|
---|
1010 | var i = 0;
|
---|
1011 | return function() {
|
---|
1012 | if (i >= o.length) return { done: true };
|
---|
1013 | return { done: false, value: o[i++] };
|
---|
1014 | }
|
---|
1015 | }
|
---|
1016 |
|
---|
1017 | throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
---|
1018 | }
|
---|
1019 | `;
|
---|
1020 | helpers.skipFirstGeneratorNext = helper("7.0.0-beta.0")`
|
---|
1021 | export default function _skipFirstGeneratorNext(fn) {
|
---|
1022 | return function () {
|
---|
1023 | var it = fn.apply(this, arguments);
|
---|
1024 | it.next();
|
---|
1025 | return it;
|
---|
1026 | }
|
---|
1027 | }
|
---|
1028 | `;
|
---|
1029 | helpers.toPrimitive = helper("7.1.5")`
|
---|
1030 | export default function _toPrimitive(
|
---|
1031 | input,
|
---|
1032 | hint /*: "default" | "string" | "number" | void */
|
---|
1033 | ) {
|
---|
1034 | if (typeof input !== "object" || input === null) return input;
|
---|
1035 | var prim = input[Symbol.toPrimitive];
|
---|
1036 | if (prim !== undefined) {
|
---|
1037 | var res = prim.call(input, hint || "default");
|
---|
1038 | if (typeof res !== "object") return res;
|
---|
1039 | throw new TypeError("@@toPrimitive must return a primitive value.");
|
---|
1040 | }
|
---|
1041 | return (hint === "string" ? String : Number)(input);
|
---|
1042 | }
|
---|
1043 | `;
|
---|
1044 | helpers.toPropertyKey = helper("7.1.5")`
|
---|
1045 | import toPrimitive from "toPrimitive";
|
---|
1046 |
|
---|
1047 | export default function _toPropertyKey(arg) {
|
---|
1048 | var key = toPrimitive(arg, "string");
|
---|
1049 | return typeof key === "symbol" ? key : String(key);
|
---|
1050 | }
|
---|
1051 | `;
|
---|
1052 | helpers.initializerWarningHelper = helper("7.0.0-beta.0")`
|
---|
1053 | export default function _initializerWarningHelper(descriptor, context){
|
---|
1054 | throw new Error(
|
---|
1055 | 'Decorating class property failed. Please ensure that ' +
|
---|
1056 | 'proposal-class-properties is enabled and runs after the decorators transform.'
|
---|
1057 | );
|
---|
1058 | }
|
---|
1059 | `;
|
---|
1060 | helpers.initializerDefineProperty = helper("7.0.0-beta.0")`
|
---|
1061 | export default function _initializerDefineProperty(target, property, descriptor, context){
|
---|
1062 | if (!descriptor) return;
|
---|
1063 |
|
---|
1064 | Object.defineProperty(target, property, {
|
---|
1065 | enumerable: descriptor.enumerable,
|
---|
1066 | configurable: descriptor.configurable,
|
---|
1067 | writable: descriptor.writable,
|
---|
1068 | value: descriptor.initializer ? descriptor.initializer.call(context) : void 0,
|
---|
1069 | });
|
---|
1070 | }
|
---|
1071 | `;
|
---|
1072 | helpers.applyDecoratedDescriptor = helper("7.0.0-beta.0")`
|
---|
1073 | export default function _applyDecoratedDescriptor(target, property, decorators, descriptor, context){
|
---|
1074 | var desc = {};
|
---|
1075 | Object.keys(descriptor).forEach(function(key){
|
---|
1076 | desc[key] = descriptor[key];
|
---|
1077 | });
|
---|
1078 | desc.enumerable = !!desc.enumerable;
|
---|
1079 | desc.configurable = !!desc.configurable;
|
---|
1080 | if ('value' in desc || desc.initializer){
|
---|
1081 | desc.writable = true;
|
---|
1082 | }
|
---|
1083 |
|
---|
1084 | desc = decorators.slice().reverse().reduce(function(desc, decorator){
|
---|
1085 | return decorator(target, property, desc) || desc;
|
---|
1086 | }, desc);
|
---|
1087 |
|
---|
1088 | if (context && desc.initializer !== void 0){
|
---|
1089 | desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
|
---|
1090 | desc.initializer = undefined;
|
---|
1091 | }
|
---|
1092 |
|
---|
1093 | if (desc.initializer === void 0){
|
---|
1094 | Object.defineProperty(target, property, desc);
|
---|
1095 | desc = null;
|
---|
1096 | }
|
---|
1097 |
|
---|
1098 | return desc;
|
---|
1099 | }
|
---|
1100 | `;
|
---|
1101 | helpers.classPrivateFieldLooseKey = helper("7.0.0-beta.0")`
|
---|
1102 | var id = 0;
|
---|
1103 | export default function _classPrivateFieldKey(name) {
|
---|
1104 | return "__private_" + (id++) + "_" + name;
|
---|
1105 | }
|
---|
1106 | `;
|
---|
1107 | helpers.classPrivateFieldLooseBase = helper("7.0.0-beta.0")`
|
---|
1108 | export default function _classPrivateFieldBase(receiver, privateKey) {
|
---|
1109 | if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {
|
---|
1110 | throw new TypeError("attempted to use private field on non-instance");
|
---|
1111 | }
|
---|
1112 | return receiver;
|
---|
1113 | }
|
---|
1114 | `;
|
---|
1115 | helpers.classPrivateFieldGet = helper("7.0.0-beta.0")`
|
---|
1116 | import classApplyDescriptorGet from "classApplyDescriptorGet";
|
---|
1117 | import classExtractFieldDescriptor from "classExtractFieldDescriptor";
|
---|
1118 | export default function _classPrivateFieldGet(receiver, privateMap) {
|
---|
1119 | var descriptor = classExtractFieldDescriptor(receiver, privateMap, "get");
|
---|
1120 | return classApplyDescriptorGet(receiver, descriptor);
|
---|
1121 | }
|
---|
1122 | `;
|
---|
1123 | helpers.classPrivateFieldSet = helper("7.0.0-beta.0")`
|
---|
1124 | import classApplyDescriptorSet from "classApplyDescriptorSet";
|
---|
1125 | import classExtractFieldDescriptor from "classExtractFieldDescriptor";
|
---|
1126 | export default function _classPrivateFieldSet(receiver, privateMap, value) {
|
---|
1127 | var descriptor = classExtractFieldDescriptor(receiver, privateMap, "set");
|
---|
1128 | classApplyDescriptorSet(receiver, descriptor, value);
|
---|
1129 | return value;
|
---|
1130 | }
|
---|
1131 | `;
|
---|
1132 | helpers.classPrivateFieldDestructureSet = helper("7.4.4")`
|
---|
1133 | import classApplyDescriptorDestructureSet from "classApplyDescriptorDestructureSet";
|
---|
1134 | import classExtractFieldDescriptor from "classExtractFieldDescriptor";
|
---|
1135 | export default function _classPrivateFieldDestructureSet(receiver, privateMap) {
|
---|
1136 | var descriptor = classExtractFieldDescriptor(receiver, privateMap, "set");
|
---|
1137 | return classApplyDescriptorDestructureSet(receiver, descriptor);
|
---|
1138 | }
|
---|
1139 | `;
|
---|
1140 | helpers.classExtractFieldDescriptor = helper("7.13.10")`
|
---|
1141 | export default function _classExtractFieldDescriptor(receiver, privateMap, action) {
|
---|
1142 | if (!privateMap.has(receiver)) {
|
---|
1143 | throw new TypeError("attempted to " + action + " private field on non-instance");
|
---|
1144 | }
|
---|
1145 | return privateMap.get(receiver);
|
---|
1146 | }
|
---|
1147 | `;
|
---|
1148 | helpers.classStaticPrivateFieldSpecGet = helper("7.0.2")`
|
---|
1149 | import classApplyDescriptorGet from "classApplyDescriptorGet";
|
---|
1150 | import classCheckPrivateStaticAccess from "classCheckPrivateStaticAccess";
|
---|
1151 | import classCheckPrivateStaticFieldDescriptor from "classCheckPrivateStaticFieldDescriptor";
|
---|
1152 | export default function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) {
|
---|
1153 | classCheckPrivateStaticAccess(receiver, classConstructor);
|
---|
1154 | classCheckPrivateStaticFieldDescriptor(descriptor, "get");
|
---|
1155 | return classApplyDescriptorGet(receiver, descriptor);
|
---|
1156 | }
|
---|
1157 | `;
|
---|
1158 | helpers.classStaticPrivateFieldSpecSet = helper("7.0.2")`
|
---|
1159 | import classApplyDescriptorSet from "classApplyDescriptorSet";
|
---|
1160 | import classCheckPrivateStaticAccess from "classCheckPrivateStaticAccess";
|
---|
1161 | import classCheckPrivateStaticFieldDescriptor from "classCheckPrivateStaticFieldDescriptor";
|
---|
1162 | export default function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) {
|
---|
1163 | classCheckPrivateStaticAccess(receiver, classConstructor);
|
---|
1164 | classCheckPrivateStaticFieldDescriptor(descriptor, "set");
|
---|
1165 | classApplyDescriptorSet(receiver, descriptor, value);
|
---|
1166 | return value;
|
---|
1167 | }
|
---|
1168 | `;
|
---|
1169 | helpers.classStaticPrivateMethodGet = helper("7.3.2")`
|
---|
1170 | import classCheckPrivateStaticAccess from "classCheckPrivateStaticAccess";
|
---|
1171 | export default function _classStaticPrivateMethodGet(receiver, classConstructor, method) {
|
---|
1172 | classCheckPrivateStaticAccess(receiver, classConstructor);
|
---|
1173 | return method;
|
---|
1174 | }
|
---|
1175 | `;
|
---|
1176 | helpers.classStaticPrivateMethodSet = helper("7.3.2")`
|
---|
1177 | export default function _classStaticPrivateMethodSet() {
|
---|
1178 | throw new TypeError("attempted to set read only static private field");
|
---|
1179 | }
|
---|
1180 | `;
|
---|
1181 | helpers.classApplyDescriptorGet = helper("7.13.10")`
|
---|
1182 | export default function _classApplyDescriptorGet(receiver, descriptor) {
|
---|
1183 | if (descriptor.get) {
|
---|
1184 | return descriptor.get.call(receiver);
|
---|
1185 | }
|
---|
1186 | return descriptor.value;
|
---|
1187 | }
|
---|
1188 | `;
|
---|
1189 | helpers.classApplyDescriptorSet = helper("7.13.10")`
|
---|
1190 | export default function _classApplyDescriptorSet(receiver, descriptor, value) {
|
---|
1191 | if (descriptor.set) {
|
---|
1192 | descriptor.set.call(receiver, value);
|
---|
1193 | } else {
|
---|
1194 | if (!descriptor.writable) {
|
---|
1195 | // This should only throw in strict mode, but class bodies are
|
---|
1196 | // always strict and private fields can only be used inside
|
---|
1197 | // class bodies.
|
---|
1198 | throw new TypeError("attempted to set read only private field");
|
---|
1199 | }
|
---|
1200 | descriptor.value = value;
|
---|
1201 | }
|
---|
1202 | }
|
---|
1203 | `;
|
---|
1204 | helpers.classApplyDescriptorDestructureSet = helper("7.13.10")`
|
---|
1205 | export default function _classApplyDescriptorDestructureSet(receiver, descriptor) {
|
---|
1206 | if (descriptor.set) {
|
---|
1207 | if (!("__destrObj" in descriptor)) {
|
---|
1208 | descriptor.__destrObj = {
|
---|
1209 | set value(v) {
|
---|
1210 | descriptor.set.call(receiver, v)
|
---|
1211 | },
|
---|
1212 | };
|
---|
1213 | }
|
---|
1214 | return descriptor.__destrObj;
|
---|
1215 | } else {
|
---|
1216 | if (!descriptor.writable) {
|
---|
1217 | // This should only throw in strict mode, but class bodies are
|
---|
1218 | // always strict and private fields can only be used inside
|
---|
1219 | // class bodies.
|
---|
1220 | throw new TypeError("attempted to set read only private field");
|
---|
1221 | }
|
---|
1222 |
|
---|
1223 | return descriptor;
|
---|
1224 | }
|
---|
1225 | }
|
---|
1226 | `;
|
---|
1227 | helpers.classStaticPrivateFieldDestructureSet = helper("7.13.10")`
|
---|
1228 | import classApplyDescriptorDestructureSet from "classApplyDescriptorDestructureSet";
|
---|
1229 | import classCheckPrivateStaticAccess from "classCheckPrivateStaticAccess";
|
---|
1230 | import classCheckPrivateStaticFieldDescriptor from "classCheckPrivateStaticFieldDescriptor";
|
---|
1231 | export default function _classStaticPrivateFieldDestructureSet(receiver, classConstructor, descriptor) {
|
---|
1232 | classCheckPrivateStaticAccess(receiver, classConstructor);
|
---|
1233 | classCheckPrivateStaticFieldDescriptor(descriptor, "set");
|
---|
1234 | return classApplyDescriptorDestructureSet(receiver, descriptor);
|
---|
1235 | }
|
---|
1236 | `;
|
---|
1237 | helpers.classCheckPrivateStaticAccess = helper("7.13.10")`
|
---|
1238 | export default function _classCheckPrivateStaticAccess(receiver, classConstructor) {
|
---|
1239 | if (receiver !== classConstructor) {
|
---|
1240 | throw new TypeError("Private static access of wrong provenance");
|
---|
1241 | }
|
---|
1242 | }
|
---|
1243 | `;
|
---|
1244 | helpers.classCheckPrivateStaticFieldDescriptor = helper("7.13.10")`
|
---|
1245 | export default function _classCheckPrivateStaticFieldDescriptor(descriptor, action) {
|
---|
1246 | if (descriptor === undefined) {
|
---|
1247 | throw new TypeError("attempted to " + action + " private static field before its declaration");
|
---|
1248 | }
|
---|
1249 | }
|
---|
1250 | `;
|
---|
1251 | helpers.decorate = helper("7.1.5")`
|
---|
1252 | import toArray from "toArray";
|
---|
1253 | import toPropertyKey from "toPropertyKey";
|
---|
1254 |
|
---|
1255 | // These comments are stripped by @babel/template
|
---|
1256 | /*::
|
---|
1257 | type PropertyDescriptor =
|
---|
1258 | | {
|
---|
1259 | value: any,
|
---|
1260 | writable: boolean,
|
---|
1261 | configurable: boolean,
|
---|
1262 | enumerable: boolean,
|
---|
1263 | }
|
---|
1264 | | {
|
---|
1265 | get?: () => any,
|
---|
1266 | set?: (v: any) => void,
|
---|
1267 | configurable: boolean,
|
---|
1268 | enumerable: boolean,
|
---|
1269 | };
|
---|
1270 |
|
---|
1271 | type FieldDescriptor ={
|
---|
1272 | writable: boolean,
|
---|
1273 | configurable: boolean,
|
---|
1274 | enumerable: boolean,
|
---|
1275 | };
|
---|
1276 |
|
---|
1277 | type Placement = "static" | "prototype" | "own";
|
---|
1278 | type Key = string | symbol; // PrivateName is not supported yet.
|
---|
1279 |
|
---|
1280 | type ElementDescriptor =
|
---|
1281 | | {
|
---|
1282 | kind: "method",
|
---|
1283 | key: Key,
|
---|
1284 | placement: Placement,
|
---|
1285 | descriptor: PropertyDescriptor
|
---|
1286 | }
|
---|
1287 | | {
|
---|
1288 | kind: "field",
|
---|
1289 | key: Key,
|
---|
1290 | placement: Placement,
|
---|
1291 | descriptor: FieldDescriptor,
|
---|
1292 | initializer?: () => any,
|
---|
1293 | };
|
---|
1294 |
|
---|
1295 | // This is exposed to the user code
|
---|
1296 | type ElementObjectInput = ElementDescriptor & {
|
---|
1297 | [@@toStringTag]?: "Descriptor"
|
---|
1298 | };
|
---|
1299 |
|
---|
1300 | // This is exposed to the user code
|
---|
1301 | type ElementObjectOutput = ElementDescriptor & {
|
---|
1302 | [@@toStringTag]?: "Descriptor"
|
---|
1303 | extras?: ElementDescriptor[],
|
---|
1304 | finisher?: ClassFinisher,
|
---|
1305 | };
|
---|
1306 |
|
---|
1307 | // This is exposed to the user code
|
---|
1308 | type ClassObject = {
|
---|
1309 | [@@toStringTag]?: "Descriptor",
|
---|
1310 | kind: "class",
|
---|
1311 | elements: ElementDescriptor[],
|
---|
1312 | };
|
---|
1313 |
|
---|
1314 | type ElementDecorator = (descriptor: ElementObjectInput) => ?ElementObjectOutput;
|
---|
1315 | type ClassDecorator = (descriptor: ClassObject) => ?ClassObject;
|
---|
1316 | type ClassFinisher = <A, B>(cl: Class<A>) => Class<B>;
|
---|
1317 |
|
---|
1318 | // Only used by Babel in the transform output, not part of the spec.
|
---|
1319 | type ElementDefinition =
|
---|
1320 | | {
|
---|
1321 | kind: "method",
|
---|
1322 | value: any,
|
---|
1323 | key: Key,
|
---|
1324 | static?: boolean,
|
---|
1325 | decorators?: ElementDecorator[],
|
---|
1326 | }
|
---|
1327 | | {
|
---|
1328 | kind: "field",
|
---|
1329 | value: () => any,
|
---|
1330 | key: Key,
|
---|
1331 | static?: boolean,
|
---|
1332 | decorators?: ElementDecorator[],
|
---|
1333 | };
|
---|
1334 |
|
---|
1335 | declare function ClassFactory<C>(initialize: (instance: C) => void): {
|
---|
1336 | F: Class<C>,
|
---|
1337 | d: ElementDefinition[]
|
---|
1338 | }
|
---|
1339 |
|
---|
1340 | */
|
---|
1341 |
|
---|
1342 | /*::
|
---|
1343 | // Various combinations with/without extras and with one or many finishers
|
---|
1344 |
|
---|
1345 | type ElementFinisherExtras = {
|
---|
1346 | element: ElementDescriptor,
|
---|
1347 | finisher?: ClassFinisher,
|
---|
1348 | extras?: ElementDescriptor[],
|
---|
1349 | };
|
---|
1350 |
|
---|
1351 | type ElementFinishersExtras = {
|
---|
1352 | element: ElementDescriptor,
|
---|
1353 | finishers: ClassFinisher[],
|
---|
1354 | extras: ElementDescriptor[],
|
---|
1355 | };
|
---|
1356 |
|
---|
1357 | type ElementsFinisher = {
|
---|
1358 | elements: ElementDescriptor[],
|
---|
1359 | finisher?: ClassFinisher,
|
---|
1360 | };
|
---|
1361 |
|
---|
1362 | type ElementsFinishers = {
|
---|
1363 | elements: ElementDescriptor[],
|
---|
1364 | finishers: ClassFinisher[],
|
---|
1365 | };
|
---|
1366 |
|
---|
1367 | */
|
---|
1368 |
|
---|
1369 | /*::
|
---|
1370 |
|
---|
1371 | type Placements = {
|
---|
1372 | static: Key[],
|
---|
1373 | prototype: Key[],
|
---|
1374 | own: Key[],
|
---|
1375 | };
|
---|
1376 |
|
---|
1377 | */
|
---|
1378 |
|
---|
1379 | // ClassDefinitionEvaluation (Steps 26-*)
|
---|
1380 | export default function _decorate(
|
---|
1381 | decorators /*: ClassDecorator[] */,
|
---|
1382 | factory /*: ClassFactory */,
|
---|
1383 | superClass /*: ?Class<*> */,
|
---|
1384 | mixins /*: ?Array<Function> */,
|
---|
1385 | ) /*: Class<*> */ {
|
---|
1386 | var api = _getDecoratorsApi();
|
---|
1387 | if (mixins) {
|
---|
1388 | for (var i = 0; i < mixins.length; i++) {
|
---|
1389 | api = mixins[i](api);
|
---|
1390 | }
|
---|
1391 | }
|
---|
1392 |
|
---|
1393 | var r = factory(function initialize(O) {
|
---|
1394 | api.initializeInstanceElements(O, decorated.elements);
|
---|
1395 | }, superClass);
|
---|
1396 | var decorated = api.decorateClass(
|
---|
1397 | _coalesceClassElements(r.d.map(_createElementDescriptor)),
|
---|
1398 | decorators,
|
---|
1399 | );
|
---|
1400 |
|
---|
1401 | api.initializeClassElements(r.F, decorated.elements);
|
---|
1402 |
|
---|
1403 | return api.runClassFinishers(r.F, decorated.finishers);
|
---|
1404 | }
|
---|
1405 |
|
---|
1406 | function _getDecoratorsApi() {
|
---|
1407 | _getDecoratorsApi = function() {
|
---|
1408 | return api;
|
---|
1409 | };
|
---|
1410 |
|
---|
1411 | var api = {
|
---|
1412 | elementsDefinitionOrder: [["method"], ["field"]],
|
---|
1413 |
|
---|
1414 | // InitializeInstanceElements
|
---|
1415 | initializeInstanceElements: function(
|
---|
1416 | /*::<C>*/ O /*: C */,
|
---|
1417 | elements /*: ElementDescriptor[] */,
|
---|
1418 | ) {
|
---|
1419 | ["method", "field"].forEach(function(kind) {
|
---|
1420 | elements.forEach(function(element /*: ElementDescriptor */) {
|
---|
1421 | if (element.kind === kind && element.placement === "own") {
|
---|
1422 | this.defineClassElement(O, element);
|
---|
1423 | }
|
---|
1424 | }, this);
|
---|
1425 | }, this);
|
---|
1426 | },
|
---|
1427 |
|
---|
1428 | // InitializeClassElements
|
---|
1429 | initializeClassElements: function(
|
---|
1430 | /*::<C>*/ F /*: Class<C> */,
|
---|
1431 | elements /*: ElementDescriptor[] */,
|
---|
1432 | ) {
|
---|
1433 | var proto = F.prototype;
|
---|
1434 |
|
---|
1435 | ["method", "field"].forEach(function(kind) {
|
---|
1436 | elements.forEach(function(element /*: ElementDescriptor */) {
|
---|
1437 | var placement = element.placement;
|
---|
1438 | if (
|
---|
1439 | element.kind === kind &&
|
---|
1440 | (placement === "static" || placement === "prototype")
|
---|
1441 | ) {
|
---|
1442 | var receiver = placement === "static" ? F : proto;
|
---|
1443 | this.defineClassElement(receiver, element);
|
---|
1444 | }
|
---|
1445 | }, this);
|
---|
1446 | }, this);
|
---|
1447 | },
|
---|
1448 |
|
---|
1449 | // DefineClassElement
|
---|
1450 | defineClassElement: function(
|
---|
1451 | /*::<C>*/ receiver /*: C | Class<C> */,
|
---|
1452 | element /*: ElementDescriptor */,
|
---|
1453 | ) {
|
---|
1454 | var descriptor /*: PropertyDescriptor */ = element.descriptor;
|
---|
1455 | if (element.kind === "field") {
|
---|
1456 | var initializer = element.initializer;
|
---|
1457 | descriptor = {
|
---|
1458 | enumerable: descriptor.enumerable,
|
---|
1459 | writable: descriptor.writable,
|
---|
1460 | configurable: descriptor.configurable,
|
---|
1461 | value: initializer === void 0 ? void 0 : initializer.call(receiver),
|
---|
1462 | };
|
---|
1463 | }
|
---|
1464 | Object.defineProperty(receiver, element.key, descriptor);
|
---|
1465 | },
|
---|
1466 |
|
---|
1467 | // DecorateClass
|
---|
1468 | decorateClass: function(
|
---|
1469 | elements /*: ElementDescriptor[] */,
|
---|
1470 | decorators /*: ClassDecorator[] */,
|
---|
1471 | ) /*: ElementsFinishers */ {
|
---|
1472 | var newElements /*: ElementDescriptor[] */ = [];
|
---|
1473 | var finishers /*: ClassFinisher[] */ = [];
|
---|
1474 | var placements /*: Placements */ = {
|
---|
1475 | static: [],
|
---|
1476 | prototype: [],
|
---|
1477 | own: [],
|
---|
1478 | };
|
---|
1479 |
|
---|
1480 | elements.forEach(function(element /*: ElementDescriptor */) {
|
---|
1481 | this.addElementPlacement(element, placements);
|
---|
1482 | }, this);
|
---|
1483 |
|
---|
1484 | elements.forEach(function(element /*: ElementDescriptor */) {
|
---|
1485 | if (!_hasDecorators(element)) return newElements.push(element);
|
---|
1486 |
|
---|
1487 | var elementFinishersExtras /*: ElementFinishersExtras */ = this.decorateElement(
|
---|
1488 | element,
|
---|
1489 | placements,
|
---|
1490 | );
|
---|
1491 | newElements.push(elementFinishersExtras.element);
|
---|
1492 | newElements.push.apply(newElements, elementFinishersExtras.extras);
|
---|
1493 | finishers.push.apply(finishers, elementFinishersExtras.finishers);
|
---|
1494 | }, this);
|
---|
1495 |
|
---|
1496 | if (!decorators) {
|
---|
1497 | return { elements: newElements, finishers: finishers };
|
---|
1498 | }
|
---|
1499 |
|
---|
1500 | var result /*: ElementsFinishers */ = this.decorateConstructor(
|
---|
1501 | newElements,
|
---|
1502 | decorators,
|
---|
1503 | );
|
---|
1504 | finishers.push.apply(finishers, result.finishers);
|
---|
1505 | result.finishers = finishers;
|
---|
1506 |
|
---|
1507 | return result;
|
---|
1508 | },
|
---|
1509 |
|
---|
1510 | // AddElementPlacement
|
---|
1511 | addElementPlacement: function(
|
---|
1512 | element /*: ElementDescriptor */,
|
---|
1513 | placements /*: Placements */,
|
---|
1514 | silent /*: boolean */,
|
---|
1515 | ) {
|
---|
1516 | var keys = placements[element.placement];
|
---|
1517 | if (!silent && keys.indexOf(element.key) !== -1) {
|
---|
1518 | throw new TypeError("Duplicated element (" + element.key + ")");
|
---|
1519 | }
|
---|
1520 | keys.push(element.key);
|
---|
1521 | },
|
---|
1522 |
|
---|
1523 | // DecorateElement
|
---|
1524 | decorateElement: function(
|
---|
1525 | element /*: ElementDescriptor */,
|
---|
1526 | placements /*: Placements */,
|
---|
1527 | ) /*: ElementFinishersExtras */ {
|
---|
1528 | var extras /*: ElementDescriptor[] */ = [];
|
---|
1529 | var finishers /*: ClassFinisher[] */ = [];
|
---|
1530 |
|
---|
1531 | for (
|
---|
1532 | var decorators = element.decorators, i = decorators.length - 1;
|
---|
1533 | i >= 0;
|
---|
1534 | i--
|
---|
1535 | ) {
|
---|
1536 | // (inlined) RemoveElementPlacement
|
---|
1537 | var keys = placements[element.placement];
|
---|
1538 | keys.splice(keys.indexOf(element.key), 1);
|
---|
1539 |
|
---|
1540 | var elementObject /*: ElementObjectInput */ = this.fromElementDescriptor(
|
---|
1541 | element,
|
---|
1542 | );
|
---|
1543 | var elementFinisherExtras /*: ElementFinisherExtras */ = this.toElementFinisherExtras(
|
---|
1544 | (0, decorators[i])(elementObject) /*: ElementObjectOutput */ ||
|
---|
1545 | elementObject,
|
---|
1546 | );
|
---|
1547 |
|
---|
1548 | element = elementFinisherExtras.element;
|
---|
1549 | this.addElementPlacement(element, placements);
|
---|
1550 |
|
---|
1551 | if (elementFinisherExtras.finisher) {
|
---|
1552 | finishers.push(elementFinisherExtras.finisher);
|
---|
1553 | }
|
---|
1554 |
|
---|
1555 | var newExtras /*: ElementDescriptor[] | void */ =
|
---|
1556 | elementFinisherExtras.extras;
|
---|
1557 | if (newExtras) {
|
---|
1558 | for (var j = 0; j < newExtras.length; j++) {
|
---|
1559 | this.addElementPlacement(newExtras[j], placements);
|
---|
1560 | }
|
---|
1561 | extras.push.apply(extras, newExtras);
|
---|
1562 | }
|
---|
1563 | }
|
---|
1564 |
|
---|
1565 | return { element: element, finishers: finishers, extras: extras };
|
---|
1566 | },
|
---|
1567 |
|
---|
1568 | // DecorateConstructor
|
---|
1569 | decorateConstructor: function(
|
---|
1570 | elements /*: ElementDescriptor[] */,
|
---|
1571 | decorators /*: ClassDecorator[] */,
|
---|
1572 | ) /*: ElementsFinishers */ {
|
---|
1573 | var finishers /*: ClassFinisher[] */ = [];
|
---|
1574 |
|
---|
1575 | for (var i = decorators.length - 1; i >= 0; i--) {
|
---|
1576 | var obj /*: ClassObject */ = this.fromClassDescriptor(elements);
|
---|
1577 | var elementsAndFinisher /*: ElementsFinisher */ = this.toClassDescriptor(
|
---|
1578 | (0, decorators[i])(obj) /*: ClassObject */ || obj,
|
---|
1579 | );
|
---|
1580 |
|
---|
1581 | if (elementsAndFinisher.finisher !== undefined) {
|
---|
1582 | finishers.push(elementsAndFinisher.finisher);
|
---|
1583 | }
|
---|
1584 |
|
---|
1585 | if (elementsAndFinisher.elements !== undefined) {
|
---|
1586 | elements = elementsAndFinisher.elements;
|
---|
1587 |
|
---|
1588 | for (var j = 0; j < elements.length - 1; j++) {
|
---|
1589 | for (var k = j + 1; k < elements.length; k++) {
|
---|
1590 | if (
|
---|
1591 | elements[j].key === elements[k].key &&
|
---|
1592 | elements[j].placement === elements[k].placement
|
---|
1593 | ) {
|
---|
1594 | throw new TypeError(
|
---|
1595 | "Duplicated element (" + elements[j].key + ")",
|
---|
1596 | );
|
---|
1597 | }
|
---|
1598 | }
|
---|
1599 | }
|
---|
1600 | }
|
---|
1601 | }
|
---|
1602 |
|
---|
1603 | return { elements: elements, finishers: finishers };
|
---|
1604 | },
|
---|
1605 |
|
---|
1606 | // FromElementDescriptor
|
---|
1607 | fromElementDescriptor: function(
|
---|
1608 | element /*: ElementDescriptor */,
|
---|
1609 | ) /*: ElementObject */ {
|
---|
1610 | var obj /*: ElementObject */ = {
|
---|
1611 | kind: element.kind,
|
---|
1612 | key: element.key,
|
---|
1613 | placement: element.placement,
|
---|
1614 | descriptor: element.descriptor,
|
---|
1615 | };
|
---|
1616 |
|
---|
1617 | var desc = {
|
---|
1618 | value: "Descriptor",
|
---|
1619 | configurable: true,
|
---|
1620 | };
|
---|
1621 | Object.defineProperty(obj, Symbol.toStringTag, desc);
|
---|
1622 |
|
---|
1623 | if (element.kind === "field") obj.initializer = element.initializer;
|
---|
1624 |
|
---|
1625 | return obj;
|
---|
1626 | },
|
---|
1627 |
|
---|
1628 | // ToElementDescriptors
|
---|
1629 | toElementDescriptors: function(
|
---|
1630 | elementObjects /*: ElementObject[] */,
|
---|
1631 | ) /*: ElementDescriptor[] */ {
|
---|
1632 | if (elementObjects === undefined) return;
|
---|
1633 | return toArray(elementObjects).map(function(elementObject) {
|
---|
1634 | var element = this.toElementDescriptor(elementObject);
|
---|
1635 | this.disallowProperty(elementObject, "finisher", "An element descriptor");
|
---|
1636 | this.disallowProperty(elementObject, "extras", "An element descriptor");
|
---|
1637 | return element;
|
---|
1638 | }, this);
|
---|
1639 | },
|
---|
1640 |
|
---|
1641 | // ToElementDescriptor
|
---|
1642 | toElementDescriptor: function(
|
---|
1643 | elementObject /*: ElementObject */,
|
---|
1644 | ) /*: ElementDescriptor */ {
|
---|
1645 | var kind = String(elementObject.kind);
|
---|
1646 | if (kind !== "method" && kind !== "field") {
|
---|
1647 | throw new TypeError(
|
---|
1648 | 'An element descriptor\\'s .kind property must be either "method" or' +
|
---|
1649 | ' "field", but a decorator created an element descriptor with' +
|
---|
1650 | ' .kind "' +
|
---|
1651 | kind +
|
---|
1652 | '"',
|
---|
1653 | );
|
---|
1654 | }
|
---|
1655 |
|
---|
1656 | var key = toPropertyKey(elementObject.key);
|
---|
1657 |
|
---|
1658 | var placement = String(elementObject.placement);
|
---|
1659 | if (
|
---|
1660 | placement !== "static" &&
|
---|
1661 | placement !== "prototype" &&
|
---|
1662 | placement !== "own"
|
---|
1663 | ) {
|
---|
1664 | throw new TypeError(
|
---|
1665 | 'An element descriptor\\'s .placement property must be one of "static",' +
|
---|
1666 | ' "prototype" or "own", but a decorator created an element descriptor' +
|
---|
1667 | ' with .placement "' +
|
---|
1668 | placement +
|
---|
1669 | '"',
|
---|
1670 | );
|
---|
1671 | }
|
---|
1672 |
|
---|
1673 | var descriptor /*: PropertyDescriptor */ = elementObject.descriptor;
|
---|
1674 |
|
---|
1675 | this.disallowProperty(elementObject, "elements", "An element descriptor");
|
---|
1676 |
|
---|
1677 | var element /*: ElementDescriptor */ = {
|
---|
1678 | kind: kind,
|
---|
1679 | key: key,
|
---|
1680 | placement: placement,
|
---|
1681 | descriptor: Object.assign({}, descriptor),
|
---|
1682 | };
|
---|
1683 |
|
---|
1684 | if (kind !== "field") {
|
---|
1685 | this.disallowProperty(elementObject, "initializer", "A method descriptor");
|
---|
1686 | } else {
|
---|
1687 | this.disallowProperty(
|
---|
1688 | descriptor,
|
---|
1689 | "get",
|
---|
1690 | "The property descriptor of a field descriptor",
|
---|
1691 | );
|
---|
1692 | this.disallowProperty(
|
---|
1693 | descriptor,
|
---|
1694 | "set",
|
---|
1695 | "The property descriptor of a field descriptor",
|
---|
1696 | );
|
---|
1697 | this.disallowProperty(
|
---|
1698 | descriptor,
|
---|
1699 | "value",
|
---|
1700 | "The property descriptor of a field descriptor",
|
---|
1701 | );
|
---|
1702 |
|
---|
1703 | element.initializer = elementObject.initializer;
|
---|
1704 | }
|
---|
1705 |
|
---|
1706 | return element;
|
---|
1707 | },
|
---|
1708 |
|
---|
1709 | toElementFinisherExtras: function(
|
---|
1710 | elementObject /*: ElementObject */,
|
---|
1711 | ) /*: ElementFinisherExtras */ {
|
---|
1712 | var element /*: ElementDescriptor */ = this.toElementDescriptor(
|
---|
1713 | elementObject,
|
---|
1714 | );
|
---|
1715 | var finisher /*: ClassFinisher */ = _optionalCallableProperty(
|
---|
1716 | elementObject,
|
---|
1717 | "finisher",
|
---|
1718 | );
|
---|
1719 | var extras /*: ElementDescriptors[] */ = this.toElementDescriptors(
|
---|
1720 | elementObject.extras,
|
---|
1721 | );
|
---|
1722 |
|
---|
1723 | return { element: element, finisher: finisher, extras: extras };
|
---|
1724 | },
|
---|
1725 |
|
---|
1726 | // FromClassDescriptor
|
---|
1727 | fromClassDescriptor: function(
|
---|
1728 | elements /*: ElementDescriptor[] */,
|
---|
1729 | ) /*: ClassObject */ {
|
---|
1730 | var obj = {
|
---|
1731 | kind: "class",
|
---|
1732 | elements: elements.map(this.fromElementDescriptor, this),
|
---|
1733 | };
|
---|
1734 |
|
---|
1735 | var desc = { value: "Descriptor", configurable: true };
|
---|
1736 | Object.defineProperty(obj, Symbol.toStringTag, desc);
|
---|
1737 |
|
---|
1738 | return obj;
|
---|
1739 | },
|
---|
1740 |
|
---|
1741 | // ToClassDescriptor
|
---|
1742 | toClassDescriptor: function(
|
---|
1743 | obj /*: ClassObject */,
|
---|
1744 | ) /*: ElementsFinisher */ {
|
---|
1745 | var kind = String(obj.kind);
|
---|
1746 | if (kind !== "class") {
|
---|
1747 | throw new TypeError(
|
---|
1748 | 'A class descriptor\\'s .kind property must be "class", but a decorator' +
|
---|
1749 | ' created a class descriptor with .kind "' +
|
---|
1750 | kind +
|
---|
1751 | '"',
|
---|
1752 | );
|
---|
1753 | }
|
---|
1754 |
|
---|
1755 | this.disallowProperty(obj, "key", "A class descriptor");
|
---|
1756 | this.disallowProperty(obj, "placement", "A class descriptor");
|
---|
1757 | this.disallowProperty(obj, "descriptor", "A class descriptor");
|
---|
1758 | this.disallowProperty(obj, "initializer", "A class descriptor");
|
---|
1759 | this.disallowProperty(obj, "extras", "A class descriptor");
|
---|
1760 |
|
---|
1761 | var finisher = _optionalCallableProperty(obj, "finisher");
|
---|
1762 | var elements = this.toElementDescriptors(obj.elements);
|
---|
1763 |
|
---|
1764 | return { elements: elements, finisher: finisher };
|
---|
1765 | },
|
---|
1766 |
|
---|
1767 | // RunClassFinishers
|
---|
1768 | runClassFinishers: function(
|
---|
1769 | constructor /*: Class<*> */,
|
---|
1770 | finishers /*: ClassFinisher[] */,
|
---|
1771 | ) /*: Class<*> */ {
|
---|
1772 | for (var i = 0; i < finishers.length; i++) {
|
---|
1773 | var newConstructor /*: ?Class<*> */ = (0, finishers[i])(constructor);
|
---|
1774 | if (newConstructor !== undefined) {
|
---|
1775 | // NOTE: This should check if IsConstructor(newConstructor) is false.
|
---|
1776 | if (typeof newConstructor !== "function") {
|
---|
1777 | throw new TypeError("Finishers must return a constructor.");
|
---|
1778 | }
|
---|
1779 | constructor = newConstructor;
|
---|
1780 | }
|
---|
1781 | }
|
---|
1782 | return constructor;
|
---|
1783 | },
|
---|
1784 |
|
---|
1785 | disallowProperty: function(obj, name, objectType) {
|
---|
1786 | if (obj[name] !== undefined) {
|
---|
1787 | throw new TypeError(objectType + " can't have a ." + name + " property.");
|
---|
1788 | }
|
---|
1789 | }
|
---|
1790 | };
|
---|
1791 |
|
---|
1792 | return api;
|
---|
1793 | }
|
---|
1794 |
|
---|
1795 | // ClassElementEvaluation
|
---|
1796 | function _createElementDescriptor(
|
---|
1797 | def /*: ElementDefinition */,
|
---|
1798 | ) /*: ElementDescriptor */ {
|
---|
1799 | var key = toPropertyKey(def.key);
|
---|
1800 |
|
---|
1801 | var descriptor /*: PropertyDescriptor */;
|
---|
1802 | if (def.kind === "method") {
|
---|
1803 | descriptor = {
|
---|
1804 | value: def.value,
|
---|
1805 | writable: true,
|
---|
1806 | configurable: true,
|
---|
1807 | enumerable: false,
|
---|
1808 | };
|
---|
1809 | } else if (def.kind === "get") {
|
---|
1810 | descriptor = { get: def.value, configurable: true, enumerable: false };
|
---|
1811 | } else if (def.kind === "set") {
|
---|
1812 | descriptor = { set: def.value, configurable: true, enumerable: false };
|
---|
1813 | } else if (def.kind === "field") {
|
---|
1814 | descriptor = { configurable: true, writable: true, enumerable: true };
|
---|
1815 | }
|
---|
1816 |
|
---|
1817 | var element /*: ElementDescriptor */ = {
|
---|
1818 | kind: def.kind === "field" ? "field" : "method",
|
---|
1819 | key: key,
|
---|
1820 | placement: def.static
|
---|
1821 | ? "static"
|
---|
1822 | : def.kind === "field"
|
---|
1823 | ? "own"
|
---|
1824 | : "prototype",
|
---|
1825 | descriptor: descriptor,
|
---|
1826 | };
|
---|
1827 | if (def.decorators) element.decorators = def.decorators;
|
---|
1828 | if (def.kind === "field") element.initializer = def.value;
|
---|
1829 |
|
---|
1830 | return element;
|
---|
1831 | }
|
---|
1832 |
|
---|
1833 | // CoalesceGetterSetter
|
---|
1834 | function _coalesceGetterSetter(
|
---|
1835 | element /*: ElementDescriptor */,
|
---|
1836 | other /*: ElementDescriptor */,
|
---|
1837 | ) {
|
---|
1838 | if (element.descriptor.get !== undefined) {
|
---|
1839 | other.descriptor.get = element.descriptor.get;
|
---|
1840 | } else {
|
---|
1841 | other.descriptor.set = element.descriptor.set;
|
---|
1842 | }
|
---|
1843 | }
|
---|
1844 |
|
---|
1845 | // CoalesceClassElements
|
---|
1846 | function _coalesceClassElements(
|
---|
1847 | elements /*: ElementDescriptor[] */,
|
---|
1848 | ) /*: ElementDescriptor[] */ {
|
---|
1849 | var newElements /*: ElementDescriptor[] */ = [];
|
---|
1850 |
|
---|
1851 | var isSameElement = function(
|
---|
1852 | other /*: ElementDescriptor */,
|
---|
1853 | ) /*: boolean */ {
|
---|
1854 | return (
|
---|
1855 | other.kind === "method" &&
|
---|
1856 | other.key === element.key &&
|
---|
1857 | other.placement === element.placement
|
---|
1858 | );
|
---|
1859 | };
|
---|
1860 |
|
---|
1861 | for (var i = 0; i < elements.length; i++) {
|
---|
1862 | var element /*: ElementDescriptor */ = elements[i];
|
---|
1863 | var other /*: ElementDescriptor */;
|
---|
1864 |
|
---|
1865 | if (
|
---|
1866 | element.kind === "method" &&
|
---|
1867 | (other = newElements.find(isSameElement))
|
---|
1868 | ) {
|
---|
1869 | if (
|
---|
1870 | _isDataDescriptor(element.descriptor) ||
|
---|
1871 | _isDataDescriptor(other.descriptor)
|
---|
1872 | ) {
|
---|
1873 | if (_hasDecorators(element) || _hasDecorators(other)) {
|
---|
1874 | throw new ReferenceError(
|
---|
1875 | "Duplicated methods (" + element.key + ") can't be decorated.",
|
---|
1876 | );
|
---|
1877 | }
|
---|
1878 | other.descriptor = element.descriptor;
|
---|
1879 | } else {
|
---|
1880 | if (_hasDecorators(element)) {
|
---|
1881 | if (_hasDecorators(other)) {
|
---|
1882 | throw new ReferenceError(
|
---|
1883 | "Decorators can't be placed on different accessors with for " +
|
---|
1884 | "the same property (" +
|
---|
1885 | element.key +
|
---|
1886 | ").",
|
---|
1887 | );
|
---|
1888 | }
|
---|
1889 | other.decorators = element.decorators;
|
---|
1890 | }
|
---|
1891 | _coalesceGetterSetter(element, other);
|
---|
1892 | }
|
---|
1893 | } else {
|
---|
1894 | newElements.push(element);
|
---|
1895 | }
|
---|
1896 | }
|
---|
1897 |
|
---|
1898 | return newElements;
|
---|
1899 | }
|
---|
1900 |
|
---|
1901 | function _hasDecorators(element /*: ElementDescriptor */) /*: boolean */ {
|
---|
1902 | return element.decorators && element.decorators.length;
|
---|
1903 | }
|
---|
1904 |
|
---|
1905 | function _isDataDescriptor(desc /*: PropertyDescriptor */) /*: boolean */ {
|
---|
1906 | return (
|
---|
1907 | desc !== undefined &&
|
---|
1908 | !(desc.value === undefined && desc.writable === undefined)
|
---|
1909 | );
|
---|
1910 | }
|
---|
1911 |
|
---|
1912 | function _optionalCallableProperty /*::<T>*/(
|
---|
1913 | obj /*: T */,
|
---|
1914 | name /*: $Keys<T> */,
|
---|
1915 | ) /*: ?Function */ {
|
---|
1916 | var value = obj[name];
|
---|
1917 | if (value !== undefined && typeof value !== "function") {
|
---|
1918 | throw new TypeError("Expected '" + name + "' to be a function");
|
---|
1919 | }
|
---|
1920 | return value;
|
---|
1921 | }
|
---|
1922 |
|
---|
1923 | `;
|
---|
1924 | helpers.classPrivateMethodGet = helper("7.1.6")`
|
---|
1925 | export default function _classPrivateMethodGet(receiver, privateSet, fn) {
|
---|
1926 | if (!privateSet.has(receiver)) {
|
---|
1927 | throw new TypeError("attempted to get private field on non-instance");
|
---|
1928 | }
|
---|
1929 | return fn;
|
---|
1930 | }
|
---|
1931 | `;
|
---|
1932 | helpers.checkPrivateRedeclaration = helper("7.14.1")`
|
---|
1933 | export default function _checkPrivateRedeclaration(obj, privateCollection) {
|
---|
1934 | if (privateCollection.has(obj)) {
|
---|
1935 | throw new TypeError("Cannot initialize the same private elements twice on an object");
|
---|
1936 | }
|
---|
1937 | }
|
---|
1938 | `;
|
---|
1939 | helpers.classPrivateFieldInitSpec = helper("7.14.1")`
|
---|
1940 | import checkPrivateRedeclaration from "checkPrivateRedeclaration";
|
---|
1941 |
|
---|
1942 | export default function _classPrivateFieldInitSpec(obj, privateMap, value) {
|
---|
1943 | checkPrivateRedeclaration(obj, privateMap);
|
---|
1944 | privateMap.set(obj, value);
|
---|
1945 | }
|
---|
1946 | `;
|
---|
1947 | helpers.classPrivateMethodInitSpec = helper("7.14.1")`
|
---|
1948 | import checkPrivateRedeclaration from "checkPrivateRedeclaration";
|
---|
1949 |
|
---|
1950 | export default function _classPrivateMethodInitSpec(obj, privateSet) {
|
---|
1951 | checkPrivateRedeclaration(obj, privateSet);
|
---|
1952 | privateSet.add(obj);
|
---|
1953 | }
|
---|
1954 | `;
|
---|
1955 | {
|
---|
1956 | helpers.classPrivateMethodSet = helper("7.1.6")`
|
---|
1957 | export default function _classPrivateMethodSet() {
|
---|
1958 | throw new TypeError("attempted to reassign private method");
|
---|
1959 | }
|
---|
1960 | `;
|
---|
1961 | } |
---|